Function at 0x45b930
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
lea rbx, [rsp + 0x30]
mov r15, rcx
mov ecx, 0x10
mov rdi, rbx
test r15, r15
mov rsi, rdx
rep stosq qword [rdi], rax
je 0x45b968
cmp word [r15], 0x5a4d
je 0x45b990
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 0x45b968
lea rcx, [0x004971c0]
mov edx, 0x26d6c9c4
call fcn.0044ae40
test byte [rdi + 0x17], 0x20
je 0x45b968
lea rcx, [0x00497580]
mov edx, 0x5dd3be44
call fcn.0044ae40
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 0x45b968
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x45b968
lea rbx, [rax + r15]
mov edx, 0x7854850c
lea rcx, [0x00497500]
call fcn.0044ae40
movsxd rbp, dword [rbx + 0x1c]
lea r13, [0x00496eb8]
add rbp, r15
cmp rsi, r13
je 0x45bc60
cmp byte [rsi], 0
je 0x45bc60
mov r14d, dword [rbx + 0x18]
test r14d, r14d
js 0x45bc00
mov eax, dword [rbp]
xor edi, edi
mov dword [rsp + 0x2c], eax
movsxd rax, dword [rbx + 0x20]
mov r12d, dword [rax + r15]
nop word cs:[rax + rax]
lea rcx, [0x00497480]
mov edx, 0x790d71e4
movsxd rbx, r12d
call fcn.0044ae40
mov edx, 0x742a49ec
add rbx, r15
lea rcx, [0x00497450]
call fcn.0044ae40
mov rdx, r13
test rax, rax
je 0x45bb0c
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmove rdx, r13
mov rcx, rbx
call fcn.0044c3a0
test eax, eax
jne 0x45bc20
add rbp, 4
mov eax, dword [rbp]
mov dword [rsp + 0x2c], eax
test rbx, rbx
je 0x45bbf0
cmp rsi, rbx
jne 0x45bc30
mov eax, dword [0x0049c2b0]
test eax, eax
je 0x45bb54
lea rcx, [0x00497420]
mov edx, 0x4a925e84
call fcn.0044ae40
lea rcx, [0x00497400]
mov edx, 0x686ac9cc
call fcn.0044ae40
mov edx, 0x2c1bac24
lea rcx, [0x004973c0]
call fcn.0044ae40
mov edx, 0x138ffcac
lea rcx, [0x004973a0]
call fcn.0044ae40
mov edx, 0x77aac2c4
lea rcx, [0x00497360]
call fcn.0044ae40
mov edx, 0x25d09a8c
lea rcx, [0x00497320]
call fcn.0044ae40
mov edx, 0x13634a64
lea rcx, [0x00497300]
call fcn.0044ae40
mov edx, 0x694e1b6c
lea rcx, [0x004972c0]
call fcn.0044ae40
movsxd rbx, dword [rsp + 0x2c]
add rbx, r15
lea rcx, [0x00497200]
mov edx, 0x28f2b74c
call fcn.0044ae40
jmp 0x45b96a
add r12d, 1
add edi, 1
cmp r14d, edi
jge 0x45bad0
lea rcx, [0x00497200]
mov edx, 0x28f2b74c
call fcn.0044ae40
jmp 0x45b968
add r14d, 1
jmp 0x45bb27
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x45bb39
mov rax, qword [rsp + 0x20]
lea r12d, [r12 + rax + 1]
jmp 0x45bbf4
lea rcx, [0x004974c0]
mov edx, 0x31f52b04
call fcn.0044ae40
movsxd rbx, dword [rbp - 4]
add rbx, r15
jmp 0x45bbd3