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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x180041020]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov r13, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rcx
lea rax, vtable.CModuleInfo.0
mov qword [rcx], rax
xor esi, esi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rsi
lea r12, [rcx + 0x18]
mov qword [r12], rsi
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], 0xf
mov byte [r12], sil
xor r8d, r8d
lea rdx, [0x18003b40f]
mov rcx, r12
call fcn.180001530
nop
mov qword [r13 + 0x38], rsi
mov qword [r13 + 0x48], rsi
mov qword [r13 + 0x50], 0xf
mov byte [r13 + 0x38], sil
xor r8d, r8d
lea rdx, [0x18003b40f]
lea rcx, [r13 + 0x38]
call fcn.180001530
nop
lea rax, [r13 + 0x58]
mov qword [rsp + 0x40], rax
mov qword [rax], rsi
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
xor r8d, r8d
lea rdx, [0x18003b40f]
mov rcx, rax
call fcn.180001530
nop
mov qword [r13 + 0x78], rsi
mov qword [r13 + 0x88], rsi
mov qword [r13 + 0x90], 0xf
mov byte [r13 + 0x78], sil
xor r8d, r8d
lea rdx, [0x18003b40f]
lea rcx, [r13 + 0x78]
call fcn.180001530
nop
mov byte [r13 + 0x98], sil
mov edi, esi
mov qword [rsp + 0x28], rsi
mov ebx, esi
mov qword [rsp + 0x30], rbx
mov r15d, esi
mov qword [rsp + 0x38], rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9, rax
mov qword [rsp + 0x20], rax
mov ecx, esi
nop dword [rax]
mov rax, rbx
sub rax, rcx
lea rdx, [rax + 0x104]
cmp rdx, rax
jae 0x180002b48
lea rbx, [rcx + rdx]
jmp 0x180002b91
jbe 0x180002b96
mov rax, r15
sub rax, rcx
cmp rdx, rax
jbe 0x180002b75
lea rcx, [rsp + 0x28]
call fcn.1800057e0
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
mov r9, qword [rsp + 0x20]
jmp 0x180002b96
xor edx, edx
mov r8d, 0x104
mov rcx, rbx
call fcn.18000cf90
add rbx, 0x104
mov r9, qword [rsp + 0x20]
mov qword [rsp + 0x30], rbx
mov r14, rbx
sub r14, rdi
je 0x18000305c
mov r8d, r14d
mov rdx, rdi
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov esi, eax
test eax, eax
je 0x180003025
cmp rsi, r14
jb 0x180002bcd
mov rcx, rdi
mov r9, qword [rsp + 0x20]
jmp 0x180002b30
mov rcx, rbx
sub rcx, rdi
cmp rsi, rcx
jae 0x180002bde
lea rbx, [rdi + rsi]
jmp 0x180002c1c
jbe 0x180002c21
mov rax, r15
sub rax, rdi
cmp rsi, rax
jbe 0x180002c09
mov rdx, rsi
lea rcx, [rsp + 0x28]
call fcn.1800057e0
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
jmp 0x180002c21
sub rsi, rcx
mov r8, rsi
xor edx, edx
mov rcx, rbx
call fcn.18000cf90
add rbx, rsi
mov qword [rsp + 0x30], rbx
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xf
cmp rdi, rbx
je 0x180002c4e
sub rbx, rdi
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180001530
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.1800047f0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180002c98
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002c93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003050
call fcn.18000afb8
mov r14, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180002ca7
mov r14, qword [r12]
mov r13, qword [r12 + 0x10]
lea rbx, [0x18003b488]
lea rsi, [0x18003b48a]
test r13, r13
je 0x180002d27
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x80]
call fcn.18000cf90
mov rcx, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax - 0x80], 1
inc rcx
cmp rcx, rsi
jne 0x180002ce0
lea rax, [r13 - 1]
mov rsi, 0xffffffffffffffff
cmp rax, rsi
cmovb rsi, rax
add rsi, r14
movzx eax, byte [rsi]
cmp byte [rbp + rax - 0x80], 0
jne 0x180002d22
nop
cmp rsi, r14
je 0x180002d27
dec rsi
movzx eax, byte [rsi]
cmp byte [rbp + rax - 0x80], 0
je 0x180002d10
sub rsi, r14
jmp 0x180002d2e
mov rsi, 0xffffffffffffffff
mov r14, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180002d3d
mov r14, qword [r12]
test r13, r13
je 0x180002d96
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x80]
call fcn.18000cf90
lea rcx, [0x18003b48a]
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rbp + rax - 0x80], 1
inc rbx
cmp rbx, rcx
jne 0x180002d60
lea rcx, [r14 + r13]
mov rbx, r14
cmp r14, rcx
jae 0x180002d96
nop dword [rax]
movzx eax, byte [rbx]
cmp byte [rbp + rax - 0x80], 0
jne 0x18000301d
inc rbx
cmp rbx, rcx
jb 0x180002d80
mov rbx, 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xf
lea r14, [rsi + 1]
mov r8, r14
cmp r13, r14
cmovb r8, r13
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180002dcf
mov rdx, qword [r12]
lea rcx, [rsp + 0x60]
call fcn.180001530
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
call fcn.1800047f0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180002e25
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002e20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003050
call fcn.18000afb8
mov r13, qword [rsp + 0x48]
mov r8, qword [r13 + 0x28]
sub r8, rsi
dec r8
xor esi, esi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 0xf
mov rax, qword [r12 + 0x10]
cmp rax, r14
jb 0x180003062
sub rax, r14
cmp rax, r8
cmovb r8, rax
mov rax, r12
cmp qword [r12 + 0x18], 0x10
jb 0x180002e70
mov rax, qword [r12]
lea rdx, [rax + r14]
lea rcx, [rsp + 0x60]
call fcn.180001530
lea rdx, [rsp + 0x60]
lea rcx, [r13 + 0x78]
call fcn.1800047f0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180002ec9
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002ec4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003050
call fcn.18000afb8
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 0xf
lea r8, [rbx + 1]
cmp qword [r12 + 0x10], r8
cmovb r8, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 0x10
jb 0x180002ef7
mov r12, qword [r12]
mov rdx, r12
lea rcx, [rsp + 0x60]
call fcn.180001530
lea rdx, [rsp + 0x60]
lea rcx, [r13 + 0x38]
call fcn.1800047f0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180002f4f
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002f4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003050
call fcn.18000afb8
mov r8, qword [rsp + 0x20]
mov qword [r13 + 8], r8
mov qword [r13 + 0xa0], r8
movsxd rdx, dword [r8 + 0x3c]
add rdx, r8
mov qword [r13 + 0xa8], rdx
movzx eax, word [rdx + 0x14]
movsxd rcx, dword [r8 + 0x3c]
add rax, r8
add rcx, 0x18
add rcx, rax
mov qword [r13 + 0xb0], rcx
mov eax, 0x5a4d
cmp word [r8], ax
jne 0x180002fa1
cmp dword [rdx], 0x4550
jne 0x180002fa1
mov byte [r13 + 0x98], 1
mov eax, dword [rdx + 8]
mov dword [r13 + 0x10], eax
mov eax, dword [rdx + 0x50]
xor eax, dword [rdx + 0x28]
xor eax, dword [rdx + 8]
mov dword [r13 + 0x14], eax
test rdi, rdi
je 0x180002fea
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x180002fde
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003056
mov rdx, r15
mov rcx, rdi
call fcn.18000afb8
nop
mov rax, r13
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.18000a940
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
sub rbx, r14
jmp 0x180002d9d
test rdi, rdi
je 0x180002fea
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x180002fde
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003056
jmp 0x180002fde
call fcn.180010fcc
nop
call fcn.180010fcc
nop
call fcn.180004c80
int3
call fcn.1800050d0
int3