Function at 0x14003ae9c
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140071080]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r14, r8
mov rsi, rdx
mov r15, rcx
xor ebx, ebx
mov r13b, bl
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
or dword [rsp + 0x60], 0xffffffff
lea rcx, [rsp + 0x60]
call fcn.14003d028
mov dil, bl
mov r12b, byte [rbp + 0xd8]
test r12b, r12b
je 0x14003afb5
movdqa xmm0, xmmword [0x140066480]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], bl
mov r9b, byte [rbp + 0xd0]
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x78]
mov ecx, eax
call fcn.14000aba8
test al, al
je 0x14003af71
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14003af71
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
call fcn.14000f558
test eax, eax
je 0x14003af71
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x68]
call fcn.14000f66c
movzx edi, bl
test eax, eax
lea eax, [rbx + 1]
cmovne edi, eax
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14003afac
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003afa7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4d4
call fcn.1400162b4
test dil, dil
je 0x14003b4a5
lea rdx, [0x140064df0]
lea rcx, [rbp + 0x10]
call fcn.14000127c
cmp qword [rax + 0x18], 0x10
jb 0x14003afcf
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14003b016
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4da
call fcn.1400162b4
movdqa xmm0, xmmword [0x140066480]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], bl
test rdi, rdi
je 0x14003b4a5
lea rdx, [0x140063fe0]
lea rcx, [rbp + 0x30]
call fcn.14000127c
cmp qword [rax + 0x18], 0x10
jb 0x14003b049
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400735f0], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14003b097
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b092
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4e0
call fcn.1400162b4
lea rdx, [0x140064010]
lea rcx, [rbp + 0x30]
call fcn.14000127c
cmp qword [rax + 0x18], 0x10
jb 0x14003b0b1
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400735e8], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14003b0ff
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b0fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4e6
call fcn.1400162b4
lea rdx, [0x140064040]
lea rcx, [rbp + 0x30]
call fcn.14000127c
cmp qword [rax + 0x18], 0x10
jb 0x14003b119
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400735e0], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14003b167
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b162
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4ec
call fcn.1400162b4
mov eax, 0x5a4d
cmp word [r15], ax
jne 0x14003b36c
movsxd rbx, dword [r15 + 0x3c]
add rbx, r15
cmp dword [rbx], 0x4550
jne 0x14003b36a
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.14003e208
mov ecx, 0x14c
mov eax, dword [rsp + 0x60]
xor r8d, r8d
cmp word [rbx + 4], cx
jne 0x14003b1b0
test eax, eax
jne 0x14003b4a5
mov ecx, 0x8664
cmp word [rbx + 4], cx
jne 0x14003b1c4
cmp eax, 6
jne 0x14003b4a5
lea rdi, [rbp + 0x10]
xor eax, eax
lea ecx, [rax + 0x18]
rep stosb byte [rdi], al
lea rdi, [rbp - 0x60]
lea edx, [rax + 0x68]
mov ecx, edx
rep stosb byte [rdi], al
mov dword [rbp - 0x60], edx
mov dword [rbp - 0x24], 0x101
mov word [rbp - 0x20], r8w
lea rax, [rbp + 0x10]
test r12b, r12b
je 0x14003b21c
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov r8, r14
mov rdx, rsi
mov rcx, qword [rsp + 0x70]
call fcn.140048aa8
jmp 0x14003b235
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rax
mov rdx, r14
mov rcx, rsi
call fcn.140048c08
xor r12d, r12d
test eax, eax
je 0x14003b36a
lea esi, [r12 + 8]
mov edx, esi
call fcn.14000f768
mov rdi, rax
mov qword [rbp - 0x78], rax
mov dword [rax + 0x30], 0x100002
mov rdx, rax
mov rcx, qword [rbp + 0x18]
call fcn.140048d30
mov rcx, qword [rbp + 0x10]
test eax, eax
je 0x14003b365
mov rdx, qword [rdi + 0x88]
add rdx, 0x10
mov qword [rsp + 0x20], r12
mov r9d, esi
lea r8, [rbp - 0x68]
call qword [0x1400735f0]
neg byte [rbp + 0xc8]
sbb eax, eax
and eax, 0x3c
add eax, 4
mov r8d, dword [rbx + 0x50]
mov dword [rsp + 0x20], eax
xor edx, edx
mov rcx, qword [rbp + 0x10]
call fcn.14000f858
mov qword [rbp - 0x80], rax
mov rcx, qword [rbp + 0x10]
test rax, rax
je 0x14003b365
mov r9d, dword [rbx + 0x54]
mov r8, r15
mov rdx, rax
call fcn.14003f234
movzx esi, word [rbx + 0x14]
add rsi, 0x2c
mov r14d, r12d
cmp r12w, word [rbx + 6]
jae 0x14003b318
add rsi, rbx
lea edi, [r12 + 1]
mov r9d, dword [rsi - 4]
mov r8d, dword [rsi]
add r8, r15
mov edx, dword [rsi - 8]
add rdx, qword [rbp - 0x80]
mov rcx, qword [rbp + 0x10]
call fcn.14003f234
lea rsi, [rsi + 0x28]
add r14d, edi
movzx eax, word [rbx + 6]
cmp r14d, eax
jl 0x14003b2ea
mov rdi, qword [rbp - 0x78]
mov rdx, qword [rdi + 0x88]
add rdx, 0x10
mov r9d, 8
lea r8, [rbp - 0x80]
mov rcx, qword [rbp + 0x10]
call fcn.14003f234
mov eax, dword [rbx + 0x28]
add rax, qword [rbp - 0x80]
mov qword [rdi + 0x80], rax
mov rdx, rdi
mov rcx, qword [rbp + 0x18]
call qword [0x1400735e8]
mov rcx, qword [rbp + 0x18]
call qword [0x1400735e0]
mov eax, 1
mov r13b, al
jmp 0x14003b36a
call fcn.14003f328
xor ebx, ebx
cmp qword [rsp + 0x68], rbx
je 0x14003b47d
lea rdx, [0x140064060]
lea rcx, [rbp + 0x10]
call fcn.14000127c
nop
cmp qword [rax + 0x18], 0x10
jb 0x14003b392
mov rax, qword [rax]
mov rcx, rax
call fcn.1400074f8
mov rdi, rax
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14003b3d8
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b3d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4f2
call fcn.1400162b4
movdqa xmm0, xmmword [0x140066480]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], bl
test rdi, rdi
je 0x14003b478
lea rdx, [0x140064080]
lea rcx, [rbp + 0x30]
call fcn.14000127c
cmp qword [rax + 0x18], 0x10
jb 0x14003b40b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140073618], rax
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x14003b45c
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003b450
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003b4ce
call fcn.1400162b4
mov rax, qword [0x140073618]
movdqa xmm0, xmmword [0x140066480]
movdqu xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x30], bl
test rax, rax
je 0x14003b478
mov rcx, qword [rsp + 0x68]
call rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14003b491
call fcn.140047a18
mov qword [rsp + 0x70], rbx
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14003b4a0
call fcn.140047a18
mov al, r13b
jmp 0x14003b4a7
xor al, al
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140016290
mov rbx, qword [rsp + 0x1b8]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14001a784
int3
call fcn.14001a784
int3
call fcn.14001a784
int3
call fcn.14001a784
int3
call fcn.14001a784
int3
call fcn.14001a784
int3
call fcn.14001a784
int3