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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov byte [rsp + 8], cl
sub rsp, 0xf8
mov qword [rsp + 0xd8], 0x1592
mov dword [rsp + 0x5c], 0x1a54
imul eax, dword [rsp + 0x118], 3
cdqe
mov rcx, qword [rsp + 0x108]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x118]
cdqe
mov rcx, qword [rsp + 0x108]
mov eax, dword [rcx + rax*4]
cdq
mov ecx, 0x1399
idiv ecx
mov eax, edx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x118]
inc eax
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x110]
inc rax
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
sub rax, 0x1d9
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x118]
cdq
mov ecx, 0xdc2
idiv ecx
cdqe
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xe8], 0x14d8
mov eax, 4
imul rax, rax, 0x7c9
mov qword [rsp + 0x70], rax
mov eax, 0x1e39
cdq
mov rcx, qword [rsp + 0x108]
mov r8, qword [rsp + 0x70]
idiv dword [rcx + r8]
cdqe
mov qword [rsp + 0xe0], rax
mov eax, 2
imul rax, rax, 0x161a
mov rcx, qword [0x140c25fc8]
movzx eax, word [rcx + rax]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], 0x429
movzx eax, word [0x140c25f4c]
cdqe
mov rcx, qword [rsp + 0x108]
mov eax, dword [rcx + rax*4]
add eax, 0x1587
cdqe
mov qword [rsp + 0x68], rax
mov eax, 0x1c1
mov word [rsp + 0x34], ax
mov rax, qword [0x140c25fb0]
mov rcx, qword [0x140c25f28]
mov edx, dword [rsp + 0x118]
mov eax, dword [rcx + rax*4]
or eax, edx
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x118]
sub eax, 0x6c7
cdqe
mov qword [rsp + 0xb0], rax
movzx eax, word [0x140c25fb8]
mov dword [rsp + 0x38], eax
jmp 0x140004abd
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x58], eax
mov eax, dword [0x140c25f7c]
mov dword [rsp + 0x54], eax
mov eax, dword [0x140c25f7c]
inc eax
mov dword [0x140c25f7c], eax
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x58], eax
jg 0x140004b9f
mov eax, 1
imul rax, rax, 0x9c1
mov rcx, qword [0x140c25f88]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x3c]
add eax, 0xd
cdqe
movzx ecx, word [0x140c25f4c]
imul ecx, ecx, 3
movsxd rcx, ecx
mov rdx, qword [0x140c25f60]
mov eax, dword [rdx + rax*4]
cdq
mov r8, qword [rsp + 0x108]
idiv dword [r8 + rcx*4]
xor eax, dword [rsp + 0x118]
mov ecx, dword [rsp + 0x3c]
add ecx, 0x14
movsxd rcx, ecx
mov rdx, qword [0x140c25f28]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsp + 0x118]
dec eax
mov dword [rsp + 0x118], eax
mov rax, qword [0x140c25fb0]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax*4 + 0x80]
cdq
mov ecx, 0x1b64
idiv ecx
mov ecx, dword [rsp + 0x38]
lea ecx, [rcx + rcx + 2]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x48]
xor eax, dword [rdx + rcx*4]
or eax, 0x193f
cdqe
mov qword [0x140c25fb0], rax
jmp 0x140004ab3
movzx eax, byte [rsp + 0x30]
mov ecx, dword [rsp + 0x118]
sub ecx, eax
mov eax, ecx
cdq
idiv dword [rsp + 0x118]
movzx ecx, word [0x140c25f4c]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x108]
mov dword [rdx + rcx*4], eax
movsxd rax, dword [rsp + 0x118]
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x118]
inc eax
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x3c]
cdqe
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax]
sub eax, 0x10a5
mov byte [rsp + 0x31], al
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
imul eax, dword [rax], 3
add eax, 0x10
cdqe
mov rcx, qword [rsp + 0x108]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
movzx edx, byte [rsp + 0x31]
mov rcx, qword [rsp + 0x98]
call fcn.1400082a0
movzx ecx, word [0x140c25f4c]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x108]
mov dword [rdx + rcx*4], eax
mov eax, dword [0x140c25f5c]
inc eax
mov dword [0x140c25f5c], eax
mov eax, dword [0x140c25f5c]
cdqe
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx + rax*4]
mov ecx, dword [0x140c25fa4]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
movsxd rcx, ecx
mov rdx, qword [rsp + 0xa0]
xor rax, qword [rdx + rcx*8]
mov rcx, qword [0x140c25fb0]
mov rdx, qword [rsp + 0x108]
movsxd rcx, dword [rdx + rcx*4]
imul rax, rcx
mov rcx, qword [0x140c25fb0]
mov rdx, qword [rsp + 0x108]
mov dword [rdx + rcx*4], eax
mov eax, dword [0x140c25fa4]
inc eax
mov dword [0x140c25fa4], eax
mov rax, qword [rsp + 0x110]
dec rax
mov qword [rsp + 0x110], rax
mov rax, qword [0x140c25fb0]
mov rcx, qword [rsp + 0x108]
movsxd rax, dword [rcx + rax*4]
mov qword [rsp + 0xa8], rax
movsxd rcx, dword [0x140c25fa4]
imul rcx, qword [rsp + 0x110]
sub rcx, qword [rsp + 0x40]
or rcx, qword [rsp + 0x110]
xor edx, edx
mov rax, rcx
mov rcx, qword [rsp + 0xa8]
div rcx
mov rax, rdx
mov rcx, qword [0x140c25fb0]
mov rdx, qword [rsp + 0x108]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x60]
mov eax, dword [rcx + rax*4]
xor eax, edx
cdqe
mov qword [rsp + 0xd0], rax
movzx eax, byte [rsp + 0x110]
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x118]
inc eax
mov dword [rsp + 0x118], eax
movsxd rax, dword [rsp + 0x118]
mov qword [rsp + 0xc8], rax
movzx eax, byte [rsp + 0x30]
mov dword [rsp + 0x64], eax
mov eax, dword [0x140c25f94]
cdq
mov ecx, dword [rsp + 0x64]
idiv ecx
mov eax, edx
cdqe
mov qword [rsp + 0xc0], rax
movzx eax, byte [rsp + 0x30]
dec al
mov byte [rsp + 0x30], al
mov qword [rsp + 0xb8], 0x151c
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x32]
mov rcx, qword [rsp + 0xd0]
call fcn.1400082a0
mov byte [rsp + 0x30], al
mov eax, 0x19aa
sub rax, qword [rsp + 0xd8]
imul rax, qword [0x140c25fb0]
mov qword [0x140c25fb0], rax
movzx eax, byte [rsp + 0x100]
mov ecx, dword [rsp + 0x118]
movsxd rcx, ecx
mov rdx, qword [rsp + 0x68]
and eax, dword [rdx + rcx*4]
cdqe
and rax, qword [rsp + 0x110]
movsxd rcx, dword [0x140c25f7c]
xor rax, rcx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x108]
movsxd rcx, dword [rdx + rcx*4]
add rax, rcx
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x108]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x110]
inc rax
mov qword [rsp + 0x110], rax
mov eax, dword [0x140c25f48]
add eax, 0x521
cdqe
mov ecx, dword [rsp + 0x118]
movsxd rcx, ecx
mov rdx, qword [rsp + 0xe0]
xor rax, qword [rdx + rcx*8]
movzx ecx, byte [rsp + 0x100]
and rax, rcx
movzx ecx, word [rsp + 0x34]
and rax, rcx
mov word [rsp + 0x34], ax
movzx eax, byte [rsp + 0x100]
dec al
mov byte [rsp + 0x100], al
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x40]
or rcx, rax
mov rax, rcx
add rsp, 0xf8
ret