Function at 0x61610180
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 rbx, rdx
lea rsi, [rsp + 0x30]
test r15, r15
mov ebp, r9d
mov rdi, rsi
rep stosq qword [rdi], rax
je 0x616101bb
cmp word [r15], 0x5a4d
je 0x616101e0
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 0x616101bb
mov edx, 0x56866780
mov qword [rsp + 0x110], r8
lea rcx, [0x6161dda0]
call fcn.6160e580
test byte [rdi + 0x17], 0x20
je 0x616101bb
lea rcx, [0x6161e140]
mov edx, 0x3f3bd780
call fcn.6160e580
movsxd rdx, dword [r15 + 0x3c]
add rdx, r15
lea rax, [rdx + 0x88]
mov rdx, qword [rdx + 0x88]
mov rdi, rdx
mov qword [rsi], rdx
mov rdx, qword [rax + 8]
shr rdi, 0x20
test edi, edi
mov qword [rsi + 8], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsi + 0x10], rdx
mov rdx, qword [rax + 0x18]
mov qword [rsi + 0x18], rdx
mov rdx, qword [rax + 0x20]
mov qword [rsi + 0x20], rdx
mov rdx, qword [rax + 0x28]
mov qword [rsi + 0x28], rdx
mov rdx, qword [rax + 0x30]
mov qword [rsi + 0x30], rdx
mov rdx, qword [rax + 0x38]
mov qword [rsi + 0x38], rdx
mov rdx, qword [rax + 0x40]
mov qword [rsi + 0x40], rdx
mov rdx, qword [rax + 0x48]
mov qword [rsi + 0x48], rdx
mov rdx, qword [rax + 0x50]
mov qword [rsi + 0x50], rdx
mov rdx, qword [rax + 0x58]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rax + 0x60]
mov qword [rsi + 0x60], rdx
mov rdx, qword [rax + 0x68]
mov qword [rsi + 0x68], rdx
mov rdx, qword [rax + 0x70]
mov rax, qword [rax + 0x78]
mov qword [rsi + 0x70], rdx
mov qword [rsi + 0x78], rax
je 0x616101bb
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x616101bb
lea rdi, [rax + r15]
mov edx, 0xb343e80
lea rcx, [0x6161e0a0]
call fcn.6160e580
movsxd rsi, dword [rdi + 0x1c]
lea rax, [0x6161a08c]
mov r8, qword [rsp + 0x110]
add rsi, r15
cmp rbx, rax
je 0x616104b0
test rbx, rbx
je 0x616104f6
cmp byte [rbx], 0
je 0x616104b0
mov r14d, dword [rdi + 0x18]
test r14d, r14d
js 0x616104e0
mov eax, dword [rsi]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x24], eax
movsxd rax, dword [rdi + 0x20]
xor edi, edi
mov r12d, dword [rax + r15]
jmp 0x61610367
mov r13d, dword [rsp + 0x24]
add r14d, 1
test rsi, rsi
jne 0x616103d0
add r12d, 1
add edi, 1
cmp r14d, edi
jl 0x616104e0
mov dword [rsp + 0x24], r13d
lea rcx, [0x6161e020]
mov edx, 0x233e6380
movsxd rsi, r12d
call fcn.6160e580
mov edx, 0x7b36a280
add rsi, r15
lea rcx, [0x6161dff0]
call fcn.6160e580
lea rdx, [0x6161a08c]
test rax, rax
je 0x616103ae
cmp qword [rax], 0
lea rdx, [rax + 0x10]
lea rax, [0x6161a08c]
cmove rdx, rax
mov rcx, rsi
call fcn.616100d0
test eax, eax
jne 0x61610340
add qword [rsp + 0x28], 4
mov rax, qword [rsp + 0x28]
mov r13d, dword [rax]
jmp 0x61610349
mov rcx, rsi
call sub.msvcrt.dll_strlen
cmp rsi, rbx
lea r12d, [r12 + rax + 1]
je 0x61610400
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x61610356
nop
nop word cs:[rax + rax]
test ebp, ebp
jne 0x616105a2
mov edx, 0x57d9a680
movsxd rbx, dword [rsp + 0x24]
lea rcx, [0x6161dfa0]
call fcn.6160e580
mov edx, 0x4ba11b80
lea rcx, [0x6161df60]
call fcn.6160e580
mov edx, 0xe9e4a80
add rbx, r15
lea rcx, [0x6161df40]
call fcn.6160e580
mov edx, 0x32f4780
lea rcx, [0x6161df00]
call fcn.6160e580
mov edx, 0x36d8e80
lea rcx, [0x6161dec0]
call fcn.6160e580
mov edx, 0x65775380
lea rcx, [0x6161dea0]
call fcn.6160e580
mov edx, 0x3ad87280
lea rcx, [0x6161de60]
call fcn.6160e580
nop word [rax + rax]
lea rcx, [0x6161dde0]
mov edx, 0x2e57f680
call fcn.6160e580
jmp 0x616101bd
mov edx, 0x22bc3f80
mov qword [rsp + 0x110], r8
lea rcx, [0x6161e060]
call fcn.6160e580
mov r8, qword [rsp + 0x110]
movsxd rbx, dword [rsi + r8*4 - 4]
add rbx, r15
jmp 0x61610490
lea rcx, [0x6161dde0]
mov edx, 0x2e57f680
call fcn.6160e580
jmp 0x616101bb
mov r14d, dword [rdi + 0x18]
test r14d, r14d
js 0x616104e0
mov ecx, dword [rsi]
mov rbx, rsi
xor r12d, r12d
mov qword [rsp + 0x28], rax
movsxd rdx, dword [rdi + 0x20]
mov dword [rsp + 0x24], ecx
mov edi, dword [rdx + r15]
jmp 0x6161054a
add rbx, 4
mov r13d, dword [rbx]
test rsi, rsi
je 0x61610400
mov rcx, rsi
add r12d, 1
call sub.msvcrt.dll_strlen
cmp r14d, r12d
lea edi, [rdi + rax + 1]
jl 0x616104e0
mov dword [rsp + 0x24], r13d
lea rcx, [0x6161e020]
mov edx, 0x233e6380
movsxd rsi, edi
call fcn.6160e580
mov edx, 0x7b36a280
add rsi, r15
lea rcx, [0x6161dff0]
call fcn.6160e580
mov rcx, qword [rsp + 0x28]
test rax, rax
mov rdx, rcx
je 0x6161058b
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmove rdx, rcx
mov rcx, rsi
call fcn.616100d0
test eax, eax
je 0x61610520
add r14d, 1
mov r13d, dword [rsp + 0x24]
jmp 0x61610527
mov eax, dword [0x61622048]
test eax, eax
je 0x616105bd
lea rcx, [0x6161dfc0]
mov edx, 0x7701cf80
call fcn.6160e580
lea rcx, [0x6161dfa0]
mov edx, 0x57d9a680
movsxd rbx, r13d
call fcn.6160e580
mov edx, 0x4ba11b80
add rbx, r15
lea rcx, [0x6161df60]
call fcn.6160e580
mov edx, 0xe9e4a80
lea rcx, [0x6161df40]
call fcn.6160e580
mov edx, 0x32f4780
lea rcx, [0x6161df00]
call fcn.6160e580
mov edx, 0x36d8e80
lea rcx, [0x6161dec0]
call fcn.6160e580
mov edx, 0x65775380
lea rcx, [0x6161dea0]
call fcn.6160e580
mov edx, 0x3ad87280
lea rcx, [0x6161de60]
call fcn.6160e580
jmp 0x61610490