Function at 0x1400064b0
Capabilities:
Set console window title

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2e8]
sub rsp, 0x3c0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
mov rax, qword [0x140041040]
xor rax, rsp
mov qword [rbp + 0x250], rax
xor r15d, r15d
mov byte [rsp + 0x68], r15b
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140015230
mov r14, rax
mov esi, 5
movsd xmm7, qword [0x140037e58]
movsd xmm8, qword [0x140037e50]
movsd xmm9, qword [0x140037e48]
cmp byte [rax], r15b
jne 0x1400074e5
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
movsd xmm6, qword [0x140037e60]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006866
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000664e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000664e
mov dword [rsp + 0x40], esi
jmp 0x1400066eb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400066eb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000679a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000679a
mov dword [rsp + 0x60], esi
jmp 0x140006837
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006837
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x60]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400071d5
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006bae
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006996
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006996
mov dword [rsp + 0x4c], esi
jmp 0x140006a33
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006a33
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006ae2
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006ae2
mov dword [rsp + 0x48], esi
jmp 0x140006b7f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006b7f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x48]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006eaf
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006c96
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006c96
mov dword [rsp + 0x50], esi
jmp 0x140006d33
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006d33
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006de3
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006de3
mov dword [rsp + 0x44], esi
jmp 0x140006e80
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006e80
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400071d5
mov eax, dword [rsp + 0x20]
sub eax, 0x61
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140006fb4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140006fb4
mov dword [rsp + 0x58], esi
jmp 0x140007051
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007051
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x61
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000710e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000710e
mov r15d, esi
jmp 0x1400071a8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400071a8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x58]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400074cb
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400072bc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400072bc
mov r13d, esi
jmp 0x140007356
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007356
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007405
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007405
mov r12d, esi
jmp 0x14000749f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000749f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0xc
jb 0x140006567
xor r15d, r15d
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp - 0x80]
call fcn.140001710
nop
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x230]
call fcn.140004ba0
nop
lea rcx, [rbp - 0x80]
call fcn.1400016b0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
movsd xmm10, qword [0x140037e40]
cmp r8d, eax
je 0x1400088a2
mov byte [rsp + 0x69], 0
lea rdx, [rbp + 0x1e0]
lea rcx, [rsp + 0x69]
call fcn.1400153b0
mov r14, rax
cmp byte [rax], 0
jne 0x14000851f
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
cmp eax, 0x41
jae 0x14000851f
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007895
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007687
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007687
mov r13d, esi
jmp 0x140007721
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007721
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400077cf
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400077cf
mov r15d, esi
jmp 0x140007869
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007869
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r15b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008207
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007bdf
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400079c6
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400079c6
mov dword [rsp + 0x50], esi
jmp 0x140007a63
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007a63
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007b13
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007b13
mov dword [rsp + 0x58], esi
jmp 0x140007bb0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007bb0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007edb
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007cc6
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007cc6
mov r12d, esi
jmp 0x140007d60
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007d60
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007e10
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007e10
mov dword [rsp + 0x44], esi
jmp 0x140007ead
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007ead
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r12b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008207
mov eax, dword [rsp + 0x20]
sub eax, 0x60
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140007fe0
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140007fe0
mov dword [rsp + 0x48], esi
jmp 0x14000807d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000807d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x60
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000813b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000813b
mov dword [rsp + 0x4c], esi
jmp 0x1400081d8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400081d8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140008508
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400082ef
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400082ef
mov dword [rsp + 0x60], esi
jmp 0x14000838c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000838c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000843c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000843c
mov dword [rsp + 0x40], esi
jmp 0x1400084d9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400084d9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x40]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x41
jb 0x1400075a1
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0x230]
call fcn.1400195b0
xor al, 1
movzx eax, al
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400085ee
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400085ee
mov r14d, esi
jmp 0x14000868f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000868a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r14d, xmm0
jmp 0x14000868f
mov r14d, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
add edi, edi
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, r14d
test r8d, r8d
je 0x1400088a2
lea rdx, str.Check_Integrity_FAILED_
lea rcx, [rbp - 0x30]
call fcn.140001710
mov rcx, rax
call fcn.1400040f0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400087f7
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x1400151ac
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008892
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
jmp 0x140008896
mov eax, dword [rsp + 0x28]
xor ebx, ebx
cmp ebx, eax
jl 0x1400151ac
jmp 0x1400088a4
xor ebx, ebx
mov byte [rsp + 0x6a], 0
lea rdx, [rbp + 0x130]
lea rcx, [rsp + 0x6a]
call fcn.140015550
mov r14, rax
movsd xmm6, qword [0x140037e38]
movsd xmm8, qword [0x140037e30]
movsd xmm11, qword [0x140037e28]
cmp byte [rax], 0
jne 0x140009897
mov dword [rsp + 0x20], ebx
mov eax, dword [rsp + 0x20]
cmp eax, 0xd
jae 0x140009897
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140008bfb
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400089e7
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400089e7
mov r15d, esi
jmp 0x140008a81
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008a81
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008b30
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140008b30
mov r12d, esi
jmp 0x140008bca
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008bca
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, r12w
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, r15w
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000957a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140008f43
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008d2a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140008d2a
mov r13d, esi
jmp 0x140008dc4
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008dc4
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008e73
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140008e73
mov dword [rsp + 0x58], esi
jmp 0x140008f10
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140008f10
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x58]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, r13w
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009249
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000902b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000902b
mov dword [rsp + 0x44], esi
jmp 0x1400090c8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400090c8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009178
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009178
mov dword [rsp + 0x50], esi
jmp 0x140009215
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009215
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x50]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, word [rsp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000957a
mov eax, dword [rsp + 0x20]
sub eax, 0x5d
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000934e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000934e
mov dword [rsp + 0x48], esi
jmp 0x1400093eb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400093eb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x5d
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400094a9
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400094a9
mov dword [rsp + 0x4c], esi
jmp 0x140009546
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009546
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x4c]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, word [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009880
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009662
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009662
mov dword [rsp + 0x60], esi
jmp 0x1400096ff
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400096ff
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400097af
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400097af
mov dword [rsp + 0x40], esi
jmp 0x14000984c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000984c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x40]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, word [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0xd
jb 0x140008900
mov byte [r14], 1
lea rcx, [r14 + 2]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [rsp + 0x6b], 0
lea rdx, [rbp + 0x118]
lea rcx, [rsp + 0x6b]
call fcn.1400156d0
mov r14, rax
movsd xmm7, qword [0x140037e20]
cmp byte [rax], 0
jne 0x14000a871
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009be9
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400099db
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400099db
mov r15d, esi
jmp 0x140009a75
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009a75
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009b23
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009b23
mov r12d, esi
jmp 0x140009bbd
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009bbd
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a55b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009f2e
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009d19
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009d19
mov r13d, esi
jmp 0x140009db3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009db3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009e63
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140009e63
mov dword [rsp + 0x58], esi
jmp 0x140009f00
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140009f00
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a22f
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a016
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a016
mov dword [rsp + 0x44], esi
jmp 0x14000a0b3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a0b3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a163
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a163
mov dword [rsp + 0x50], esi
jmp 0x14000a200
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a200
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x50]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a55b
mov eax, dword [rsp + 0x20]
sub eax, 0x5c
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a334
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a334
mov dword [rsp + 0x48], esi
jmp 0x14000a3d1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a3d1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x5c
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a48f
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a48f
mov dword [rsp + 0x4c], esi
jmp 0x14000a52c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a52c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a85a
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a642
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a642
mov dword [rsp + 0x60], esi
jmp 0x14000a6df
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a6df
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a78e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a78e
mov dword [rsp + 0x40], esi
jmp 0x14000a82b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a82b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x40]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x16
jb 0x1400098f5
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp - 0x10]
call fcn.140001710
mov rcx, rax
call fcn.1400041e0
mov ecx, 0x190
call qword [sym.imp.KERNEL32.dll_Sleep]
mov byte [rsp + 0x6c], 0
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x6c]
call fcn.140015860
mov r14, rax
movsd xmm9, qword [0x140037e18]
cmp byte [rax], 0
jne 0x14000b877
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
nop dword [rax + rax]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000abdb
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000a9c7
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000a9c7
mov r15d, esi
jmp 0x14000aa61
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000aa61
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ab10
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ab10
mov r12d, esi
jmp 0x14000abaa
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000abaa
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, r12w
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, r15w
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b55a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000af25
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ad0b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ad0b
mov r13d, esi
jmp 0x14000ada5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ada5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ae55
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ae55
mov dword [rsp + 0x58], esi
jmp 0x14000aef2
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000aef2
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x58]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, r13w
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b229
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b00c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b00c
mov dword [rsp + 0x44], esi
jmp 0x14000b0a9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b0a9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b158
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b158
mov dword [rsp + 0x50], esi
jmp 0x14000b1f5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b1f5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x50]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, word [rsp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b55a
mov eax, dword [rsp + 0x20]
sub eax, 0x5b
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b32e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b32e
mov dword [rsp + 0x48], esi
jmp 0x14000b3cb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b3cb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x5b
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b489
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b489
mov dword [rsp + 0x4c], esi
jmp 0x14000b526
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b526
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x4c]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, word [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b860
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b642
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b642
mov dword [rsp + 0x60], esi
jmp 0x14000b6df
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b6df
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x28], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b78f
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b78f
mov dword [rsp + 0x40], esi
jmp 0x14000b82c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b82c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, word [r14 + rax*2 + 2]
and r8w, word [rsp + 0x40]
add r8w, r8w
movsxd rax, dword [rsp + 0x20]
movzx edx, word [r14 + rax*2 + 2]
sub dx, r8w
add dx, word [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov word [r14 + rax*2 + 2], dx
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 8
jb 0x14000a8e0
mov byte [r14], 1
lea rcx, [r14 + 2]
call fcn.140005210
mov edi, eax
mov dword [rsp + 0x28], eax
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
movsd xmm10, qword [0x140037de8]
movsd xmm11, qword [0x140037de0]
cmp r8d, eax
je 0x14000e2a3
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor r15d, r15d
mov eax, r15d
test edi, edi
setg al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000b9a4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000b9a4
mov r14d, esi
jmp 0x14000ba45
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ba40
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x58]
cvttsd2si r14d, xmm0
jmp 0x14000ba45
mov r14d, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
add edi, edi
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, r14d
test r8d, r8d
je 0x14000ca8f
mov byte [rsp + 0x74], r15b
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x74]
call fcn.1400159d0
mov r14, rax
cmp byte [rax], r15b
jne 0x14000ca61
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
movsd xmm6, qword [0x140037e10]
movsd xmm7, qword [0x140037e08]
movsd xmm8, qword [0x140037e00]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000bddb
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000bbcc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000bbcc
mov r15d, esi
jmp 0x14000bc66
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000bc66
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000bd15
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000bd15
mov r12d, esi
jmp 0x14000bdaf
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000bdaf
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c749
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c11e
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000bf0a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000bf0a
mov r13d, esi
jmp 0x14000bfa4
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000bfa4
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c053
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c053
mov dword [rsp + 0x58], esi
jmp 0x14000c0f0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c0f0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c41d
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c205
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c205
mov dword [rsp + 0x44], esi
jmp 0x14000c2a2
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c2a2
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c351
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c351
mov dword [rsp + 0x50], esi
jmp 0x14000c3ee
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c3ee
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x50]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c749
mov eax, dword [rsp + 0x20]
sub eax, 0x58
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c522
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c522
mov dword [rsp + 0x48], esi
jmp 0x14000c5bf
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c5bf
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x58
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c67d
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c67d
mov dword [rsp + 0x4c], esi
jmp 0x14000c71a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c71a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ca4a
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c831
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c831
mov dword [rsp + 0x60], esi
jmp 0x14000c8ce
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c8ce
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000c97e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000c97e
mov dword [rsp + 0x40], esi
jmp 0x14000ca1b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ca1b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x40]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x14
jb 0x14000bae5
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0x10]
call fcn.140001710
movsxd rdx, dword [rsp + 0x28]
mov rcx, rax
call fcn.1400042d0
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000e2a3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e2a3
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx eax, byte [0x14004123c]
add eax, edx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000cbbc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000cbbc
mov edi, esi
jmp 0x14000cc5b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000cc57
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si edi, xmm0
jmp 0x14000cc5b
mov edi, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, edi
test r8d, r8d
je 0x14000d113
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x140037d68]
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000cd53
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x14000cdc0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000cdc0
movzx eax, byte [0x140041239]
call fcn.140004b10
call fcn.140004ae0
call fcn.140002d60
movzx eax, byte [0x140041238]
movzx eax, byte [0x14004123b]
movsd xmm0, qword [rsp + 0x38]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e2a3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000cf02
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000cf02
mov edi, esi
jmp 0x14000cfa1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000cf9d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si edi, xmm0
jmp 0x14000cfa1
mov edi, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, edi
test r8d, r8d
je 0x14000e2a3
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x140037d50]
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d09d
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x14000e2a3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e2a3
movzx eax, byte [0x140041239]
call fcn.140004b10
call fcn.140004ae0
call fcn.140002d60
movzx eax, byte [0x140041238]
movzx eax, byte [0x14004123b]
movsd xmm0, qword [rsp + 0x38]
jmp 0x14000e2a3
mov byte [rsp + 0x6d], r15b
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x6d]
call fcn.140015b50
mov r14, rax
cmp byte [rax], r15b
jne 0x14000e0df
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
movsd xmm6, qword [0x140037df8]
movsd xmm7, qword [0x140037df0]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
nop word [rax + rax]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d454
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d246
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d246
mov r15d, esi
jmp 0x14000d2e0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d2e0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d38e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d38e
mov r12d, esi
jmp 0x14000d428
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d428
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ddc4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d797
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d583
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d583
mov r13d, esi
jmp 0x14000d61d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d61d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d6cc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d6cc
mov dword [rsp + 0x58], esi
jmp 0x14000d769
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d769
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000da98
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d87f
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d87f
mov dword [rsp + 0x44], esi
jmp 0x14000d91c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d91c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000d9cc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000d9cc
mov dword [rsp + 0x50], esi
jmp 0x14000da69
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000da69
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x50]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ddc4
mov eax, dword [rsp + 0x20]
sub eax, 0x53
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000db9d
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000db9d
mov dword [rsp + 0x48], esi
jmp 0x14000dc3a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000dc3a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x53
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000dcf8
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000dcf8
mov dword [rsp + 0x4c], esi
jmp 0x14000dd95
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000dd95
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e0c5
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000deac
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000deac
mov dword [rsp + 0x60], esi
jmp 0x14000df49
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000df49
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000dff9
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000dff9
mov dword [rsp + 0x40], esi
jmp 0x14000e096
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e096
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x40]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0xb
jb 0x14000d160
xor r15d, r15d
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0x30]
call fcn.140001710
mov rcx, rax
call fcn.1400040f0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e1fb
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x1400151ac
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e296
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
jmp 0x14000e29a
mov eax, dword [rsp + 0x28]
cmp r15d, eax
jl 0x1400151ac
mov byte [rsp + 0x6e], 0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x6e]
call fcn.140015cc0
mov r14, rax
movsd xmm7, qword [0x140037dd8]
movsd xmm9, qword [0x140037dd0]
cmp byte [rax], 0
jne 0x14000f26e
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
nop
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e5e6
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e3d7
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e3d7
mov r15d, esi
jmp 0x14000e471
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e471
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm10
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e520
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e520
mov r12d, esi
jmp 0x14000e5ba
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e5ba
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ef56
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e92b
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e716
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e716
mov r13d, esi
jmp 0x14000e7b0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e7b0
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm11
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e860
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000e860
mov dword [rsp + 0x58], esi
jmp 0x14000e8fd
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000e8fd
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ec2a
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ea12
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ea12
mov dword [rsp + 0x44], esi
jmp 0x14000eaaf
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000eaaf
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000eb5e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000eb5e
mov dword [rsp + 0x50], esi
jmp 0x14000ebfb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ebfb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x50]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x44]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ef56
mov eax, dword [rsp + 0x20]
sub eax, 0x51
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ed2f
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ed2f
mov dword [rsp + 0x48], esi
jmp 0x14000edcc
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000edcc
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x51
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ee8a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ee8a
mov dword [rsp + 0x4c], esi
jmp 0x14000ef27
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ef27
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x4c]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x48]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f257
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f03e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f03e
mov dword [rsp + 0x60], esi
jmp 0x14000f0db
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f0db
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f18b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f18b
mov dword [rsp + 0x40], esi
jmp 0x14000f228
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f228
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x40]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x60]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0xc
jb 0x14000e2f0
mov byte [r14], 1
lea rax, [r14 + 1]
mov qword [rsp + 0x30], rax
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r14, rax
mov qword [rsp + 0x60], rax
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400137dd
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, r14
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f38e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f38e
mov edi, esi
jmp 0x14000f42d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f429
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si edi, xmm0
jmp 0x14000f42d
mov edi, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, edi
test r8d, r8d
je 0x140013986
mov byte [rsp + 0x6f], 0
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x6f]
call fcn.140015e40
mov r14, rax
movsd xmm6, qword [0x140037dc8]
movsd xmm8, qword [0x140037dc0]
cmp byte [rax], 0
jne 0x14001044c
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
nop dword [rax + rax]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f7c4
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f5b6
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f5b6
mov r15d, esi
jmp 0x14000f650
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f650
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f6fe
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f6fe
mov r12d, esi
jmp 0x14000f798
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f798
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010134
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000fb09
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f8f4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000f8f4
mov r13d, esi
jmp 0x14000f98e
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000f98e
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000fa3e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000fa3e
mov dword [rsp + 0x28], esi
jmp 0x14000fadb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000fadb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x28]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000fe08
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000fbf0
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000fbf0
mov dword [rsp + 0x50], esi
jmp 0x14000fc8d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000fc8d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000fd3c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000fd3c
mov dword [rsp + 0x58], esi
jmp 0x14000fdd9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000fdd9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010134
mov eax, dword [rsp + 0x20]
sub eax, 0x4f
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ff0d
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14000ff0d
mov dword [rsp + 0x4c], esi
jmp 0x14000ffaa
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14000ffaa
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x4f
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010068
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010068
mov dword [rsp + 0x44], esi
jmp 0x140010105
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010105
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010435
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001021c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001021c
mov dword [rsp + 0x40], esi
jmp 0x1400102b9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400102b9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x38], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010369
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010369
mov dword [rsp + 0x48], esi
jmp 0x140010406
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010406
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x38]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x48]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x2e
jb 0x14000f4d0
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0x50]
call fcn.140001710
mov rcx, rax
call fcn.140004000
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rsp + 0x60]
mov qword [0x1400443b0], rax
mov rax, qword [rsp + 0x30]
mov qword [0x1400443a0], rax
mov byte [rsp + 0x70], 0
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140015fe0
mov r14, rax
movsd xmm7, qword [0x140037db8]
xor r15d, r15d
cmp byte [rax], r15b
jne 0x140011445
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
nop dword [rax + rax]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400107c4
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400105b7
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400105b7
mov r15d, esi
jmp 0x140010651
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010651
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010700
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010700
mov r12d, esi
jmp 0x14001079a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001079a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r14 + rax*4 + 4]
and r8d, r12d
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r14 + rax*4 + 4]
sub edx, r8d
add edx, r15d
movsxd rax, dword [rsp + 0x20]
mov dword [r14 + rax*4 + 4], edx
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001112e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010b05
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400108f3
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400108f3
mov r13d, esi
jmp 0x14001098d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001098d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010a3c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010a3c
mov dword [rsp + 0x28], esi
jmp 0x140010ad9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010ad9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r14 + rax*4 + 4]
and r8d, dword [rsp + 0x28]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r14 + rax*4 + 4]
sub edx, r8d
add edx, r13d
movsxd rax, dword [rsp + 0x20]
mov dword [r14 + rax*4 + 4], edx
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010e04
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010bed
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010bed
mov dword [rsp + 0x50], esi
jmp 0x140010c8a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010c8a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010d3a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010d3a
mov dword [rsp + 0x58], esi
jmp 0x140010dd7
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010dd7
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r14 + rax*4 + 4]
and r8d, dword [rsp + 0x58]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r14 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov dword [r14 + rax*4 + 4], edx
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001112e
mov eax, dword [rsp + 0x20]
sub eax, 0x4e
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010f09
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140010f09
mov dword [rsp + 0x4c], esi
jmp 0x140010fa6
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140010fa6
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x4e
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011064
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011064
mov dword [rsp + 0x44], esi
jmp 0x140011101
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011101
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r14 + rax*4 + 4]
and r8d, dword [rsp + 0x44]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r14 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov dword [r14 + rax*4 + 4], edx
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001142b
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011215
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011215
mov dword [rsp + 0x40], esi
jmp 0x1400112b2
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400112b2
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011361
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011361
mov dword [rsp + 0x48], esi
jmp 0x1400113fe
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400113fe
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
mov r8d, dword [r14 + rax*4 + 4]
and r8d, dword [rsp + 0x48]
add r8d, r8d
movsxd rax, dword [rsp + 0x20]
mov edx, dword [r14 + rax*4 + 4]
sub edx, r8d
add edx, dword [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov dword [r14 + rax*4 + 4], edx
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 1
jb 0x1400104d0
xor r15d, r15d
mov byte [r14], 1
mov eax, dword [r14 + 4]
lea rcx, [0x140041240]
call qword [rcx + rax*8]
movzx edi, al
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
movsd xmm8, qword [0x140037da8]
movsd xmm9, qword [0x140037da0]
cmp r8d, eax
je 0x1400127f2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r15
test dil, dil
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011571
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011571
mov edi, esi
jmp 0x140011610
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001160c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si edi, xmm0
jmp 0x140011610
mov edi, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, edi
test r8d, r8d
je 0x1400127f2
mov byte [rsp + 0x71], 0
lea rdx, [rbp + 0xe8]
lea rcx, [rsp + 0x71]
call fcn.140016140
mov r14, rax
cmp byte [rax], 0
jne 0x14001262f
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
cmp eax, 0x13
jae 0x14001262f
movsd xmm6, qword [0x140037db0]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
nop dword [rax + rax]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400119a4
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011796
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011796
mov r15d, esi
jmp 0x140011830
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011830
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400118de
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400118de
mov r12d, esi
jmp 0x140011978
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011978
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012314
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011ce7
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011ad3
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011ad3
mov r13d, esi
jmp 0x140011b6d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011b6d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011c1c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011c1c
mov dword [rsp + 0x28], esi
jmp 0x140011cb9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011cb9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x28]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011fe8
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011dcf
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011dcf
mov dword [rsp + 0x50], esi
jmp 0x140011e6c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011e6c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011f1c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140011f1c
mov dword [rsp + 0x58], esi
jmp 0x140011fb9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140011fb9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012314
mov eax, dword [rsp + 0x20]
sub eax, 0x4b
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400120ed
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400120ed
mov dword [rsp + 0x4c], esi
jmp 0x14001218a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001218a
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x4b
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012248
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012248
mov dword [rsp + 0x44], esi
jmp 0x1400122e5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400122e5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012615
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400123fc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400123fc
mov dword [rsp + 0x40], esi
jmp 0x140012499
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012499
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012549
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012549
mov dword [rsp + 0x48], esi
jmp 0x1400125e6
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400125e6
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x48]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x13
jb 0x1400116b0
xor r15d, r15d
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0x70]
call fcn.140001710
mov rcx, rax
call fcn.1400040f0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
add edi, edi
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001274a
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x1400151ac
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400127e5
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x1400127e9
mov eax, dword [rsp + 0x28]
cmp r15d, eax
jl 0x1400151ac
mov byte [rsp + 0x72], 0
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x72]
call fcn.1400162b0
mov r14, rax
cmp byte [rax], 0
jne 0x1400137c1
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
cmp eax, 0x2e
jae 0x1400137c1
movsd xmm6, qword [0x140037d98]
movsd xmm7, qword [0x140037d90]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012b3b
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001292c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001292c
mov r15d, esi
jmp 0x1400129c6
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400129c6
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012a75
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012a75
mov r12d, esi
jmp 0x140012b0f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012b0f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400134ab
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012e80
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012c6b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012c6b
mov r13d, esi
jmp 0x140012d05
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012d05
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012db5
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012db5
mov dword [rsp + 0x28], esi
jmp 0x140012e52
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012e52
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x28]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001317f
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140012f67
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140012f67
mov dword [rsp + 0x50], esi
jmp 0x140013004
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013004
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400130b3
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400130b3
mov dword [rsp + 0x58], esi
jmp 0x140013150
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013150
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400134ab
mov eax, dword [rsp + 0x20]
sub eax, 0x49
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013284
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140013284
mov dword [rsp + 0x4c], esi
jmp 0x140013321
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013321
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x49
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400133df
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400133df
mov dword [rsp + 0x44], esi
jmp 0x14001347c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001347c
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400137aa
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013592
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140013592
mov dword [rsp + 0x40], esi
jmp 0x14001362f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001362f
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400136de
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400136de
mov dword [rsp + 0x48], esi
jmp 0x14001377b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001377b
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x48]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x2e
jb 0x140012845
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0x90]
call fcn.140001710
mov rcx, rax
call fcn.140004000
xor esi, esi
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400138e4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x1400151bb
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400151b3
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x1400151b7
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400137dd
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx eax, byte [0x14004123c]
add eax, edx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013ab4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140013ab4
mov r14d, esi
jmp 0x140013b55
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013b50
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r14d, xmm0
jmp 0x140013b55
mov r14d, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
add edi, edi
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, r14d
test r8d, r8d
je 0x140014009
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x140037d50]
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013c4c
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x140013cb9
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013cb9
movzx eax, byte [0x140041239]
call fcn.140004b10
call fcn.140004ae0
call fcn.140002d60
movzx eax, byte [0x140041238]
movzx eax, byte [0x14004123b]
movsd xmm0, qword [rsp + 0x30]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400137dd
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
shl edi, 2
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013df6
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x140013e95
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013e91
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si esi, xmm0
jmp 0x140013e95
mov esi, dword [rsp + 0x28]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
imul r8d, esi
test r8d, r8d
je 0x1400137dd
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x140037d68]
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140013f93
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x1400137dd
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400137dd
movzx eax, byte [0x140041239]
call fcn.140004b10
call fcn.140004ae0
call fcn.140002d60
movzx eax, byte [0x140041238]
movzx eax, byte [0x14004123b]
movsd xmm0, qword [rsp + 0x30]
jmp 0x1400137dd
mov byte [rsp + 0x73], 0
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x73]
call fcn.140016450
mov r14, rax
cmp byte [rax], 0
jne 0x140014fe4
mov dword [rsp + 0x20], 0
mov eax, dword [rsp + 0x20]
movsd xmm6, qword [0x140037d88]
movsd xmm7, qword [0x140037d80]
movsd xmm8, qword [0x140037d78]
movsd xmm9, qword [0x140037d70]
mov r15d, dword [rsp + 0x28]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x28]
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 3
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001435c
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001414e
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001414e
mov r15d, esi
jmp 0x1400141e8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400141e8
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014296
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014296
mov r12d, esi
jmp 0x140014330
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014330
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r12d, xmm0
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, r12b
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r15b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*4]
add ebx, ebx
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014ccc
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001469f
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001448b
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x14001448b
mov r13d, esi
jmp 0x140014525
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014525
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400145d4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400145d4
mov dword [rsp + 0x28], esi
jmp 0x140014671
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014671
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x28]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, r13b
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx ebx, byte [0x140044398]
imul ebx, ecx
shl ebx, 2
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400149a0
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014787
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014787
mov dword [rsp + 0x50], esi
jmp 0x140014824
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014824
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x50], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x1400148d4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x1400148d4
mov dword [rsp + 0x58], esi
jmp 0x140014971
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014971
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x58]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x50]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*8]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014ccc
mov eax, dword [rsp + 0x20]
sub eax, 0x44
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014aa5
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014aa5
mov dword [rsp + 0x4c], esi
jmp 0x140014b42
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014b42
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x20]
sub eax, 0x44
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014c00
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014c00
mov dword [rsp + 0x44], esi
jmp 0x140014c9d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014c9d
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x44], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x44]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x4c]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*4]
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014fcd
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014db4
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014db4
mov dword [rsp + 0x40], esi
jmp 0x140014e51
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014e51
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm9
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014f01
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
je 0x140014f01
mov dword [rsp + 0x48], esi
jmp 0x140014f9e
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140014f9e
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x20]
movzx r8d, byte [rax + r14 + 1]
and r8b, byte [rsp + 0x48]
add r8b, r8b
movsxd rax, dword [rsp + 0x20]
movzx edx, byte [rax + r14 + 1]
sub dl, r8b
add dl, byte [rsp + 0x40]
movsxd rax, dword [rsp + 0x20]
mov byte [rax + r14 + 1], dl
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
cmp eax, 0x2a
jb 0x140014068
mov byte [r14], 1
lea rdx, [r14 + 1]
lea rcx, [rbp + 0xb0]
call fcn.140001710
mov rcx, rax
call fcn.1400040f0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
shl edi, 2
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14004123a]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14004123c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx edi, al
imul edi, ebx
call fcn.140004b10
movsx ecx, al
add ecx, edi
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x140015103
call fcn.140004af0
movsx ecx, al
movsx edx, byte [0x140044398]
imul edx, ecx
lea ebx, [rdx + rdx*2]
add ebx, ebx
call fcn.140004b20
movsx ecx, al
sub ebx, ecx
call fcn.140004b00
movsx edx, al
add edx, ebx
movsx ecx, byte [0x14004123c]
add ecx, edx
jne 0x1400151ac
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
lea ebx, [rcx + rcx*2]
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
cmp r8d, eax
je 0x14001519e
call fcn.140004ae0
movsx ebx, al
call fcn.140002d60
movsx ecx, al
imul ecx, ebx
imul ebx, ecx, 7
call fcn.140004b10
movsx ecx, al
add ecx, ebx
movsx eax, byte [0x140041239]
add eax, ecx
movsx ecx, byte [0x140041238]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14004123b]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x1400151a2
mov eax, dword [rsp + 0x28]
xor esi, esi
cmp esi, eax
jge 0x1400137df
mov esi, 1
jmp 0x1400151bb
mov eax, dword [rsp + 0x28]
cmp esi, eax
jge 0x1400151cb
lea rcx, [rbp + 0x230]
call fcn.1400016b0
mov eax, esi
jmp 0x1400151d9
lea rcx, [rbp + 0x230]
call fcn.1400016b0
xor eax, eax
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.1400196e0
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret