Function at 0x415d20
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 0x415d5b
cmp word [r15], 0x5a4d
je 0x415d74
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 0x415d5b
mov edx, 0x26ef8824
mov qword [rsp + 0x110], r8
lea rcx, [0x00423640]
call fcn.00413530
mov edx, 0x4ab3da84
mov rcx, rax
call fcn.004154e0
test byte [rdi + 0x17], 0x20
je 0x415d5b
lea rcx, [0x00423620]
mov edx, 0x1209e8a4
call fcn.00413530
mov edx, 0x1f4a2704
mov rcx, rax
call fcn.004154e0
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 0x415d5b
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x415d5b
lea rcx, [0x00423540]
mov edx, 0x9993a2c
lea rdi, [rax + r15]
call fcn.00413530
mov edx, 0x45bb6b4c
mov rcx, rax
call fcn.004154e0
movsxd rbx, dword [rdi + 0x1c]
lea rax, [0x00421ac0]
mov r8, qword [rsp + 0x110]
add rbx, r15
cmp rsi, rax
je 0x416070
test rsi, rsi
je 0x4160b6
cmp byte [rsi], 0
je 0x416070
mov r14d, dword [rdi + 0x18]
test r14d, r14d
js 0x4160a0
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 0x415f18
movsxd rbx, dword [rsp + 0x24]
add r14d, 1
test rdi, rdi
jne 0x415f80
add r13d, 1
add r12d, 1
cmp r12d, r14d
jg 0x4160a0
mov dword [rsp + 0x24], ebx
lea rcx, [0x00423500]
mov edx, 0x1209e8a4
movsxd rdi, r13d
call fcn.004154e0
mov edx, 0x9993a2c
add rdi, r15
lea rcx, [0x004234e0]
call fcn.004154e0
lea rdx, [0x00421ac0]
test rax, rax
je 0x415f5f
cmp qword [rax], 0
lea rdx, [rax + 0x10]
lea rax, [0x00421ac0]
cmove rdx, rax
mov rcx, rdi
call fcn.00415c10
test eax, eax
jne 0x415ef1
add qword [rsp + 0x28], 4
mov rax, qword [rsp + 0x28]
movsxd rbx, dword [rax]
jmp 0x415efa
mov rcx, rdi
call sub.msvcrt.dll_strlen
cmp rdi, rsi
lea r13d, [r13 + rax + 1]
je 0x415fa5
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x415f07
mov ecx, ebp
call fcn.0040c4a0
mov ecx, dword [0x004934bc]
test al, al
jne 0x416162
call fcn.0040c4a0
lea rcx, [0x00423460]
mov edx, 0x71e9d40c
call fcn.004154e0
mov edx, 0x5f18cee4
lea rcx, [0x00423420]
call fcn.004154e0
mov edx, 0x180db0ec
lea rcx, [0x00423400]
call fcn.004154e0
mov edx, 0x498d8384
lea rcx, [0x004233c0]
call fcn.004154e0
mov edx, 0x4dc608cc
lea rcx, [0x00423380]
call fcn.004154e0
mov edx, 0x3abfd924
lea rcx, [0x00423360]
call fcn.004154e0
mov edx, 0x2002d3ac
lea rcx, [0x00423320]
call fcn.004154e0
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, 0x2960c98c
lea rcx, [0x00423220]
call fcn.004154e0
jmp 0x415d5d
mov edx, 0x107337c4
mov qword [rsp + 0x110], r8
lea rcx, [0x004232e0]
call fcn.004154e0
mov r8, qword [rsp + 0x110]
movsxd rbx, dword [rbx + r8*4 - 4]
add rbx, r15
jmp 0x416052
lea rcx, [0x00423220]
mov edx, 0x2960c98c
call fcn.004154e0
jmp 0x415d5b
mov r14d, dword [rdi + 0x18]
test r14d, r14d
js 0x4160a0
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 0x41610a
add rsi, 4
movsxd rbx, dword [rsi]
test rdi, rdi
je 0x415fa5
mov rcx, rdi
add r13d, 1
call sub.msvcrt.dll_strlen
cmp r14d, r13d
lea r12d, [r12 + rax + 1]
jl 0x4160a0
mov dword [rsp + 0x24], ebx
lea rcx, [0x00423500]
mov edx, 0x1209e8a4
movsxd rdi, r12d
call fcn.004154e0
mov edx, 0x9993a2c
add rdi, r15
lea rcx, [0x004234e0]
call fcn.004154e0
mov rcx, qword [rsp + 0x28]
test rax, rax
mov rdx, rcx
je 0x41614b
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmove rdx, rcx
mov rcx, rdi
call fcn.00415c10
test eax, eax
je 0x4160e0
add r14d, 1
movsxd rbx, dword [rsp + 0x24]
jmp 0x4160e7
call fcn.0040c4a0
test al, al
je 0x415fbf
lea rcx, [0x00423480]
mov edx, 0x48369344
call fcn.004154e0
jmp 0x415fbf