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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xf8
mov byte [rsp + 0x1c], 0x94
movzx eax, byte [0x1800c65f8]
mov byte [rsp + 9], al
mov dword [rsp + 0x2c], 0x44c0a7c9
mov eax, 0x609
mov word [rsp + 0x60], ax
movzx eax, byte [0x1800c6560]
mov byte [rsp + 1], al
movzx eax, word [0x1800c64d4]
mov word [rsp + 0x28], ax
movzx eax, byte [0x1800c64d1]
movzx eax, al
mov word [rsp + 4], ax
mov eax, 0x3b
mov word [rsp + 0x18], ax
mov dword [rsp + 0x78], 0x80e4
mov byte [rsp + 0x1d], 0xf9
mov rax, qword [0x1800c6568]
mov byte [rsp], al
mov byte [rsp + 0x1e], 0xfa
mov dword [rsp + 0x7c], 0xa39f8f32
mov eax, 0xffffb6ba
mov word [rsp + 0x14], ax
movzx eax, word [0x1800c64d4]
mov qword [rsp + 0xc0], rax
mov eax, dword [0x1800c65d0]
mov dword [rsp + 0x10], eax
movzx eax, word [0x1800c6524]
mov word [rsp + 0x24], ax
mov eax, dword [0x1800c65c8]
mov byte [rsp + 2], al
mov qword [rsp + 0x58], 0x9e1a
mov qword [rsp + 0x80], 0x58
mov dword [rsp + 0xa8], 0xa33e
movzx eax, word [0x1800c6570]
mov word [rsp + 0xc], ax
mov byte [rsp + 8], 0x7f
movzx eax, byte [0x1800c64d7]
mov byte [rsp + 0x1f], al
movzx eax, byte [0x1800c64d3]
mov byte [rsp + 0x20], al
movzx eax, byte [0x1800c64d1]
mov byte [rsp + 0x21], al
mov eax, 0xdd2e
mov word [rsp + 0x64], ax
mov eax, 0x89
mov word [rsp + 0x74], ax
mov dword [rsp + 0xac], 0xe062c22b
movsx eax, word [0x1800c64c4]
mov dword [rsp + 0xb0], eax
movzx eax, word [0x1800c65e0]
mov word [rsp + 0x68], ax
mov eax, 0xffffdd84
mov word [rsp + 0x6c], ax
movzx eax, word [0x1800c658c]
mov word [rsp + 0x70], ax
mov byte [rsp + 0x22], 0xa1
mov byte [rsp + 0x23], 0x13
mov eax, dword [0x1800c6570]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 0x59
mov rax, qword [0x1800c6580]
mov qword [rsp + 0xd8], rax
mov rax, qword [0x1800c6578]
mov qword [rsp + 0xe0], rax
movzx eax, byte [0x1800c64d6]
movzx eax, al
cmp eax, dword [0x1800c65f8]
jb 0x18003cb85
mov rax, qword [0x1800c65c0]
test rax, rax
je 0x18003cb47
movzx eax, word [0x1800c64a4]
cwde
sub eax, 0x5f
mov byte [rsp + 8], al
mov byte [rsp + 1], 0x9c
jmp 0x18003cb80
movsx eax, byte [0x1800c64d2]
sub eax, 0xaaf7
movsx ecx, word [0x1800c6524]
sub ecx, eax
mov eax, ecx
mov word [0x1800c6524], ax
mov eax, 4
imul rax, rax, 0x1f8f
lea rcx, [0x18060e190]
movzx eax, byte [rcx + rax]
mov byte [rsp + 2], al
jmp 0x18003cc8a
cmp qword [rsp + 0x58], 0
je 0x18003cba4
mov rax, qword [rsp + 0x58]
not rax
test rax, rax
je 0x18003cba4
mov dword [rsp + 0x38], 1
jmp 0x18003cbac
mov dword [rsp + 0x38], 0
mov eax, dword [0x1800c65c8]
cmp eax, dword [rsp + 0x38]
jge 0x18003cc8a
movzx eax, byte [0x1800c64d6]
movzx eax, al
test eax, eax
jne 0x18003cbd4
mov dword [rsp + 0x4c], 1
jmp 0x18003cbdc
mov dword [rsp + 0x4c], 0
movzx eax, word [0x1800c65fc]
movzx eax, ax
imul eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x10]
not ecx
movzx edx, word [0x1800c6574]
movzx edx, dx
not edx
sub ecx, edx
imul eax, ecx
test eax, eax
jne 0x18003cc14
mov qword [rsp + 0x90], 1
jmp 0x18003cc20
mov qword [rsp + 0x90], 0
movzx eax, word [0x1800c65e0]
cwde
test eax, eax
jne 0x18003cc36
mov dword [rsp + 0x50], 1
jmp 0x18003cc3e
mov dword [rsp + 0x50], 0
movsxd rax, dword [0x1800c65a8]
mov rcx, qword [0x1800c6578]
xor rcx, rax
mov rax, rcx
mov ecx, dword [0x1800c655c]
add ecx, dword [rsp + 0x50]
movsxd rcx, ecx
sub rax, rcx
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov dword [0x1800c655c], eax
mov rax, qword [rsp + 0x80]
imul rax, rax, 0
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xb8], rax
mov eax, dword [0x1800c65c8]
cmp eax, dword [rsp + 0x2c]
ja 0x18003cca8
jmp 0x18003cd06
cmp dword [rsp + 0x78], 0
je 0x18003ccd6
mov eax, 0x27
mov word [rsp + 0x18], ax
mov eax, dword [0x1800c655c]
cdqe
movabs rcx, 0x242de49b14fe6
and rax, rcx
mov byte [0x1800c64c7], al
jmp 0x18003cd06
movzx eax, byte [0x1800c64a6]
movzx eax, al
test eax, eax
je 0x18003cd06
movzx eax, byte [rsp + 1]
inc al
mov byte [rsp + 1], al
movzx eax, byte [rsp]
movsx rax, al
mov rcx, qword [rsp + 0x80]
imul rax, rcx
mov byte [rsp], al
mov rax, qword [rsp + 0xb8]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [0x1800c65c8]
cmp dword [0x1800c6564], eax
jne 0x18003cd78
movsx eax, word [rsp + 0x14]
movzx ecx, byte [rsp + 9]
movsx ecx, cl
cmp eax, ecx
jl 0x18003cd5b
movsxd rax, dword [0x1800c65a8]
add rax, qword [rsp + 0x58]
mov dword [0x1800c65a8], eax
jmp 0x18003cd76
movsx eax, word [rsp + 0x14]
test eax, eax
je 0x18003cd76
mov dword [rsp + 0x2c], 0x52
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
jmp 0x18003cd96
mov rax, qword [0x1800c65f0]
not rax
test rax, rax
je 0x18003cd96
mov rax, qword [rsp + 0x58]
add rax, 0xcda9
mov dword [rsp + 0x2c], eax
mov qword [rsp + 0xa0], 0
movzx eax, byte [rsp]
movsx eax, al
mov ecx, dword [0x1800c65b8]
add eax, ecx
mov byte [rsp], al
mov qword [rsp + 0x88], 0
mov eax, dword [rsp + 0x7c]
mov eax, eax
mov eax, 8
imul rax, rax, 3
mov rcx, qword [rsp + 0x98]
mov eax, dword [rcx + rax + 0x88]
mov qword [rsp + 0xa0], rax
mov eax, 8
imul rax, rax, 3
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x98]
mov eax, dword [rdx + rax + 0x8c]
mov dword [rcx], eax
movsx eax, word [rsp + 4]
test eax, eax
jne 0x18003ce1b
mov dword [rsp + 0x30], 1
jmp 0x18003ce23
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x18003ce3a
mov dword [rsp + 0x54], 1
jmp 0x18003ce42
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x30]
sub ecx, eax
mov eax, ecx
imul eax, dword [0x1800c65a8]
mov word [rsp + 0x18], ax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, byte [0x1800c64d3]
cmp eax, dword [0x1800c6570]
jne 0x18003ce91
mov dword [rsp + 0x48], 1
jmp 0x18003ce99
mov dword [rsp + 0x48], 0
movzx eax, byte [0x1800c64d3]
cmp eax, 0xf
jne 0x18003ceaf
mov dword [rsp + 0x34], 1
jmp 0x18003ceb7
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x48], eax
jne 0x18003cfdb
mov eax, dword [0x1800c65a8]
cmp dword [rsp + 0x10], eax
je 0x18003cedb
mov dword [rsp + 0x40], 1
jmp 0x18003cee3
mov dword [rsp + 0x40], 0
cmp dword [rsp + 0x10], 5
je 0x18003cef4
mov dword [rsp + 0x3c], 1
jmp 0x18003cefc
mov dword [rsp + 0x3c], 0
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x40], eax
jne 0x18003cf40
mov eax, 0x9c06d68b
mov qword [0x1800c6590], rax
cmp dword [0x1800c65f8], 0
je 0x18003cf26
movsx eax, word [rsp + 4]
mov dword [rsp + 0x44], eax
jmp 0x18003cf2f
movzx eax, word [rsp + 0xc]
mov dword [rsp + 0x44], eax
movzx eax, word [rsp + 0x44]
mov word [0x1800c6560], ax
jmp 0x18003cfd9
movzx eax, byte [rsp + 1]
cmp dword [0x1800c6570], eax
jne 0x18003cf5f
movzx eax, word [rsp + 0xc]
add eax, 0x33cf
mov dword [0x1800c65ac], eax
jmp 0x18003cfd9
xor eax, eax
cmp eax, 0xac4c
je 0x18003cf98
movzx eax, word [0x1800c64a4]
movsx rax, ax
sub rax, qword [0x1800c65f0]
mov ecx, dword [0x1800c6564]
mov rdx, qword [0x1800c65c0]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
mov byte [0x1800c64d1], al
jmp 0x18003cfd9
movzx eax, byte [rsp + 2]
movzx eax, al
test eax, eax
je 0x18003cfd9
movzx eax, word [rsp + 0x24]
movsx rax, ax
mov ecx, 8
imul rcx, rcx, 0x10
lea rdx, [0x18051f250]
mov qword [rdx + rcx], rax
movzx eax, word [rsp + 0xc]
xor eax, 0xb6
movsx ecx, word [rsp + 4]
and ecx, eax
mov eax, ecx
mov word [rsp + 4], ax
jmp 0x18003d005
movzx eax, word [rsp + 0x28]
movzx eax, ax
cmp eax, dword [rsp + 0x10]
je 0x18003d005
movzx eax, byte [rsp + 2]
movzx eax, al
movabs rcx, 0x2cf3087fc6ee4
sub rax, rcx
mov word [0x1800c6560], ax
mov rax, qword [rsp + 0x88]
add rsp, 0xf8
ret