Function at 0x4058c0
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 0x4058fc
cmp word [r12], 0x5a4d
je 0x405916
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 0x4058fc
lea rcx, [0x00427a40]
mov edx, 0x33a22428
call fcn.00404d90
mov edx, 0x3f146128
mov rcx, rax
call fcn.00405030
test byte [rsi + 0x17], 0x20
je 0x4058fc
lea rcx, [0x00427de0]
mov edx, 0x3f146128
mov rdi, r13
call fcn.00404d90
mov edx, 0x3355ad28
mov rcx, rax
call fcn.00405030
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 0x4058fc
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x4058fc
lea rcx, [0x00427d20]
mov edx, 0x7514f1e8
lea rdi, [rax + r12]
call fcn.00404d90
mov edx, 0x77df95e8
mov rcx, rax
call fcn.00405030
movsxd rax, dword [rdi + 0x1c]
lea rsi, [rax + r12]
lea rax, section..rdata
cmp rbx, rax
je 0x405c38
cmp byte [rbx], 0
je 0x405c38
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 0x405a28
add rbp, 4
mov edi, dword [rbp]
add esi, 1
add ebx, 1
mov dword [rsp + 0x24], edi
cmp r12d, ebx
jl 0x405c52
lea rcx, [0x00427ca0]
mov edx, 0x1cf8fc28
movsxd r13, esi
call fcn.00405030
mov edx, 0x43f4f2e8
add r13, qword [rsp + 0x100]
lea rcx, [0x00427c70]
call fcn.00405030
mov rdi, qword [rsp + 0x28]
test rax, rax
je 0x405a72
cmp qword [rax], 0
je 0x405a72
lea rdi, [rax + 0x10]
lea rcx, [0x00427a20]
mov edx, 0x7149bce8
call fcn.00404d90
mov edx, 0x5b0cb628
mov rcx, rax
call fcn.00405030
test r13, r13
je 0x405a17
cmp byte [r13], 0
je 0x405d01
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 0x405ad0
cmp rax, r9
jle 0x405d01
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 0x405b40
add r8, 1
xor eax, eax
cmp byte [rdi], 0
je 0x405b2e
lea rdx, [r15 + rax]
add rax, 1
cmp byte [rdx], 0
jne 0x405b21
cmp r8, rax
je 0x405b45
add r9, 1
add r10, 1
jmp 0x405ac0
xor r8d, r8d
jmp 0x405b33
movsxd rdi, dword [rsp + 0x24]
add r12d, 1
xor eax, eax
jmp 0x405b56
add rax, 1
cmp byte [rax + r13], 0
jne 0x405b52
cmp qword [rsp + 0x108], r13
lea esi, [rsi + rax + 1]
jne 0x405c1b
mov ebp, dword [rsp + 0x110]
mov r12, qword [rsp + 0x100]
test ebp, ebp
jne 0x405c68
movsxd rax, dword [rsp + 0x24]
mov edx, 0x610a17e8
lea rcx, [0x00427c20]
add r12, rax
call fcn.00405030
mov edx, 0x2ae3a228
lea rcx, [0x00427be0]
call fcn.00405030
mov edx, 0x2c5844e8
lea rcx, [0x00427bc0]
call fcn.00405030
mov edx, 0x36f47928
lea rcx, [0x00427b80]
call fcn.00405030
mov edx, 0x2adab9e8
lea rcx, [0x00427b40]
call fcn.00405030
mov edx, 0x5e52a828
lea rcx, [0x00427b20]
call fcn.00405030
mov edx, 0x241eb6e8
lea rcx, [0x00427ae0]
call fcn.00405030
lea rcx, [0x00427a80]
mov edx, 0x41937be8
call fcn.00405030
jmp 0x4058ff
mov rcx, qword [rsp + 0x108]
mov rdx, r13
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x405a21
jmp 0x405b6f
lea rcx, [0x00427ce0]
mov edx, 0x4459ef28
call fcn.00405030
movsxd rax, dword [rsi - 4]
add r12, rax
jmp 0x405c05
lea rcx, [0x00427a80]
mov edx, 0x41937be8
call fcn.00405030
jmp 0x4058fc
cmp dword [0x0042f550], 0
je 0x405c82
lea rcx, [0x00427c40]
mov edx, 0x629a6328
call fcn.00405030
lea rcx, [0x00427c20]
mov edx, 0x610a17e8
add r12, rdi
call fcn.00405030
mov edx, 0x2ae3a228
lea rcx, [0x00427be0]
call fcn.00405030
mov edx, 0x2c5844e8
lea rcx, [0x00427bc0]
call fcn.00405030
mov edx, 0x36f47928
lea rcx, [0x00427b80]
call fcn.00405030
mov edx, 0x2adab9e8
lea rcx, [0x00427b40]
call fcn.00405030
mov edx, 0x5e52a828
lea rcx, [0x00427b20]
call fcn.00405030
mov edx, 0x241eb6e8
lea rcx, [0x00427ae0]
call fcn.00405030
jmp 0x405c05
add rbp, 4
movsxd rdi, dword [rbp]
jmp 0x405b4e