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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x78
mov eax, dword [rsp + 0x80]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x80]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
add rcx, rax
mov rax, rcx
mov qword [rsp + 8], rax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x10], 8
ja case.default.0x1800202df
mov eax, dword [rsp + 0x10]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x206b4]
add rax, rcx
jmp rax
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
cmp eax, 9
je 0x180020315
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
cmp eax, 5
je 0x180020315
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
cmp eax, 8
je 0x180020315
mov dword [rsp + 0x14], 0
jmp 0x18002031d
mov dword [rsp + 0x14], 1
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x14], eax
jne 0x180020334
mov dword [rsp + 0x18], 1
jmp 0x18002033c
mov dword [rsp + 0x18], 0
mov eax, dword [rsp + 0x18]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
mov eax, dword [rcx + rax*4]
cmp dword [rsp + 0x90], eax
jne 0x18002036b
mov dword [rsp + 0x1c], 1
jmp 0x180020373
mov dword [rsp + 0x1c], 0
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x1c], eax
jne 0x18002038a
mov dword [rsp + 0x20], 1
jmp 0x180020392
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
cmp dword [rsp + 0x90], eax
jne 0x1800203b7
mov dword [rsp + 0x24], 1
jmp 0x1800203bf
mov dword [rsp + 0x24], 0
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x24], eax
jne 0x1800203d6
mov dword [rsp + 0x28], 1
jmp 0x1800203de
mov dword [rsp + 0x28], 0
mov eax, dword [rsp + 0x28]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax]
cmp dword [rsp + 0x90], eax
jne 0x180020402
mov dword [rsp + 0x2c], 1
jmp 0x18002040a
mov dword [rsp + 0x2c], 0
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x2c], eax
jne 0x180020421
mov dword [rsp + 0x30], 1
jmp 0x180020429
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x30]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x180020468
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x180020468
mov dword [rsp + 0x34], 0
jmp 0x180020470
mov dword [rsp + 0x34], 1
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x34], eax
jne 0x180020487
mov dword [rsp + 0x38], 1
jmp 0x18002048f
mov dword [rsp + 0x38], 0
mov eax, dword [rsp + 0x38]
jmp 0x1800206ac
mov eax, dword [rsp + 0x80]
mov dword [rsp], eax
cmp dword [rsp], 0x2000
ja 0x180020512
cmp dword [rsp], 0x2000
je case.0x180020551.8193
cmp dword [rsp], 0x20
ja 0x1800204ec
cmp dword [rsp], 0x20
je case.0x180020551.8193
cmp dword [rsp], 9
je case.0x180020551.8193
cmp dword [rsp], 0xa
je case.0x180020551.8193
cmp dword [rsp], 0xb
je case.0x180020551.8193
cmp dword [rsp], 0xc
je case.0x180020551.8193
cmp dword [rsp], 0xd
je case.0x180020551.8193
jmp case.0x180020551.8203
cmp dword [rsp], 0x85
je case.0x180020551.8193
cmp dword [rsp], 0xa0
je case.0x180020551.8193
cmp dword [rsp], 0x1680
je case.0x180020551.8193
cmp dword [rsp], 0x180e
je case.0x180020551.8193
jmp case.0x180020551.8203
cmp dword [rsp], 0x3000
ja 0x180020553
cmp dword [rsp], 0x3000
je case.0x180020551.8193
mov eax, dword [rsp]
sub eax, 0x2001
mov dword [rsp], eax
cmp dword [rsp], 0x5e
ja case.0x180020551.8203
mov eax, dword [rsp]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x20714]
mov eax, dword [rcx + rax*4 + 0x206d8]
add rax, rcx
jmp rax
jmp case.0x180020551.8203
mov eax, dword [rsp + 0x98]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 6
jne 0x180020581
mov dword [rsp + 0x3c], 1
jmp 0x180020589
mov dword [rsp + 0x3c], 0
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x3c], eax
jne 0x1800205a0
mov dword [rsp + 0x40], 1
jmp 0x1800205a8
mov dword [rsp + 0x40], 0
mov eax, dword [rsp + 0x40]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x1800205f6
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x1800205f6
cmp dword [rsp + 0x80], 0x5f
je 0x1800205f6
mov dword [rsp + 0x44], 0
jmp 0x1800205fe
mov dword [rsp + 0x44], 1
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x44], eax
jne 0x180020615
mov dword [rsp + 0x48], 1
jmp 0x18002061d
mov dword [rsp + 0x48], 0
mov eax, dword [rsp + 0x48]
jmp 0x1800206ac
mov rax, qword [rsp + 8]
movzx eax, byte [rax + 3]
lea rcx, [0x1800d2230]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
cmp dword [rsp + 0x80], eax
jae 0x180020671
cmp dword [rsp + 0x98], 0
jne 0x180020663
mov dword [rsp + 0x4c], 1
jmp 0x18002066b
mov dword [rsp + 0x4c], 0
mov eax, dword [rsp + 0x4c]
jmp 0x1800206ac
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x50]
add rax, 4
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x60], eax
jne 0x1800206a8
mov eax, dword [rsp + 0x98]
jmp 0x1800206ac
jmp 0x18002063f
xor eax, eax
add rsp, 0x78
ret