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

Disassembly:
mov word [rsp + 0x20], r9w
mov word [rsp + 0x18], r8w
mov word [rsp + 0x10], dx
mov word [rsp + 8], cx
sub rsp, 0xa8
mov eax, 0x31a3
mov word [rsp + 0x38], ax
movsxd rax, dword [0x140177884]
mov qword [rsp + 0x68], rax
mov eax, 0x6e
mov word [rsp + 0x3c], ax
mov byte [rsp + 5], 0x21
mov byte [rsp + 1], 0xd8
mov rax, qword [0x140177818]
mov byte [rsp + 2], al
mov eax, dword [0x140177810]
mov eax, eax
mov qword [rsp + 0x60], rax
movzx eax, byte [0x140177804]
mov byte [rsp + 4], al
mov dword [rsp + 0x1c], 0xc
mov rax, qword [0x140177828]
mov qword [rsp + 0x70], rax
movzx eax, byte [0x1401777f2]
mov byte [rsp], al
movzx eax, byte [0x140177766]
mov byte [rsp + 8], al
mov qword [rsp + 0x78], 0x4b87
mov eax, 0x49d7
mov word [rsp + 0x40], ax
mov rax, qword [0x140177878]
mov qword [rsp + 0x80], rax
mov byte [rsp + 3], 0x73
mov rax, qword [0x140177818]
mov dword [rsp + 0x54], eax
movzx eax, byte [0x14017779b]
mov byte [rsp + 9], al
mov byte [rsp + 6], 0x54
mov rax, qword [0x140177890]
mov dword [rsp + 0x58], eax
mov byte [rsp + 7], 0xba
movsx eax, word [0x140177838]
mov dword [rsp + 0x50], eax
mov rax, qword [0x140177828]
mov word [rsp + 0x44], ax
movzx eax, byte [0x1401777b6]
movzx eax, al
mov qword [rsp + 0x88], rax
movzx eax, byte [0x140177860]
mov byte [rsp + 0xa], al
mov rax, qword [0x140177868]
mov qword [rsp + 0x90], rax
mov rax, qword [0x140177828]
mov word [rsp + 0x48], ax
mov eax, 0x58
mov word [rsp + 0x4c], ax
movabs rax, 0x758ff9ad0edd1
mov qword [rsp + 0x98], rax
movzx eax, byte [0x14017779f]
movsx ax, al
mov word [rsp + 0x10], ax
mov eax, dword [0x14017783c]
mov byte [rsp + 0xb], al
mov dword [rsp + 0x5c], 0x75eb968a
mov byte [rsp + 0xc], 0x66
mov eax, dword [0x140177850]
mov word [rsp + 0x2c], ax
mov eax, dword [0x140177810]
mov word [rsp + 0x30], ax
mov eax, 0xb7
mov word [rsp + 0x34], ax
mov eax, 0x970e
mov word [0x140177804], ax
mov rax, qword [rsp + 0x60]
add rax, 0x7effc8e
mov dword [rsp + 0x1c], eax
movsx eax, byte [0x1401777f2]
movzx ecx, byte [rsp + 1]
movzx ecx, cl
cmp eax, ecx
jle 0x14009b6af
mov dword [rsp + 0x18], 1
jmp 0x14009b6b7
mov dword [rsp + 0x18], 0
movsx eax, byte [0x1401777f2]
cmp eax, 0x42
jle 0x14009b6cd
mov dword [rsp + 0x14], 1
jmp 0x14009b6d5
mov dword [rsp + 0x14], 0
mov eax, dword [rsp + 0x14]
cmp dword [rsp + 0x18], eax
jle 0x14009b724
mov eax, dword [0x140177820]
add eax, 0xef75
mov byte [0x1401777de], al
mov eax, dword [0x140177880]
dec eax
mov dword [0x140177880], eax
movzx eax, byte [0x1401777b6]
movzx eax, al
movzx ecx, byte [rsp + 2]
add eax, ecx
not eax
mov ecx, dword [0x140177810]
add eax, ecx
mov byte [0x1401777b7], al
jmp 0x14009b7cf
movzx eax, byte [0x1401777b7]
movsx eax, al
test eax, eax
je 0x14009b741
movzx eax, byte [rsp]
movzx eax, al
test eax, eax
jne 0x14009b7cf
mov eax, dword [rsp + 0x1c]
cdqe
mov rcx, qword [0x140177828]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x140177828]
sub rcx, rax
mov rax, rcx
mov qword [0x140177828], rax
movzx eax, byte [0x1401777de]
movsx rax, al
sub rax, qword [0x140177888]
mov byte [rsp + 3], al
movsx eax, byte [rsp + 4]
movsx ecx, byte [0x1401777f2]
sub eax, ecx
movzx ecx, word [0x140177824]
and eax, ecx
cdqe
movsx ecx, byte [rsp + 5]
movzx edx, byte [rsp]
movzx edx, dl
and ecx, edx
movsxd rcx, ecx
mov rdx, qword [0x140177828]
movabs r8, 0xdd37f378a6e1
sub r8, rdx
mov rdx, r8
not rdx
sub rcx, rdx
sub rax, rcx
mov qword [0x140177828], rax
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x14009b7e1
mov dword [rsp + 0x28], 1
jmp 0x14009b7e9
mov dword [rsp + 0x28], 0
cmp dword [0x140177884], 0
jne 0x14009b7fc
mov dword [rsp + 0x20], 1
jmp 0x14009b804
mov dword [rsp + 0x20], 0
movzx eax, byte [0x14017778f]
movsx eax, al
test eax, eax
jne 0x14009b81c
mov dword [rsp + 0x24], 1
jmp 0x14009b824
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp]
movzx eax, al
movzx ecx, byte [rsp + 6]
add eax, ecx
mov ecx, dword [rsp + 0x20]
imul ecx, dword [rsp + 0x24]
add eax, ecx
mov ecx, dword [rsp + 0x28]
imul ecx, eax
mov eax, ecx
mov dword [0x140177854], eax
mov eax, dword [0x140177850]
mov ecx, dword [0x140177864]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x140177864]
and ecx, eax
mov eax, ecx
mov dword [0x140177864], eax
movzx eax, word [0x140177824]
movzx ecx, word [0x140177804]
sub eax, ecx
mov word [0x140177824], ax
mov eax, 1
imul rax, rax, 0x2c76
lea rcx, [0x140dcedd0]
movzx edx, byte [0x14017779b]
mov byte [rcx + rax], dl
imul eax, dword [0x140177860], 0xe
mov byte [rsp + 7], al
movzx eax, word [rsp + 0x10]
add rsp, 0xa8
ret