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

Disassembly:
mov byte [rsp + 0x20], r9b
mov byte [rsp + 0x18], r8b
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [0x14035d4f0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rax]
call fcn.1400dd350
movsx eax, al
test eax, eax
je 0x1401c2c76
mov rcx, qword [rsp + 0xb0]
call fcn.1400d35c0
mov rax, qword [rsp + 0xb0]
jmp 0x1401c2f24
cmp dword [rsp + 0x88], 0
jge 0x1401c2c8f
mov eax, dword [rsp + 0x88]
neg eax
mov dword [rsp + 0x38], eax
jmp 0x1401c2c9a
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
movsx eax, byte [rsp + 0x98]
test eax, eax
je 0x1401c2cec
cmp dword [rsp + 0x20], 0x3e8
jl 0x1401c2cce
movsx eax, byte [rsp + 0xa8]
test eax, eax
je 0x1401c2cec
cmp dword [rsp + 0x20], 0xea60
jge 0x1401c2cec
mov dx, 0x5a
mov rcx, qword [rsp + 0xb0]
call fcn.1401c80a0
mov rax, qword [rsp + 0xb0]
jmp 0x1401c2f24
movsx eax, byte [rsp + 0xa0]
test eax, eax
je 0x1401c2d02
mov dword [rsp + 0x44], 0
jmp 0x1401c2d0a
mov dword [rsp + 0x44], 1
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x4c], eax
movsx eax, byte [rsp + 0xa8]
test eax, eax
je 0x1401c2d28
mov dword [rsp + 0x40], 1
jmp 0x1401c2d30
mov dword [rsp + 0x40], 2
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x48], eax
movsx eax, byte [rsp + 0x90]
test eax, eax
je 0x1401c2d4e
mov dword [rsp + 0x3c], 0
jmp 0x1401c2d56
mov dword [rsp + 0x3c], 0x3a
movzx eax, word [rsp + 0x3c]
mov word [rsp + 0x2c], ax
mov eax, dword [0x14035d418]
cmp dword [rsp + 0x20], eax
jl 0x1401c2d94
mov rcx, qword [rsp + 0xb0]
call fcn.1400d35c0
mov rax, qword [rsp + 0xb8]
mov dword [rax], 1
mov rax, qword [rsp + 0xb0]
jmp 0x1401c2f24
mov eax, dword [rsp + 0x20]
cdq
mov ecx, 0x36ee80
idiv ecx
mov ecx, 4
imul rcx, rcx, 0
mov dword [rsp + rcx + 0x50], eax
mov eax, dword [rsp + 0x20]
cdq
mov ecx, 0x36ee80
idiv ecx
mov eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cdq
mov ecx, 0xea60
idiv ecx
mov ecx, 4
imul rcx, rcx, 1
mov dword [rsp + rcx + 0x50], eax
mov eax, dword [rsp + 0x20]
cdq
mov ecx, 0xea60
idiv ecx
mov eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, 4
imul rcx, rcx, 2
mov dword [rsp + rcx + 0x50], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x24], eax
jle 0x1401c2e2f
movsxd rax, dword [rsp + 0x24]
cmp dword [rsp + rax*4 + 0x50], 0
je 0x1401c2e23
jmp 0x1401c2e2f
mov eax, dword [rsp + 0x24]
dec eax
mov dword [rsp + 0x24], eax
jmp 0x1401c2e0b
mov eax, 0x2b
mov word [rsp + 0x30], ax
cmp dword [rsp + 0x88], 0
jge 0x1401c2e7b
mov dword [rsp + 0x34], 0
jmp 0x1401c2e57
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x34], eax
jg 0x1401c2e7b
movsxd rax, dword [rsp + 0x34]
cmp dword [rsp + rax*4 + 0x50], 0
je 0x1401c2e79
mov eax, 0x2d
mov word [rsp + 0x30], ax
jmp 0x1401c2e7b
jmp 0x1401c2e4d
movzx edx, word [rsp + 0x30]
mov rcx, qword [rsp + 0xb0]
call fcn.1401c80a0
mov dword [rsp + 0x28], 0
jmp 0x1401c2ea1
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x28], eax
jg 0x1401c2f1c
movzx eax, word [rsp + 0x2c]
test eax, eax
je 0x1401c2ecd
cmp dword [rsp + 0x28], 0
je 0x1401c2ecd
movzx edx, word [rsp + 0x2c]
mov rcx, qword [rsp + 0xb0]
call fcn.140106550
movsxd rax, dword [rsp + 0x28]
mov eax, dword [rsp + rax*4 + 0x50]
cdq
mov ecx, 0xa
idiv ecx
add eax, 0x30
movzx edx, ax
mov rcx, qword [rsp + 0xb0]
call fcn.140106550
movsxd rax, dword [rsp + 0x28]
mov eax, dword [rsp + rax*4 + 0x50]
cdq
mov ecx, 0xa
idiv ecx
mov eax, edx
add eax, 0x30
movzx edx, ax
mov rcx, qword [rsp + 0xb0]
call fcn.140106550
jmp 0x1401c2e97
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140236770
add rsp, 0x78
ret