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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140089cce
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0xa8], sil
mov byte [rsp + 0xa9], r8b
mov rax, qword [rsp + 0x90]
call fcn.14008a680
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ebx
mov rax, qword [rsp + 0x98]
call fcn.14008a680
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], ebx
mov rax, qword [rsp + 0xa0]
call fcn.14008a680
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x3c], ebx
test eax, eax
je 0x140089877
jmp 0x1400898ac
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x28]
movzx esi, byte [rsp + 0xa8]
movzx r8d, byte [rsp + 0xa9]
mov rax, qword [rsp + 0x88]
mov edi, ebx
mov r9d, 8
mov ebx, edx
call fcn.140089d20
jmp 0x140089b16
cmp dword [rsp + 0x40], eax
jb 0x1400898b7
jmp 0x140089990
cmp dword [rsp + 0x38], 0
jne 0x1400898c2
nop
jmp 0x1400898c8
inc dword [rsp + 0x40]
jmp 0x1400898ca
jmp 0x1400898ca
movzx edx, byte [rsp + 0xa8]
mov byte [rsp + 0x23], dl
test dl, dl
jne 0x1400898dc
jmp 0x1400898e8
cmp dword [rsp + 0x28], 0
sete byte [rsp + 0x23]
jmp 0x1400898ea
jmp 0x1400898ea
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0xa8], dl
cmp dword [rsp + 0x28], 0x1dcd6500
seta byte [rsp + 0x23]
ja 0x140089907
jmp 0x140089909
jmp 0x140089935
cmp dword [rsp + 0x28], 0x1dcd6500
sete byte [rsp + 0x22]
je 0x14008991a
jmp 0x140089928
movzx edx, byte [rsp + 0xa9]
mov byte [rsp + 0x22], dl
jmp 0x14008992a
jmp 0x14008992a
movzx edx, byte [rsp + 0x22]
mov byte [rsp + 0x23], dl
jmp 0x140089935
movzx r8d, byte [rsp + 0x23]
mov byte [rsp + 0xa9], r8b
mov ebx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x24]
mov edi, dword [rsp + 0x34]
movzx esi, byte [rsp + 0xa8]
mov rax, qword [rsp + 0x88]
mov r9d, 8
call fcn.140089d20
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov r10, qword [rsp + 0x88]
test byte [r10], al
mov r10, qword [r10 + 0x20]
add r10, 9
mov qword [rdx + 0x20], r10
jmp 0x140089b14
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov qword [rdx + 0x18], 0
mov qword [rsp + 0x68], 9
mov edx, dword [rsp + 0x24]
mov dword [rsp + 0x44], edx
jmp 0x1400899b5
cmp dword [rsp + 0x44], 0
ja 0x1400899be
jmp 0x140089a3c
mov edx, dword [rsp + 0x44]
mov r10d, 0xcccccccd
imul rdx, r10
shr rdx, 0x23
mov dword [rsp + 0x2c], edx
mov r11d, dword [rsp + 0x44]
imul r10, r11
shr r10, 0x23
lea r10d, [r10 + r10*4]
shl r10d, 1
sub r11d, r10d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x44], edx
mov rax, qword [rsp + 0x68]
lea rdx, [rax - 1]
mov qword [rsp + 0x68], rdx
mov r10, qword [rsp + 0x88]
test byte [r10], al
mov rcx, qword [r10 + 8]
mov r10, qword [r10]
mov r11d, dword [rsp + 0x30]
add r11d, 0x30
nop dword [rax]
cmp rcx, rdx
ja 0x140089a2a
jmp 0x140089cc5
lea rdx, [rax + r10]
lea rdx, [rdx - 1]
mov byte [rdx], r11b
jmp 0x140089a37
jmp 0x1400899b5
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov r10, qword [rdx]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x68]
jmp 0x140089a58
cmp rcx, rax
jae 0x140089a65
nop dword [rax]
jmp 0x140089cc0
mov r11, qword [rsp + 0x88]
test byte [r11], al
sub rdx, rax
sub rcx, rax
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
lea rdx, [r10 + rax]
cmp dword [0x140212a60], 0
je 0x140089a97
jmp 0x140089a99
jmp 0x140089ab4
mov rax, r11
nop dword [rax]
call fcn.14006e1a0
mov qword [r11], rdx
mov r10, qword [rax]
mov qword [r11 + 8], r10
mov r11, rax
jmp 0x140089ab4
mov qword [r11], rdx
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov r10, qword [rsp + 0x68]
add r10, 0xfffffffffffffff7
neg r10
mov qword [rdx + 0x18], r10
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov r9, qword [rdx + 0x18]
add r9, 8
mov qword [rsp + 0x70], r9
mov ebx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x28]
mov edi, dword [rsp + 0x3c]
movzx esi, byte [rsp + 0xa8]
movzx r8d, byte [rsp + 0xa9]
mov rax, qword [rsp + 0x88]
call fcn.140089d20
jmp 0x140089b14
jmp 0x140089b16
jmp 0x140089b18
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x140089b30
jmp 0x140089b6f
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0x88]
test byte [rbx], al
mov rax, qword [rbx + 0x18]
lea rbx, [rax - 1]
cmp rcx, rbx
ja 0x140089b5d
jmp 0x140089cb6
lea rdx, [rax + rdx]
lea rdx, [rdx - 1]
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x140089b71
jmp 0x140089b71
cmp byte [rsp + 0x23], 0
jne 0x140089b7a
jmp 0x140089ba5
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rbx, qword [rsp + 0x88]
test byte [rbx], al
mov rbx, qword [rbx + 0x18]
dec rbx
mov qword [rdx + 0x18], rbx
jmp 0x140089ba0
jmp 0x140089b18
jmp 0x140089ba7
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
cmp qword [rdx + 0x18], 0
setg byte [rsp + 0x23]
jg 0x140089bbf
jmp 0x140089be4
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx]
test rcx, rcx
ja 0x140089bda
jmp 0x140089caf
cmp byte [rdx], 0x30
sete byte [rsp + 0x23]
jmp 0x140089be6
jmp 0x140089be6
cmp byte [rsp + 0x23], 0
jne 0x140089bf2
jmp 0x140089c9f
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rbx, qword [rsp + 0x88]
test byte [rbx], al
mov rbx, qword [rbx + 0x18]
dec rbx
mov qword [rdx + 0x18], rbx
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rbx, qword [rsp + 0x88]
test byte [rbx], al
mov rbx, qword [rbx + 0x20]
dec rbx
mov qword [rdx + 0x20], rbx
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
mov rcx, qword [rdx + 8]
mov rbx, qword [rdx]
mov rdx, qword [rdx + 0x10]
jmp 0x140089c47
cmp rcx, 1
jae 0x140089c4f
jmp 0x140089ca5
mov rsi, qword [rsp + 0x88]
test byte [rsi], al
dec rdx
lea rdi, [rcx - 1]
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdx
neg rdx
sar rdx, 0x3f
and edx, 1
add rdx, rbx
cmp dword [0x140212a60], 0
je 0x140089c82
nop
jmp 0x140089c84
jmp 0x140089c95
call fcn.14006e1a0
mov qword [r11], rdx
mov rbx, qword [rsi]
mov qword [r11 + 8], rbx
jmp 0x140089c95
mov qword [rsi], rdx
jmp 0x140089c9a
jmp 0x140089ba7
add rsp, 0x78
pop rbp
ret
mov eax, 1
call fcn.14006e600
xor eax, eax
call fcn.14006e540
mov rax, rbx
call fcn.14006e540
nop
call fcn.14006e620
mov rax, rdx
call fcn.14006e560
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
call fcn.14006c240
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
jmp fcn.1400897c0