Function at 0x6160f9e0
Capabilities:
Enumerate pe sections
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, 0x88
movaps xmmword [rsp + 0x70], xmm6
mov rbp, rcx
mov r13, rdx
mov edx, 0x51958a80
mov dword [rsp + 0x6c], 0
lea rcx, [0x6161bd80]
call fcn.6160e580
lea rcx, [0x6161a08c]
test rax, rax
je 0x6160fa2f
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmovne rcx, rdx
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0x30], 0
mov edx, 0x80000000
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [0x61637250]
xor edx, edx
mov rcx, rax
mov rbx, rax
call qword [0x6162f918]
mov ecx, dword [0x61622048]
mov esi, eax
test ecx, ecx
je 0x6160fed4
call qword [0x616372b8]
movsxd r8, esi
xor edx, edx
mov rcx, rax
call qword [0x6162f8f8]
mov rdi, rax
mov rcx, rbx
mov r8d, esi
mov rdx, rdi
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x6c]
call qword [0x6162ff68]
movsxd r11, dword [rdi + 0x3c]
lea r15, [rdi + r11]
mov eax, dword [r15 + 0x88]
movzx ebx, word [r15 + 0x14]
mov dword [rsp + 0x40], eax
lea rax, [r15 + 0x18]
mov rcx, rax
add rax, rbx
cmp word [r15 + 6], 0
mov qword [rsp + 0x48], rax
je 0x6160ff2b
mov r12, rax
xor esi, esi
movdqa xmm6, xmmword [0x6161e1b0]
mov r14, rcx
mov qword [rsp + 0x50], rdi
jmp 0x6160fb08
mov r12, rbx
movzx ebx, word [r15 + 0x14]
lea eax, [rsi + rsi*4]
add rbx, r14
mov edx, 0x19
lea rcx, [0x61619040]
shl eax, 3
movzx eax, ax
add rbx, rax
call fcn.6160dd30
lea rcx, [0x6161bd60]
movups xmmword [rax], xmm6
movzx edx, byte [rbx]
mov rdi, rax
mov byte [rax + 0x10], dl
movzx edx, byte [rbx + 1]
mov byte [rax + 0x11], dl
movzx edx, byte [rbx + 2]
mov byte [rax + 0x12], dl
movzx edx, byte [rbx + 3]
mov byte [rax + 0x13], dl
movzx edx, byte [rbx + 4]
mov byte [rax + 0x14], dl
movzx edx, byte [rbx + 5]
mov byte [rax + 0x15], dl
movzx edx, byte [rbx + 6]
mov byte [rax + 0x16], dl
movzx edx, byte [rbx + 7]
mov byte [rax + 0x17], dl
mov edx, 0x6e690780
call fcn.6160e580
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov rdx, rax
call fcn.61605af0
test rax, rax
cmovs rbx, r12
add esi, 1
cmp word [r15 + 6], si
ja 0x6160fb00
mov rdi, qword [rsp + 0x50]
movsxd rsi, dword [rsp + 0x40]
movsxd rdx, dword [rbx + 0xc]
movsxd rax, dword [rbx + 0x14]
add rsi, rdi
sub rsi, rdx
lea rcx, [rsi + rax]
movsxd r12, dword [rcx + 0x1c]
mov qword [rsp + 0x50], rcx
movsxd r10, dword [rcx + 0x20]
add r12, rdi
sub r12, rdx
add r10, rdi
lea r11, [r12 + rax]
mov r12d, dword [rcx + 0x18]
sub r10, rdx
lea rsi, [r10 + rax]
mov qword [rsp + 0x40], r11
test r12d, r12d
jle 0x6160ff23
lea rcx, [r13 + 0x10]
mov r8, r13
xor r15d, r15d
mov r13, rdi
xor r14d, r14d
mov edi, r12d
mov qword [rsp + 0x58], rcx
mov r12, rsi
mov rsi, rbx
jmp 0x6160fc4d
lea ebx, [r15 + 1]
test rcx, rcx
je 0x6160fc3a
test rbp, rbp
je 0x6160fc3a
mov rdx, rbp
mov qword [rsp + 0xd8], r8
call sub.msvcrt.dll_strcmp
mov r8, qword [rsp + 0xd8]
test eax, eax
je 0x6160fc62
cmp ebx, edi
mov r15d, ebx
jge 0x6160fe79
movsxd rdx, dword [rsi + 0xc]
movsxd rax, dword [rsi + 0x14]
movsxd rcx, r15d
movsxd rcx, dword [r12 + rcx*4]
add rcx, r13
sub rcx, rdx
add rcx, rax
cmp rbp, rcx
jne 0x6160fc10
mov rcx, qword [rsp + 0x40]
lea ebx, [r15 + 1]
movsxd rax, ebx
mov edx, dword [0x61622048]
movsxd rax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
test edx, edx
movsxd r14, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 0x14]
jne 0x6160fea0
lea rdx, [r13 + rax]
mov rax, rdx
sub rax, r14
lea rdx, [rax + rcx]
mov rcx, qword [0x61619090]
test rcx, rcx
jle 0x6160fec9
cmp rdx, qword [rsp + 0x58]
lea rax, [rdx + 0x10]
setae r10b
cmp r8, rax
setae al
or r10b, al
je 0x6160fef0
lea rax, [rcx - 1]
cmp rax, 0xe
jbe 0x6160fef0
mov r10, rcx
mov r14, r8
mov rax, rdx
and r10, 0xfffffffffffffff0
sub r14, rdx
add r10, rdx
nop dword [rax]
movdqu xmm0, xmmword [rax]
movups xmmword [r14 + rax], xmm0
add rax, 0x10
cmp rax, r10
jne 0x6160fcf0
mov rax, rcx
and rax, 0xfffffffffffffff0
cmp rax, rcx
je 0x6160fe60
movzx r10d, byte [rax + rdx]
mov byte [r8 + rax], r10b
lea r10, [rax + 1]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 1]
mov byte [r8 + rax + 1], r10b
lea r10, [rax + 2]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 2]
mov byte [r8 + rax + 2], r10b
lea r10, [rax + 3]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 3]
mov byte [r8 + rax + 3], r10b
lea r10, [rax + 4]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 4]
mov byte [r8 + rax + 4], r10b
lea r10, [rax + 5]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 5]
mov byte [r8 + rax + 5], r10b
lea r10, [rax + 6]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 6]
mov byte [r8 + rax + 6], r10b
lea r10, [rax + 7]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 7]
mov byte [r8 + rax + 7], r10b
lea r10, [rax + 8]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 8]
mov byte [r8 + rax + 8], r10b
lea r10, [rax + 9]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 9]
mov byte [r8 + rax + 9], r10b
lea r10, [rax + 0xa]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 0xa]
mov byte [r8 + rax + 0xa], r10b
lea r10, [rax + 0xb]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 0xb]
mov byte [r8 + rax + 0xb], r10b
lea r10, [rax + 0xc]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 0xc]
mov byte [r8 + rax + 0xc], r10b
lea r10, [rax + 0xd]
cmp rcx, r10
jle 0x6160fe60
movzx r10d, byte [rdx + rax + 0xd]
mov byte [r8 + rax + 0xd], r10b
lea r10, [rax + 0xe]
cmp rcx, r10
jle 0x6160fe60
movzx edx, byte [rdx + rax + 0xe]
mov byte [r8 + rax + 0xe], dl
nop dword [rax]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x50]
mov r14d, 1
mov edi, dword [rax + 0x18]
cmp ebx, edi
mov r15d, ebx
jl 0x6160fc45
movaps xmm6, xmmword [rsp + 0x70]
mov eax, r14d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x40]
add r15d, 8
movsxd r15, r15d
movsxd rdx, dword [rax + r15*4]
add rdx, r13
sub rdx, r14
add rdx, rcx
mov rcx, qword [0x61619090]
test rcx, rcx
jg 0x6160fcac
mov r14d, 1
jmp 0x6160fc3a
call qword [0x61630188]
movsxd r8, esi
xor edx, edx
mov rcx, rax
call qword [0x6162fe38]
mov rdi, rax
jmp 0x6160fa91
mov r10, r8
add rcx, rdx
sub r10, rdx
nop dword [rax]
movzx eax, byte [rdx]
mov byte [r10 + rdx], al
add rdx, 1
cmp rcx, rdx
jne 0x6160ff00
mov rax, qword [rsp + 0x50]
mov r14d, 1
mov edi, dword [rax + 0x18]
jmp 0x6160fe6e
xor r14d, r14d
jmp 0x6160fe79
mov rbx, rax
jmp 0x6160fba1