	.file	"extr_30802.c_GetFunction.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"ntdll.dll"
.LC1:
	.string	"LoadLibrary failed.\n"
.LC2:
	.string	"ZwVdmControl"
.LC3:
	.string	"GetProcAddress failed.\n"
.LC4:
	.string	"ZwQueryInformationProcess"
.LC5:
	.string	"ZwQuerySystemInformation"
.LC6:
	.string	"GetProcessAddress failed.\n"
.LC7:
	.string	"ZwAllocateVirtualMemory"
.LC8:
	.string	"RtlImageNtHeader"
.LC9:
	.string	"RtlImageDirectoryEntryToData"
	.text
	.p2align 4
	.globl	GetFunction
	.type	GetFunction, @function
GetFunction:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	lea	rdi, .LC0[rip]
	call	LoadLibrary@PLT
	mov	rbp, rax
	test	rax, rax
	je	.L11
.L2:
	lea	rsi, .LC2[rip]
	mov	rdi, rbp
	call	GetProcAddress@PLT
	mov	QWORD PTR ZwVdmControl[rip], rax
	test	rax, rax
	je	.L12
.L3:
	lea	rsi, .LC4[rip]
	mov	rdi, rbp
	call	GetProcAddress@PLT
	mov	QWORD PTR ZwQueryInformationProcess[rip], rax
	test	rax, rax
	je	.L13
.L4:
	lea	rsi, .LC5[rip]
	mov	rdi, rbp
	call	GetProcAddress@PLT
	mov	QWORD PTR ZwQuerySystemInformation[rip], rax
	test	rax, rax
	je	.L14
.L5:
	lea	rsi, .LC7[rip]
	mov	rdi, rbp
	call	GetProcAddress@PLT
	mov	QWORD PTR ZwAllocateVirtualMemory[rip], rax
	test	rax, rax
	je	.L15
.L6:
	lea	rsi, .LC8[rip]
	mov	rdi, rbp
	call	GetProcAddress@PLT
	mov	QWORD PTR RtlImageNtHeader[rip], rax
	test	rax, rax
	je	.L16
.L7:
	lea	rsi, .LC9[rip]
	mov	rdi, rbp
	call	GetProcAddress@PLT
	mov	QWORD PTR RtlImageDirectoryEntryToData[rip], rax
	test	rax, rax
	je	.L17
	mov	rdi, rbp
	pop	rbp
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	jmp	FreeLibrary@PLT
	.p2align 4,,10
	.p2align 3
.L11:
	.cfi_restore_state
	lea	rdi, .LC1[rip]
	call	ErrorQuit@PLT
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L12:
	lea	rdi, .LC3[rip]
	call	ErrorQuit@PLT
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L13:
	lea	rdi, .LC3[rip]
	call	ErrorQuit@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L14:
	lea	rdi, .LC6[rip]
	call	ErrorQuit@PLT
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L15:
	lea	rdi, .LC3[rip]
	call	ErrorQuit@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L16:
	lea	rdi, .LC3[rip]
	call	ErrorQuit@PLT
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L17:
	lea	rdi, .LC3[rip]
	call	ErrorQuit@PLT
	mov	rdi, rbp
	pop	rbp
	.cfi_def_cfa_offset 8
	jmp	FreeLibrary@PLT
	.cfi_endproc
.LFE0:
	.size	GetFunction, .-GetFunction
	.comm	ZwVdmControl,8,8
	.comm	ZwQuerySystemInformation,8,8
	.comm	ZwQueryInformationProcess,8,8
	.comm	ZwAllocateVirtualMemory,8,8
	.comm	RtlImageNtHeader,8,8
	.comm	RtlImageDirectoryEntryToData,8,8
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_30802.c_GetFunction.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"ntdll.dll\000"
	.align	2
.LC1:
	.ascii	"LoadLibrary failed.\012\000"
	.align	2
.LC2:
	.ascii	"ZwVdmControl\000"
	.align	2
