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

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0xf8
mov qword [rsp + 0xb8], 0xf3ce
mov rax, qword [0x1800c3668]
mov word [rsp + 0x50], ax
mov rax, qword [0x1800c36d8]
mov word [rsp], ax
mov eax, 0xbbc1
mov word [rsp + 0x20], ax
mov eax, 0xf191
mov word [rsp + 0x54], ax
mov eax, 0x7a
mov word [rsp + 0x14], ax
mov rax, qword [0x1800c36e0]
mov byte [rsp + 4], al
mov eax, 0xe033c3f5
mov qword [rsp + 0x90], rax
mov rax, qword [0x1800c36c8]
mov word [rsp + 8], ax
mov dword [rsp + 0x24], 0xd4c4
mov rax, qword [0x1800c3668]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x1c], 0xa1
mov eax, 0xffffff8f
mov word [rsp + 0x10], ax
movzx eax, word [0x1800c35ec]
mov byte [rsp + 0xc], al
mov qword [rsp + 0x80], 0xf91
movzx eax, byte [0x1800c35a7]
mov byte [rsp + 0x1d], al
mov rax, qword [0x1800c3660]
mov qword [rsp + 0xc8], rax
mov rax, qword [0x1800c36c8]
mov word [rsp + 0x58], ax
movabs rax, 0x3beece0c26630
mov qword [rsp + 0x88], rax
mov eax, 0x9e70
mov word [rsp + 0x5c], ax
movzx eax, byte [0x1800c35a4]
mov word [rsp + 0x60], ax
mov rax, qword [0x1800c3690]
mov qword [rsp + 0xb0], rax
movzx eax, byte [0x1800c35d3]
mov word [rsp + 0x64], ax
mov eax, dword [0x1800c35bc]
mov qword [rsp + 0xd0], rax
movzx eax, byte [0x1800c35d3]
mov qword [rsp + 0xd8], rax
mov rax, qword [0x1800c3678]
mov qword [rsp + 0xe0], rax
movsx ax, byte [0x1800c35a5]
mov word [rsp + 0x68], ax
mov eax, dword [0x1800c3678]
mov dword [rsp + 0x98], eax
mov eax, dword [0x1800c35bc]
mov dword [rsp + 0x9c], eax
mov eax, dword [0x1800c36c4]
mov dword [rsp + 0xa0], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x28], eax
mov eax, 4
mov word [rsp + 0x10], ax
mov rax, qword [0x1800c36b0]
movsx rcx, word [rsp]
lea rax, [rcx + rax - 0xe3b8]
mov word [rsp], ax
mov eax, 8
imul rax, rax, 0x5145
lea rcx, [0x1807df6f0]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0xc], al
movsx eax, word [rsp + 0x10]
mov dword [rsp + 0x18], eax
cmp dword [rsp + 0x18], 0
je 0x180039b2c
cmp dword [rsp + 0x18], 1
je 0x180039b40
cmp dword [rsp + 0x18], 2
je 0x180039b6e
cmp dword [rsp + 0x18], 3
je 0x180039b9b
cmp dword [rsp + 0x18], 4
je 0x180039be1
jmp 0x180039c05
movsx eax, word [rsp]
movzx ecx, word [rsp + 0x14]
add eax, ecx
mov word [rsp], ax
jmp 0x180039c05
movzx eax, word [rsp + 8]
cwde
test eax, eax
je 0x180039b56
mov eax, dword [0x1800c35d4]
mov dword [rsp + 0x48], eax
jmp 0x180039b5f
movzx eax, word [rsp + 0x14]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [0x1800c3594], eax
jmp 0x180039c05
mov rax, qword [0x1800c36e0]
movabs rcx, 0xd3253b26ff923
imul rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180039c05
movsx rax, word [0x1800c36d0]
mov rcx, qword [0x1800c3690]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, 0xd5ce1be1
mov rcx, qword [0x1800c3698]
sub rcx, rax
mov rax, rcx
movsx rcx, word [0x1800c36d0]
sub rcx, rax
mov rax, rcx
mov word [0x1800c36d0], ax
jmp 0x180039c05
mov eax, 8
imul rax, rax, 0x77
lea rcx, [0x180769ac0]
movsxd rdx, dword [0x1800c36c4]
or rdx, qword [rcx + rax]
mov rax, rdx
mov dword [0x1800c36c4], eax
mov eax, dword [rsp + 0x28]
add eax, 0xb281
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x28]
add eax, 0x39cb
mov dword [rsp + 0xa4], eax
movsx eax, byte [rsp + 4]
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
cmp eax, ecx
jne 0x180039c3f
mov dword [rsp + 0x2c], 1
jmp 0x180039c47
mov dword [rsp + 0x2c], 0
movsx eax, byte [rsp + 4]
cmp eax, 0x21
jne 0x180039c5b
mov dword [rsp + 0x4c], 1
jmp 0x180039c63
mov dword [rsp + 0x4c], 0
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x2c], eax
jge 0x180039d00
movzx eax, word [rsp + 8]
cwde
cmp eax, dword [rsp + 0x24]
jae 0x180039c87
mov dword [rsp + 0x34], 1
jmp 0x180039c8f
mov dword [rsp + 0x34], 0
movzx eax, word [rsp + 8]
cwde
cmp eax, 0x12
jge 0x180039ca4
mov dword [rsp + 0x30], 1
jmp 0x180039cac
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x34], eax
je 0x180039cd4
mov eax, 0x51a8
mov word [rsp], ax
mov rax, qword [rsp + 0x88]
add rax, 0x7c
mov qword [0x1800c36d8], rax
jmp 0x180039d00
mov rax, qword [0x1800c36c8]
not rax
mov rcx, qword [0x1800c3660]
sub rcx, rax
mov rax, rcx
not rax
mov rcx, qword [0x1800c36b8]
add rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x28]
add eax, 0x6d
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0x24], 0
je 0x180039d31
cmp dword [0x1800c36c0], 0
je 0x180039d2f
mov rax, qword [0x1800c3688]
shl rax, 1
mov qword [0x1800c3680], rax
jmp 0x180039d3e
mov rax, qword [0x1800c3690]
mov byte [0x1800c35a4], al
mov rax, qword [0x1800c3690]
test rax, rax
jne 0x180039d54
mov dword [rsp + 0x38], 1
jmp 0x180039d5c
mov dword [rsp + 0x38], 0
mov eax, dword [0x1800c35d4]
mov rcx, qword [0x1800c3690]
cmp rax, rcx
jne 0x180039d78
mov dword [rsp + 0x3c], 1
jmp 0x180039d80
mov dword [rsp + 0x3c], 0
movzx eax, word [rsp + 0x20]
or eax, dword [rsp + 0x38]
movzx ecx, byte [0x1800c35d3]
mov edx, dword [rsp + 0x3c]
add edx, ecx
mov ecx, edx
not ecx
cmp eax, ecx
je 0x180039e3f
mov eax, dword [0x1800c3594]
cdqe
mov rcx, qword [0x1800c36b0]
not rcx
cmp rax, rcx
jbe 0x180039dc3
mov dword [rsp + 0x44], 1
jmp 0x180039dcb
mov dword [rsp + 0x44], 0
movzx eax, word [0x1800c3624]
movzx eax, ax
movsx ecx, word [rsp]
cmp eax, ecx
je 0x180039de7
mov dword [rsp + 0x40], 1
jmp 0x180039def
mov dword [rsp + 0x40], 0
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
xor ecx, eax
mov eax, ecx
cdqe
cmp rax, qword [0x1800c3678]
jle 0x180039e2a
movsx eax, word [0x1800c360c]
movzx ecx, byte [0x1800c35d3]
add eax, ecx
movsx ecx, word [0x1800c360c]
add ecx, eax
mov eax, ecx
mov word [0x1800c360c], ax
jmp 0x180039e3f
cmp qword [rsp + 0xb0], 0
je 0x180039e3f
mov eax, 0xffffd72d
mov word [rsp + 8], ax
mov eax, dword [rsp + 0x6c]
add eax, 0x4d
mov ecx, 0xb2ce
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
movzx eax, word [rsp + 8]
cwde
shl eax, 5
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x78], rax
jmp 0x180039e82
mov rax, qword [rsp + 0x110]
dec rax
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x70]
mov eax, eax
cmp qword [rsp + 0x110], rax
je 0x180039ed2
mov rax, qword [rsp + 0x90]
sub rax, 0x6b241d62
mov qword [0x1800c36d8], rax
mov eax, dword [0x1806dc008]
mov qword [0x1800c36b0], rax
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x108]
mov byte [rax], cl
mov rax, qword [rsp + 0x78]
inc rax
mov qword [rsp + 0x78], rax
jmp 0x180039e6f
mov rax, qword [rsp + 0x100]
add rsp, 0xf8
ret