Function at 0x180016a10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x180016a10
mov qword [rsp + 8], rcx
sub rsp, 0x118
cmp qword [rsp + 0x120], 0
jne 0x180016a3c
mov rax, qword [rsp + 0x120]
mov qword [rax + 0x30], 0x404040
jmp 0x180016fa9
mov rax, qword [rsp + 0x120]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x28]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax + 8]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x120]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x28]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
je 0x180016c37
mov eax, 8
imul rax, rax, 5
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + rax + 0x74], 0
je 0x180016c37
mov eax, 8
imul rax, rax, 5
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax + 0x70]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov eax, 8
imul rax, rax, 5
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax + 0x74]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x38], rax
jae 0x180016c37
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x180016c37
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
sub rax, 8
xor edx, edx
mov ecx, 2
div rcx
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x38]
add rax, 8
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x48], 0
jmp 0x180016bb2
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
add rax, 2
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x70]
cmp dword [rsp + 0x48], eax
je 0x180016c1a
mov rax, qword [rsp + 0x68]
movzx eax, word [rax]
sar eax, 0xc
cmp eax, 0xa
jne 0x180016c18
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
movzx ecx, word [rcx]
and ecx, 0xfff
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
add rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
jmp 0x180016b9a
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x180016b46
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + rax + 0x74], 0
je 0x180016dee
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax + 0x70]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xc], 0
je 0x180016dee
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xb0]
call qword [rsp + 0xb8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x40], 0
jne 0x180016d04
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
jmp 0x180016d22
mov rax, qword [rsp + 0x40]
add rax, 8
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax], 0
je 0x180016ddb
mov rax, qword [rsp + 0x40]
movabs rcx, 0x8000000000000000
mov rax, qword [rax]
and rax, rcx
test rax, rax
je 0x180016d85
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
and rax, 0xffff
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x180016dd6
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xc8]
add rax, 2
mov rdx, rax
mov rcx, qword [rsp + 0x98]
call qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x180016d06
mov rax, qword [rsp + 0x50]
add rax, 0x14
mov qword [rsp + 0x50], rax
jmp 0x180016c72
mov rax, qword [rsp + 0x120]
cmp qword [rax + 0x10], 0
je 0x180016e3a
mov rax, qword [rsp + 0x120]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x28]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x120]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x120]
mov rcx, qword [rax + 0x18]
call qword [rsp + 0xd8]
nop
mov eax, 8
imul rax, rax, 9
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + rax + 0x74], 0
je 0x180016ed3
mov eax, 8
imul rax, rax, 9
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + rax + 0x70]
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x180016e99
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x180016ed3
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x180016ed3
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0xe8], rax
xor r8d, r8d
mov edx, 1
mov rcx, qword [rsp + 0x28]
call qword [rsp + 0xe8]
nop
jmp 0x180016e8b
mov byte [rsp + 0x20], 0
mov rax, qword [rsp + 0x120]
cmp dword [rax + 0x48], 0
je 0x180016f49
mov eax, 8
imul rax, rax, 3
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + rax + 0x70]
mov qword [rsp + 0x78], rax
cmp dword [rsp + 0x7c], 0
je 0x180016f49
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x7c]
xor edx, edx
mov ecx, 0xc
div rcx
mov ecx, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x28]
add rdx, rcx
mov rcx, rdx
mov r8, qword [rsp + 0x28]
mov edx, eax
call qword [rsp + 0xf8]
test eax, eax
jne 0x180016f49
mov byte [rsp + 0x20], 1
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x120]
mov r8, qword [rax + 0x40]
mov rax, qword [rsp + 0x120]
mov edx, dword [rax + 0x38]
mov rcx, qword [rsp + 0x28]
call qword [rsp + 0x108]
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x180016f98
mov rax, qword [rsp + 0x120]
mov qword [rax + 0x30], 0x505050
jmp 0x180016fa9
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x28]
mov qword [rax + 0x30], rcx
add rsp, 0x118
ret