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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xe8
mov dword [rsp + 0x88], 0xa07e
mov eax, dword [0x140177990]
mov dword [rsp + 0x8c], eax
mov eax, dword [0x1401779b0]
mov word [rsp + 0x50], ax
movzx eax, byte [0x140177905]
mov byte [rsp + 0x28], al
mov eax, dword [0x1401779b4]
mov word [rsp + 0x34], ax
mov eax, 0xab19d80f
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xb0], 0x7027
mov byte [rsp + 0x29], 0x40
movzx eax, word [0x140177988]
mov byte [rsp + 0x20], al
movzx eax, word [0x140177990]
mov word [rsp + 0x54], ax
mov byte [rsp + 0x2a], 0xe8
mov eax, dword [0x1401779d8]
mov dword [rsp + 0x74], eax
movzx eax, word [0x1401779ec]
mov word [rsp + 0x30], ax
mov eax, 0x1f
mov word [rsp + 0x58], ax
mov dword [rsp + 0x90], 0x31c7
movsx ax, byte [0x1401778ce]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x14017791b]
mov word [rsp + 0x24], ax
mov eax, 0x6eb
mov word [rsp + 0x38], ax
mov byte [rsp + 0x21], 0xf9
mov eax, dword [0x1401779d0]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x94], 0x1b780888
movzx eax, word [0x1401779ec]
movzx eax, ax
mov qword [rsp + 0xa8], rax
mov eax, dword [0x1401779a8]
mov dword [rsp + 0x4c], eax
mov rax, qword [0x1401779d8]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xc8], 0x71d
mov dword [rsp + 0x98], 0xedd18983
mov eax, 0x21a2
mov word [rsp + 0x60], ax
mov dword [rsp + 0x9c], 0x1d8c
mov qword [rsp + 0xb8], 0xda
movzx eax, byte [0x1401779fc]
mov byte [rsp + 0x2b], al
movzx eax, byte [0x140177937]
movsx ax, al
mov word [rsp + 0x64], ax
mov eax, dword [0x1401779b0]
mov word [rsp + 0x68], ax
movabs rax, 0x8627997e497ba
mov qword [rsp + 0xd0], rax
movzx eax, word [0x1401779a4]
mov byte [rsp + 0x2c], al
mov rax, qword [0x1401779c8]
mov word [rsp + 0x6c], ax
mov eax, 0xec9
mov word [rsp + 0x70], ax
movzx eax, byte [rsp + 0x20]
movsx eax, al
mov ecx, dword [0x1401779c4]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x1401779c4]
sub ecx, eax
mov eax, ecx
mov dword [0x1401779c4], eax
movsx eax, byte [rsp + 0x21]
test eax, eax
jne 0x14009effc
mov qword [rsp + 0x80], 1
jmp 0x14009f008
mov qword [rsp + 0x80], 0
mov eax, dword [0x1401779f4]
mov ecx, dword [0x140177978]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x4c]
sub edx, ecx
mov ecx, edx
sub eax, ecx
mov eax, eax
movzx ecx, byte [0x14017791b]
movabs rdx, 0x2b19f88a96dba
mov r8, qword [rsp + 0x80]
imul r8, rdx
mov rdx, r8
add rcx, rdx
xor rax, rcx
mov word [rsp + 0x30], ax
movzx eax, byte [0x140177906]
movsx eax, al
sub eax, 0xe41
cdqe
mov qword [rsp + 0xa0], rax
movzx eax, word [rsp + 0x34]
movzx eax, ax
sub eax, 0x2293
mov byte [0x1401778f7], al
movzx eax, word [0x1401779fc]
imul rax, qword [rsp + 0xa8]
mov qword [0x140177990], rax
movsx eax, byte [0x1401778ce]
movzx ecx, word [0x140177988]
movsx ecx, cx
cmp eax, ecx
je 0x14009f0b5
mov dword [rsp + 0x40], 1
jmp 0x14009f0bd
mov dword [rsp + 0x40], 0
movsx eax, byte [0x1401778ce]
cmp eax, 0x35
je 0x14009f0d3
mov dword [rsp + 0x3c], 1
jmp 0x14009f0db
mov dword [rsp + 0x3c], 0
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x40], eax
jge 0x14009f185
mov dl, 0xe9
xor ecx, ecx
call fcn.14009f1a0
movsx rax, al
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x14009f10f
mov dword [rsp + 0x48], 1
jmp 0x14009f117
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x78]
cmp rax, 0x3b
jne 0x14009f12c
mov dword [rsp + 0x44], 1
jmp 0x14009f134
mov dword [rsp + 0x44], 0
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x48], eax
jl 0x14009f16c
mov rax, qword [rsp + 0xb0]
imul rax, rax, 0x41
movzx ecx, word [rsp + 0x24]
movsx rcx, cx
or rcx, rax
mov rax, rcx
mov word [rsp + 0x24], ax
mov eax, 0x70bc
mov word [0x1401779ec], ax
jmp 0x14009f185
mov dword [0x1401779b0], 0xfb163cac
mov eax, dword [rsp + 0x74]
imul eax, eax, 0x326e
mov word [rsp + 0x38], ax
mov rax, qword [rsp + 0xb8]
add rsp, 0xe8
ret