Function at 0x4153f0
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 r12, rcx
mov ecx, 0x10
mov rbx, rdx
lea r13, [rsp + 0x30]
test r12, r12
mov ebp, r8d
mov rdi, r13
rep stosq qword [rdi], rax
je 0x41542c
cmp word [r12], 0x5a4d
je 0x415446
xor r12d, r12d
mov rax, r12
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rsi, dword [r12 + 0x3c]
add rsi, r12
cmp dword [rsi], 0x4550
jne 0x41542c
lea rcx, [0x0046d900]
mov edx, 0x3a38f464
call fcn.00403ad0
mov edx, 0x2a663144
mov rcx, rax
call fcn.00403d80
test byte [rsi + 0x17], 0x20
je 0x41542c
lea rcx, [0x0046dd40]
mov edx, 0x2a663144
mov rdi, r13
call fcn.00403ad0
mov edx, 0x423895c4
mov rcx, rax
call fcn.00403d80
movsxd rax, dword [r12 + 0x3c]
mov ecx, 0x20
lea rsi, [r12 + rax + 0x88]
rep movsd dword [rdi], dword [rsi]
cmp dword [rsp + 0x34], 0
je 0x41542c
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x41542c
lea rcx, [0x0046dc40]
mov edx, 0x2df8e0c
lea rdi, [rax + r12]
call fcn.00403ad0
mov edx, 0x313c38c
mov rcx, rax
call fcn.00403d80
movsxd rax, dword [rdi + 0x1c]
lea rsi, [rax + r12]
lea rax, [0x00427f60]
cmp rbx, rax
je 0x415768
cmp byte [rbx], 0
je 0x415768
mov r14d, dword [rdi + 0x18]
mov rcx, rsi
mov qword [rsp + 0x100], r12
mov esi, dword [rsi]
mov qword [rsp + 0x108], rbx
movsxd rdx, dword [rdi + 0x20]
xor edi, edi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x110], ebp
mov ebx, edi
mov rbp, rcx
mov dword [rsp + 0x24], esi
mov esi, dword [rdx + r12]
mov r12d, r14d
jmp 0x415558
add rbp, 4
mov edi, dword [rbp]
add esi, 1
add ebx, 1
mov dword [rsp + 0x24], edi
cmp r12d, ebx
jl 0x415782
lea rcx, [0x0046dbc0]
mov edx, 0x641cd564
movsxd r13, esi
call fcn.00403d80
mov edx, 0x7d63ec6c
add r13, qword [rsp + 0x100]
lea rcx, [0x0046db90]
call fcn.00403d80
mov rdi, qword [rsp + 0x28]
test rax, rax
je 0x4155a2
cmp qword [rax], 0
je 0x4155a2
lea rdi, [rax + 0x10]
lea rcx, [0x0046d8e0]
mov edx, 0x6a65e42c
call fcn.00403ad0
mov edx, 0x22828724
mov rcx, rax
call fcn.00403d80
test r13, r13
je 0x415547
cmp byte [r13], 0
je 0x415831
mov r10, r13
xor r8d, r8d
xor r9d, r9d
lea rcx, [r13 + 1]
lea r15, [rdi + 1]
nop dword [rax + rax]
nop word cs:[rax + rax]
xor eax, eax
nop dword [rax]
nop word cs:[rax + rax]
lea rdx, [rcx + rax]
add rax, 1
cmp byte [rdx], 0
jne 0x415600
cmp rax, r9
jle 0x415831
movzx eax, byte [r10]
lea r11d, [rax - 0x41]
mov edx, eax
xor edx, 0x20
cmp r11b, 0x1a
cmovb eax, edx
movzx edx, byte [rdi + r8]
lea r14d, [rdx - 0x41]
mov r11d, edx
xor r11d, 0x20
cmp r14b, 0x1a
cmovb edx, r11d
cmp dl, al
jne 0x415670
add r8, 1
xor eax, eax
cmp byte [rdi], 0
je 0x41565e
lea rdx, [r15 + rax]
add rax, 1
cmp byte [rdx], 0
jne 0x415651
cmp r8, rax
je 0x415675
add r9, 1
add r10, 1
jmp 0x4155f0
xor r8d, r8d
jmp 0x415663
movsxd rdi, dword [rsp + 0x24]
add r12d, 1
xor eax, eax
jmp 0x415686
add rax, 1
cmp byte [rax + r13], 0
jne 0x415682
cmp qword [rsp + 0x108], r13
lea esi, [rsi + rax + 1]
jne 0x41574b
mov ebp, dword [rsp + 0x110]
mov r12, qword [rsp + 0x100]
test ebp, ebp
jne 0x415798
movsxd rax, dword [rsp + 0x24]
mov edx, 0x6d7f704c
lea rcx, [0x0046db40]
add r12, rax
call fcn.00403d80
mov edx, 0x2b9dc7a4
lea rcx, [0x0046db00]
call fcn.00403d80
mov edx, 0x4d61472c
lea rcx, [0x0046dae0]
call fcn.00403d80
mov edx, 0x7c230a44
lea rcx, [0x0046daa0]
call fcn.00403d80
mov edx, 0x2f29290c
lea rcx, [0x0046da60]
call fcn.00403d80
mov edx, 0x49cb9de4
lea rcx, [0x0046da40]
call fcn.00403d80
mov edx, 0xf898dec
lea rcx, [0x0046da00]
call fcn.00403d80
lea rcx, [0x0046d940]
mov edx, 0x10e5adcc
call fcn.00403d80
jmp 0x41542f
mov rcx, qword [rsp + 0x108]
mov rdx, r13
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x415551
jmp 0x41569f
lea rcx, [0x0046dc00]
mov edx, 0x618a6a84
call fcn.00403d80
movsxd rax, dword [rsi - 4]
add r12, rax
jmp 0x415735
lea rcx, [0x0046d940]
mov edx, 0x10e5adcc
call fcn.00403d80
jmp 0x41542c
cmp dword [0x00471598], 0
je 0x4157b2
lea rcx, [0x0046db60]
mov edx, 0x504d2e04
call fcn.00403d80
lea rcx, [0x0046db40]
mov edx, 0x6d7f704c
add r12, rdi
call fcn.00403d80
mov edx, 0x2b9dc7a4
lea rcx, [0x0046db00]
call fcn.00403d80
mov edx, 0x4d61472c
lea rcx, [0x0046dae0]
call fcn.00403d80
mov edx, 0x7c230a44
lea rcx, [0x0046daa0]
call fcn.00403d80
mov edx, 0x2f29290c
lea rcx, [0x0046da60]
call fcn.00403d80
mov edx, 0x49cb9de4
lea rcx, [0x0046da40]
call fcn.00403d80
mov edx, 0xf898dec
lea rcx, [0x0046da00]
call fcn.00403d80
jmp 0x415735
add rbp, 4
movsxd rdi, dword [rbp]
jmp 0x41567e