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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov word [rsp + 0x10], dx
mov qword [rsp + 8], rcx
sub rsp, 0x148
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
cdqe
mov rcx, qword [0x140c25fc8]
movzx eax, byte [rcx + rax*2]
mov byte [rsp + 0x32], al
mov rax, qword [0x140c25fa8]
inc rax
mov qword [0x140c25fa8], rax
mov rax, qword [0x140c25fa8]
mov qword [rsp + 0x88], rax
movzx eax, word [0x140c25fb8]
shl eax, 1
cdqe
mov rcx, qword [0x140c25f40]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0x58], rax
movzx eax, word [0x140c25fb8]
inc ax
mov word [0x140c25fb8], ax
imul rax, qword [0x140c25fc0], 0x1841
mov byte [rsp + 0x30], al
mov dword [rsp + 0x7c], 0x14a4
mov qword [rsp + 0x60], 0x496
mov rax, qword [0x140c25fb0]
mov qword [rsp + 0xd8], rax
mov rax, qword [0x140c25fb0]
mov qword [rsp + 0x50], rax
movzx eax, word [0x140c25fbc]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
cdqe
movzx ecx, word [0x140c25f58]
xor edx, edx
mov r8, qword [rsp + 0x188]
mov rax, qword [r8 + rax*8]
div rcx
mov dword [rsp + 0x44], eax
movzx eax, byte [0x140c25f4e]
mov rcx, qword [0x140c25f38]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x118], rax
movsxd rax, dword [rsp + 0x170]
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x170]
dec eax
mov dword [rsp + 0x170], eax
mov dword [rsp + 0x48], 0x16ec
mov dword [rsp + 0x3c], 0x6f9
mov eax, dword [0x140c25f5c]
cdqe
mov rcx, qword [rsp + 0x150]
movsxd rax, dword [rcx + rax*4]
add rax, qword [0x140c25fc0]
mov byte [rsp + 0x38], al
mov rax, qword [0x140c25f80]
mov rcx, qword [rsp + 0x198]
movzx eax, word [rcx + rax*2]
imul rcx, qword [0x140c25fb0], 3
cdq
mov r8, qword [rsp + 0x1a0]
idiv dword [r8 + rcx*4]
cdqe
mov qword [rsp + 0x128], rax
mov eax, 4
imul rax, rax, 0x261
mov rcx, qword [rsp + 0x1a0]
movsxd rax, dword [rcx + rax]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
cdqe
mov rcx, qword [0x140c25f40]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0x108], rax
mov eax, 4
imul rax, rax, 0x105b
mov rcx, qword [0x140c25f28]
mov edx, dword [0x140c25f94]
mov eax, dword [rcx + rax]
xor eax, edx
mov byte [rsp + 0x40], al
movzx eax, word [0x140c25f58]
mov rcx, qword [0x140c25f80]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
inc ax
mov rcx, qword [rsp + 0x168]
mov word [rcx], ax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
cdqe
mov rcx, qword [rsp + 0x188]
movzx eax, byte [rcx + rax*8]
mov byte [rsp + 0x31], al
movsxd rax, dword [0x140c25f5c]
mov qword [rsp + 0xa0], rax
movzx eax, word [0x140c25f4c]
add eax, 0x27
cdqe
mov rcx, qword [rsp + 0x188]
mov rdx, qword [0x140c25fb0]
mov rax, qword [rcx + rax*8]
xor rax, rdx
mov qword [rsp + 0xa8], rax
movzx eax, word [0x140c25f4c]
dec ax
mov word [0x140c25f4c], ax
imul eax, dword [rsp + 0x44], 0x1c38
mov dword [rsp + 0x44], eax
movzx eax, word [0x140c25f4c]
cdqe
mov rcx, qword [rsp + 0x88]
movzx eax, word [rcx + rax*2]
mov qword [rsp + 0xd0], rax
movzx eax, word [0x140c25f4c]
dec ax
mov word [0x140c25f4c], ax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
add eax, 0x21
cdqe
mov rcx, qword [0x140c25f50]
mov eax, dword [rcx + rax*4]
imul eax, dword [rsp + 0x48]
cdqe
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x168]
add rax, 2
mov qword [rsp + 0x168], rax
movzx eax, word [rsp + 0x158]
mov ecx, dword [0x140c25f78]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [0x140c25f5c]
cdqe
movzx ecx, word [rsp + 0x158]
mov rdx, qword [rsp + 0x190]
mov eax, dword [rdx + rax*4]
or eax, ecx
cdqe
mov qword [rsp + 0xc0], rax
movzx eax, byte [rsp + 0x31]
cdqe
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rcx + rax]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x180]
mov eax, dword [rax]
cdqe
mov rcx, qword [rsp + 0xa8]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x170]
add ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xc0]
mov r8d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
call fcn.140009900
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x30]
imul eax, eax, 3
cdqe
mov rcx, qword [rsp + 0x58]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x32]
mov dword [rsp + 0x6c], eax
movzx eax, byte [rsp + 0x32]
inc al
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x70], eax
je 0x14000366b
mov rax, qword [0x140c25fb0]
mov rcx, qword [rsp + 0xd8]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
movzx ecx, byte [rsp + 0x30]
movsxd rcx, ecx
mov rdx, qword [0x140c25f60]
cmp eax, dword [rdx + rcx*4]
jge 0x14000366b
movzx eax, byte [rsp + 0x31]
dec al
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x31]
cdqe
mov rcx, qword [rsp + 0x178]
movzx eax, word [rcx + rax*2]
mov rcx, qword [rsp + 0x168]
movzx ecx, word [rcx]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x160]
cmp qword [rdx + rcx*8], rax
je 0x14000366b
movzx eax, byte [rsp + 0x38]
movzx ecx, word [0x140c25f4c]
shl ecx, 2
movsxd rcx, ecx
mov rdx, qword [rsp + 0x88]
movzx ecx, word [rdx + rcx*2]
xor eax, ecx
movzx ecx, word [0x140c25f4c]
shl ecx, 2
movsxd rcx, ecx
mov rdx, qword [rsp + 0x88]
mov word [rdx + rcx*2], ax
movzx eax, byte [rsp + 0x38]
inc al
mov byte [rsp + 0x38], al
movzx eax, word [0x140c25f4c]
shl eax, 1
cdqe
mov rcx, qword [rsp + 0x58]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x74], eax
mov eax, 0x60a
cdq
mov ecx, dword [rsp + 0x74]
idiv ecx
jmp 0x140003be9
movzx eax, byte [rsp + 0x30]
cdqe
mov rcx, qword [rsp + 0x198]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x34], eax
jmp 0x14000368e
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
movzx eax, byte [rsp + 0x32]
cmp dword [rsp + 0x34], eax
jge 0x140003941
mov eax, dword [rsp + 0x34]
cdqe
mov rcx, qword [0x140c25f50]
mov eax, dword [rcx + rax*4]
add eax, 0x9d5
mov ecx, dword [rsp + 0x34]
movsxd rcx, ecx
mov rdx, qword [0x140c25f50]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
dec ax
mov rcx, qword [rsp + 0x168]
mov word [rcx], ax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
shl eax, 2
cdqe
mov rcx, qword [rsp + 0x178]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 0x34]
lea ecx, [rcx + rcx + 0x24]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x58]
movzx ecx, word [rdx + rcx*2]
and eax, ecx
mov ecx, dword [rsp + 0x34]
lea ecx, [rcx + rcx + 0x24]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x58]
mov word [rdx + rcx*2], ax
mov qword [rsp + 0x100], 0x15a
movzx eax, word [rsp + 0x158]
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0x78], 0x1ec3
mov eax, dword [rsp + 0x34]
cdqe
mov rcx, qword [0x140c25f28]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0xf0], rax
movsxd rax, dword [rsp + 0x34]
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x170]
and ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xf0]
mov r8d, dword [rsp + 0x78]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
call fcn.140009900
mov ecx, dword [rsp + 0x34]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x178]
mov word [rdx + rcx*2], ax
mov eax, dword [rsp + 0x34]
add eax, eax
cdqe
mov rcx, qword [rsp + 0x198]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
lea eax, [rcx + rax + 0x1066]
mov rcx, qword [rsp + 0x180]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x90]
movzx ecx, word [rdx + rcx*2]
cdq
idiv ecx
mov rcx, qword [rsp + 0x180]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x90]
mov word [rdx + rcx*2], ax
movzx eax, word [0x140c25f4c]
inc ax
mov word [0x140c25f4c], ax
movzx eax, word [0x140c25f4c]
add eax, 0x25
cdqe
mov rcx, qword [0x140c25fc8]
movzx eax, word [rcx + rax*2]
mov rcx, qword [0x140c25fb0]
mov rdx, qword [0x140c25f98]
mov rcx, qword [rdx + rcx*8]
imul rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x34]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rdx + rcx*8]
lea rax, [rax + rcx + 0x100a]
mov ecx, dword [rsp + 0x34]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x160]
mov qword [rdx + rcx*8], rax
movzx eax, word [rsp + 0x158]
inc ax
mov word [rsp + 0x158], ax
movzx eax, word [rsp + 0x158]
mov dword [rsp + 0x48], eax
mov eax, dword [0x140c25f94]
dec eax
mov dword [0x140c25f94], eax
movsxd rax, dword [0x140c25f94]
mov rcx, qword [0x140c25f80]
mov rdx, qword [rsp + 0x178]
movzx ecx, word [rdx + rcx*2]
movzx edx, byte [rsp + 0x30]
mov r8d, 8
imul r8, r8, 0x15af
mov r9, qword [rsp + 0x98]
mov r8, qword [r9 + r8]
xor r8, rdx
mov rdx, r8
add rdx, rcx
mov rcx, rdx
or rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x34]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x188]
add rax, qword [rdx + rcx*8]
mov ecx, dword [rsp + 0x34]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x188]
mov qword [rdx + rcx*8], rax
jmp 0x140003684
movzx eax, word [0x140c25f4c]
cdqe
movzx ecx, word [0x140c25f4c]
movsxd rcx, ecx
mov rdx, qword [0x140c25f30]
mov r8, qword [0x140c25f60]
mov ecx, dword [r8 + rcx*4]
mov eax, dword [rdx + rax*4]
xor eax, ecx
mov rcx, qword [rsp + 0x90]
movzx ecx, word [rcx]
shl ecx, 2
movsxd rcx, ecx
cdq
mov r8, qword [0x140c25f28]
idiv dword [r8 + rcx*4]
sub eax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x108]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
cdqe
mov rcx, qword [rsp + 0x110]
movzx eax, word [rcx + rax*2]
movzx ecx, word [0x140c25f4c]
movsxd rcx, ecx
mov rdx, qword [0x140c25f40]
mov dword [rdx + rcx*4], eax
movzx eax, word [0x140c25f4c]
inc ax
mov word [0x140c25f4c], ax
movzx eax, byte [rsp + 0x31]
cdqe
movzx ecx, byte [rsp + 0x32]
xor edx, edx
mov r8, qword [rsp + 0x188]
mov rax, qword [r8 + rax*8]
div rcx
movzx ecx, byte [rsp + 0x31]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x118]
xor rax, qword [rdx + rcx*8]
movzx ecx, byte [0x140c25f4e]
xor edx, edx
div rcx
mov rcx, qword [0x140c25fb0]
mov rdx, qword [rsp + 0xa0]
movzx ecx, word [rdx + rcx*2]
imul rax, rcx
mov rcx, qword [0x140c25fb0]
mov rdx, qword [rsp + 0xa0]
mov word [rdx + rcx*2], ax
movzx eax, byte [rsp + 0x32]
inc al
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x30]
inc al
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x30]
lea eax, [rax*4 + 0x1b]
cdqe
mov rcx, qword [rsp + 0x50]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x180]
mov ecx, dword [rcx]
lea ecx, [rcx + rcx + 0x28]
movsxd rcx, ecx
xor edx, edx
mov r8, qword [rsp + 0x98]
mov rax, qword [r8 + rcx*8]
mov rcx, qword [rsp + 0x120]
div rcx
mov rax, rdx
movzx ecx, byte [rsp + 0x30]
lea ecx, [rcx*4 + 0x1b]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x50]
mov dword [rdx + rcx*4], eax
mov rax, qword [0x140c25fb0]
inc rax
mov qword [0x140c25fb0], rax
mov rax, qword [0x140c25fb0]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
movzx ecx, byte [rsp + 0x30]
shl ecx, 2
movsxd rcx, ecx
mov rdx, qword [rsp + 0x198]
movzx ecx, word [rdx + rcx*2]
mov rdx, qword [rsp + 0x168]
movzx edx, word [rdx]
lea edx, [rdx + rdx + 0xe]
movsxd rdx, edx
mov r8, qword [rsp + 0x50]
mov edx, dword [r8 + rdx*4]
xor edx, ecx
mov ecx, edx
or ecx, 0x1bce
xor ecx, eax
mov eax, ecx
mov rcx, qword [0x140c25fb0]
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov rcx, rdx
mov byte [rcx], al
mov eax, dword [rsp + 0x44]
cdqe
mov rcx, qword [0x140c25f88]
movzx eax, byte [rcx + rax]
cdq
idiv dword [rsp + 0x3c]
mov eax, edx
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x31]
dec al
mov byte [rsp + 0x31], al
mov eax, 2
imul rax, rax, 0x1ef1
mov rcx, qword [rsp + 0x198]
movzx eax, word [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0x1332
mov rdx, qword [rsp + 0x60]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [0x140c25f80]
shl rdx, 1
mov r8, qword [rsp + 0x190]
or ecx, dword [r8 + rdx*4]
xor ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [rsp + 0x31]
imul ecx, ecx, 3
add ecx, 0x1e
movsxd rcx, ecx
mov rdx, qword [rsp + 0x98]
mov qword [rdx + rcx*8], rax
movzx eax, word [0x140c25f4c]
shl eax, 1
cdqe
mov rcx, qword [rsp + 0x58]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x80], eax
mov eax, 0x60a
cdq
mov ecx, dword [rsp + 0x80]
idiv ecx
add rsp, 0x148
ret