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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
xor eax, eax
mov r15, rcx
mov ecx, 0x10
mov rsi, rdx
lea rbx, [rsp + 0x30]
test r15, r15
mov ebp, r9d
mov rdi, rbx
rep stosq qword [rdi], rax
je 0x415aab
cmp word [r15], 0x5a4d
je 0x415ac4
xor ebx, ebx
mov rax, rbx
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdi, dword [r15 + 0x3c]
add rdi, r15
cmp dword [rdi], 0x4550
jne 0x415aab
mov edx, 0x33457e80
mov qword [rsp + 0x110], r8
lea rcx, [0x004227e0]
call fcn.00413410
mov edx, 0x31129680
mov rcx, rax
call fcn.00415320
test byte [rdi + 0x17], 0x20
je 0x415aab
lea rcx, [0x004227c0]
mov edx, 0x5466ce80
call fcn.00413410
mov edx, 0x3fbee680
mov rcx, rax
call fcn.00415320
movsxd rdx, dword [r15 + 0x3c]
add rdx, r15
lea rax, [rdx + 0x88]
mov rdx, qword [rdx + 0x88]
mov rdi, rdx
mov qword [rbx], rdx
mov rdx, qword [rax + 8]
shr rdi, 0x20
test edi, edi
mov qword [rbx + 8], rdx
mov rdx, qword [rax + 0x10]
mov qword [rbx + 0x10], rdx
mov rdx, qword [rax + 0x18]
mov qword [rbx + 0x18], rdx
mov rdx, qword [rax + 0x20]
mov qword [rbx + 0x20], rdx
mov rdx, qword [rax + 0x28]
mov qword [rbx + 0x28], rdx
mov rdx, qword [rax + 0x30]
mov qword [rbx + 0x30], rdx
mov rdx, qword [rax + 0x38]
mov qword [rbx + 0x38], rdx
mov rdx, qword [rax + 0x40]
mov qword [rbx + 0x40], rdx
mov rdx, qword [rax + 0x48]
mov qword [rbx + 0x48], rdx
mov rdx, qword [rax + 0x50]
mov qword [rbx + 0x50], rdx
mov rdx, qword [rax + 0x58]
mov qword [rbx + 0x58], rdx
mov rdx, qword [rax + 0x60]
mov qword [rbx + 0x60], rdx
mov rdx, qword [rax + 0x68]
mov qword [rbx + 0x68], rdx
mov rdx, qword [rax + 0x70]
mov rax, qword [rax + 0x78]
mov qword [rbx + 0x70], rdx
mov qword [rbx + 0x78], rax
je 0x415aab
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x415aab
lea rcx, [0x00422720]
mov edx, 0x5dd71380
lea rdi, [rax + r15]
call fcn.00413410
mov edx, 0x5984db80
mov rcx, rax
call fcn.00415320
movsxd rbx, dword [rdi + 0x1c]
lea rax, [0x00420a80]
mov r8, qword [rsp + 0x110]
add rbx, r15
cmp rsi, rax
je 0x415dc0
test rsi, rsi
je 0x415e06
cmp byte [rsi], 0
je 0x415dc0
mov r14d, dword [rdi + 0x18]
test r14d, r14d
js 0x415df0
mov eax, dword [rbx]
mov qword [rsp + 0x28], rbx
xor r12d, r12d
mov dword [rsp + 0x24], eax
movsxd rax, dword [rdi + 0x20]
mov r13d, dword [rax + r15]
jmp 0x415c68
movsxd rbx, dword [rsp + 0x24]
add r14d, 1
test rdi, rdi
jne 0x415cd0
add r13d, 1
add r12d, 1
cmp r12d, r14d
jg 0x415df0
mov dword [rsp + 0x24], ebx
lea rcx, [0x004226e0]
mov edx, 0x6c258a80
movsxd rdi, r13d
call fcn.00415320
mov edx, 0x3f190780
add rdi, r15
lea rcx, [0x004226c0]
call fcn.00415320
lea rdx, [0x00420a80]
test rax, rax
je 0x415caf
cmp qword [rax], 0
lea rdx, [rax + 0x10]
lea rax, [0x00420a80]
cmove rdx, rax
mov rcx, rdi
call fcn.00415960
test eax, eax
jne 0x415c41
add qword [rsp + 0x28], 4
mov rax, qword [rsp + 0x28]
movsxd rbx, dword [rax]
jmp 0x415c4a
mov rcx, rdi
call sub.msvcrt.dll_strlen
cmp rdi, rsi
lea r13d, [r13 + rax + 1]
je 0x415cf5
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x415c57
mov ecx, ebp
call fcn.0040c4a0
mov ecx, dword [0x004294bc]
test al, al
jne 0x415eb2
call fcn.0040c4a0
lea rcx, [0x00422640]
mov edx, 0x5dd71380
call fcn.00415320
mov edx, 0x3993b280
lea rcx, [0x00422600]
call fcn.00415320
mov edx, 0x2381ff80
lea rcx, [0x004225e0]
call fcn.00415320
mov edx, 0x65a53680
lea rcx, [0x004225a0]
call fcn.00415320
mov edx, 0x314cb80
lea rcx, [0x00422560]
call fcn.00415320
mov edx, 0x59bc5a80
lea rcx, [0x00422540]
call fcn.00415320
mov edx, 0x43827780
lea rcx, [0x00422500]
call fcn.00415320
mov ecx, ebp
call fcn.0040c4a0
movsxd rdx, dword [rsp + 0x24]
lea r10, [rbx + r15]
add rdx, r15
test al, al
mov rbx, rdx
cmovne rbx, r10
mov edx, 0x4c760380
lea rcx, [0x004223c0]
call fcn.00415320
jmp 0x415aad
mov edx, 0x46621e80
mov qword [rsp + 0x110], r8
lea rcx, [0x004224c0]
call fcn.00415320
mov r8, qword [rsp + 0x110]
movsxd rbx, dword [rbx + r8*4 - 4]
add rbx, r15
jmp 0x415da2
lea rcx, [0x004223c0]
mov edx, 0x4c760380
call fcn.00415320
jmp 0x415aab
mov r14d, dword [rdi + 0x18]
test r14d, r14d
js 0x415df0
mov ecx, dword [rbx]
mov rsi, rbx
xor r13d, r13d
mov qword [rsp + 0x28], rax
movsxd rdx, dword [rdi + 0x20]
mov dword [rsp + 0x24], ecx
mov r12d, dword [rdx + r15]
jmp 0x415e5a
add rsi, 4
movsxd rbx, dword [rsi]
test rdi, rdi
je 0x415cf5
mov rcx, rdi
add r13d, 1
call sub.msvcrt.dll_strlen
cmp r14d, r13d
lea r12d, [r12 + rax + 1]
jl 0x415df0
mov dword [rsp + 0x24], ebx
lea rcx, [0x004226e0]
mov edx, 0x6c258a80
movsxd rdi, r12d
call fcn.00415320
mov edx, 0x3f190780
add rdi, r15
lea rcx, [0x004226c0]
call fcn.00415320
mov rcx, qword [rsp + 0x28]
test rax, rax
mov rdx, rcx
je 0x415e9b
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmove rdx, rcx
mov rcx, rdi
call fcn.00415960
test eax, eax
je 0x415e30
add r14d, 1
movsxd rbx, dword [rsp + 0x24]
jmp 0x415e37
call fcn.0040c4a0
test al, al
je 0x415d0f
lea rcx, [0x00422660]
mov edx, 0x5466ce80
call fcn.00415320
jmp 0x415d0f