.LC3:
	.ascii	"GetProcAddress failed.\012\000"
	.align	2
.LC4:
	.ascii	"ZwQueryInformationProcess\000"
	.align	2
.LC5:
	.ascii	"ZwQuerySystemInformation\000"
	.align	2
.LC6:
	.ascii	"GetProcessAddress failed.\012\000"
	.align	2
.LC7:
	.ascii	"ZwAllocateVirtualMemory\000"
	.align	2
.LC8:
	.ascii	"RtlImageNtHeader\000"
	.align	2
.LC9:
	.ascii	"RtlImageDirectoryEntryToData\000"
	.text
	.align	2
	.global	GetFunction
	.syntax unified
	.arm
	.fpu softvfp
	.type	GetFunction, %function
GetFunction:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, lr}
	ldr	r0, .L18
	bl	LoadLibrary
	subs	r4, r0, #0
	beq	.L11
.L2:
	mov	r0, r4
	ldr	r1, .L18+4
	bl	GetProcAddress
	ldr	r3, .L18+8
	cmp	r0, #0
	str	r0, [r3]
	beq	.L12
.L3:
	mov	r0, r4
	ldr	r1, .L18+12
	bl	GetProcAddress
	ldr	r3, .L18+16
	cmp	r0, #0
	str	r0, [r3]
	beq	.L13
.L4:
	mov	r0, r4
	ldr	r1, .L18+20
	bl	GetProcAddress
	ldr	r3, .L18+24
	cmp	r0, #0
	str	r0, [r3]
	beq	.L14
.L5:
	mov	r0, r4
	ldr	r1, .L18+28
	bl	GetProcAddress
	ldr	r3, .L18+32
	cmp	r0, #0
	str	r0, [r3]
	beq	.L15
.L6:
	mov	r0, r4
	ldr	r1, .L18+36
	bl	GetProcAddress
	ldr	r3, .L18+40
	cmp	r0, #0
	str	r0, [r3]
	beq	.L16
.L7:
	mov	r0, r4
	ldr	r1, .L18+44
	bl	GetProcAddress
	ldr	r3, .L18+48
	cmp	r0, #0
	str	r0, [r3]
	beq	.L17
	mov	r0, r4
	pop	{r4, lr}
	b	FreeLibrary
.L11:
	ldr	r0, .L18+52
	bl	ErrorQuit
	b	.L2
.L12:
	ldr	r0, .L18+56
	bl	ErrorQuit
	b	.L3
.L13:
	ldr	r0, .L18+56
	bl	ErrorQuit
	b	.L4
.L14:
	ldr	r0, .L18+60
	bl	ErrorQuit
	b	.L5
.L15:
	ldr	r0, .L18+56
	bl	ErrorQuit
	b	.L6
.L16:
	ldr	r0, .L18+56
	bl	ErrorQuit
	b	.L7
.L17:
	ldr	r0, .L18+56
	bl	ErrorQuit
	mov	r0, r4
	pop	{r4, lr}
	b	FreeLibrary
.L19:
	.align	2
.L18:
	.word	.LC0
	.word	.LC2
	.word	ZwVdmControl
	.word	.LC4
	.word	ZwQueryInformationProcess
	.word	.LC5
	.word	ZwQuerySystemInformation
	.word	.LC7
	.word	ZwAllocateVirtualMemory
	.word	.LC8
	.word	RtlImageNtHeader
	.word	.LC9
	.word	RtlImageDirectoryEntryToData
	.word	.LC1
	.word	.LC3
	.word	.LC6
	.size	GetFunction, .-GetFunction
	.comm	ZwVdmControl,4,4
	.comm	ZwQuerySystemInformation,4,4
	.comm	ZwQueryInformationProcess,4,4
	.comm	ZwAllocateVirtualMemory,4,4
	.comm	RtlImageNtHeader,4,4
	.comm	RtlImageDirectoryEntryToData,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
