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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
cmp byte [0x140005058], 0
mov r14, rdx
mov esi, ecx
jne 0x1400017a0
mov ecx, 0xf87b6f6b
call fcn.140001000
mov qword [0x140005050], rax
mov r8, rax
test rax, rax
je 0x140001adb
movsxd rax, dword [rax + 0x3c]
cmp dword [rax + r8], 0x4550
jne 0x140001adb
mov ecx, dword [rax + r8 + 0x88]
add rcx, r8
mov edx, dword [rcx + 0x18]
mov dword [0x140005048], edx
mov r10d, dword [rcx + 0x20]
add r10, r8
mov qword [0x140005038], r10
mov r9d, dword [rcx + 0x1c]
add r9, r8
mov qword [0x140005030], r9
mov ecx, dword [rcx + 0x24]
add rcx, r8
mov qword [0x140005040], rcx
test edx, edx
je 0x140001adb
test r10, r10
je 0x140001adb
test r9, r9
je 0x140001adb
test rcx, rcx
je 0x140001adb
mov byte [0x140005058], 1
mov dword [r14 + 4], esi
test esi, esi
je 0x140001adb
xor ebp, ebp
mov r15d, 1
cmp dword [0x140005048], ebp
mov edi, ebp
jbe 0x140001998
mov rax, qword [0x140005038]
mov edx, edi
mov ecx, dword [rax + rdx*4]
mov rax, qword [0x140005040]
add rcx, qword [0x140005050]
movzx edx, word [rax + rdx*2]
mov rax, qword [0x140005030]
mov ebx, dword [rax + rdx*4]
add rbx, qword [0x140005050]
call fcn.1400012b0
cmp eax, esi
je 0x140001809
inc edi
cmp edi, dword [0x140005048]
jb 0x1400017c2
jmp 0x140001998
movzx eax, byte [rbx]
mov r9d, 0xff
cmp al, 0x4c
jne 0x140001855
cmp byte [rbx + 1], 0x8b
jne 0x1400018f8
cmp byte [rbx + 2], 0xd1
jne 0x1400018f8
cmp byte [rbx + 3], 0xb8
jne 0x1400018f8
cmp byte [rbx + 6], bpl
jne 0x1400018f8
cmp byte [rbx + 7], bpl
jne 0x1400018f8
movzx ecx, byte [rbx + 5]
movzx eax, byte [rbx + 4]
jmp 0x140001990
cmp al, 0xe9
jne 0x1400018f8
movzx ecx, r15w
nop dword [rax]
nop word [rax + rax]
movzx r8d, cx
mov edx, r8d
shl edx, 5
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x1400018a0
cmp byte [rdx + 1], 0x8b
jne 0x1400018a0
cmp byte [rdx + 2], 0xd1
jne 0x1400018a0
cmp byte [rdx + 3], 0xb8
jne 0x1400018a0
cmp byte [rdx + 6], bpl
jne 0x1400018a0
cmp byte [rdx + 7], bpl
je 0x1400018dc
mov eax, r8d
neg eax
shl eax, 5
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x1400018d1
cmp byte [rdx + 1], 0x8b
jne 0x1400018d1
cmp byte [rdx + 2], 0xd1
jne 0x1400018d1
cmp byte [rdx + 3], 0xb8
jne 0x1400018d1
cmp byte [rdx + 6], bpl
jne 0x1400018d1
cmp byte [rdx + 7], bpl
je 0x1400018e5
inc cx
cmp cx, r9w
jbe 0x140001870
jmp 0x1400018f8
movzx eax, byte [rdx + 4]
sub eax, r8d
jmp 0x1400018ec
movzx eax, byte [rdx + 4]
add eax, r8d
movzx ecx, byte [rdx + 5]
shl ecx, 8
or ecx, eax
mov dword [r14], ecx
cmp byte [rbx + 3], 0xe9
jne 0x140001998
movzx ecx, r15w
nop word [rax + rax]
movzx r8d, cx
mov edx, r8d
shl edx, 5
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x140001940
cmp byte [rdx + 1], 0x8b
jne 0x140001940
cmp byte [rdx + 2], 0xd1
jne 0x140001940
cmp byte [rdx + 3], 0xb8
jne 0x140001940
cmp byte [rdx + 6], bpl
jne 0x140001940
cmp byte [rdx + 7], bpl
je 0x14000197c
mov eax, r8d
neg eax
shl eax, 5
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x140001971
cmp byte [rdx + 1], 0x8b
jne 0x140001971
cmp byte [rdx + 2], 0xd1
jne 0x140001971
cmp byte [rdx + 3], 0xb8
jne 0x140001971
cmp byte [rdx + 6], bpl
jne 0x140001971
cmp byte [rdx + 7], bpl
je 0x140001985
inc cx
cmp cx, r9w
jbe 0x140001910
jmp 0x140001998
movzx eax, byte [rdx + 4]
sub eax, r8d
jmp 0x14000198c
movzx eax, byte [rdx + 4]
add eax, r8d
movzx ecx, byte [rdx + 5]
shl ecx, 8
or ecx, eax
mov dword [r14], ecx
cmp dword [r14], ebp
je 0x140001adb
call fcn.140001360
mov edi, eax
mov ebx, ebp
and edi, 0xf
cmp byte [0x140005088], bl
jne 0x140001a52
mov ecx, 0xd0af56f
call fcn.140001000
mov qword [0x140005080], rax
mov rdx, rax
test rax, rax
je 0x140001ad7
movsxd rax, dword [rax + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140001ad7
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r8d, dword [rcx + 0x18]
mov dword [0x140005078], r8d
mov r9d, dword [rcx + 0x20]
add r9, rdx
mov qword [0x140005068], r9
mov r10d, dword [rcx + 0x1c]
add r10, rdx
mov qword [0x140005060], r10
mov ecx, dword [rcx + 0x24]
add rcx, rdx
mov qword [0x140005070], rcx
test r8d, r8d
je 0x140001ad7
test r9, r9
je 0x140001ad7
test r10, r10
je 0x140001ad7
test rcx, rcx
je 0x140001ad7
mov byte [0x140005088], r15b
jmp 0x140001a59
mov r8d, dword [0x140005078]
mov r9d, ebp
test r8d, r8d
je 0x140001ad7
mov rax, qword [0x140005070]
mov ecx, r9d
movzx edx, word [rax + rcx*2]
mov rax, qword [0x140005060]
mov r8d, dword [rax + rdx*4]
mov eax, ebp
add r8, qword [0x140005080]
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [0x140005004]
mov edx, eax
xor cx, 0x5f
add rdx, r8
cmp word [rdx], cx
jne 0x140001ab1
cmp byte [rdx + 2], 0xc3
jne 0x140001ab1
cmp ebx, edi
je 0x140001aba
inc ebx
inc eax
cmp eax, 0x20
jb 0x140001a90
jmp 0x140001abe
mov qword [r14 + 8], rdx
cmp qword [r14 + 8], rbp
jne 0x140001ad4
inc r9d
cmp r9d, dword [0x140005078]
jb 0x140001a61
mov eax, ebp
jmp 0x140001add
mov ebp, r15d
mov eax, ebp
jmp 0x140001add
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret