Function at 0x140016ffa
Capabilities:
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
movaps xmm0, xmmword [0x1409567f0]
mov r8d, 0x397cdb15
lea rax, [rsp + 0x90]
mov qword [rsp + 0x100], rcx
xor ecx, ecx
mov qword [rsp + 0x108], rdx
lea rdx, [rsp + 0x80]
mov dword [rsp + 0xac], ecx
mov rcx, rax
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x80], xmm0
call fcn.140016df0
mov rcx, qword [0x140957610]
mov r15, qword [rsp + 0x98]
call fcn.14001bc70
cmp byte [rax], 0
mov rdi, rax
jne 0x1400172d8
mov rcx, qword [rsp + 0x50]
call fcn.1400088bd
cmp byte [rdi], 0
mov rcx, rax
jne 0x1400172d8
xor eax, eax
xor r9d, r9d
mov r8d, 1
mov dword [rsp + 0x28], pe_nt_image_headers64
mov qword [rsp + 0x30], rax
mov rax, qword [0x1409572e0]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
call qword [rax]
xor edx, edx
mov rcx, rax
mov rsi, rax
mov rax, qword [0x1409572f0]
call qword [rax]
mov ebp, eax
mov rax, qword [0x140957320]
call qword [rax]
xor edx, edx
movsxd r8, ebp
mov rcx, rax
mov rax, qword [0x140957310]
call qword [rax]
xor edx, edx
mov rcx, rsi
mov r8d, ebp
mov qword [rsp + 0x20], rdx
mov rbx, rax
mov rdx, rax
mov rax, qword [0x140957300]
lea r9, [rsp + 0xac]
call qword [rax]
movsxd rsi, dword [rbx + 0x3c]
add rsi, rbx
jo 0x140017185
mov eax, dword [rsi + 0x88]
lea rbp, [rsi + 0x18]
mov dword [rsp + 0x6c], eax
movzx eax, word [rsi + 0x14]
add rax, rbp
mov qword [rsp + 0x58], rax
jo 0x140017185
mov rax, qword [rsp + 0x58]
xor r13d, r13d
mov qword [rsp + 0x48], rax
cmp r13w, word [rsi + 6]
jb 0x14001716b
movsxd rcx, dword [rsp + 0x6c]
add rcx, rbx
jo 0x140017185
mov rdx, qword [rsp + 0x48]
call fcn.140016fd5
cmp byte [rdi], 0
mov rbp, rax
je 0x14001728f
jmp 0x1400172d8
movzx eax, word [rsi + 0x14]
add rax, rbp
jo 0x140017185
imul edx, r13d, 0x28
movzx edx, dx
add rax, rdx
mov qword [rsp + 0x60], rax
jno 0x14001718f
call fcn.140003bed
jmp 0x1400172d8
mov rdx, qword [rsp + 0x60]
mov r8d, 8
mov rcx, qword [rsp + 0x50]
call fcn.140016f48
mov r9, qword [rsp + 0x90]
cmp byte [rdi], 0
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0x78], r9
jne 0x1400172d8
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov r8d, 0x148ce20f
movaps xmm1, xmmword [0x1409567d0]
mov qword [rsp + 0x70], rdx
movaps xmmword [rsp + 0x80], xmm1
call fcn.140016df0
cmp byte [rdi], 0
mov rax, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
jne 0x1400172d8
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x98], r12
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r9
call fcn.140007ae7
cmp byte [rdi], 0
jne 0x1400172d8
test al, al
mov rax, qword [rsp + 0x60]
cmove rax, qword [rsp + 0x48]
inc r13d
test r14, r14
mov qword [rsp + 0x48], rax
je 0x14001726d
test byte [r14 + 7], 0x40
jne 0x14001726d
mov rcx, r14
call fcn.140003b15
test r12, r12
je 0x14001713f
test byte [r12 + 7], 0x40
jne 0x14001713f
mov rcx, r12
call fcn.140003b15
jmp 0x14001713f
movsxd rcx, dword [rax + 0x20]
add rcx, rbx
jo 0x140017185
mov rdx, qword [rsp + 0x48]
call fcn.140016fd5
cmp byte [rdi], 0
mov r14, rax
jne 0x1400172d8
movsxd rcx, dword [rbp + 0x1c]
add rcx, rbx
jo 0x140017185
mov rdx, qword [rsp + 0x48]
call fcn.140016fd5
cmp byte [rdi], 0
mov qword [rsp + 0x50], rax
jne 0x1400172d8
xor r13d, r13d
cmp dword [rbp + 0x18], r13d
jg 0x1400172e8
test r15, r15
jne 0x1400173a8
xor eax, eax
jmp 0x1400173c5
mov rdx, r13
mov rcx, r14
call fcn.1400168fa
cmp byte [rdi], 0
jne 0x1400172d8
movsxd rcx, dword [rax]
add rcx, rbx
jo 0x140017185
mov rdx, qword [rsp + 0x48]
call fcn.140016fd5
cmp byte [rdi], 0
mov r12, rax
jne 0x1400172d8
mov rcx, qword [rsp + 0x50]
lea rdx, [r13 + 1]
movsxd r13, edx
call fcn.1400168fa
cmp byte [rdi], 0
jne 0x1400172d8
movsxd rcx, dword [rax]
add rcx, rbx
jo 0x140017185
mov rdx, qword [rsp + 0x58]
call fcn.140016fd5
cmp byte [rdi], 0
mov rsi, rax
jne 0x1400172d8
mov rax, qword [0x1409573c0]
mov rcx, r12
mov rdx, qword [rsp + 0x100]
call qword [rax]
test eax, eax
jne 0x1400172d2
mov rcx, qword [0x140027648]
test rcx, rcx
jns 0x140017388
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.140004291
jmp 0x1400172d8
test r15, r15
mov rdi, qword [rsp + 0x108]
rep movsb byte [rdi], byte [rsi]
je 0x1400173c0
test byte [r15 + 7], 0x40
jne 0x1400173c0
mov rcx, r15
call fcn.140003b15
jmp 0x1400173c0
test byte [r15 + 7], 0x40
jne 0x1400172e1
mov rcx, r15
call fcn.140003b15
jmp 0x1400172e1
mov eax, 1
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret