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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x6460
call fcn.00770030
mov eax, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x4bc8], 0
lea ecx, [esp + 0x4bc3]
call 0x765fca
mov dword [esp + 0x4bcc], eax
mov eax, dword [esp + 0x4bcc]
mov dword [esp + 0x4c68], eax
mov eax, dword [esp + 0x4c68]
mov dword [esp + 0x4a64], eax
test byte [eax + 4], 1
jne 0x731596
mov eax, dword [esp + 0x4a64]
mov dword [esp + 0x4c70], eax
mov dword [esp + 0x4c6c], 0
cmp dword [esp + 0x4c6c], 1
jae 0x731591
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4a58], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4a58]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a5c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4a5c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4a60], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4a60]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73038e
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4a54], eax
movsd xmm0, qword [0x786850]
movsd qword [esp + 0x4cf8], xmm0
xor eax, eax
je 0x730087
add byte [ecx + 0x4d042484], cl
add byte [eax], al
mov dword [esp + 0x4d04], eax
movsd xmm0, qword [esp + 0x4cf8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4cf0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4a48], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4a48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a50], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4a4c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4a4c]
mov dl, al
mov eax, dword [esp + 0x4a50]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7302bd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4a3c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4a3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a40], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4a40]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4a44], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4a44]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7302b8
mov dword [esp + 0x4cec], 0
cmp dword [esp + 0x4cec], 9
jae 0x7302b3
movsd xmm0, qword [esp + 0x4cf0]
cvtsi2sd xmm1, dword [esp + 0x4cec]
addsd xmm0, xmm1
movsd qword [esp + 0x4a30], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4a30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x730215
jp 0x730215
movsd xmm0, qword [esp + 0x4cf0]
movsd qword [esp + 0x4cf0], xmm0
jmp 0x7300bd
movsd xmm0, qword [esp + 0x4cf0]
cvtsi2sd xmm1, dword [esp + 0x4cec]
addsd xmm0, xmm1
movsd qword [esp + 0x4a28], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4a28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7302a3
jp 0x7302a3
mov eax, dword [esp + 0x4cec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4cf0]
addsd xmm0, xmm1
movsd qword [esp + 0x4cf0], xmm0
movsd xmm0, qword [esp + 0x4cf0]
cvtsi2sd xmm1, dword [esp + 0x4cec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d04], eax
jmp 0x73036f
mov dword [esp + 0x4d04], 2
jmp 0x73036f
jmp 0x7300bd
jmp 0x7302c2
jmp 0x7302c2
movsd xmm0, qword [esp + 0x4cf0]
movsd qword [esp + 0x4a18], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4a10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4a10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4a14], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4a14]
movsd xmm0, qword [esp + 0x4a18]
mov dl, al
mov eax, dword [esp + 0x4a24]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d04], eax
mov edx, dword [esp + 0x4a54]
xor edx, dword [esp + 0x4d04]
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4a04], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4a04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a0c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x4a08], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4a08]
mov dl, al
mov eax, dword [esp + 0x4a0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7311d4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x49f8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x49f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49fc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x49fc]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4a00], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4a00]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7307ae
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x49f4], eax
movsd xmm0, qword [0x786858]
movsd qword [esp + 0x4ce0], xmm0
xor eax, eax
je 0x7304a7
add byte [ecx + 0x4ce82484], cl
add byte [eax], al
mov dword [esp + 0x4ce8], eax
movsd xmm0, qword [esp + 0x4ce0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4cd8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x49e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x49e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49f0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x49ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x49ec]
mov dl, al
mov eax, dword [esp + 0x49f0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7306dd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x49dc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x49dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49e0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x49e0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x49e4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x49e4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7306d8
mov dword [esp + 0x4cd4], 0
cmp dword [esp + 0x4cd4], 9
jae 0x7306d3
movsd xmm0, qword [esp + 0x4cd8]
cvtsi2sd xmm1, dword [esp + 0x4cd4]
addsd xmm0, xmm1
movsd qword [esp + 0x49d0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x49d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x730635
jp 0x730635
movsd xmm0, qword [esp + 0x4cd8]
movsd qword [esp + 0x4cd8], xmm0
jmp 0x7304dd
movsd xmm0, qword [esp + 0x4cd8]
cvtsi2sd xmm1, dword [esp + 0x4cd4]
addsd xmm0, xmm1
movsd qword [esp + 0x49c8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x49c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7306c3
jp 0x7306c3
mov eax, dword [esp + 0x4cd4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4cd8]
addsd xmm0, xmm1
movsd qword [esp + 0x4cd8], xmm0
movsd xmm0, qword [esp + 0x4cd8]
cvtsi2sd xmm1, dword [esp + 0x4cd4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ce8], eax
jmp 0x73078f
mov dword [esp + 0x4ce8], 2
jmp 0x73078f
jmp 0x7304dd
jmp 0x7306e2
jmp 0x7306e2
movsd xmm0, qword [esp + 0x4cd8]
movsd qword [esp + 0x49b8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x49b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x49b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x49b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x49b4]
movsd xmm0, qword [esp + 0x49b8]
mov dl, al
mov eax, dword [esp + 0x49c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ce8], eax
mov edx, dword [esp + 0x49f4]
xor edx, dword [esp + 0x4ce8]
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x49a4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x49a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x49a8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x49a8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x49ac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x49ac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x730b55
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x49a0], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x4cc8], xmm0
xor eax, eax
je 0x73084e
add byte [ecx + 0x4cd02484], cl
add byte [eax], al
mov dword [esp + 0x4cd0], eax
movsd xmm0, qword [esp + 0x4cc8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4cc0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4994], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4994]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x499c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4998], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4998]
mov dl, al
mov eax, dword [esp + 0x499c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x730a84
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4988], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4988]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x498c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x498c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4990], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4990]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x730a7f
mov dword [esp + 0x4cbc], 0
cmp dword [esp + 0x4cbc], 9
jae 0x730a7a
movsd xmm0, qword [esp + 0x4cc0]
cvtsi2sd xmm1, dword [esp + 0x4cbc]
addsd xmm0, xmm1
movsd qword [esp + 0x4980], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4980]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7309dc
jp 0x7309dc
movsd xmm0, qword [esp + 0x4cc0]
movsd qword [esp + 0x4cc0], xmm0
jmp 0x730884
movsd xmm0, qword [esp + 0x4cc0]
cvtsi2sd xmm1, dword [esp + 0x4cbc]
addsd xmm0, xmm1
movsd qword [esp + 0x4978], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4978]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x730a6a
jp 0x730a6a
mov eax, dword [esp + 0x4cbc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4cc0]
addsd xmm0, xmm1
movsd qword [esp + 0x4cc0], xmm0
movsd xmm0, qword [esp + 0x4cc0]
cvtsi2sd xmm1, dword [esp + 0x4cbc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4cd0], eax
jmp 0x730b36
mov dword [esp + 0x4cd0], 2
jmp 0x730b36
jmp 0x730884
jmp 0x730a89
jmp 0x730a89
movsd xmm0, qword [esp + 0x4cc0]
movsd qword [esp + 0x4968], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4960], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4960]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4974], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4964], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4964]
movsd xmm0, qword [esp + 0x4968]
mov dl, al
mov eax, dword [esp + 0x4974]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4cd0], eax
mov edx, dword [esp + 0x49a0]
xor edx, dword [esp + 0x4cd0]
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x495c], eax
mov eax, dword [esp + 0x4c6c]
add eax, 0x59
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4cb0], xmm0
xor eax, eax
je 0x730b8d
add byte [ecx + 0x4cb82484], cl
add byte [eax], al
mov dword [esp + 0x4cb8], eax
movsd xmm0, qword [esp + 0x4cb0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4ca8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4950], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4950]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4958], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4954], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4954]
mov dl, al
mov eax, dword [esp + 0x4958]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x730dc3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4944], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4944]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4948], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4948]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x494c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x494c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x730dbe
mov dword [esp + 0x4ca4], 0
cmp dword [esp + 0x4ca4], 9
jae 0x730db9
movsd xmm0, qword [esp + 0x4ca8]
cvtsi2sd xmm1, dword [esp + 0x4ca4]
addsd xmm0, xmm1
movsd qword [esp + 0x4938], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4938]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x730d1b
jp 0x730d1b
movsd xmm0, qword [esp + 0x4ca8]
movsd qword [esp + 0x4ca8], xmm0
jmp 0x730bc3
movsd xmm0, qword [esp + 0x4ca8]
cvtsi2sd xmm1, dword [esp + 0x4ca4]
addsd xmm0, xmm1
movsd qword [esp + 0x4930], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4930]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x730da9
jp 0x730da9
mov eax, dword [esp + 0x4ca4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4ca8]
addsd xmm0, xmm1
movsd qword [esp + 0x4ca8], xmm0
movsd xmm0, qword [esp + 0x4ca8]
cvtsi2sd xmm1, dword [esp + 0x4ca4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4cb8], eax
jmp 0x730e75
mov dword [esp + 0x4cb8], 2
jmp 0x730e75
jmp 0x730bc3
jmp 0x730dc8
jmp 0x730dc8
movsd xmm0, qword [esp + 0x4ca8]
movsd qword [esp + 0x4920], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4918], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4918]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x492c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x491c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x491c]
movsd xmm0, qword [esp + 0x4920]
mov dl, al
mov eax, dword [esp + 0x492c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4cb8], eax
mov eax, dword [esp + 0x495c]
add eax, dword [esp + 0x4cb8]
mov dword [esp + 0x4910], eax
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4914], eax
mov eax, dword [esp + 0x4c6c]
add eax, 0x59
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4c98], xmm0
xor eax, eax
je 0x730ec2
add byte [ecx + 0x4ca02484], cl
add byte [eax], al
mov dword [esp + 0x4ca0], eax
movsd xmm0, qword [esp + 0x4c98]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4c90], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4904], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4904]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x490c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4908], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4908]
mov dl, al
mov eax, dword [esp + 0x490c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7310f8
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x48f8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x48f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48fc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x48fc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4900], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4900]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7310f3
mov dword [esp + 0x4c8c], 0
cmp dword [esp + 0x4c8c], 9
jae 0x7310ee
movsd xmm0, qword [esp + 0x4c90]
cvtsi2sd xmm1, dword [esp + 0x4c8c]
addsd xmm0, xmm1
movsd qword [esp + 0x48f0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x48f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731050
jp 0x731050
movsd xmm0, qword [esp + 0x4c90]
movsd qword [esp + 0x4c90], xmm0
jmp 0x730ef8
movsd xmm0, qword [esp + 0x4c90]
cvtsi2sd xmm1, dword [esp + 0x4c8c]
addsd xmm0, xmm1
movsd qword [esp + 0x48e8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x48e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7310de
jp 0x7310de
mov eax, dword [esp + 0x4c8c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4c90]
addsd xmm0, xmm1
movsd qword [esp + 0x4c90], xmm0
movsd xmm0, qword [esp + 0x4c90]
cvtsi2sd xmm1, dword [esp + 0x4c8c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ca0], eax
jmp 0x7311aa
mov dword [esp + 0x4ca0], 2
jmp 0x7311aa
jmp 0x730ef8
jmp 0x7310fd
jmp 0x7310fd
movsd xmm0, qword [esp + 0x4c90]
movsd qword [esp + 0x48d8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x48d0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x48d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x48d4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x48d4]
movsd xmm0, qword [esp + 0x48d8]
mov dl, al
mov eax, dword [esp + 0x48e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ca0], eax
mov edx, dword [esp + 0x4910]
mov eax, dword [esp + 0x4914]
and eax, dword [esp + 0x4ca0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x48c4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x48c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48c8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x48c8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x48cc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x48cc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73157b
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x48c0], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x4c80], xmm0
xor eax, eax
je 0x731274
add byte [ecx + 0x4c882484], cl
add byte [eax], al
mov dword [esp + 0x4c88], eax
movsd xmm0, qword [esp + 0x4c80]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4c78], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x48b4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x48b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x48b8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x48b8]
mov dl, al
mov eax, dword [esp + 0x48bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7314aa
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x48a8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x48a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48ac], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x48ac]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x48b0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x48b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7314a5
mov dword [esp + 0x4c74], 0
cmp dword [esp + 0x4c74], 9
jae 0x7314a0
movsd xmm0, qword [esp + 0x4c78]
cvtsi2sd xmm1, dword [esp + 0x4c74]
addsd xmm0, xmm1
movsd qword [esp + 0x48a0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x48a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731402
jp 0x731402
movsd xmm0, qword [esp + 0x4c78]
movsd qword [esp + 0x4c78], xmm0
jmp 0x7312aa
movsd xmm0, qword [esp + 0x4c78]
cvtsi2sd xmm1, dword [esp + 0x4c74]
addsd xmm0, xmm1
movsd qword [esp + 0x4898], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4898]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731490
jp 0x731490
mov eax, dword [esp + 0x4c74]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4c78]
addsd xmm0, xmm1
movsd qword [esp + 0x4c78], xmm0
movsd xmm0, qword [esp + 0x4c78]
cvtsi2sd xmm1, dword [esp + 0x4c74]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4c88], eax
jmp 0x73155c
mov dword [esp + 0x4c88], 2
jmp 0x73155c
jmp 0x7312aa
jmp 0x7314af
jmp 0x7314af
movsd xmm0, qword [esp + 0x4c78]
movsd qword [esp + 0x4888], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4880], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4880]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4894], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4884], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4884]
movsd xmm0, qword [esp + 0x4888]
mov dl, al
mov eax, dword [esp + 0x4894]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4c88], eax
mov edx, dword [esp + 0x48c0]
xor edx, dword [esp + 0x4c88]
mov eax, dword [esp + 0x4c70]
mov ecx, dword [esp + 0x4c6c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4c6c]
add eax, 1
mov dword [esp + 0x4c6c], eax
jmp 0x72ffd9
jmp 0x731596
mov eax, dword [esp + 0x4a64]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4bc4], eax
lea ecx, [esp + 0x4bbb]
call fcn.007660b8
mov dword [esp + 0x4bd8], eax
mov eax, dword [esp + 0x4bd8]
mov dword [esp + 0x4d08], eax
mov eax, dword [esp + 0x4d08]
mov dword [esp + 0x487c], eax
test byte [eax + 4], 1
jne 0x732bb9
mov eax, dword [esp + 0x487c]
mov dword [esp + 0x4e48], eax
mov dword [esp + 0x4e44], 0
cmp dword [esp + 0x4e44], 1
jae 0x732bb4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4870], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4870]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4874], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4874]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4878], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4878]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7319b1
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x486c], eax
movsd xmm0, qword [0x786858]
movsd qword [esp + 0x4ed0], xmm0
xor eax, eax
je 0x7316aa
add byte [ecx + 0x4edc2484], cl
add byte [eax], al
mov dword [esp + 0x4edc], eax
movsd xmm0, qword [esp + 0x4ed0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4ec8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4860], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4860]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4868], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4864], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4864]
mov dl, al
mov eax, dword [esp + 0x4868]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7318e0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4854], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4854]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4858], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4858]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x485c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x485c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7318db
mov dword [esp + 0x4ec4], 0
cmp dword [esp + 0x4ec4], 9
jae 0x7318d6
movsd xmm0, qword [esp + 0x4ec8]
cvtsi2sd xmm1, dword [esp + 0x4ec4]
addsd xmm0, xmm1
movsd qword [esp + 0x4848], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4848]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731838
jp 0x731838
movsd xmm0, qword [esp + 0x4ec8]
movsd qword [esp + 0x4ec8], xmm0
jmp 0x7316e0
movsd xmm0, qword [esp + 0x4ec8]
cvtsi2sd xmm1, dword [esp + 0x4ec4]
addsd xmm0, xmm1
movsd qword [esp + 0x4840], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4840]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7318c6
jp 0x7318c6
mov eax, dword [esp + 0x4ec4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4ec8]
addsd xmm0, xmm1
movsd qword [esp + 0x4ec8], xmm0
movsd xmm0, qword [esp + 0x4ec8]
cvtsi2sd xmm1, dword [esp + 0x4ec4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4edc], eax
jmp 0x731992
mov dword [esp + 0x4edc], 2
jmp 0x731992
jmp 0x7316e0
jmp 0x7318e5
jmp 0x7318e5
movsd xmm0, qword [esp + 0x4ec8]
movsd qword [esp + 0x4830], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4828], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4828]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x483c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x482c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x482c]
movsd xmm0, qword [esp + 0x4830]
mov dl, al
mov eax, dword [esp + 0x483c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4edc], eax
mov edx, dword [esp + 0x486c]
xor edx, dword [esp + 0x4edc]
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x481c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x481c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4824], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x4820], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4820]
mov dl, al
mov eax, dword [esp + 0x4824]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7327f7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4810], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4810]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4814], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4814]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4818], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4818]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x731dd1
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x480c], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x4eb8], xmm0
xor eax, eax
je 0x731aca
add byte [ecx + 0x4ec02484], cl
add byte [eax], al
mov dword [esp + 0x4ec0], eax
movsd xmm0, qword [esp + 0x4eb8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4eb0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4800], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4800]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4808], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4804], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4804]
mov dl, al
mov eax, dword [esp + 0x4808]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x731d00
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x47f4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x47f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x47f8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x47f8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x47fc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x47fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x731cfb
mov dword [esp + 0x4eac], 0
cmp dword [esp + 0x4eac], 9
jae 0x731cf6
movsd xmm0, qword [esp + 0x4eb0]
cvtsi2sd xmm1, dword [esp + 0x4eac]
addsd xmm0, xmm1
movsd qword [esp + 0x47e8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x47e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731c58
jp 0x731c58
movsd xmm0, qword [esp + 0x4eb0]
movsd qword [esp + 0x4eb0], xmm0
jmp 0x731b00
movsd xmm0, qword [esp + 0x4eb0]
cvtsi2sd xmm1, dword [esp + 0x4eac]
addsd xmm0, xmm1
movsd qword [esp + 0x47e0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x47e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731ce6
jp 0x731ce6
mov eax, dword [esp + 0x4eac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4eb0]
addsd xmm0, xmm1
movsd qword [esp + 0x4eb0], xmm0
movsd xmm0, qword [esp + 0x4eb0]
cvtsi2sd xmm1, dword [esp + 0x4eac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ec0], eax
jmp 0x731db2
mov dword [esp + 0x4ec0], 2
jmp 0x731db2
jmp 0x731b00
jmp 0x731d05
jmp 0x731d05
movsd xmm0, qword [esp + 0x4eb0]
movsd qword [esp + 0x47d0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x47c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x47c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x47dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x47cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x47cc]
movsd xmm0, qword [esp + 0x47d0]
mov dl, al
mov eax, dword [esp + 0x47dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ec0], eax
mov edx, dword [esp + 0x480c]
xor edx, dword [esp + 0x4ec0]
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x47bc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x47bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x47c0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x47c0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x47c4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x47c4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732178
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x47b8], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x4ea0], xmm0
xor eax, eax
je 0x731e71
add byte [ecx + 0x4ea82484], cl
add byte [eax], al
mov dword [esp + 0x4ea8], eax
movsd xmm0, qword [esp + 0x4ea0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e98], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x47ac], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x47ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x47b4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x47b0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x47b0]
mov dl, al
mov eax, dword [esp + 0x47b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7320a7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x47a0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x47a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x47a4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x47a4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x47a8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x47a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7320a2
mov dword [esp + 0x4e94], 0
cmp dword [esp + 0x4e94], 9
jae 0x73209d
movsd xmm0, qword [esp + 0x4e98]
cvtsi2sd xmm1, dword [esp + 0x4e94]
addsd xmm0, xmm1
movsd qword [esp + 0x4798], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4798]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x731fff
jp 0x731fff
movsd xmm0, qword [esp + 0x4e98]
movsd qword [esp + 0x4e98], xmm0
jmp 0x731ea7
movsd xmm0, qword [esp + 0x4e98]
cvtsi2sd xmm1, dword [esp + 0x4e94]
addsd xmm0, xmm1
movsd qword [esp + 0x4790], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4790]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73208d
jp 0x73208d
mov eax, dword [esp + 0x4e94]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e98]
addsd xmm0, xmm1
movsd qword [esp + 0x4e98], xmm0
movsd xmm0, qword [esp + 0x4e98]
cvtsi2sd xmm1, dword [esp + 0x4e94]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ea8], eax
jmp 0x732159
mov dword [esp + 0x4ea8], 2
jmp 0x732159
jmp 0x731ea7
jmp 0x7320ac
jmp 0x7320ac
movsd xmm0, qword [esp + 0x4e98]
movsd qword [esp + 0x4780], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4778], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4778]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x478c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x477c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x477c]
movsd xmm0, qword [esp + 0x4780]
mov dl, al
mov eax, dword [esp + 0x478c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4ea8], eax
mov edx, dword [esp + 0x47b8]
xor edx, dword [esp + 0x4ea8]
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4774], eax
mov eax, dword [esp + 0x4e44]
add eax, 0x5a
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4e88], xmm0
xor eax, eax
je 0x7321b0
add byte [ecx + 0x4e902484], cl
add byte [eax], al
mov dword [esp + 0x4e90], eax
movsd xmm0, qword [esp + 0x4e88]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e80], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4768], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4768]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4770], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x476c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x476c]
mov dl, al
mov eax, dword [esp + 0x4770]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7323e6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x475c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x475c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4760], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4760]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4764], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4764]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7323e1
mov dword [esp + 0x4e7c], 0
cmp dword [esp + 0x4e7c], 9
jae 0x7323dc
movsd xmm0, qword [esp + 0x4e80]
cvtsi2sd xmm1, dword [esp + 0x4e7c]
addsd xmm0, xmm1
movsd qword [esp + 0x4750], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4750]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73233e
jp 0x73233e
movsd xmm0, qword [esp + 0x4e80]
movsd qword [esp + 0x4e80], xmm0
jmp 0x7321e6
movsd xmm0, qword [esp + 0x4e80]
cvtsi2sd xmm1, dword [esp + 0x4e7c]
addsd xmm0, xmm1
movsd qword [esp + 0x4748], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4748]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7323cc
jp 0x7323cc
mov eax, dword [esp + 0x4e7c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e80]
addsd xmm0, xmm1
movsd qword [esp + 0x4e80], xmm0
movsd xmm0, qword [esp + 0x4e80]
cvtsi2sd xmm1, dword [esp + 0x4e7c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e90], eax
jmp 0x732498
mov dword [esp + 0x4e90], 2
jmp 0x732498
jmp 0x7321e6
jmp 0x7323eb
jmp 0x7323eb
movsd xmm0, qword [esp + 0x4e80]
movsd qword [esp + 0x4738], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4730], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4730]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4744], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4734], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4734]
movsd xmm0, qword [esp + 0x4738]
mov dl, al
mov eax, dword [esp + 0x4744]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e90], eax
mov eax, dword [esp + 0x4774]
add eax, dword [esp + 0x4e90]
mov dword [esp + 0x4728], eax
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x472c], eax
mov eax, dword [esp + 0x4e44]
add eax, 0x5a
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4e70], xmm0
xor eax, eax
je 0x7324e5
add byte [ecx + 0x4e782484], cl
add byte [eax], al
mov dword [esp + 0x4e78], eax
movsd xmm0, qword [esp + 0x4e70]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e68], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x471c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x471c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4724], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4720], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4720]
mov dl, al
mov eax, dword [esp + 0x4724]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73271b
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4710], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4710]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4714], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4714]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4718], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4718]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732716
mov dword [esp + 0x4e64], 0
cmp dword [esp + 0x4e64], 9
jae 0x732711
movsd xmm0, qword [esp + 0x4e68]
cvtsi2sd xmm1, dword [esp + 0x4e64]
addsd xmm0, xmm1
movsd qword [esp + 0x4708], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4708]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x732673
jp 0x732673
movsd xmm0, qword [esp + 0x4e68]
movsd qword [esp + 0x4e68], xmm0
jmp 0x73251b
movsd xmm0, qword [esp + 0x4e68]
cvtsi2sd xmm1, dword [esp + 0x4e64]
addsd xmm0, xmm1
movsd qword [esp + 0x4700], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4700]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x732701
jp 0x732701
mov eax, dword [esp + 0x4e64]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e68]
addsd xmm0, xmm1
movsd qword [esp + 0x4e68], xmm0
movsd xmm0, qword [esp + 0x4e68]
cvtsi2sd xmm1, dword [esp + 0x4e64]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e78], eax
jmp 0x7327cd
mov dword [esp + 0x4e78], 2
jmp 0x7327cd
jmp 0x73251b
jmp 0x732720
jmp 0x732720
movsd xmm0, qword [esp + 0x4e68]
movsd qword [esp + 0x46f0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x46e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x46e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x46ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x46ec]
movsd xmm0, qword [esp + 0x46f0]
mov dl, al
mov eax, dword [esp + 0x46fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e78], eax
mov edx, dword [esp + 0x4728]
mov eax, dword [esp + 0x472c]
and eax, dword [esp + 0x4e78]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x46dc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x46dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46e0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x46e0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x46e4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x46e4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732b9e
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x46d8], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x4e58], xmm0
xor eax, eax
je 0x732897
add byte [ecx + 0x4e602484], cl
add byte [eax], al
mov dword [esp + 0x4e60], eax
movsd xmm0, qword [esp + 0x4e58]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e50], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x46cc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x46cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x46d0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x46d0]
mov dl, al
mov eax, dword [esp + 0x46d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732acd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x46c0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x46c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46c4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x46c4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x46c8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x46c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732ac8
mov dword [esp + 0x4e4c], 0
cmp dword [esp + 0x4e4c], 9
jae 0x732ac3
movsd xmm0, qword [esp + 0x4e50]
cvtsi2sd xmm1, dword [esp + 0x4e4c]
addsd xmm0, xmm1
movsd qword [esp + 0x46b8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x46b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x732a25
jp 0x732a25
movsd xmm0, qword [esp + 0x4e50]
movsd qword [esp + 0x4e50], xmm0
jmp 0x7328cd
movsd xmm0, qword [esp + 0x4e50]
cvtsi2sd xmm1, dword [esp + 0x4e4c]
addsd xmm0, xmm1
movsd qword [esp + 0x46b0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x46b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x732ab3
jp 0x732ab3
mov eax, dword [esp + 0x4e4c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e50]
addsd xmm0, xmm1
movsd qword [esp + 0x4e50], xmm0
movsd xmm0, qword [esp + 0x4e50]
cvtsi2sd xmm1, dword [esp + 0x4e4c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e60], eax
jmp 0x732b7f
mov dword [esp + 0x4e60], 2
jmp 0x732b7f
jmp 0x7328cd
jmp 0x732ad2
jmp 0x732ad2
movsd xmm0, qword [esp + 0x4e50]
movsd qword [esp + 0x46a0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4698], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4698]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x469c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x469c]
movsd xmm0, qword [esp + 0x46a0]
mov dl, al
mov eax, dword [esp + 0x46ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e60], eax
mov edx, dword [esp + 0x46d8]
xor edx, dword [esp + 0x4e60]
mov eax, dword [esp + 0x4e48]
mov ecx, dword [esp + 0x4e44]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4e44]
add eax, 1
mov dword [esp + 0x4e44], eax
jmp 0x7315fc
jmp 0x732bb9
mov eax, dword [esp + 0x487c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4bbc], eax
lea ecx, [esp + 0x4bb3]
call fcn.007661a6
mov dword [esp + 0x4bd4], eax
mov eax, dword [esp + 0x4bd4]
mov dword [esp + 0x4d0c], eax
mov eax, dword [esp + 0x4d0c]
mov dword [esp + 0x4694], eax
test byte [eax + 4], 1
jne 0x7341dc
mov eax, dword [esp + 0x4694]
mov dword [esp + 0x4db0], eax
mov dword [esp + 0x4dac], 0
cmp dword [esp + 0x4dac], 1
jae 0x7341d7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4688], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4688]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x468c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x468c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4690], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4690]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732fd4
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4684], eax
movsd xmm0, qword [0x786858]
movsd qword [esp + 0x4e38], xmm0
xor eax, eax
je 0x732ccd
add byte [ecx + 0x4e402484], cl
add byte [eax], al
mov dword [esp + 0x4e40], eax
movsd xmm0, qword [esp + 0x4e38]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e30], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4678], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4678]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4680], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x467c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x467c]
mov dl, al
mov eax, dword [esp + 0x4680]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732f03
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x466c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x466c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4670], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4670]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4674], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4674]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x732efe
mov dword [esp + 0x4e2c], 0
cmp dword [esp + 0x4e2c], 9
jae 0x732ef9
movsd xmm0, qword [esp + 0x4e30]
cvtsi2sd xmm1, dword [esp + 0x4e2c]
addsd xmm0, xmm1
movsd qword [esp + 0x4660], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4660]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x732e5b
jp 0x732e5b
movsd xmm0, qword [esp + 0x4e30]
movsd qword [esp + 0x4e30], xmm0
jmp 0x732d03
movsd xmm0, qword [esp + 0x4e30]
cvtsi2sd xmm1, dword [esp + 0x4e2c]
addsd xmm0, xmm1
movsd qword [esp + 0x4658], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4658]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x732ee9
jp 0x732ee9
mov eax, dword [esp + 0x4e2c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e30]
addsd xmm0, xmm1
movsd qword [esp + 0x4e30], xmm0
movsd xmm0, qword [esp + 0x4e30]
cvtsi2sd xmm1, dword [esp + 0x4e2c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e40], eax
jmp 0x732fb5
mov dword [esp + 0x4e40], 2
jmp 0x732fb5
jmp 0x732d03
jmp 0x732f08
jmp 0x732f08
movsd xmm0, qword [esp + 0x4e30]
movsd qword [esp + 0x4648], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4640], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4640]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4654], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4644], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4644]
movsd xmm0, qword [esp + 0x4648]
mov dl, al
mov eax, dword [esp + 0x4654]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e40], eax
mov edx, dword [esp + 0x4684]
xor edx, dword [esp + 0x4e40]
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4634], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4634]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x463c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x4638], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4638]
mov dl, al
mov eax, dword [esp + 0x463c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x733e1a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4628], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4628]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x462c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x462c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4630], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4630]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7333f4
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4624], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x4e20], xmm0
xor eax, eax
je 0x7330ed
add byte [ecx + 0x4e282484], cl
add byte [eax], al
mov dword [esp + 0x4e28], eax
movsd xmm0, qword [esp + 0x4e20]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e18], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4618], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4618]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4620], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x461c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x461c]
mov dl, al
mov eax, dword [esp + 0x4620]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x733323
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x460c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x460c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4610], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4610]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4614], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4614]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73331e
mov dword [esp + 0x4e14], 0
cmp dword [esp + 0x4e14], 9
jae 0x733319
movsd xmm0, qword [esp + 0x4e18]
cvtsi2sd xmm1, dword [esp + 0x4e14]
addsd xmm0, xmm1
movsd qword [esp + 0x4600], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4600]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73327b
jp 0x73327b
movsd xmm0, qword [esp + 0x4e18]
movsd qword [esp + 0x4e18], xmm0
jmp 0x733123
movsd xmm0, qword [esp + 0x4e18]
cvtsi2sd xmm1, dword [esp + 0x4e14]
addsd xmm0, xmm1
movsd qword [esp + 0x45f8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x45f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x733309
jp 0x733309
mov eax, dword [esp + 0x4e14]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e18]
addsd xmm0, xmm1
movsd qword [esp + 0x4e18], xmm0
movsd xmm0, qword [esp + 0x4e18]
cvtsi2sd xmm1, dword [esp + 0x4e14]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e28], eax
jmp 0x7333d5
mov dword [esp + 0x4e28], 2
jmp 0x7333d5
jmp 0x733123
jmp 0x733328
jmp 0x733328
movsd xmm0, qword [esp + 0x4e18]
movsd qword [esp + 0x45e8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x45e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x45e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x45e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x45e4]
movsd xmm0, qword [esp + 0x45e8]
mov dl, al
mov eax, dword [esp + 0x45f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e28], eax
mov edx, dword [esp + 0x4624]
xor edx, dword [esp + 0x4e28]
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x45d4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x45d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45d8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x45d8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x45dc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x45dc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73379b
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x45d0], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x4e08], xmm0
xor eax, eax
je 0x733494
add byte [ecx + 0x4e102484], cl
add byte [eax], al
mov dword [esp + 0x4e10], eax
movsd xmm0, qword [esp + 0x4e08]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4e00], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x45c4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x45c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45cc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x45c8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x45c8]
mov dl, al
mov eax, dword [esp + 0x45cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7336ca
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x45b8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x45b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45bc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x45bc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x45c0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x45c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7336c5
mov dword [esp + 0x4dfc], 0
cmp dword [esp + 0x4dfc], 9
jae 0x7336c0
movsd xmm0, qword [esp + 0x4e00]
cvtsi2sd xmm1, dword [esp + 0x4dfc]
addsd xmm0, xmm1
movsd qword [esp + 0x45b0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x45b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x733622
jp 0x733622
movsd xmm0, qword [esp + 0x4e00]
movsd qword [esp + 0x4e00], xmm0
jmp 0x7334ca
movsd xmm0, qword [esp + 0x4e00]
cvtsi2sd xmm1, dword [esp + 0x4dfc]
addsd xmm0, xmm1
movsd qword [esp + 0x45a8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x45a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7336b0
jp 0x7336b0
mov eax, dword [esp + 0x4dfc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4e00]
addsd xmm0, xmm1
movsd qword [esp + 0x4e00], xmm0
movsd xmm0, qword [esp + 0x4e00]
cvtsi2sd xmm1, dword [esp + 0x4dfc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e10], eax
jmp 0x73377c
mov dword [esp + 0x4e10], 2
jmp 0x73377c
jmp 0x7334ca
jmp 0x7336cf
jmp 0x7336cf
movsd xmm0, qword [esp + 0x4e00]
movsd qword [esp + 0x4598], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4590], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4590]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4594], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4594]
movsd xmm0, qword [esp + 0x4598]
mov dl, al
mov eax, dword [esp + 0x45a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4e10], eax
mov edx, dword [esp + 0x45d0]
xor edx, dword [esp + 0x4e10]
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x458c], eax
mov eax, dword [esp + 0x4dac]
add eax, 0x5a
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4df0], xmm0
xor eax, eax
je 0x7337d3
add byte [ecx + 0x4df82484], cl
add byte [eax], al
mov dword [esp + 0x4df8], eax
movsd xmm0, qword [esp + 0x4df0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4de8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4580], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4580]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4588], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4584], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4584]
mov dl, al
mov eax, dword [esp + 0x4588]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x733a09
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4574], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4574]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4578], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4578]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x457c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x457c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x733a04
mov dword [esp + 0x4de4], 0
cmp dword [esp + 0x4de4], 9
jae 0x7339ff
movsd xmm0, qword [esp + 0x4de8]
cvtsi2sd xmm1, dword [esp + 0x4de4]
addsd xmm0, xmm1
movsd qword [esp + 0x4568], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4568]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x733961
jp 0x733961
movsd xmm0, qword [esp + 0x4de8]
movsd qword [esp + 0x4de8], xmm0
jmp 0x733809
movsd xmm0, qword [esp + 0x4de8]
cvtsi2sd xmm1, dword [esp + 0x4de4]
addsd xmm0, xmm1
movsd qword [esp + 0x4560], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4560]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7339ef
jp 0x7339ef
mov eax, dword [esp + 0x4de4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4de8]
addsd xmm0, xmm1
movsd qword [esp + 0x4de8], xmm0
movsd xmm0, qword [esp + 0x4de8]
cvtsi2sd xmm1, dword [esp + 0x4de4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4df8], eax
jmp 0x733abb
mov dword [esp + 0x4df8], 2
jmp 0x733abb
jmp 0x733809
jmp 0x733a0e
jmp 0x733a0e
movsd xmm0, qword [esp + 0x4de8]
movsd qword [esp + 0x4550], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4548], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4548]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x455c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x454c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x454c]
movsd xmm0, qword [esp + 0x4550]
mov dl, al
mov eax, dword [esp + 0x455c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4df8], eax
mov eax, dword [esp + 0x458c]
add eax, dword [esp + 0x4df8]
mov dword [esp + 0x4540], eax
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4544], eax
mov eax, dword [esp + 0x4dac]
add eax, 0x5a
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4dd8], xmm0
xor eax, eax
je 0x733b08
add byte [ecx + 0x4de02484], cl
add byte [eax], al
mov dword [esp + 0x4de0], eax
movsd xmm0, qword [esp + 0x4dd8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4dd0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4534], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4534]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x453c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4538], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4538]
mov dl, al
mov eax, dword [esp + 0x453c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x733d3e
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4528], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4528]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x452c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x452c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4530], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4530]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x733d39
mov dword [esp + 0x4dcc], 0
cmp dword [esp + 0x4dcc], 9
jae 0x733d34
movsd xmm0, qword [esp + 0x4dd0]
cvtsi2sd xmm1, dword [esp + 0x4dcc]
addsd xmm0, xmm1
movsd qword [esp + 0x4520], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4520]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x733c96
jp 0x733c96
movsd xmm0, qword [esp + 0x4dd0]
movsd qword [esp + 0x4dd0], xmm0
jmp 0x733b3e
movsd xmm0, qword [esp + 0x4dd0]
cvtsi2sd xmm1, dword [esp + 0x4dcc]
addsd xmm0, xmm1
movsd qword [esp + 0x4518], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4518]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x733d24
jp 0x733d24
mov eax, dword [esp + 0x4dcc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4dd0]
addsd xmm0, xmm1
movsd qword [esp + 0x4dd0], xmm0
movsd xmm0, qword [esp + 0x4dd0]
cvtsi2sd xmm1, dword [esp + 0x4dcc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4de0], eax
jmp 0x733df0
mov dword [esp + 0x4de0], 2
jmp 0x733df0
jmp 0x733b3e
jmp 0x733d43
jmp 0x733d43
movsd xmm0, qword [esp + 0x4dd0]
movsd qword [esp + 0x4508], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4500], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4500]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4514], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4504], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4504]
movsd xmm0, qword [esp + 0x4508]
mov dl, al
mov eax, dword [esp + 0x4514]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4de0], eax
mov edx, dword [esp + 0x4540]
mov eax, dword [esp + 0x4544]
and eax, dword [esp + 0x4de0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x44f4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x44f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44f8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x44f8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x44fc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x44fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7341c1
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x44f0], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x4dc0], xmm0
xor eax, eax
je 0x733eba
add byte [ecx + 0x4dc82484], cl
add byte [eax], al
mov dword [esp + 0x4dc8], eax
movsd xmm0, qword [esp + 0x4dc0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4db8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x44e4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x44e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x44e8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x44e8]
mov dl, al
mov eax, dword [esp + 0x44ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7340f0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x44d8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x44d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44dc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x44dc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x44e0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x44e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7340eb
mov dword [esp + 0x4db4], 0
cmp dword [esp + 0x4db4], 9
jae 0x7340e6
movsd xmm0, qword [esp + 0x4db8]
cvtsi2sd xmm1, dword [esp + 0x4db4]
addsd xmm0, xmm1
movsd qword [esp + 0x44d0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x44d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734048
jp 0x734048
movsd xmm0, qword [esp + 0x4db8]
movsd qword [esp + 0x4db8], xmm0
jmp 0x733ef0
movsd xmm0, qword [esp + 0x4db8]
cvtsi2sd xmm1, dword [esp + 0x4db4]
addsd xmm0, xmm1
movsd qword [esp + 0x44c8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x44c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7340d6
jp 0x7340d6
mov eax, dword [esp + 0x4db4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4db8]
addsd xmm0, xmm1
movsd qword [esp + 0x4db8], xmm0
movsd xmm0, qword [esp + 0x4db8]
cvtsi2sd xmm1, dword [esp + 0x4db4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4dc8], eax
jmp 0x7341a2
mov dword [esp + 0x4dc8], 2
jmp 0x7341a2
jmp 0x733ef0
jmp 0x7340f5
jmp 0x7340f5
movsd xmm0, qword [esp + 0x4db8]
movsd qword [esp + 0x44b8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x44b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x44b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x44b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x44b4]
movsd xmm0, qword [esp + 0x44b8]
mov dl, al
mov eax, dword [esp + 0x44c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4dc8], eax
mov edx, dword [esp + 0x44f0]
xor edx, dword [esp + 0x4dc8]
mov eax, dword [esp + 0x4db0]
mov ecx, dword [esp + 0x4dac]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4dac]
add eax, 1
mov dword [esp + 0x4dac], eax
jmp 0x732c1f
jmp 0x7341dc
mov eax, dword [esp + 0x4694]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4bb4], eax
mov eax, dword [esp + 0x4bbc]
mov dword [esp + 0x4bc4], eax
cmp eax, 0
je 0x74097a
lea ecx, [esp + 0x4bb2]
call fcn.00766294
mov dword [esp + 0x4bd0], eax
mov eax, dword [esp + 0x4bd0]
mov dword [esp + 0x4d10], eax
mov eax, dword [esp + 0x4d10]
mov dword [esp + 0x44ac], eax
test byte [eax + 4], 1
jne 0x735816
mov eax, dword [esp + 0x44ac]
mov dword [esp + 0x4d18], eax
mov dword [esp + 0x4d14], 0
cmp dword [esp + 0x4d14], 1
jae 0x735811
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x44a0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x44a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44a4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x44a4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x44a8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x44a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73460e
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x449c], eax
movsd xmm0, qword [0x786858]
movsd qword [esp + 0x4da0], xmm0
xor eax, eax
je 0x734307
add byte [ecx + 0x4da82484], cl
add byte [eax], al
mov dword [esp + 0x4da8], eax
movsd xmm0, qword [esp + 0x4da0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4d98], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4490], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4490]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4498], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4494], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4494]
mov dl, al
mov eax, dword [esp + 0x4498]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73453d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4484], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4484]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4488], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4488]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x448c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x448c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x734538
mov dword [esp + 0x4d94], 0
cmp dword [esp + 0x4d94], 9
jae 0x734533
movsd xmm0, qword [esp + 0x4d98]
cvtsi2sd xmm1, dword [esp + 0x4d94]
addsd xmm0, xmm1
movsd qword [esp + 0x4478], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4478]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734495
jp 0x734495
movsd xmm0, qword [esp + 0x4d98]
movsd qword [esp + 0x4d98], xmm0
jmp 0x73433d
movsd xmm0, qword [esp + 0x4d98]
cvtsi2sd xmm1, dword [esp + 0x4d94]
addsd xmm0, xmm1
movsd qword [esp + 0x4470], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4470]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734523
jp 0x734523
mov eax, dword [esp + 0x4d94]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4d98]
addsd xmm0, xmm1
movsd qword [esp + 0x4d98], xmm0
movsd xmm0, qword [esp + 0x4d98]
cvtsi2sd xmm1, dword [esp + 0x4d94]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4da8], eax
jmp 0x7345ef
mov dword [esp + 0x4da8], 2
jmp 0x7345ef
jmp 0x73433d
jmp 0x734542
jmp 0x734542
movsd xmm0, qword [esp + 0x4d98]
movsd qword [esp + 0x4460], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4458], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4458]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x446c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x445c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x445c]
movsd xmm0, qword [esp + 0x4460]
mov dl, al
mov eax, dword [esp + 0x446c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4da8], eax
mov edx, dword [esp + 0x449c]
xor edx, dword [esp + 0x4da8]
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x444c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x444c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4454], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x4450], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4450]
mov dl, al
mov eax, dword [esp + 0x4454]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735454
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4440], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4440]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4444], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4444]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4448], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4448]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x734a2e
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x443c], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x4d88], xmm0
xor eax, eax
je 0x734727
add byte [ecx + 0x4d902484], cl
add byte [eax], al
mov dword [esp + 0x4d90], eax
movsd xmm0, qword [esp + 0x4d88]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4d80], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4430], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4430]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4438], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4434], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4434]
mov dl, al
mov eax, dword [esp + 0x4438]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73495d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4424], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4424]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4428], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4428]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x442c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x442c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x734958
mov dword [esp + 0x4d7c], 0
cmp dword [esp + 0x4d7c], 9
jae 0x734953
movsd xmm0, qword [esp + 0x4d80]
cvtsi2sd xmm1, dword [esp + 0x4d7c]
addsd xmm0, xmm1
movsd qword [esp + 0x4418], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4418]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7348b5
jp 0x7348b5
movsd xmm0, qword [esp + 0x4d80]
movsd qword [esp + 0x4d80], xmm0
jmp 0x73475d
movsd xmm0, qword [esp + 0x4d80]
cvtsi2sd xmm1, dword [esp + 0x4d7c]
addsd xmm0, xmm1
movsd qword [esp + 0x4410], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4410]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734943
jp 0x734943
mov eax, dword [esp + 0x4d7c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4d80]
addsd xmm0, xmm1
movsd qword [esp + 0x4d80], xmm0
movsd xmm0, qword [esp + 0x4d80]
cvtsi2sd xmm1, dword [esp + 0x4d7c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d90], eax
jmp 0x734a0f
mov dword [esp + 0x4d90], 2
jmp 0x734a0f
jmp 0x73475d
jmp 0x734962
jmp 0x734962
movsd xmm0, qword [esp + 0x4d80]
movsd qword [esp + 0x4400], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x43f8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x43f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x440c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x43fc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x43fc]
movsd xmm0, qword [esp + 0x4400]
mov dl, al
mov eax, dword [esp + 0x440c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d90], eax
mov edx, dword [esp + 0x443c]
xor edx, dword [esp + 0x4d90]
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x43ec], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x43ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x43f0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x43f0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x43f4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x43f4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x734dd5
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x43e8], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x4d70], xmm0
xor eax, eax
je 0x734ace
add byte [ecx + 0x4d782484], cl
add byte [eax], al
mov dword [esp + 0x4d78], eax
movsd xmm0, qword [esp + 0x4d70]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4d68], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x43dc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x43dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x43e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x43e0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x43e0]
mov dl, al
mov eax, dword [esp + 0x43e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x734d04
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x43d0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x43d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x43d4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x43d4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x43d8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x43d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x734cff
mov dword [esp + 0x4d64], 0
cmp dword [esp + 0x4d64], 9
jae 0x734cfa
movsd xmm0, qword [esp + 0x4d68]
cvtsi2sd xmm1, dword [esp + 0x4d64]
addsd xmm0, xmm1
movsd qword [esp + 0x43c8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x43c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734c5c
jp 0x734c5c
movsd xmm0, qword [esp + 0x4d68]
movsd qword [esp + 0x4d68], xmm0
jmp 0x734b04
movsd xmm0, qword [esp + 0x4d68]
cvtsi2sd xmm1, dword [esp + 0x4d64]
addsd xmm0, xmm1
movsd qword [esp + 0x43c0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x43c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734cea
jp 0x734cea
mov eax, dword [esp + 0x4d64]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4d68]
addsd xmm0, xmm1
movsd qword [esp + 0x4d68], xmm0
movsd xmm0, qword [esp + 0x4d68]
cvtsi2sd xmm1, dword [esp + 0x4d64]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d78], eax
jmp 0x734db6
mov dword [esp + 0x4d78], 2
jmp 0x734db6
jmp 0x734b04
jmp 0x734d09
jmp 0x734d09
movsd xmm0, qword [esp + 0x4d68]
movsd qword [esp + 0x43b0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x43a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x43a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x43bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x43ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x43ac]
movsd xmm0, qword [esp + 0x43b0]
mov dl, al
mov eax, dword [esp + 0x43bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d78], eax
mov edx, dword [esp + 0x43e8]
xor edx, dword [esp + 0x4d78]
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x43a4], eax
mov eax, dword [esp + 0x4d14]
add eax, 0x5a
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4d58], xmm0
xor eax, eax
je 0x734e0d
add byte [ecx + 0x4d602484], cl
add byte [eax], al
mov dword [esp + 0x4d60], eax
movsd xmm0, qword [esp + 0x4d58]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4d50], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4398], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4398]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x43a0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x439c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x439c]
mov dl, al
mov eax, dword [esp + 0x43a0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735043
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x438c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x438c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4390], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4390]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4394], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4394]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73503e
mov dword [esp + 0x4d4c], 0
cmp dword [esp + 0x4d4c], 9
jae 0x735039
movsd xmm0, qword [esp + 0x4d50]
cvtsi2sd xmm1, dword [esp + 0x4d4c]
addsd xmm0, xmm1
movsd qword [esp + 0x4380], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4380]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x734f9b
jp 0x734f9b
movsd xmm0, qword [esp + 0x4d50]
movsd qword [esp + 0x4d50], xmm0
jmp 0x734e43
movsd xmm0, qword [esp + 0x4d50]
cvtsi2sd xmm1, dword [esp + 0x4d4c]
addsd xmm0, xmm1
movsd qword [esp + 0x4378], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4378]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735029
jp 0x735029
mov eax, dword [esp + 0x4d4c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4d50]
addsd xmm0, xmm1
movsd qword [esp + 0x4d50], xmm0
movsd xmm0, qword [esp + 0x4d50]
cvtsi2sd xmm1, dword [esp + 0x4d4c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d60], eax
jmp 0x7350f5
mov dword [esp + 0x4d60], 2
jmp 0x7350f5
jmp 0x734e43
jmp 0x735048
jmp 0x735048
movsd xmm0, qword [esp + 0x4d50]
movsd qword [esp + 0x4368], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4360], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4360]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4374], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4364], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4364]
movsd xmm0, qword [esp + 0x4368]
mov dl, al
mov eax, dword [esp + 0x4374]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d60], eax
mov eax, dword [esp + 0x43a4]
add eax, dword [esp + 0x4d60]
mov dword [esp + 0x4358], eax
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x435c], eax
mov eax, dword [esp + 0x4d14]
add eax, 0x5a
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4d40], xmm0
xor eax, eax
je 0x735142
add byte [ecx + 0x4d482484], cl
add byte [eax], al
mov dword [esp + 0x4d48], eax
movsd xmm0, qword [esp + 0x4d40]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4d38], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x434c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x434c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4354], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4350], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4350]
mov dl, al
mov eax, dword [esp + 0x4354]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735378
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4340], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4340]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4344], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4344]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4348], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4348]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735373
mov dword [esp + 0x4d34], 0
cmp dword [esp + 0x4d34], 9
jae 0x73536e
movsd xmm0, qword [esp + 0x4d38]
cvtsi2sd xmm1, dword [esp + 0x4d34]
addsd xmm0, xmm1
movsd qword [esp + 0x4338], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4338]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7352d0
jp 0x7352d0
movsd xmm0, qword [esp + 0x4d38]
movsd qword [esp + 0x4d38], xmm0
jmp 0x735178
movsd xmm0, qword [esp + 0x4d38]
cvtsi2sd xmm1, dword [esp + 0x4d34]
addsd xmm0, xmm1
movsd qword [esp + 0x4330], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4330]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73535e
jp 0x73535e
mov eax, dword [esp + 0x4d34]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4d38]
addsd xmm0, xmm1
movsd qword [esp + 0x4d38], xmm0
movsd xmm0, qword [esp + 0x4d38]
cvtsi2sd xmm1, dword [esp + 0x4d34]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d48], eax
jmp 0x73542a
mov dword [esp + 0x4d48], 2
jmp 0x73542a
jmp 0x735178
jmp 0x73537d
jmp 0x73537d
movsd xmm0, qword [esp + 0x4d38]
movsd qword [esp + 0x4320], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4318], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4318]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x432c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x431c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x431c]
movsd xmm0, qword [esp + 0x4320]
mov dl, al
mov eax, dword [esp + 0x432c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d48], eax
mov edx, dword [esp + 0x4358]
mov eax, dword [esp + 0x435c]
and eax, dword [esp + 0x4d48]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x430c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x430c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4310], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4310]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4314], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4314]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7357fb
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4308], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x4d28], xmm0
xor eax, eax
je 0x7354f4
add byte [ecx + 0x4d302484], cl
add byte [eax], al
mov dword [esp + 0x4d30], eax
movsd xmm0, qword [esp + 0x4d28]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4d20], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x42fc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x42fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4304], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4300], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4300]
mov dl, al
mov eax, dword [esp + 0x4304]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73572a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x42f0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x42f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x42f4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x42f4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x42f8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x42f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735725
mov dword [esp + 0x4d1c], 0
cmp dword [esp + 0x4d1c], 9
jae 0x735720
movsd xmm0, qword [esp + 0x4d20]
cvtsi2sd xmm1, dword [esp + 0x4d1c]
addsd xmm0, xmm1
movsd qword [esp + 0x42e8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x42e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735682
jp 0x735682
movsd xmm0, qword [esp + 0x4d20]
movsd qword [esp + 0x4d20], xmm0
jmp 0x73552a
movsd xmm0, qword [esp + 0x4d20]
cvtsi2sd xmm1, dword [esp + 0x4d1c]
addsd xmm0, xmm1
movsd qword [esp + 0x42e0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x42e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735710
jp 0x735710
mov eax, dword [esp + 0x4d1c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4d20]
addsd xmm0, xmm1
movsd qword [esp + 0x4d20], xmm0
movsd xmm0, qword [esp + 0x4d20]
cvtsi2sd xmm1, dword [esp + 0x4d1c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d30], eax
jmp 0x7357dc
mov dword [esp + 0x4d30], 2
jmp 0x7357dc
jmp 0x73552a
jmp 0x73572f
jmp 0x73572f
movsd xmm0, qword [esp + 0x4d20]
movsd qword [esp + 0x42d0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x42c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x42c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x42dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x42cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x42cc]
movsd xmm0, qword [esp + 0x42d0]
mov dl, al
mov eax, dword [esp + 0x42dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4d30], eax
mov edx, dword [esp + 0x4308]
xor edx, dword [esp + 0x4d30]
mov eax, dword [esp + 0x4d18]
mov ecx, dword [esp + 0x4d14]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4d14]
add eax, 1
mov dword [esp + 0x4d14], eax
jmp 0x734259
jmp 0x735816
mov eax, dword [esp + 0x44ac]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4bb4], eax
lea ecx, [esp + 0x4bab]
call fcn.00766382
mov dword [esp + 0x4be4], eax
mov eax, dword [esp + 0x4be4]
mov dword [esp + 0x4ee0], eax
mov eax, dword [esp + 0x4ee0]
mov dword [esp + 0x42c4], eax
test byte [eax + 4], 1
jne 0x736e39
mov eax, dword [esp + 0x42c4]
mov dword [esp + 0x5020], eax
mov dword [esp + 0x501c], 0
cmp dword [esp + 0x501c], 1
jae 0x736e34
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x42b8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x42b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x42bc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x42bc]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x42c0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x42c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735c31
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x42b4], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x50a8], xmm0
xor eax, eax
je 0x73592a
add byte [ecx + 0x50b02484], cl
add byte [eax], al
mov dword [esp + 0x50b0], eax
movsd xmm0, qword [esp + 0x50a8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x50a0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x42a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x42a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x42b0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x42ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x42ac]
mov dl, al
mov eax, dword [esp + 0x42b0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735b60
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x429c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x429c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x42a0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x42a0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x42a4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x42a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735b5b
mov dword [esp + 0x509c], 0
cmp dword [esp + 0x509c], 9
jae 0x735b56
movsd xmm0, qword [esp + 0x50a0]
cvtsi2sd xmm1, dword [esp + 0x509c]
addsd xmm0, xmm1
movsd qword [esp + 0x4290], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4290]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735ab8
jp 0x735ab8
movsd xmm0, qword [esp + 0x50a0]
movsd qword [esp + 0x50a0], xmm0
jmp 0x735960
movsd xmm0, qword [esp + 0x50a0]
cvtsi2sd xmm1, dword [esp + 0x509c]
addsd xmm0, xmm1
movsd qword [esp + 0x4288], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4288]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735b46
jp 0x735b46
mov eax, dword [esp + 0x509c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x50a0]
addsd xmm0, xmm1
movsd qword [esp + 0x50a0], xmm0
movsd xmm0, qword [esp + 0x50a0]
cvtsi2sd xmm1, dword [esp + 0x509c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x50b0], eax
jmp 0x735c12
mov dword [esp + 0x50b0], 2
jmp 0x735c12
jmp 0x735960
jmp 0x735b65
jmp 0x735b65
movsd xmm0, qword [esp + 0x50a0]
movsd qword [esp + 0x4278], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4270], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4270]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4284], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4274], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4274]
movsd xmm0, qword [esp + 0x4278]
mov dl, al
mov eax, dword [esp + 0x4284]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x50b0], eax
mov edx, dword [esp + 0x42b4]
xor edx, dword [esp + 0x50b0]
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4264], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4264]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x426c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x4268], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4268]
mov dl, al
mov eax, dword [esp + 0x426c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736a77
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4258], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4258]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x425c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x425c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4260], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4260]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736051
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4254], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x5090], xmm0
xor eax, eax
je 0x735d4a
add byte [ecx + 0x50982484], cl
add byte [eax], al
mov dword [esp + 0x5098], eax
movsd xmm0, qword [esp + 0x5090]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5088], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4248], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4248]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4250], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x424c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x424c]
mov dl, al
mov eax, dword [esp + 0x4250]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735f80
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x423c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x423c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4240], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4240]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4244], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4244]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x735f7b
mov dword [esp + 0x5084], 0
cmp dword [esp + 0x5084], 9
jae 0x735f76
movsd xmm0, qword [esp + 0x5088]
cvtsi2sd xmm1, dword [esp + 0x5084]
addsd xmm0, xmm1
movsd qword [esp + 0x4230], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4230]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735ed8
jp 0x735ed8
movsd xmm0, qword [esp + 0x5088]
movsd qword [esp + 0x5088], xmm0
jmp 0x735d80
movsd xmm0, qword [esp + 0x5088]
cvtsi2sd xmm1, dword [esp + 0x5084]
addsd xmm0, xmm1
movsd qword [esp + 0x4228], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4228]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x735f66
jp 0x735f66
mov eax, dword [esp + 0x5084]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5088]
addsd xmm0, xmm1
movsd qword [esp + 0x5088], xmm0
movsd xmm0, qword [esp + 0x5088]
cvtsi2sd xmm1, dword [esp + 0x5084]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5098], eax
jmp 0x736032
mov dword [esp + 0x5098], 2
jmp 0x736032
jmp 0x735d80
jmp 0x735f85
jmp 0x735f85
movsd xmm0, qword [esp + 0x5088]
movsd qword [esp + 0x4218], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4210], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4210]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4224], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4214], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4214]
movsd xmm0, qword [esp + 0x4218]
mov dl, al
mov eax, dword [esp + 0x4224]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5098], eax
mov edx, dword [esp + 0x4254]
xor edx, dword [esp + 0x5098]
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4204], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4204]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4208], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4208]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x420c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x420c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7363f8
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4200], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x5078], xmm0
xor eax, eax
je 0x7360f1
add byte [ecx + 0x50802484], cl
add byte [eax], al
mov dword [esp + 0x5080], eax
movsd xmm0, qword [esp + 0x5078]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5070], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x41f4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x41f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x41f8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x41f8]
mov dl, al
mov eax, dword [esp + 0x41fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736327
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x41e8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x41e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41ec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x41ec]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x41f0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x41f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736322
mov dword [esp + 0x506c], 0
cmp dword [esp + 0x506c], 9
jae 0x73631d
movsd xmm0, qword [esp + 0x5070]
cvtsi2sd xmm1, dword [esp + 0x506c]
addsd xmm0, xmm1
movsd qword [esp + 0x41e0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x41e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73627f
jp 0x73627f
movsd xmm0, qword [esp + 0x5070]
movsd qword [esp + 0x5070], xmm0
jmp 0x736127
movsd xmm0, qword [esp + 0x5070]
cvtsi2sd xmm1, dword [esp + 0x506c]
addsd xmm0, xmm1
movsd qword [esp + 0x41d8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x41d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73630d
jp 0x73630d
mov eax, dword [esp + 0x506c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5070]
addsd xmm0, xmm1
movsd qword [esp + 0x5070], xmm0
movsd xmm0, qword [esp + 0x5070]
cvtsi2sd xmm1, dword [esp + 0x506c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5080], eax
jmp 0x7363d9
mov dword [esp + 0x5080], 2
jmp 0x7363d9
jmp 0x736127
jmp 0x73632c
jmp 0x73632c
movsd xmm0, qword [esp + 0x5070]
movsd qword [esp + 0x41c8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x41c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x41c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x41c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x41c4]
movsd xmm0, qword [esp + 0x41c8]
mov dl, al
mov eax, dword [esp + 0x41d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5080], eax
mov edx, dword [esp + 0x4200]
xor edx, dword [esp + 0x5080]
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x41bc], eax
mov eax, dword [esp + 0x501c]
add eax, 0x5b
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5060], xmm0
xor eax, eax
je 0x736430
add byte [ecx + 0x50682484], cl
add byte [eax], al
mov dword [esp + 0x5068], eax
movsd xmm0, qword [esp + 0x5060]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5058], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x41b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x41b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41b8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x41b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x41b4]
mov dl, al
mov eax, dword [esp + 0x41b8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736666
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x41a4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x41a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41a8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x41a8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x41ac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x41ac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736661
mov dword [esp + 0x5054], 0
cmp dword [esp + 0x5054], 9
jae 0x73665c
movsd xmm0, qword [esp + 0x5058]
cvtsi2sd xmm1, dword [esp + 0x5054]
addsd xmm0, xmm1
movsd qword [esp + 0x4198], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4198]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7365be
jp 0x7365be
movsd xmm0, qword [esp + 0x5058]
movsd qword [esp + 0x5058], xmm0
jmp 0x736466
movsd xmm0, qword [esp + 0x5058]
cvtsi2sd xmm1, dword [esp + 0x5054]
addsd xmm0, xmm1
movsd qword [esp + 0x4190], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4190]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73664c
jp 0x73664c
mov eax, dword [esp + 0x5054]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5058]
addsd xmm0, xmm1
movsd qword [esp + 0x5058], xmm0
movsd xmm0, qword [esp + 0x5058]
cvtsi2sd xmm1, dword [esp + 0x5054]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5068], eax
jmp 0x736718
mov dword [esp + 0x5068], 2
jmp 0x736718
jmp 0x736466
jmp 0x73666b
jmp 0x73666b
movsd xmm0, qword [esp + 0x5058]
movsd qword [esp + 0x4180], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4178], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4178]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x418c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x417c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x417c]
movsd xmm0, qword [esp + 0x4180]
mov dl, al
mov eax, dword [esp + 0x418c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5068], eax
mov eax, dword [esp + 0x41bc]
add eax, dword [esp + 0x5068]
mov dword [esp + 0x4170], eax
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4174], eax
mov eax, dword [esp + 0x501c]
add eax, 0x5b
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5048], xmm0
xor eax, eax
je 0x736765
add byte [ecx + 0x50502484], cl
add byte [eax], al
mov dword [esp + 0x5050], eax
movsd xmm0, qword [esp + 0x5048]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5040], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4164], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4164]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x416c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4168], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4168]
mov dl, al
mov eax, dword [esp + 0x416c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73699b
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4158], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4158]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x415c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x415c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4160], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4160]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736996
mov dword [esp + 0x503c], 0
cmp dword [esp + 0x503c], 9
jae 0x736991
movsd xmm0, qword [esp + 0x5040]
cvtsi2sd xmm1, dword [esp + 0x503c]
addsd xmm0, xmm1
movsd qword [esp + 0x4150], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4150]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7368f3
jp 0x7368f3
movsd xmm0, qword [esp + 0x5040]
movsd qword [esp + 0x5040], xmm0
jmp 0x73679b
movsd xmm0, qword [esp + 0x5040]
cvtsi2sd xmm1, dword [esp + 0x503c]
addsd xmm0, xmm1
movsd qword [esp + 0x4148], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4148]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x736981
jp 0x736981
mov eax, dword [esp + 0x503c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5040]
addsd xmm0, xmm1
movsd qword [esp + 0x5040], xmm0
movsd xmm0, qword [esp + 0x5040]
cvtsi2sd xmm1, dword [esp + 0x503c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5050], eax
jmp 0x736a4d
mov dword [esp + 0x5050], 2
jmp 0x736a4d
jmp 0x73679b
jmp 0x7369a0
jmp 0x7369a0
movsd xmm0, qword [esp + 0x5040]
movsd qword [esp + 0x4138], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4130], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4130]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4144], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4134], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4134]
movsd xmm0, qword [esp + 0x4138]
mov dl, al
mov eax, dword [esp + 0x4144]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5050], eax
mov edx, dword [esp + 0x4170]
mov eax, dword [esp + 0x4174]
and eax, dword [esp + 0x5050]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4124], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4124]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4128], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4128]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x412c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x412c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736e1e
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4120], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x5030], xmm0
xor eax, eax
je 0x736b17
add byte [ecx + 0x50382484], cl
add byte [eax], al
mov dword [esp + 0x5038], eax
movsd xmm0, qword [esp + 0x5030]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5028], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4114], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4114]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x411c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4118], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4118]
mov dl, al
mov eax, dword [esp + 0x411c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736d4d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4108], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4108]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x410c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x410c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4110], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4110]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x736d48
mov dword [esp + 0x5024], 0
cmp dword [esp + 0x5024], 9
jae 0x736d43
movsd xmm0, qword [esp + 0x5028]
cvtsi2sd xmm1, dword [esp + 0x5024]
addsd xmm0, xmm1
movsd qword [esp + 0x4100], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4100]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x736ca5
jp 0x736ca5
movsd xmm0, qword [esp + 0x5028]
movsd qword [esp + 0x5028], xmm0
jmp 0x736b4d
movsd xmm0, qword [esp + 0x5028]
cvtsi2sd xmm1, dword [esp + 0x5024]
addsd xmm0, xmm1
movsd qword [esp + 0x40f8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x40f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x736d33
jp 0x736d33
mov eax, dword [esp + 0x5024]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5028]
addsd xmm0, xmm1
movsd qword [esp + 0x5028], xmm0
movsd xmm0, qword [esp + 0x5028]
cvtsi2sd xmm1, dword [esp + 0x5024]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5038], eax
jmp 0x736dff
mov dword [esp + 0x5038], 2
jmp 0x736dff
jmp 0x736b4d
jmp 0x736d52
jmp 0x736d52
movsd xmm0, qword [esp + 0x5028]
movsd qword [esp + 0x40e8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x40e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x40e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x40f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x40e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x40e4]
movsd xmm0, qword [esp + 0x40e8]
mov dl, al
mov eax, dword [esp + 0x40f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5038], eax
mov edx, dword [esp + 0x4120]
xor edx, dword [esp + 0x5038]
mov eax, dword [esp + 0x5020]
mov ecx, dword [esp + 0x501c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x501c]
add eax, 1
mov dword [esp + 0x501c], eax
jmp 0x73587c
jmp 0x736e39
mov eax, dword [esp + 0x42c4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4bac], eax
lea ecx, [esp + 0x4ba3]
call fcn.00766470
mov dword [esp + 0x4be0], eax
mov eax, dword [esp + 0x4be0]
mov dword [esp + 0x4ee4], eax
mov eax, dword [esp + 0x4ee4]
mov dword [esp + 0x40dc], eax
test byte [eax + 4], 1
jne 0x73845c
mov eax, dword [esp + 0x40dc]
mov dword [esp + 0x4f88], eax
mov dword [esp + 0x4f84], 0
cmp dword [esp + 0x4f84], 1
jae 0x738457
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x40d0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x40d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x40d4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x40d4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x40d8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x40d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737254
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x40cc], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x5010], xmm0
xor eax, eax
je 0x736f4d
add byte [ecx + 0x50182484], cl
add byte [eax], al
mov dword [esp + 0x5018], eax
movsd xmm0, qword [esp + 0x5010]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5008], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x40c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x40c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x40c8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x40c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x40c4]
mov dl, al
mov eax, dword [esp + 0x40c8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737183
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x40b4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x40b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x40b8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x40b8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x40bc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x40bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73717e
mov dword [esp + 0x5004], 0
cmp dword [esp + 0x5004], 9
jae 0x737179
movsd xmm0, qword [esp + 0x5008]
cvtsi2sd xmm1, dword [esp + 0x5004]
addsd xmm0, xmm1
movsd qword [esp + 0x40a8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x40a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7370db
jp 0x7370db
movsd xmm0, qword [esp + 0x5008]
movsd qword [esp + 0x5008], xmm0
jmp 0x736f83
movsd xmm0, qword [esp + 0x5008]
cvtsi2sd xmm1, dword [esp + 0x5004]
addsd xmm0, xmm1
movsd qword [esp + 0x40a0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x40a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737169
jp 0x737169
mov eax, dword [esp + 0x5004]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5008]
addsd xmm0, xmm1
movsd qword [esp + 0x5008], xmm0
movsd xmm0, qword [esp + 0x5008]
cvtsi2sd xmm1, dword [esp + 0x5004]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5018], eax
jmp 0x737235
mov dword [esp + 0x5018], 2
jmp 0x737235
jmp 0x736f83
jmp 0x737188
jmp 0x737188
movsd xmm0, qword [esp + 0x5008]
movsd qword [esp + 0x4090], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4088], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4088]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x409c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x408c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x408c]
movsd xmm0, qword [esp + 0x4090]
mov dl, al
mov eax, dword [esp + 0x409c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5018], eax
mov edx, dword [esp + 0x40cc]
xor edx, dword [esp + 0x5018]
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x407c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x407c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4084], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x4080], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4080]
mov dl, al
mov eax, dword [esp + 0x4084]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73809a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4070], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4070]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4074], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4074]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4078], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4078]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737674
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x406c], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x4ff8], xmm0
xor eax, eax
je 0x73736d
add byte [ecx + 0x50002484], cl
add byte [eax], al
mov dword [esp + 0x5000], eax
movsd xmm0, qword [esp + 0x4ff8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4ff0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4060], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4060]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4068], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4064], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4064]
mov dl, al
mov eax, dword [esp + 0x4068]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7375a3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4054], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4054]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4058], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4058]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x405c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x405c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73759e
mov dword [esp + 0x4fec], 0
cmp dword [esp + 0x4fec], 9
jae 0x737599
movsd xmm0, qword [esp + 0x4ff0]
cvtsi2sd xmm1, dword [esp + 0x4fec]
addsd xmm0, xmm1
movsd qword [esp + 0x4048], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4048]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7374fb
jp 0x7374fb
movsd xmm0, qword [esp + 0x4ff0]
movsd qword [esp + 0x4ff0], xmm0
jmp 0x7373a3
movsd xmm0, qword [esp + 0x4ff0]
cvtsi2sd xmm1, dword [esp + 0x4fec]
addsd xmm0, xmm1
movsd qword [esp + 0x4040], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4040]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737589
jp 0x737589
mov eax, dword [esp + 0x4fec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4ff0]
addsd xmm0, xmm1
movsd qword [esp + 0x4ff0], xmm0
movsd xmm0, qword [esp + 0x4ff0]
cvtsi2sd xmm1, dword [esp + 0x4fec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5000], eax
jmp 0x737655
mov dword [esp + 0x5000], 2
jmp 0x737655
jmp 0x7373a3
jmp 0x7375a8
jmp 0x7375a8
movsd xmm0, qword [esp + 0x4ff0]
movsd qword [esp + 0x4030], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4028], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4028]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x403c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x402c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x402c]
movsd xmm0, qword [esp + 0x4030]
mov dl, al
mov eax, dword [esp + 0x403c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5000], eax
mov edx, dword [esp + 0x406c]
xor edx, dword [esp + 0x5000]
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x401c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x401c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4020], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4020]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4024], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4024]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737a1b
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4018], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x4fe0], xmm0
xor eax, eax
je 0x737714
add byte [ecx + 0x4fe82484], cl
add byte [eax], al
mov dword [esp + 0x4fe8], eax
movsd xmm0, qword [esp + 0x4fe0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4fd8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x400c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x400c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4014], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4010], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4010]
mov dl, al
mov eax, dword [esp + 0x4014]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73794a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4000], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4000]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4004], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4004]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4008], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4008]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737945
mov dword [esp + 0x4fd4], 0
cmp dword [esp + 0x4fd4], 9
jae 0x737940
movsd xmm0, qword [esp + 0x4fd8]
cvtsi2sd xmm1, dword [esp + 0x4fd4]
addsd xmm0, xmm1
movsd qword [esp + 0x3ff8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3ff8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7378a2
jp 0x7378a2
movsd xmm0, qword [esp + 0x4fd8]
movsd qword [esp + 0x4fd8], xmm0
jmp 0x73774a
movsd xmm0, qword [esp + 0x4fd8]
cvtsi2sd xmm1, dword [esp + 0x4fd4]
addsd xmm0, xmm1
movsd qword [esp + 0x3ff0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3ff0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737930
jp 0x737930
mov eax, dword [esp + 0x4fd4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4fd8]
addsd xmm0, xmm1
movsd qword [esp + 0x4fd8], xmm0
movsd xmm0, qword [esp + 0x4fd8]
cvtsi2sd xmm1, dword [esp + 0x4fd4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fe8], eax
jmp 0x7379fc
mov dword [esp + 0x4fe8], 2
jmp 0x7379fc
jmp 0x73774a
jmp 0x73794f
jmp 0x73794f
movsd xmm0, qword [esp + 0x4fd8]
movsd qword [esp + 0x3fe0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3fd8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3fd8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3fec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3fdc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3fdc]
movsd xmm0, qword [esp + 0x3fe0]
mov dl, al
mov eax, dword [esp + 0x3fec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fe8], eax
mov edx, dword [esp + 0x4018]
xor edx, dword [esp + 0x4fe8]
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3fd4], eax
mov eax, dword [esp + 0x4f84]
add eax, 0x5b
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4fc8], xmm0
xor eax, eax
je 0x737a53
add byte [ecx + 0x4fd02484], cl
add byte [eax], al
mov dword [esp + 0x4fd0], eax
movsd xmm0, qword [esp + 0x4fc8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4fc0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3fc8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3fc8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3fd0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3fcc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3fcc]
mov dl, al
mov eax, dword [esp + 0x3fd0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737c89
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3fbc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3fbc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3fc0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3fc0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3fc4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3fc4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737c84
mov dword [esp + 0x4fbc], 0
cmp dword [esp + 0x4fbc], 9
jae 0x737c7f
movsd xmm0, qword [esp + 0x4fc0]
cvtsi2sd xmm1, dword [esp + 0x4fbc]
addsd xmm0, xmm1
movsd qword [esp + 0x3fb0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3fb0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737be1
jp 0x737be1
movsd xmm0, qword [esp + 0x4fc0]
movsd qword [esp + 0x4fc0], xmm0
jmp 0x737a89
movsd xmm0, qword [esp + 0x4fc0]
cvtsi2sd xmm1, dword [esp + 0x4fbc]
addsd xmm0, xmm1
movsd qword [esp + 0x3fa8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3fa8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737c6f
jp 0x737c6f
mov eax, dword [esp + 0x4fbc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4fc0]
addsd xmm0, xmm1
movsd qword [esp + 0x4fc0], xmm0
movsd xmm0, qword [esp + 0x4fc0]
cvtsi2sd xmm1, dword [esp + 0x4fbc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fd0], eax
jmp 0x737d3b
mov dword [esp + 0x4fd0], 2
jmp 0x737d3b
jmp 0x737a89
jmp 0x737c8e
jmp 0x737c8e
movsd xmm0, qword [esp + 0x4fc0]
movsd qword [esp + 0x3f98], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3f90], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3f90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3fa4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3f94], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3f94]
movsd xmm0, qword [esp + 0x3f98]
mov dl, al
mov eax, dword [esp + 0x3fa4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fd0], eax
mov eax, dword [esp + 0x3fd4]
add eax, dword [esp + 0x4fd0]
mov dword [esp + 0x3f88], eax
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3f8c], eax
mov eax, dword [esp + 0x4f84]
add eax, 0x5b
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4fb0], xmm0
xor eax, eax
je 0x737d88
add byte [ecx + 0x4fb82484], cl
add byte [eax], al
mov dword [esp + 0x4fb8], eax
movsd xmm0, qword [esp + 0x4fb0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4fa8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3f7c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3f7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f84], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3f80], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3f80]
mov dl, al
mov eax, dword [esp + 0x3f84]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737fbe
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3f70], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3f70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f74], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3f74]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3f78], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3f78]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x737fb9
mov dword [esp + 0x4fa4], 0
cmp dword [esp + 0x4fa4], 9
jae 0x737fb4
movsd xmm0, qword [esp + 0x4fa8]
cvtsi2sd xmm1, dword [esp + 0x4fa4]
addsd xmm0, xmm1
movsd qword [esp + 0x3f68], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3f68]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737f16
jp 0x737f16
movsd xmm0, qword [esp + 0x4fa8]
movsd qword [esp + 0x4fa8], xmm0
jmp 0x737dbe
movsd xmm0, qword [esp + 0x4fa8]
cvtsi2sd xmm1, dword [esp + 0x4fa4]
addsd xmm0, xmm1
movsd qword [esp + 0x3f60], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3f60]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x737fa4
jp 0x737fa4
mov eax, dword [esp + 0x4fa4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4fa8]
addsd xmm0, xmm1
movsd qword [esp + 0x4fa8], xmm0
movsd xmm0, qword [esp + 0x4fa8]
cvtsi2sd xmm1, dword [esp + 0x4fa4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fb8], eax
jmp 0x738070
mov dword [esp + 0x4fb8], 2
jmp 0x738070
jmp 0x737dbe
jmp 0x737fc3
jmp 0x737fc3
movsd xmm0, qword [esp + 0x4fa8]
movsd qword [esp + 0x3f50], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3f48], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3f48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f5c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3f4c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3f4c]
movsd xmm0, qword [esp + 0x3f50]
mov dl, al
mov eax, dword [esp + 0x3f5c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fb8], eax
mov edx, dword [esp + 0x3f88]
mov eax, dword [esp + 0x3f8c]
and eax, dword [esp + 0x4fb8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3f3c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3f3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f40], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3f40]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3f44], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3f44]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738441
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3f38], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x4f98], xmm0
xor eax, eax
je 0x73813a
add byte [ecx + 0x4fa02484], cl
add byte [eax], al
mov dword [esp + 0x4fa0], eax
movsd xmm0, qword [esp + 0x4f98]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4f90], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3f2c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3f2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f34], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3f30], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3f30]
mov dl, al
mov eax, dword [esp + 0x3f34]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738370
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3f20], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3f20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f24], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3f24]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3f28], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3f28]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73836b
mov dword [esp + 0x4f8c], 0
cmp dword [esp + 0x4f8c], 9
jae 0x738366
movsd xmm0, qword [esp + 0x4f90]
cvtsi2sd xmm1, dword [esp + 0x4f8c]
addsd xmm0, xmm1
movsd qword [esp + 0x3f18], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3f18]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7382c8
jp 0x7382c8
movsd xmm0, qword [esp + 0x4f90]
movsd qword [esp + 0x4f90], xmm0
jmp 0x738170
movsd xmm0, qword [esp + 0x4f90]
cvtsi2sd xmm1, dword [esp + 0x4f8c]
addsd xmm0, xmm1
movsd qword [esp + 0x3f10], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3f10]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x738356
jp 0x738356
mov eax, dword [esp + 0x4f8c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4f90]
addsd xmm0, xmm1
movsd qword [esp + 0x4f90], xmm0
movsd xmm0, qword [esp + 0x4f90]
cvtsi2sd xmm1, dword [esp + 0x4f8c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fa0], eax
jmp 0x738422
mov dword [esp + 0x4fa0], 2
jmp 0x738422
jmp 0x738170
jmp 0x738375
jmp 0x738375
movsd xmm0, qword [esp + 0x4f90]
movsd qword [esp + 0x3f00], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3ef8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3ef8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f0c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3efc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3efc]
movsd xmm0, qword [esp + 0x3f00]
mov dl, al
mov eax, dword [esp + 0x3f0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4fa0], eax
mov edx, dword [esp + 0x3f38]
xor edx, dword [esp + 0x4fa0]
mov eax, dword [esp + 0x4f88]
mov ecx, dword [esp + 0x4f84]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4f84]
add eax, 1
mov dword [esp + 0x4f84], eax
jmp 0x736e9f
jmp 0x73845c
mov eax, dword [esp + 0x40dc]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4ba4], eax
lea ecx, [esp + 0x4b9b]
call fcn.0076655e
mov dword [esp + 0x4bdc], eax
mov eax, dword [esp + 0x4bdc]
mov dword [esp + 0x4ee8], eax
mov eax, dword [esp + 0x4ee8]
mov dword [esp + 0x3ef4], eax
test byte [eax + 4], 1
jne 0x739a7f
mov eax, dword [esp + 0x3ef4]
mov dword [esp + 0x4ef0], eax
mov dword [esp + 0x4eec], 0
cmp dword [esp + 0x4eec], 1
jae 0x739a7a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3ee8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3ee8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3eec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3eec]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3ef0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3ef0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738877
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3ee4], eax
movsd xmm0, qword [0x786860]
movsd qword [esp + 0x4f78], xmm0
xor eax, eax
je 0x738570
add byte [ecx + 0x4f802484], cl
add byte [eax], al
mov dword [esp + 0x4f80], eax
movsd xmm0, qword [esp + 0x4f78]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4f70], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3ed8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3ed8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ee0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3edc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3edc]
mov dl, al
mov eax, dword [esp + 0x3ee0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7387a6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3ecc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3ecc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ed0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3ed0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3ed4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3ed4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7387a1
mov dword [esp + 0x4f6c], 0
cmp dword [esp + 0x4f6c], 9
jae 0x73879c
movsd xmm0, qword [esp + 0x4f70]
cvtsi2sd xmm1, dword [esp + 0x4f6c]
addsd xmm0, xmm1
movsd qword [esp + 0x3ec0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3ec0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7386fe
jp 0x7386fe
movsd xmm0, qword [esp + 0x4f70]
movsd qword [esp + 0x4f70], xmm0
jmp 0x7385a6
movsd xmm0, qword [esp + 0x4f70]
cvtsi2sd xmm1, dword [esp + 0x4f6c]
addsd xmm0, xmm1
movsd qword [esp + 0x3eb8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3eb8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73878c
jp 0x73878c
mov eax, dword [esp + 0x4f6c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4f70]
addsd xmm0, xmm1
movsd qword [esp + 0x4f70], xmm0
movsd xmm0, qword [esp + 0x4f70]
cvtsi2sd xmm1, dword [esp + 0x4f6c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f80], eax
jmp 0x738858
mov dword [esp + 0x4f80], 2
jmp 0x738858
jmp 0x7385a6
jmp 0x7387ab
jmp 0x7387ab
movsd xmm0, qword [esp + 0x4f70]
movsd qword [esp + 0x3ea8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3ea0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3ea0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3eb4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3ea4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3ea4]
movsd xmm0, qword [esp + 0x3ea8]
mov dl, al
mov eax, dword [esp + 0x3eb4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f80], eax
mov edx, dword [esp + 0x3ee4]
xor edx, dword [esp + 0x4f80]
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3e94], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3e94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e9c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x3e98], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3e98]
mov dl, al
mov eax, dword [esp + 0x3e9c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7396bd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3e88], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3e88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e8c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3e8c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3e90], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3e90]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738c97
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3e84], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x4f60], xmm0
xor eax, eax
je 0x738990
add byte [ecx + 0x4f682484], cl
add byte [eax], al
mov dword [esp + 0x4f68], eax
movsd xmm0, qword [esp + 0x4f60]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4f58], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3e78], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3e78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e80], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3e7c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3e7c]
mov dl, al
mov eax, dword [esp + 0x3e80]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738bc6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3e6c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3e6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e70], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3e70]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3e74], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3e74]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738bc1
mov dword [esp + 0x4f54], 0
cmp dword [esp + 0x4f54], 9
jae 0x738bbc
movsd xmm0, qword [esp + 0x4f58]
cvtsi2sd xmm1, dword [esp + 0x4f54]
addsd xmm0, xmm1
movsd qword [esp + 0x3e60], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3e60]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x738b1e
jp 0x738b1e
movsd xmm0, qword [esp + 0x4f58]
movsd qword [esp + 0x4f58], xmm0
jmp 0x7389c6
movsd xmm0, qword [esp + 0x4f58]
cvtsi2sd xmm1, dword [esp + 0x4f54]
addsd xmm0, xmm1
movsd qword [esp + 0x3e58], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3e58]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x738bac
jp 0x738bac
mov eax, dword [esp + 0x4f54]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4f58]
addsd xmm0, xmm1
movsd qword [esp + 0x4f58], xmm0
movsd xmm0, qword [esp + 0x4f58]
cvtsi2sd xmm1, dword [esp + 0x4f54]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f68], eax
jmp 0x738c78
mov dword [esp + 0x4f68], 2
jmp 0x738c78
jmp 0x7389c6
jmp 0x738bcb
jmp 0x738bcb
movsd xmm0, qword [esp + 0x4f58]
movsd qword [esp + 0x3e48], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3e40], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3e40]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e54], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3e44], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3e44]
movsd xmm0, qword [esp + 0x3e48]
mov dl, al
mov eax, dword [esp + 0x3e54]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f68], eax
mov edx, dword [esp + 0x3e84]
xor edx, dword [esp + 0x4f68]
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3e34], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3e34]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e38], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3e38]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3e3c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3e3c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73903e
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3e30], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x4f48], xmm0
xor eax, eax
je 0x738d37
add byte [ecx + 0x4f502484], cl
add byte [eax], al
mov dword [esp + 0x4f50], eax
movsd xmm0, qword [esp + 0x4f48]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4f40], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3e24], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3e24]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e2c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3e28], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3e28]
mov dl, al
mov eax, dword [esp + 0x3e2c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738f6d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3e18], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3e18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e1c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3e1c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3e20], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3e20]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x738f68
mov dword [esp + 0x4f3c], 0
cmp dword [esp + 0x4f3c], 9
jae 0x738f63
movsd xmm0, qword [esp + 0x4f40]
cvtsi2sd xmm1, dword [esp + 0x4f3c]
addsd xmm0, xmm1
movsd qword [esp + 0x3e10], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3e10]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x738ec5
jp 0x738ec5
movsd xmm0, qword [esp + 0x4f40]
movsd qword [esp + 0x4f40], xmm0
jmp 0x738d6d
movsd xmm0, qword [esp + 0x4f40]
cvtsi2sd xmm1, dword [esp + 0x4f3c]
addsd xmm0, xmm1
movsd qword [esp + 0x3e08], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3e08]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x738f53
jp 0x738f53
mov eax, dword [esp + 0x4f3c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4f40]
addsd xmm0, xmm1
movsd qword [esp + 0x4f40], xmm0
movsd xmm0, qword [esp + 0x4f40]
cvtsi2sd xmm1, dword [esp + 0x4f3c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f50], eax
jmp 0x73901f
mov dword [esp + 0x4f50], 2
jmp 0x73901f
jmp 0x738d6d
jmp 0x738f72
jmp 0x738f72
movsd xmm0, qword [esp + 0x4f40]
movsd qword [esp + 0x3df8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3df0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3df0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3e04], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3df4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3df4]
movsd xmm0, qword [esp + 0x3df8]
mov dl, al
mov eax, dword [esp + 0x3e04]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f50], eax
mov edx, dword [esp + 0x3e30]
xor edx, dword [esp + 0x4f50]
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3dec], eax
mov eax, dword [esp + 0x4eec]
add eax, 0x5b
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4f30], xmm0
xor eax, eax
je 0x739076
add byte [ecx + 0x4f382484], cl
add byte [eax], al
mov dword [esp + 0x4f38], eax
movsd xmm0, qword [esp + 0x4f30]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4f28], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3de0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3de0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3de8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3de4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3de4]
mov dl, al
mov eax, dword [esp + 0x3de8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7392ac
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3dd4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3dd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3dd8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3dd8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3ddc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3ddc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7392a7
mov dword [esp + 0x4f24], 0
cmp dword [esp + 0x4f24], 9
jae 0x7392a2
movsd xmm0, qword [esp + 0x4f28]
cvtsi2sd xmm1, dword [esp + 0x4f24]
addsd xmm0, xmm1
movsd qword [esp + 0x3dc8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3dc8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x739204
jp 0x739204
movsd xmm0, qword [esp + 0x4f28]
movsd qword [esp + 0x4f28], xmm0
jmp 0x7390ac
movsd xmm0, qword [esp + 0x4f28]
cvtsi2sd xmm1, dword [esp + 0x4f24]
addsd xmm0, xmm1
movsd qword [esp + 0x3dc0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3dc0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x739292
jp 0x739292
mov eax, dword [esp + 0x4f24]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4f28]
addsd xmm0, xmm1
movsd qword [esp + 0x4f28], xmm0
movsd xmm0, qword [esp + 0x4f28]
cvtsi2sd xmm1, dword [esp + 0x4f24]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f38], eax
jmp 0x73935e
mov dword [esp + 0x4f38], 2
jmp 0x73935e
jmp 0x7390ac
jmp 0x7392b1
jmp 0x7392b1
movsd xmm0, qword [esp + 0x4f28]
movsd qword [esp + 0x3db0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3da8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3da8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3dbc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3dac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3dac]
movsd xmm0, qword [esp + 0x3db0]
mov dl, al
mov eax, dword [esp + 0x3dbc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f38], eax
mov eax, dword [esp + 0x3dec]
add eax, dword [esp + 0x4f38]
mov dword [esp + 0x3da0], eax
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3da4], eax
mov eax, dword [esp + 0x4eec]
add eax, 0x5b
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4f18], xmm0
xor eax, eax
je 0x7393ab
add byte [ecx + 0x4f202484], cl
add byte [eax], al
mov dword [esp + 0x4f20], eax
movsd xmm0, qword [esp + 0x4f18]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4f10], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3d94], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3d94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d9c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3d98], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3d98]
mov dl, al
mov eax, dword [esp + 0x3d9c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7395e1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3d88], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3d88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d8c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3d8c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d90], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3d90]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7395dc
mov dword [esp + 0x4f0c], 0
cmp dword [esp + 0x4f0c], 9
jae 0x7395d7
movsd xmm0, qword [esp + 0x4f10]
cvtsi2sd xmm1, dword [esp + 0x4f0c]
addsd xmm0, xmm1
movsd qword [esp + 0x3d80], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3d80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x739539
jp 0x739539
movsd xmm0, qword [esp + 0x4f10]
movsd qword [esp + 0x4f10], xmm0
jmp 0x7393e1
movsd xmm0, qword [esp + 0x4f10]
cvtsi2sd xmm1, dword [esp + 0x4f0c]
addsd xmm0, xmm1
movsd qword [esp + 0x3d78], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3d78]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7395c7
jp 0x7395c7
mov eax, dword [esp + 0x4f0c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4f10]
addsd xmm0, xmm1
movsd qword [esp + 0x4f10], xmm0
movsd xmm0, qword [esp + 0x4f10]
cvtsi2sd xmm1, dword [esp + 0x4f0c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f20], eax
jmp 0x739693
mov dword [esp + 0x4f20], 2
jmp 0x739693
jmp 0x7393e1
jmp 0x7395e6
jmp 0x7395e6
movsd xmm0, qword [esp + 0x4f10]
movsd qword [esp + 0x3d68], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3d60], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3d60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d74], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3d64], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3d64]
movsd xmm0, qword [esp + 0x3d68]
mov dl, al
mov eax, dword [esp + 0x3d74]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f20], eax
mov edx, dword [esp + 0x3da0]
mov eax, dword [esp + 0x3da4]
and eax, dword [esp + 0x4f20]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3d54], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3d54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d58], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3d58]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d5c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3d5c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x739a64
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3d50], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x4f00], xmm0
xor eax, eax
je 0x73975d
add byte [ecx + 0x4f082484], cl
add byte [eax], al
mov dword [esp + 0x4f08], eax
movsd xmm0, qword [esp + 0x4f00]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4ef8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3d44], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3d44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d4c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3d48], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3d48]
mov dl, al
mov eax, dword [esp + 0x3d4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x739993
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3d38], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3d38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d3c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3d3c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d40], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3d40]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73998e
mov dword [esp + 0x4ef4], 0
cmp dword [esp + 0x4ef4], 9
jae 0x739989
movsd xmm0, qword [esp + 0x4ef8]
cvtsi2sd xmm1, dword [esp + 0x4ef4]
addsd xmm0, xmm1
movsd qword [esp + 0x3d30], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3d30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7398eb
jp 0x7398eb
movsd xmm0, qword [esp + 0x4ef8]
movsd qword [esp + 0x4ef8], xmm0
jmp 0x739793
movsd xmm0, qword [esp + 0x4ef8]
cvtsi2sd xmm1, dword [esp + 0x4ef4]
addsd xmm0, xmm1
movsd qword [esp + 0x3d28], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3d28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x739979
jp 0x739979
mov eax, dword [esp + 0x4ef4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4ef8]
addsd xmm0, xmm1
movsd qword [esp + 0x4ef8], xmm0
movsd xmm0, qword [esp + 0x4ef8]
cvtsi2sd xmm1, dword [esp + 0x4ef4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f08], eax
jmp 0x739a45
mov dword [esp + 0x4f08], 2
jmp 0x739a45
jmp 0x739793
jmp 0x739998
jmp 0x739998
movsd xmm0, qword [esp + 0x4ef8]
movsd qword [esp + 0x3d18], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3d10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3d10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3d14], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3d14]
movsd xmm0, qword [esp + 0x3d18]
mov dl, al
mov eax, dword [esp + 0x3d24]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4f08], eax
mov edx, dword [esp + 0x3d50]
xor edx, dword [esp + 0x4f08]
mov eax, dword [esp + 0x4ef0]
mov ecx, dword [esp + 0x4eec]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x4eec]
add eax, 1
mov dword [esp + 0x4eec], eax
jmp 0x7384c2
jmp 0x739a7f
mov eax, dword [esp + 0x3ef4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b9c], eax
mov eax, dword [esp + 0x4ba4]
mov dword [esp + 0x4bac], eax
cmp eax, 0
je 0x740975
lea ecx, [esp + 0x4b9a]
call fcn.0076664c
mov dword [esp + 0x4bec], eax
mov eax, dword [esp + 0x4bec]
mov dword [esp + 0x50b4], eax
mov eax, dword [esp + 0x50b4]
mov dword [esp + 0x3d0c], eax
test byte [eax + 4], 1
jne 0x73b0b9
mov eax, dword [esp + 0x3d0c]
mov dword [esp + 0x5158], eax
mov dword [esp + 0x5154], 0
cmp dword [esp + 0x5154], 1
jae 0x73b0b4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3d00], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3d00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d04], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3d04]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d08], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3d08]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x739eb1
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3cfc], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x51e0], xmm0
xor eax, eax
je 0x739baa
add byte [ecx + 0x51ec2484], cl
add byte [eax], al
mov dword [esp + 0x51ec], eax
movsd xmm0, qword [esp + 0x51e0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x51d8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3cf0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3cf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3cf8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3cf4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3cf4]
mov dl, al
mov eax, dword [esp + 0x3cf8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x739de0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3ce4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3ce4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ce8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3ce8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3cec], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3cec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x739ddb
mov dword [esp + 0x51d4], 0
cmp dword [esp + 0x51d4], 9
jae 0x739dd6
movsd xmm0, qword [esp + 0x51d8]
cvtsi2sd xmm1, dword [esp + 0x51d4]
addsd xmm0, xmm1
movsd qword [esp + 0x3cd8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3cd8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x739d38
jp 0x739d38
movsd xmm0, qword [esp + 0x51d8]
movsd qword [esp + 0x51d8], xmm0
jmp 0x739be0
movsd xmm0, qword [esp + 0x51d8]
cvtsi2sd xmm1, dword [esp + 0x51d4]
addsd xmm0, xmm1
movsd qword [esp + 0x3cd0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3cd0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x739dc6
jp 0x739dc6
mov eax, dword [esp + 0x51d4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x51d8]
addsd xmm0, xmm1
movsd qword [esp + 0x51d8], xmm0
movsd xmm0, qword [esp + 0x51d8]
cvtsi2sd xmm1, dword [esp + 0x51d4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51ec], eax
jmp 0x739e92
mov dword [esp + 0x51ec], 2
jmp 0x739e92
jmp 0x739be0
jmp 0x739de5
jmp 0x739de5
movsd xmm0, qword [esp + 0x51d8]
movsd qword [esp + 0x3cc0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3cb8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3cb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ccc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3cbc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3cbc]
movsd xmm0, qword [esp + 0x3cc0]
mov dl, al
mov eax, dword [esp + 0x3ccc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51ec], eax
mov edx, dword [esp + 0x3cfc]
xor edx, dword [esp + 0x51ec]
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3cac], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3cac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3cb4], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x3cb0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3cb0]
mov dl, al
mov eax, dword [esp + 0x3cb4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73acf7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3ca0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3ca0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ca4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3ca4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3ca8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3ca8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a2d1
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3c9c], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x51c8], xmm0
xor eax, eax
je 0x739fca
add byte [ecx + 0x51d02484], cl
add byte [eax], al
mov dword [esp + 0x51d0], eax
movsd xmm0, qword [esp + 0x51c8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x51c0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3c90], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3c90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c98], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3c94], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3c94]
mov dl, al
mov eax, dword [esp + 0x3c98]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a200
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3c84], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3c84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c88], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3c88]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3c8c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3c8c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a1fb
mov dword [esp + 0x51bc], 0
cmp dword [esp + 0x51bc], 9
jae 0x73a1f6
movsd xmm0, qword [esp + 0x51c0]
cvtsi2sd xmm1, dword [esp + 0x51bc]
addsd xmm0, xmm1
movsd qword [esp + 0x3c78], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3c78]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73a158
jp 0x73a158
movsd xmm0, qword [esp + 0x51c0]
movsd qword [esp + 0x51c0], xmm0
jmp 0x73a000
movsd xmm0, qword [esp + 0x51c0]
cvtsi2sd xmm1, dword [esp + 0x51bc]
addsd xmm0, xmm1
movsd qword [esp + 0x3c70], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3c70]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73a1e6
jp 0x73a1e6
mov eax, dword [esp + 0x51bc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x51c0]
addsd xmm0, xmm1
movsd qword [esp + 0x51c0], xmm0
movsd xmm0, qword [esp + 0x51c0]
cvtsi2sd xmm1, dword [esp + 0x51bc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51d0], eax
jmp 0x73a2b2
mov dword [esp + 0x51d0], 2
jmp 0x73a2b2
jmp 0x73a000
jmp 0x73a205
jmp 0x73a205
movsd xmm0, qword [esp + 0x51c0]
movsd qword [esp + 0x3c60], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3c58], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3c58]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c6c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3c5c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3c5c]
movsd xmm0, qword [esp + 0x3c60]
mov dl, al
mov eax, dword [esp + 0x3c6c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51d0], eax
mov edx, dword [esp + 0x3c9c]
xor edx, dword [esp + 0x51d0]
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3c4c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3c4c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c50], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3c50]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3c54], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3c54]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a678
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3c48], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x51b0], xmm0
xor eax, eax
je 0x73a371
add byte [ecx + 0x51b82484], cl
add byte [eax], al
mov dword [esp + 0x51b8], eax
movsd xmm0, qword [esp + 0x51b0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x51a8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3c3c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3c3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c44], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3c40], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3c40]
mov dl, al
mov eax, dword [esp + 0x3c44]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a5a7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3c30], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3c30]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c34], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3c34]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3c38], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3c38]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a5a2
mov dword [esp + 0x51a4], 0
cmp dword [esp + 0x51a4], 9
jae 0x73a59d
movsd xmm0, qword [esp + 0x51a8]
cvtsi2sd xmm1, dword [esp + 0x51a4]
addsd xmm0, xmm1
movsd qword [esp + 0x3c28], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3c28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73a4ff
jp 0x73a4ff
movsd xmm0, qword [esp + 0x51a8]
movsd qword [esp + 0x51a8], xmm0
jmp 0x73a3a7
movsd xmm0, qword [esp + 0x51a8]
cvtsi2sd xmm1, dword [esp + 0x51a4]
addsd xmm0, xmm1
movsd qword [esp + 0x3c20], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3c20]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73a58d
jp 0x73a58d
mov eax, dword [esp + 0x51a4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x51a8]
addsd xmm0, xmm1
movsd qword [esp + 0x51a8], xmm0
movsd xmm0, qword [esp + 0x51a8]
cvtsi2sd xmm1, dword [esp + 0x51a4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51b8], eax
jmp 0x73a659
mov dword [esp + 0x51b8], 2
jmp 0x73a659
jmp 0x73a3a7
jmp 0x73a5ac
jmp 0x73a5ac
movsd xmm0, qword [esp + 0x51a8]
movsd qword [esp + 0x3c10], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3c08], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3c08]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c1c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3c0c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3c0c]
movsd xmm0, qword [esp + 0x3c10]
mov dl, al
mov eax, dword [esp + 0x3c1c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51b8], eax
mov edx, dword [esp + 0x3c48]
xor edx, dword [esp + 0x51b8]
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3c04], eax
mov eax, dword [esp + 0x5154]
add eax, 0x5c
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5198], xmm0
xor eax, eax
je 0x73a6b0
add byte [ecx + 0x51a02484], cl
add byte [eax], al
mov dword [esp + 0x51a0], eax
movsd xmm0, qword [esp + 0x5198]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5190], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3bf8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3bf8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c00], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3bfc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3bfc]
mov dl, al
mov eax, dword [esp + 0x3c00]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a8e6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3bec], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3bec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3bf0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3bf0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3bf4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3bf4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73a8e1
mov dword [esp + 0x518c], 0
cmp dword [esp + 0x518c], 9
jae 0x73a8dc
movsd xmm0, qword [esp + 0x5190]
cvtsi2sd xmm1, dword [esp + 0x518c]
addsd xmm0, xmm1
movsd qword [esp + 0x3be0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3be0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73a83e
jp 0x73a83e
movsd xmm0, qword [esp + 0x5190]
movsd qword [esp + 0x5190], xmm0
jmp 0x73a6e6
movsd xmm0, qword [esp + 0x5190]
cvtsi2sd xmm1, dword [esp + 0x518c]
addsd xmm0, xmm1
movsd qword [esp + 0x3bd8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3bd8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73a8cc
jp 0x73a8cc
mov eax, dword [esp + 0x518c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5190]
addsd xmm0, xmm1
movsd qword [esp + 0x5190], xmm0
movsd xmm0, qword [esp + 0x5190]
cvtsi2sd xmm1, dword [esp + 0x518c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51a0], eax
jmp 0x73a998
mov dword [esp + 0x51a0], 2
jmp 0x73a998
jmp 0x73a6e6
jmp 0x73a8eb
jmp 0x73a8eb
movsd xmm0, qword [esp + 0x5190]
movsd qword [esp + 0x3bc8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3bc0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3bc0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3bd4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3bc4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3bc4]
movsd xmm0, qword [esp + 0x3bc8]
mov dl, al
mov eax, dword [esp + 0x3bd4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x51a0], eax
mov eax, dword [esp + 0x3c04]
add eax, dword [esp + 0x51a0]
mov dword [esp + 0x3bb8], eax
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3bbc], eax
mov eax, dword [esp + 0x5154]
add eax, 0x5c
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5180], xmm0
xor eax, eax
je 0x73a9e5
add byte [ecx + 0x51882484], cl
add byte [eax], al
mov dword [esp + 0x5188], eax
movsd xmm0, qword [esp + 0x5180]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5178], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3bac], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3bac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3bb4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3bb0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3bb0]
mov dl, al
mov eax, dword [esp + 0x3bb4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ac1b
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3ba0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3ba0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ba4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3ba4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3ba8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3ba8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ac16
mov dword [esp + 0x5174], 0
cmp dword [esp + 0x5174], 9
jae 0x73ac11
movsd xmm0, qword [esp + 0x5178]
cvtsi2sd xmm1, dword [esp + 0x5174]
addsd xmm0, xmm1
movsd qword [esp + 0x3b98], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3b98]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73ab73
jp 0x73ab73
movsd xmm0, qword [esp + 0x5178]
movsd qword [esp + 0x5178], xmm0
jmp 0x73aa1b
movsd xmm0, qword [esp + 0x5178]
cvtsi2sd xmm1, dword [esp + 0x5174]
addsd xmm0, xmm1
movsd qword [esp + 0x3b90], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3b90]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73ac01
jp 0x73ac01
mov eax, dword [esp + 0x5174]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5178]
addsd xmm0, xmm1
movsd qword [esp + 0x5178], xmm0
movsd xmm0, qword [esp + 0x5178]
cvtsi2sd xmm1, dword [esp + 0x5174]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5188], eax
jmp 0x73accd
mov dword [esp + 0x5188], 2
jmp 0x73accd
jmp 0x73aa1b
jmp 0x73ac20
jmp 0x73ac20
movsd xmm0, qword [esp + 0x5178]
movsd qword [esp + 0x3b80], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3b78], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3b78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b8c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3b7c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3b7c]
movsd xmm0, qword [esp + 0x3b80]
mov dl, al
mov eax, dword [esp + 0x3b8c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5188], eax
mov edx, dword [esp + 0x3bb8]
mov eax, dword [esp + 0x3bbc]
and eax, dword [esp + 0x5188]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3b6c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3b6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b70], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3b70]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3b74], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3b74]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b09e
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3b68], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x5168], xmm0
xor eax, eax
je 0x73ad97
add byte [ecx + 0x51702484], cl
add byte [eax], al
mov dword [esp + 0x5170], eax
movsd xmm0, qword [esp + 0x5168]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5160], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3b5c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3b5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b64], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3b60], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3b60]
mov dl, al
mov eax, dword [esp + 0x3b64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73afcd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3b50], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3b50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b54], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3b54]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3b58], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3b58]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73afc8
mov dword [esp + 0x515c], 0
cmp dword [esp + 0x515c], 9
jae 0x73afc3
movsd xmm0, qword [esp + 0x5160]
cvtsi2sd xmm1, dword [esp + 0x515c]
addsd xmm0, xmm1
movsd qword [esp + 0x3b48], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3b48]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73af25
jp 0x73af25
movsd xmm0, qword [esp + 0x5160]
movsd qword [esp + 0x5160], xmm0
jmp 0x73adcd
movsd xmm0, qword [esp + 0x5160]
cvtsi2sd xmm1, dword [esp + 0x515c]
addsd xmm0, xmm1
movsd qword [esp + 0x3b40], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3b40]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73afb3
jp 0x73afb3
mov eax, dword [esp + 0x515c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5160]
addsd xmm0, xmm1
movsd qword [esp + 0x5160], xmm0
movsd xmm0, qword [esp + 0x5160]
cvtsi2sd xmm1, dword [esp + 0x515c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5170], eax
jmp 0x73b07f
mov dword [esp + 0x5170], 2
jmp 0x73b07f
jmp 0x73adcd
jmp 0x73afd2
jmp 0x73afd2
movsd xmm0, qword [esp + 0x5160]
movsd qword [esp + 0x3b30], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3b28], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3b28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b3c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3b2c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3b2c]
movsd xmm0, qword [esp + 0x3b30]
mov dl, al
mov eax, dword [esp + 0x3b3c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5170], eax
mov edx, dword [esp + 0x3b68]
xor edx, dword [esp + 0x5170]
mov eax, dword [esp + 0x5158]
mov ecx, dword [esp + 0x5154]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5154]
add eax, 1
mov dword [esp + 0x5154], eax
jmp 0x739afc
jmp 0x73b0b9
mov eax, dword [esp + 0x3d0c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b9c], eax
lea ecx, [esp + 0x4b93]
call fcn.0076673a
mov dword [esp + 0x4be8], eax
mov eax, dword [esp + 0x4be8]
mov dword [esp + 0x50b8], eax
mov eax, dword [esp + 0x50b8]
mov dword [esp + 0x3b24], eax
test byte [eax + 4], 1
jne 0x73c6dc
mov eax, dword [esp + 0x3b24]
mov dword [esp + 0x50c0], eax
mov dword [esp + 0x50bc], 0
cmp dword [esp + 0x50bc], 1
jae 0x73c6d7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3b18], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3b18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b1c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3b1c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3b20], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3b20]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b4d4
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3b14], eax
movsd xmm0, qword [0x786868]
movsd qword [esp + 0x5148], xmm0
xor eax, eax
je 0x73b1cd
add byte [ecx + 0x51502484], cl
add byte [eax], al
mov dword [esp + 0x5150], eax
movsd xmm0, qword [esp + 0x5148]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5140], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3b08], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3b08]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b10], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3b0c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3b0c]
mov dl, al
mov eax, dword [esp + 0x3b10]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b403
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3afc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3afc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b00], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3b00]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3b04], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3b04]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b3fe
mov dword [esp + 0x513c], 0
cmp dword [esp + 0x513c], 9
jae 0x73b3f9
movsd xmm0, qword [esp + 0x5140]
cvtsi2sd xmm1, dword [esp + 0x513c]
addsd xmm0, xmm1
movsd qword [esp + 0x3af0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3af0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73b35b
jp 0x73b35b
movsd xmm0, qword [esp + 0x5140]
movsd qword [esp + 0x5140], xmm0
jmp 0x73b203
movsd xmm0, qword [esp + 0x5140]
cvtsi2sd xmm1, dword [esp + 0x513c]
addsd xmm0, xmm1
movsd qword [esp + 0x3ae8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3ae8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73b3e9
jp 0x73b3e9
mov eax, dword [esp + 0x513c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5140]
addsd xmm0, xmm1
movsd qword [esp + 0x5140], xmm0
movsd xmm0, qword [esp + 0x5140]
cvtsi2sd xmm1, dword [esp + 0x513c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5150], eax
jmp 0x73b4b5
mov dword [esp + 0x5150], 2
jmp 0x73b4b5
jmp 0x73b203
jmp 0x73b408
jmp 0x73b408
movsd xmm0, qword [esp + 0x5140]
movsd qword [esp + 0x3ad8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3ad0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3ad0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ae4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3ad4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3ad4]
movsd xmm0, qword [esp + 0x3ad8]
mov dl, al
mov eax, dword [esp + 0x3ae4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5150], eax
mov edx, dword [esp + 0x3b14]
xor edx, dword [esp + 0x5150]
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3ac4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3ac4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3acc], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x3ac8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3ac8]
mov dl, al
mov eax, dword [esp + 0x3acc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73c31a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3ab8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3ab8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3abc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3abc]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3ac0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3ac0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b8f4
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3ab4], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x5130], xmm0
xor eax, eax
je 0x73b5ed
add byte [ecx + 0x51382484], cl
add byte [eax], al
mov dword [esp + 0x5138], eax
movsd xmm0, qword [esp + 0x5130]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5128], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3aa8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3aa8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3ab0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3aac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3aac]
mov dl, al
mov eax, dword [esp + 0x3ab0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b823
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3a9c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3a9c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3aa0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3aa0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3aa4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3aa4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73b81e
mov dword [esp + 0x5124], 0
cmp dword [esp + 0x5124], 9
jae 0x73b819
movsd xmm0, qword [esp + 0x5128]
cvtsi2sd xmm1, dword [esp + 0x5124]
addsd xmm0, xmm1
movsd qword [esp + 0x3a90], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3a90]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73b77b
jp 0x73b77b
movsd xmm0, qword [esp + 0x5128]
movsd qword [esp + 0x5128], xmm0
jmp 0x73b623
movsd xmm0, qword [esp + 0x5128]
cvtsi2sd xmm1, dword [esp + 0x5124]
addsd xmm0, xmm1
movsd qword [esp + 0x3a88], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3a88]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73b809
jp 0x73b809
mov eax, dword [esp + 0x5124]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5128]
addsd xmm0, xmm1
movsd qword [esp + 0x5128], xmm0
movsd xmm0, qword [esp + 0x5128]
cvtsi2sd xmm1, dword [esp + 0x5124]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5138], eax
jmp 0x73b8d5
mov dword [esp + 0x5138], 2
jmp 0x73b8d5
jmp 0x73b623
jmp 0x73b828
jmp 0x73b828
movsd xmm0, qword [esp + 0x5128]
movsd qword [esp + 0x3a78], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3a70], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3a70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a84], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3a74], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3a74]
movsd xmm0, qword [esp + 0x3a78]
mov dl, al
mov eax, dword [esp + 0x3a84]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5138], eax
mov edx, dword [esp + 0x3ab4]
xor edx, dword [esp + 0x5138]
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3a64], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3a64]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a68], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3a68]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3a6c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3a6c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73bc9b
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3a60], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x5118], xmm0
xor eax, eax
je 0x73b994
add byte [ecx + 0x51202484], cl
add byte [eax], al
mov dword [esp + 0x5120], eax
movsd xmm0, qword [esp + 0x5118]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5110], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3a54], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3a54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a5c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3a58], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3a58]
mov dl, al
mov eax, dword [esp + 0x3a5c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73bbca
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3a48], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3a48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a4c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3a4c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3a50], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3a50]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73bbc5
mov dword [esp + 0x510c], 0
cmp dword [esp + 0x510c], 9
jae 0x73bbc0
movsd xmm0, qword [esp + 0x5110]
cvtsi2sd xmm1, dword [esp + 0x510c]
addsd xmm0, xmm1
movsd qword [esp + 0x3a40], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3a40]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73bb22
jp 0x73bb22
movsd xmm0, qword [esp + 0x5110]
movsd qword [esp + 0x5110], xmm0
jmp 0x73b9ca
movsd xmm0, qword [esp + 0x5110]
cvtsi2sd xmm1, dword [esp + 0x510c]
addsd xmm0, xmm1
movsd qword [esp + 0x3a38], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3a38]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73bbb0
jp 0x73bbb0
mov eax, dword [esp + 0x510c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5110]
addsd xmm0, xmm1
movsd qword [esp + 0x5110], xmm0
movsd xmm0, qword [esp + 0x5110]
cvtsi2sd xmm1, dword [esp + 0x510c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5120], eax
jmp 0x73bc7c
mov dword [esp + 0x5120], 2
jmp 0x73bc7c
jmp 0x73b9ca
jmp 0x73bbcf
jmp 0x73bbcf
movsd xmm0, qword [esp + 0x5110]
movsd qword [esp + 0x3a28], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3a20], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3a20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a34], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3a24], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3a24]
movsd xmm0, qword [esp + 0x3a28]
mov dl, al
mov eax, dword [esp + 0x3a34]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5120], eax
mov edx, dword [esp + 0x3a60]
xor edx, dword [esp + 0x5120]
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3a1c], eax
mov eax, dword [esp + 0x50bc]
add eax, 0x5c
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5100], xmm0
xor eax, eax
je 0x73bcd3
add byte [ecx + 0x51082484], cl
add byte [eax], al
mov dword [esp + 0x5108], eax
movsd xmm0, qword [esp + 0x5100]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x50f8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3a10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3a10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a18], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3a14], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3a14]
mov dl, al
mov eax, dword [esp + 0x3a18]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73bf09
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3a04], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3a04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3a08], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3a08]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3a0c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3a0c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73bf04
mov dword [esp + 0x50f4], 0
cmp dword [esp + 0x50f4], 9
jae 0x73beff
movsd xmm0, qword [esp + 0x50f8]
cvtsi2sd xmm1, dword [esp + 0x50f4]
addsd xmm0, xmm1
movsd qword [esp + 0x39f8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x39f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73be61
jp 0x73be61
movsd xmm0, qword [esp + 0x50f8]
movsd qword [esp + 0x50f8], xmm0
jmp 0x73bd09
movsd xmm0, qword [esp + 0x50f8]
cvtsi2sd xmm1, dword [esp + 0x50f4]
addsd xmm0, xmm1
movsd qword [esp + 0x39f0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x39f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73beef
jp 0x73beef
mov eax, dword [esp + 0x50f4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x50f8]
addsd xmm0, xmm1
movsd qword [esp + 0x50f8], xmm0
movsd xmm0, qword [esp + 0x50f8]
cvtsi2sd xmm1, dword [esp + 0x50f4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5108], eax
jmp 0x73bfbb
mov dword [esp + 0x5108], 2
jmp 0x73bfbb
jmp 0x73bd09
jmp 0x73bf0e
jmp 0x73bf0e
movsd xmm0, qword [esp + 0x50f8]
movsd qword [esp + 0x39e0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x39d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x39d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x39ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x39dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x39dc]
movsd xmm0, qword [esp + 0x39e0]
mov dl, al
mov eax, dword [esp + 0x39ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5108], eax
mov eax, dword [esp + 0x3a1c]
add eax, dword [esp + 0x5108]
mov dword [esp + 0x39d0], eax
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x39d4], eax
mov eax, dword [esp + 0x50bc]
add eax, 0x5c
cvtsi2sd xmm0, eax
movsd qword [esp + 0x50e8], xmm0
xor eax, eax
je 0x73c008
add byte [ecx + 0x50f02484], cl
add byte [eax], al
mov dword [esp + 0x50f0], eax
movsd xmm0, qword [esp + 0x50e8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x50e0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x39c4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x39c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x39cc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x39c8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x39c8]
mov dl, al
mov eax, dword [esp + 0x39cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73c23e
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x39b8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x39b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x39bc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x39bc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x39c0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x39c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73c239
mov dword [esp + 0x50dc], 0
cmp dword [esp + 0x50dc], 9
jae 0x73c234
movsd xmm0, qword [esp + 0x50e0]
cvtsi2sd xmm1, dword [esp + 0x50dc]
addsd xmm0, xmm1
movsd qword [esp + 0x39b0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x39b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73c196
jp 0x73c196
movsd xmm0, qword [esp + 0x50e0]
movsd qword [esp + 0x50e0], xmm0
jmp 0x73c03e
movsd xmm0, qword [esp + 0x50e0]
cvtsi2sd xmm1, dword [esp + 0x50dc]
addsd xmm0, xmm1
movsd qword [esp + 0x39a8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x39a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73c224
jp 0x73c224
mov eax, dword [esp + 0x50dc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x50e0]
addsd xmm0, xmm1
movsd qword [esp + 0x50e0], xmm0
movsd xmm0, qword [esp + 0x50e0]
cvtsi2sd xmm1, dword [esp + 0x50dc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x50f0], eax
jmp 0x73c2f0
mov dword [esp + 0x50f0], 2
jmp 0x73c2f0
jmp 0x73c03e
jmp 0x73c243
jmp 0x73c243
movsd xmm0, qword [esp + 0x50e0]
movsd qword [esp + 0x3998], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3990], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3990]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x39a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3994], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3994]
movsd xmm0, qword [esp + 0x3998]
mov dl, al
mov eax, dword [esp + 0x39a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x50f0], eax
mov edx, dword [esp + 0x39d0]
mov eax, dword [esp + 0x39d4]
and eax, dword [esp + 0x50f0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3984], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3984]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3988], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3988]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x398c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x398c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73c6c1
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3980], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x50d0], xmm0
xor eax, eax
je 0x73c3ba
add byte [ecx + 0x50d82484], cl
add byte [eax], al
mov dword [esp + 0x50d8], eax
movsd xmm0, qword [esp + 0x50d0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x50c8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3974], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3974]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x397c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3978], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3978]
mov dl, al
mov eax, dword [esp + 0x397c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73c5f0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3968], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3968]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x396c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x396c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3970], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3970]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73c5eb
mov dword [esp + 0x50c4], 0
cmp dword [esp + 0x50c4], 9
jae 0x73c5e6
movsd xmm0, qword [esp + 0x50c8]
cvtsi2sd xmm1, dword [esp + 0x50c4]
addsd xmm0, xmm1
movsd qword [esp + 0x3960], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3960]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73c548
jp 0x73c548
movsd xmm0, qword [esp + 0x50c8]
movsd qword [esp + 0x50c8], xmm0
jmp 0x73c3f0
movsd xmm0, qword [esp + 0x50c8]
cvtsi2sd xmm1, dword [esp + 0x50c4]
addsd xmm0, xmm1
movsd qword [esp + 0x3958], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3958]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73c5d6
jp 0x73c5d6
mov eax, dword [esp + 0x50c4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x50c8]
addsd xmm0, xmm1
movsd qword [esp + 0x50c8], xmm0
movsd xmm0, qword [esp + 0x50c8]
cvtsi2sd xmm1, dword [esp + 0x50c4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x50d8], eax
jmp 0x73c6a2
mov dword [esp + 0x50d8], 2
jmp 0x73c6a2
jmp 0x73c3f0
jmp 0x73c5f5
jmp 0x73c5f5
movsd xmm0, qword [esp + 0x50c8]
movsd qword [esp + 0x3948], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3940], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3940]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3954], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3944], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3944]
movsd xmm0, qword [esp + 0x3948]
mov dl, al
mov eax, dword [esp + 0x3954]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x50d8], eax
mov edx, dword [esp + 0x3980]
xor edx, dword [esp + 0x50d8]
mov eax, dword [esp + 0x50c0]
mov ecx, dword [esp + 0x50bc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x50bc]
add eax, 1
mov dword [esp + 0x50bc], eax
jmp 0x73b11f
jmp 0x73c6dc
mov eax, dword [esp + 0x3b24]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b94], eax
lea ecx, [esp + 0x4b8b]
call fcn.00766828
mov dword [esp + 0x4bf8], eax
mov eax, dword [esp + 0x4bf8]
mov dword [esp + 0x51f0], eax
mov eax, dword [esp + 0x51f0]
mov dword [esp + 0x393c], eax
test byte [eax + 4], 1
jne 0x73dcff
mov eax, dword [esp + 0x393c]
mov dword [esp + 0x5330], eax
mov dword [esp + 0x532c], 0
cmp dword [esp + 0x532c], 1
jae 0x73dcfa
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3930], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3930]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3934], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3934]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3938], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3938]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73caf7
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x392c], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x53b8], xmm0
xor eax, eax
je 0x73c7f0
add byte [ecx + 0x53c42484], cl
add byte [eax], al
mov dword [esp + 0x53c4], eax
movsd xmm0, qword [esp + 0x53b8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x53b0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3920], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3920]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3928], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3924], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3924]
mov dl, al
mov eax, dword [esp + 0x3928]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ca26
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3914], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3914]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3918], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3918]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x391c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x391c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ca21
mov dword [esp + 0x53ac], 0
cmp dword [esp + 0x53ac], 9
jae 0x73ca1c
movsd xmm0, qword [esp + 0x53b0]
cvtsi2sd xmm1, dword [esp + 0x53ac]
addsd xmm0, xmm1
movsd qword [esp + 0x3908], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3908]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73c97e
jp 0x73c97e
movsd xmm0, qword [esp + 0x53b0]
movsd qword [esp + 0x53b0], xmm0
jmp 0x73c826
movsd xmm0, qword [esp + 0x53b0]
cvtsi2sd xmm1, dword [esp + 0x53ac]
addsd xmm0, xmm1
movsd qword [esp + 0x3900], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3900]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73ca0c
jp 0x73ca0c
mov eax, dword [esp + 0x53ac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x53b0]
addsd xmm0, xmm1
movsd qword [esp + 0x53b0], xmm0
movsd xmm0, qword [esp + 0x53b0]
cvtsi2sd xmm1, dword [esp + 0x53ac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x53c4], eax
jmp 0x73cad8
mov dword [esp + 0x53c4], 2
jmp 0x73cad8
jmp 0x73c826
jmp 0x73ca2b
jmp 0x73ca2b
movsd xmm0, qword [esp + 0x53b0]
movsd qword [esp + 0x38f0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x38e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x38e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x38ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x38ec]
movsd xmm0, qword [esp + 0x38f0]
mov dl, al
mov eax, dword [esp + 0x38fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x53c4], eax
mov edx, dword [esp + 0x392c]
xor edx, dword [esp + 0x53c4]
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x38dc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x38dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38e4], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x38e0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x38e0]
mov dl, al
mov eax, dword [esp + 0x38e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d93d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x38d0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x38d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38d4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x38d4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x38d8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x38d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73cf17
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38cc], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x53a0], xmm0
xor eax, eax
je 0x73cc10
add byte [ecx + 0x53a82484], cl
add byte [eax], al
mov dword [esp + 0x53a8], eax
movsd xmm0, qword [esp + 0x53a0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5398], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x38c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x38c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38c8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x38c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x38c4]
mov dl, al
mov eax, dword [esp + 0x38c8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ce46
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x38b4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x38b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x38b8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x38b8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x38bc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x38bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ce41
mov dword [esp + 0x5394], 0
cmp dword [esp + 0x5394], 9
jae 0x73ce3c
movsd xmm0, qword [esp + 0x5398]
cvtsi2sd xmm1, dword [esp + 0x5394]
addsd xmm0, xmm1
movsd qword [esp + 0x38a8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x38a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73cd9e
jp 0x73cd9e
movsd xmm0, qword [esp + 0x5398]
movsd qword [esp + 0x5398], xmm0
jmp 0x73cc46
movsd xmm0, qword [esp + 0x5398]
cvtsi2sd xmm1, dword [esp + 0x5394]
addsd xmm0, xmm1
movsd qword [esp + 0x38a0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x38a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73ce2c
jp 0x73ce2c
mov eax, dword [esp + 0x5394]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5398]
addsd xmm0, xmm1
movsd qword [esp + 0x5398], xmm0
movsd xmm0, qword [esp + 0x5398]
cvtsi2sd xmm1, dword [esp + 0x5394]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x53a8], eax
jmp 0x73cef8
mov dword [esp + 0x53a8], 2
jmp 0x73cef8
jmp 0x73cc46
jmp 0x73ce4b
jmp 0x73ce4b
movsd xmm0, qword [esp + 0x5398]
movsd qword [esp + 0x3890], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3888], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3888]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x389c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x388c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x388c]
movsd xmm0, qword [esp + 0x3890]
mov dl, al
mov eax, dword [esp + 0x389c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x53a8], eax
mov edx, dword [esp + 0x38cc]
xor edx, dword [esp + 0x53a8]
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x387c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x387c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3880], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3880]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3884], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3884]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d2be
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3878], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x5388], xmm0
xor eax, eax
je 0x73cfb7
add byte [ecx + 0x53902484], cl
add byte [eax], al
mov dword [esp + 0x5390], eax
movsd xmm0, qword [esp + 0x5388]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5380], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x386c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x386c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3874], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3870], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3870]
mov dl, al
mov eax, dword [esp + 0x3874]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d1ed
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3860], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3860]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3864], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3864]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3868], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3868]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d1e8
mov dword [esp + 0x537c], 0
cmp dword [esp + 0x537c], 9
jae 0x73d1e3
movsd xmm0, qword [esp + 0x5380]
cvtsi2sd xmm1, dword [esp + 0x537c]
addsd xmm0, xmm1
movsd qword [esp + 0x3858], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3858]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73d145
jp 0x73d145
movsd xmm0, qword [esp + 0x5380]
movsd qword [esp + 0x5380], xmm0
jmp 0x73cfed
movsd xmm0, qword [esp + 0x5380]
cvtsi2sd xmm1, dword [esp + 0x537c]
addsd xmm0, xmm1
movsd qword [esp + 0x3850], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3850]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73d1d3
jp 0x73d1d3
mov eax, dword [esp + 0x537c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5380]
addsd xmm0, xmm1
movsd qword [esp + 0x5380], xmm0
movsd xmm0, qword [esp + 0x5380]
cvtsi2sd xmm1, dword [esp + 0x537c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5390], eax
jmp 0x73d29f
mov dword [esp + 0x5390], 2
jmp 0x73d29f
jmp 0x73cfed
jmp 0x73d1f2
jmp 0x73d1f2
movsd xmm0, qword [esp + 0x5380]
movsd qword [esp + 0x3840], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3838], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3838]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x384c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x383c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x383c]
movsd xmm0, qword [esp + 0x3840]
mov dl, al
mov eax, dword [esp + 0x384c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5390], eax
mov edx, dword [esp + 0x3878]
xor edx, dword [esp + 0x5390]
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3834], eax
mov eax, dword [esp + 0x532c]
add eax, 0x5d
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5370], xmm0
xor eax, eax
je 0x73d2f6
add byte [ecx + 0x53782484], cl
add byte [eax], al
mov dword [esp + 0x5378], eax
movsd xmm0, qword [esp + 0x5370]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5368], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3828], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3828]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3830], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x382c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x382c]
mov dl, al
mov eax, dword [esp + 0x3830]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d52c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x381c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x381c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3820], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3820]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3824], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3824]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d527
mov dword [esp + 0x5364], 0
cmp dword [esp + 0x5364], 9
jae 0x73d522
movsd xmm0, qword [esp + 0x5368]
cvtsi2sd xmm1, dword [esp + 0x5364]
addsd xmm0, xmm1
movsd qword [esp + 0x3810], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3810]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73d484
jp 0x73d484
movsd xmm0, qword [esp + 0x5368]
movsd qword [esp + 0x5368], xmm0
jmp 0x73d32c
movsd xmm0, qword [esp + 0x5368]
cvtsi2sd xmm1, dword [esp + 0x5364]
addsd xmm0, xmm1
movsd qword [esp + 0x3808], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3808]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73d512
jp 0x73d512
mov eax, dword [esp + 0x5364]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5368]
addsd xmm0, xmm1
movsd qword [esp + 0x5368], xmm0
movsd xmm0, qword [esp + 0x5368]
cvtsi2sd xmm1, dword [esp + 0x5364]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5378], eax
jmp 0x73d5de
mov dword [esp + 0x5378], 2
jmp 0x73d5de
jmp 0x73d32c
jmp 0x73d531
jmp 0x73d531
movsd xmm0, qword [esp + 0x5368]
movsd qword [esp + 0x37f8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x37f0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x37f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3804], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x37f4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x37f4]
movsd xmm0, qword [esp + 0x37f8]
mov dl, al
mov eax, dword [esp + 0x3804]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5378], eax
mov eax, dword [esp + 0x3834]
add eax, dword [esp + 0x5378]
mov dword [esp + 0x37e8], eax
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x37ec], eax
mov eax, dword [esp + 0x532c]
add eax, 0x5d
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5358], xmm0
xor eax, eax
je 0x73d62b
add byte [ecx + 0x53602484], cl
add byte [eax], al
mov dword [esp + 0x5360], eax
movsd xmm0, qword [esp + 0x5358]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5350], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x37dc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x37dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x37e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x37e0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x37e0]
mov dl, al
mov eax, dword [esp + 0x37e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d861
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x37d0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x37d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x37d4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x37d4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x37d8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x37d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73d85c
mov dword [esp + 0x534c], 0
cmp dword [esp + 0x534c], 9
jae 0x73d857
movsd xmm0, qword [esp + 0x5350]
cvtsi2sd xmm1, dword [esp + 0x534c]
addsd xmm0, xmm1
movsd qword [esp + 0x37c8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x37c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73d7b9
jp 0x73d7b9
movsd xmm0, qword [esp + 0x5350]
movsd qword [esp + 0x5350], xmm0
jmp 0x73d661
movsd xmm0, qword [esp + 0x5350]
cvtsi2sd xmm1, dword [esp + 0x534c]
addsd xmm0, xmm1
movsd qword [esp + 0x37c0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x37c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73d847
jp 0x73d847
mov eax, dword [esp + 0x534c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5350]
addsd xmm0, xmm1
movsd qword [esp + 0x5350], xmm0
movsd xmm0, qword [esp + 0x5350]
cvtsi2sd xmm1, dword [esp + 0x534c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5360], eax
jmp 0x73d913
mov dword [esp + 0x5360], 2
jmp 0x73d913
jmp 0x73d661
jmp 0x73d866
jmp 0x73d866
movsd xmm0, qword [esp + 0x5350]
movsd qword [esp + 0x37b0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x37a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x37a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x37bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x37ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x37ac]
movsd xmm0, qword [esp + 0x37b0]
mov dl, al
mov eax, dword [esp + 0x37bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5360], eax
mov edx, dword [esp + 0x37e8]
mov eax, dword [esp + 0x37ec]
and eax, dword [esp + 0x5360]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x379c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x379c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x37a0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x37a0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x37a4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x37a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73dce4
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3798], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5340], xmm0
xor eax, eax
je 0x73d9dd
add byte [ecx + 0x53482484], cl
add byte [eax], al
mov dword [esp + 0x5348], eax
movsd xmm0, qword [esp + 0x5340]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5338], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x378c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x378c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3794], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3790], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3790]
mov dl, al
mov eax, dword [esp + 0x3794]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73dc13
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3780], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3780]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3784], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3784]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3788], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3788]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73dc0e
mov dword [esp + 0x5334], 0
cmp dword [esp + 0x5334], 9
jae 0x73dc09
movsd xmm0, qword [esp + 0x5338]
cvtsi2sd xmm1, dword [esp + 0x5334]
addsd xmm0, xmm1
movsd qword [esp + 0x3778], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3778]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73db6b
jp 0x73db6b
movsd xmm0, qword [esp + 0x5338]
movsd qword [esp + 0x5338], xmm0
jmp 0x73da13
movsd xmm0, qword [esp + 0x5338]
cvtsi2sd xmm1, dword [esp + 0x5334]
addsd xmm0, xmm1
movsd qword [esp + 0x3770], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3770]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73dbf9
jp 0x73dbf9
mov eax, dword [esp + 0x5334]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5338]
addsd xmm0, xmm1
movsd qword [esp + 0x5338], xmm0
movsd xmm0, qword [esp + 0x5338]
cvtsi2sd xmm1, dword [esp + 0x5334]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5348], eax
jmp 0x73dcc5
mov dword [esp + 0x5348], 2
jmp 0x73dcc5
jmp 0x73da13
jmp 0x73dc18
jmp 0x73dc18
movsd xmm0, qword [esp + 0x5338]
movsd qword [esp + 0x3760], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3758], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3758]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x376c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x375c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x375c]
movsd xmm0, qword [esp + 0x3760]
mov dl, al
mov eax, dword [esp + 0x376c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5348], eax
mov edx, dword [esp + 0x3798]
xor edx, dword [esp + 0x5348]
mov eax, dword [esp + 0x5330]
mov ecx, dword [esp + 0x532c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x532c]
add eax, 1
mov dword [esp + 0x532c], eax
jmp 0x73c742
jmp 0x73dcff
mov eax, dword [esp + 0x393c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b8c], eax
lea ecx, [esp + 0x4b83]
call fcn.00766916
mov dword [esp + 0x4bf4], eax
mov eax, dword [esp + 0x4bf4]
mov dword [esp + 0x51f4], eax
mov eax, dword [esp + 0x51f4]
mov dword [esp + 0x3754], eax
test byte [eax + 4], 1
jne 0x73f322
mov eax, dword [esp + 0x3754]
mov dword [esp + 0x5298], eax
mov dword [esp + 0x5294], 0
cmp dword [esp + 0x5294], 1
jae 0x73f31d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3748], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3748]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x374c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x374c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3750], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3750]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e11a
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3744], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x5320], xmm0
xor eax, eax
je 0x73de13
add byte [ecx + 0x53282484], cl
add byte [eax], al
mov dword [esp + 0x5328], eax
movsd xmm0, qword [esp + 0x5320]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5318], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3738], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3738]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3740], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x373c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x373c]
mov dl, al
mov eax, dword [esp + 0x3740]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e049
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x372c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x372c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3730], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3730]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3734], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3734]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e044
mov dword [esp + 0x5314], 0
cmp dword [esp + 0x5314], 9
jae 0x73e03f
movsd xmm0, qword [esp + 0x5318]
cvtsi2sd xmm1, dword [esp + 0x5314]
addsd xmm0, xmm1
movsd qword [esp + 0x3720], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3720]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73dfa1
jp 0x73dfa1
movsd xmm0, qword [esp + 0x5318]
movsd qword [esp + 0x5318], xmm0
jmp 0x73de49
movsd xmm0, qword [esp + 0x5318]
cvtsi2sd xmm1, dword [esp + 0x5314]
addsd xmm0, xmm1
movsd qword [esp + 0x3718], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3718]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73e02f
jp 0x73e02f
mov eax, dword [esp + 0x5314]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5318]
addsd xmm0, xmm1
movsd qword [esp + 0x5318], xmm0
movsd xmm0, qword [esp + 0x5318]
cvtsi2sd xmm1, dword [esp + 0x5314]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5328], eax
jmp 0x73e0fb
mov dword [esp + 0x5328], 2
jmp 0x73e0fb
jmp 0x73de49
jmp 0x73e04e
jmp 0x73e04e
movsd xmm0, qword [esp + 0x5318]
movsd qword [esp + 0x3708], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3700], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3700]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3714], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3704], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3704]
movsd xmm0, qword [esp + 0x3708]
mov dl, al
mov eax, dword [esp + 0x3714]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5328], eax
mov edx, dword [esp + 0x3744]
xor edx, dword [esp + 0x5328]
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x36f4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x36f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36fc], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x36f8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x36f8]
mov dl, al
mov eax, dword [esp + 0x36fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ef60
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x36e8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x36e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36ec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x36ec]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x36f0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x36f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e53a
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x36e4], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x5308], xmm0
xor eax, eax
je 0x73e233
add byte [ecx + 0x53102484], cl
add byte [eax], al
mov dword [esp + 0x5310], eax
movsd xmm0, qword [esp + 0x5308]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5300], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x36d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x36d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36e0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x36dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x36dc]
mov dl, al
mov eax, dword [esp + 0x36e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e469
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x36cc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x36cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36d0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x36d0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x36d4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x36d4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e464
mov dword [esp + 0x52fc], 0
cmp dword [esp + 0x52fc], 9
jae 0x73e45f
movsd xmm0, qword [esp + 0x5300]
cvtsi2sd xmm1, dword [esp + 0x52fc]
addsd xmm0, xmm1
movsd qword [esp + 0x36c0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x36c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73e3c1
jp 0x73e3c1
movsd xmm0, qword [esp + 0x5300]
movsd qword [esp + 0x5300], xmm0
jmp 0x73e269
movsd xmm0, qword [esp + 0x5300]
cvtsi2sd xmm1, dword [esp + 0x52fc]
addsd xmm0, xmm1
movsd qword [esp + 0x36b8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x36b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73e44f
jp 0x73e44f
mov eax, dword [esp + 0x52fc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5300]
addsd xmm0, xmm1
movsd qword [esp + 0x5300], xmm0
movsd xmm0, qword [esp + 0x5300]
cvtsi2sd xmm1, dword [esp + 0x52fc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5310], eax
jmp 0x73e51b
mov dword [esp + 0x5310], 2
jmp 0x73e51b
jmp 0x73e269
jmp 0x73e46e
jmp 0x73e46e
movsd xmm0, qword [esp + 0x5300]
movsd qword [esp + 0x36a8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x36a0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x36a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x36b4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x36a4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x36a4]
movsd xmm0, qword [esp + 0x36a8]
mov dl, al
mov eax, dword [esp + 0x36b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5310], eax
mov edx, dword [esp + 0x36e4]
xor edx, dword [esp + 0x5310]
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3694], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3694]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3698], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3698]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x369c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x369c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e8e1
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3690], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x52f0], xmm0
xor eax, eax
je 0x73e5da
add byte [ecx + 0x52f82484], cl
add byte [eax], al
mov dword [esp + 0x52f8], eax
movsd xmm0, qword [esp + 0x52f0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x52e8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3684], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3684]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x368c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3688], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3688]
mov dl, al
mov eax, dword [esp + 0x368c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e810
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3678], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3678]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x367c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x367c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3680], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3680]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73e80b
mov dword [esp + 0x52e4], 0
cmp dword [esp + 0x52e4], 9
jae 0x73e806
movsd xmm0, qword [esp + 0x52e8]
cvtsi2sd xmm1, dword [esp + 0x52e4]
addsd xmm0, xmm1
movsd qword [esp + 0x3670], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3670]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73e768
jp 0x73e768
movsd xmm0, qword [esp + 0x52e8]
movsd qword [esp + 0x52e8], xmm0
jmp 0x73e610
movsd xmm0, qword [esp + 0x52e8]
cvtsi2sd xmm1, dword [esp + 0x52e4]
addsd xmm0, xmm1
movsd qword [esp + 0x3668], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3668]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73e7f6
jp 0x73e7f6
mov eax, dword [esp + 0x52e4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x52e8]
addsd xmm0, xmm1
movsd qword [esp + 0x52e8], xmm0
movsd xmm0, qword [esp + 0x52e8]
cvtsi2sd xmm1, dword [esp + 0x52e4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52f8], eax
jmp 0x73e8c2
mov dword [esp + 0x52f8], 2
jmp 0x73e8c2
jmp 0x73e610
jmp 0x73e815
jmp 0x73e815
movsd xmm0, qword [esp + 0x52e8]
movsd qword [esp + 0x3658], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3650], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3650]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3664], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3654], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3654]
movsd xmm0, qword [esp + 0x3658]
mov dl, al
mov eax, dword [esp + 0x3664]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52f8], eax
mov edx, dword [esp + 0x3690]
xor edx, dword [esp + 0x52f8]
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x364c], eax
mov eax, dword [esp + 0x5294]
add eax, 0x5d
cvtsi2sd xmm0, eax
movsd qword [esp + 0x52d8], xmm0
xor eax, eax
je 0x73e919
add byte [ecx + 0x52e02484], cl
add byte [eax], al
mov dword [esp + 0x52e0], eax
movsd xmm0, qword [esp + 0x52d8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x52d0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3640], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3640]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3648], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3644], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3644]
mov dl, al
mov eax, dword [esp + 0x3648]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73eb4f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3634], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3634]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3638], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3638]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x363c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x363c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73eb4a
mov dword [esp + 0x52cc], 0
cmp dword [esp + 0x52cc], 9
jae 0x73eb45
movsd xmm0, qword [esp + 0x52d0]
cvtsi2sd xmm1, dword [esp + 0x52cc]
addsd xmm0, xmm1
movsd qword [esp + 0x3628], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3628]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73eaa7
jp 0x73eaa7
movsd xmm0, qword [esp + 0x52d0]
movsd qword [esp + 0x52d0], xmm0
jmp 0x73e94f
movsd xmm0, qword [esp + 0x52d0]
cvtsi2sd xmm1, dword [esp + 0x52cc]
addsd xmm0, xmm1
movsd qword [esp + 0x3620], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3620]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73eb35
jp 0x73eb35
mov eax, dword [esp + 0x52cc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x52d0]
addsd xmm0, xmm1
movsd qword [esp + 0x52d0], xmm0
movsd xmm0, qword [esp + 0x52d0]
cvtsi2sd xmm1, dword [esp + 0x52cc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52e0], eax
jmp 0x73ec01
mov dword [esp + 0x52e0], 2
jmp 0x73ec01
jmp 0x73e94f
jmp 0x73eb54
jmp 0x73eb54
movsd xmm0, qword [esp + 0x52d0]
movsd qword [esp + 0x3610], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3608], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3608]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x361c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x360c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x360c]
movsd xmm0, qword [esp + 0x3610]
mov dl, al
mov eax, dword [esp + 0x361c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52e0], eax
mov eax, dword [esp + 0x364c]
add eax, dword [esp + 0x52e0]
mov dword [esp + 0x3600], eax
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3604], eax
mov eax, dword [esp + 0x5294]
add eax, 0x5d
cvtsi2sd xmm0, eax
movsd qword [esp + 0x52c0], xmm0
xor eax, eax
je 0x73ec4e
add byte [ecx + 0x52c82484], cl
add byte [eax], al
mov dword [esp + 0x52c8], eax
movsd xmm0, qword [esp + 0x52c0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x52b8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x35f4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x35f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x35fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x35f8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x35f8]
mov dl, al
mov eax, dword [esp + 0x35fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ee84
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x35e8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x35e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x35ec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x35ec]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x35f0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x35f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ee7f
mov dword [esp + 0x52b4], 0
cmp dword [esp + 0x52b4], 9
jae 0x73ee7a
movsd xmm0, qword [esp + 0x52b8]
cvtsi2sd xmm1, dword [esp + 0x52b4]
addsd xmm0, xmm1
movsd qword [esp + 0x35e0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x35e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73eddc
jp 0x73eddc
movsd xmm0, qword [esp + 0x52b8]
movsd qword [esp + 0x52b8], xmm0
jmp 0x73ec84
movsd xmm0, qword [esp + 0x52b8]
cvtsi2sd xmm1, dword [esp + 0x52b4]
addsd xmm0, xmm1
movsd qword [esp + 0x35d8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x35d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73ee6a
jp 0x73ee6a
mov eax, dword [esp + 0x52b4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x52b8]
addsd xmm0, xmm1
movsd qword [esp + 0x52b8], xmm0
movsd xmm0, qword [esp + 0x52b8]
cvtsi2sd xmm1, dword [esp + 0x52b4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52c8], eax
jmp 0x73ef36
mov dword [esp + 0x52c8], 2
jmp 0x73ef36
jmp 0x73ec84
jmp 0x73ee89
jmp 0x73ee89
movsd xmm0, qword [esp + 0x52b8]
movsd qword [esp + 0x35c8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x35c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x35c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x35d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x35c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x35c4]
movsd xmm0, qword [esp + 0x35c8]
mov dl, al
mov eax, dword [esp + 0x35d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52c8], eax
mov edx, dword [esp + 0x3600]
mov eax, dword [esp + 0x3604]
and eax, dword [esp + 0x52c8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x35b4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x35b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x35b8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x35b8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x35bc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x35bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73f307
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x35b0], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x52a8], xmm0
xor eax, eax
je 0x73f000
add byte [ecx + 0x52b02484], cl
add byte [eax], al
mov dword [esp + 0x52b0], eax
movsd xmm0, qword [esp + 0x52a8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x52a0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x35a4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x35a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x35ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x35a8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x35a8]
mov dl, al
mov eax, dword [esp + 0x35ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73f236
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3598], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3598]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x359c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x359c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x35a0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x35a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73f231
mov dword [esp + 0x529c], 0
cmp dword [esp + 0x529c], 9
jae 0x73f22c
movsd xmm0, qword [esp + 0x52a0]
cvtsi2sd xmm1, dword [esp + 0x529c]
addsd xmm0, xmm1
movsd qword [esp + 0x3590], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3590]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73f18e
jp 0x73f18e
movsd xmm0, qword [esp + 0x52a0]
movsd qword [esp + 0x52a0], xmm0
jmp 0x73f036
movsd xmm0, qword [esp + 0x52a0]
cvtsi2sd xmm1, dword [esp + 0x529c]
addsd xmm0, xmm1
movsd qword [esp + 0x3588], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3588]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73f21c
jp 0x73f21c
mov eax, dword [esp + 0x529c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x52a0]
addsd xmm0, xmm1
movsd qword [esp + 0x52a0], xmm0
movsd xmm0, qword [esp + 0x52a0]
cvtsi2sd xmm1, dword [esp + 0x529c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52b0], eax
jmp 0x73f2e8
mov dword [esp + 0x52b0], 2
jmp 0x73f2e8
jmp 0x73f036
jmp 0x73f23b
jmp 0x73f23b
movsd xmm0, qword [esp + 0x52a0]
movsd qword [esp + 0x3578], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3570], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3570]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3584], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3574], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3574]
movsd xmm0, qword [esp + 0x3578]
mov dl, al
mov eax, dword [esp + 0x3584]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x52b0], eax
mov edx, dword [esp + 0x35b0]
xor edx, dword [esp + 0x52b0]
mov eax, dword [esp + 0x5298]
mov ecx, dword [esp + 0x5294]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5294]
add eax, 1
mov dword [esp + 0x5294], eax
jmp 0x73dd65
jmp 0x73f322
mov eax, dword [esp + 0x3754]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b84], eax
mov eax, dword [esp + 0x4b8c]
mov dword [esp + 0x4b94], eax
cmp eax, 0
je 0x740970
lea ecx, [esp + 0x4b82]
call fcn.00766a04
mov dword [esp + 0x4bf0], eax
mov eax, dword [esp + 0x4bf0]
mov dword [esp + 0x51f8], eax
mov eax, dword [esp + 0x51f8]
mov dword [esp + 0x356c], eax
test byte [eax + 4], 1
jne 0x74095c
mov eax, dword [esp + 0x356c]
mov dword [esp + 0x5200], eax
mov dword [esp + 0x51fc], 0
cmp dword [esp + 0x51fc], 1
jae 0x740957
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3560], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3560]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3564], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3564]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3568], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3568]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73f754
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x355c], eax
movsd xmm0, qword [0x7869f0]
movsd qword [esp + 0x5288], xmm0
xor eax, eax
je 0x73f44d
add byte [ecx + 0x52902484], cl
add byte [eax], al
mov dword [esp + 0x5290], eax
movsd xmm0, qword [esp + 0x5288]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5280], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3550], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3550]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3558], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3554], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3554]
mov dl, al
mov eax, dword [esp + 0x3558]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73f683
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3544], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3544]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3548], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3548]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x354c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x354c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73f67e
mov dword [esp + 0x527c], 0
cmp dword [esp + 0x527c], 9
jae 0x73f679
movsd xmm0, qword [esp + 0x5280]
cvtsi2sd xmm1, dword [esp + 0x527c]
addsd xmm0, xmm1
movsd qword [esp + 0x3538], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3538]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73f5db
jp 0x73f5db
movsd xmm0, qword [esp + 0x5280]
movsd qword [esp + 0x5280], xmm0
jmp 0x73f483
movsd xmm0, qword [esp + 0x5280]
cvtsi2sd xmm1, dword [esp + 0x527c]
addsd xmm0, xmm1
movsd qword [esp + 0x3530], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3530]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73f669
jp 0x73f669
mov eax, dword [esp + 0x527c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5280]
addsd xmm0, xmm1
movsd qword [esp + 0x5280], xmm0
movsd xmm0, qword [esp + 0x5280]
cvtsi2sd xmm1, dword [esp + 0x527c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5290], eax
jmp 0x73f735
mov dword [esp + 0x5290], 2
jmp 0x73f735
jmp 0x73f483
jmp 0x73f688
jmp 0x73f688
movsd xmm0, qword [esp + 0x5280]
movsd qword [esp + 0x3520], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3518], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3518]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x352c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x351c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x351c]
movsd xmm0, qword [esp + 0x3520]
mov dl, al
mov eax, dword [esp + 0x352c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5290], eax
mov edx, dword [esp + 0x355c]
xor edx, dword [esp + 0x5290]
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x350c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x350c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3514], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x3510], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3510]
mov dl, al
mov eax, dword [esp + 0x3514]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74059a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3500], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3500]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3504], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3504]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3508], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3508]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73fb74
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x34fc], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x5270], xmm0
xor eax, eax
je 0x73f86d
add byte [ecx + 0x52782484], cl
add byte [eax], al
mov dword [esp + 0x5278], eax
movsd xmm0, qword [esp + 0x5270]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5268], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x34f0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x34f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x34f8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x34f4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x34f4]
mov dl, al
mov eax, dword [esp + 0x34f8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73faa3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x34e4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x34e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x34e8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x34e8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x34ec], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x34ec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73fa9e
mov dword [esp + 0x5264], 0
cmp dword [esp + 0x5264], 9
jae 0x73fa99
movsd xmm0, qword [esp + 0x5268]
cvtsi2sd xmm1, dword [esp + 0x5264]
addsd xmm0, xmm1
movsd qword [esp + 0x34d8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x34d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73f9fb
jp 0x73f9fb
movsd xmm0, qword [esp + 0x5268]
movsd qword [esp + 0x5268], xmm0
jmp 0x73f8a3
movsd xmm0, qword [esp + 0x5268]
cvtsi2sd xmm1, dword [esp + 0x5264]
addsd xmm0, xmm1
movsd qword [esp + 0x34d0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x34d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73fa89
jp 0x73fa89
mov eax, dword [esp + 0x5264]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5268]
addsd xmm0, xmm1
movsd qword [esp + 0x5268], xmm0
movsd xmm0, qword [esp + 0x5268]
cvtsi2sd xmm1, dword [esp + 0x5264]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5278], eax
jmp 0x73fb55
mov dword [esp + 0x5278], 2
jmp 0x73fb55
jmp 0x73f8a3
jmp 0x73faa8
jmp 0x73faa8
movsd xmm0, qword [esp + 0x5268]
movsd qword [esp + 0x34c0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x34b8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x34b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x34cc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x34bc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x34bc]
movsd xmm0, qword [esp + 0x34c0]
mov dl, al
mov eax, dword [esp + 0x34cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5278], eax
mov edx, dword [esp + 0x34fc]
xor edx, dword [esp + 0x5278]
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x34ac], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x34ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x34b0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x34b0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x34b4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x34b4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73ff1b
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x34a8], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x5258], xmm0
xor eax, eax
je 0x73fc14
add byte [ecx + 0x52602484], cl
add byte [eax], al
mov dword [esp + 0x5260], eax
movsd xmm0, qword [esp + 0x5258]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5250], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x349c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x349c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x34a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x34a0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x34a0]
mov dl, al
mov eax, dword [esp + 0x34a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73fe4a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3490], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3490]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3494], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3494]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3498], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3498]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x73fe45
mov dword [esp + 0x524c], 0
cmp dword [esp + 0x524c], 9
jae 0x73fe40
movsd xmm0, qword [esp + 0x5250]
cvtsi2sd xmm1, dword [esp + 0x524c]
addsd xmm0, xmm1
movsd qword [esp + 0x3488], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3488]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73fda2
jp 0x73fda2
movsd xmm0, qword [esp + 0x5250]
movsd qword [esp + 0x5250], xmm0
jmp 0x73fc4a
movsd xmm0, qword [esp + 0x5250]
cvtsi2sd xmm1, dword [esp + 0x524c]
addsd xmm0, xmm1
movsd qword [esp + 0x3480], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3480]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x73fe30
jp 0x73fe30
mov eax, dword [esp + 0x524c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5250]
addsd xmm0, xmm1
movsd qword [esp + 0x5250], xmm0
movsd xmm0, qword [esp + 0x5250]
cvtsi2sd xmm1, dword [esp + 0x524c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5260], eax
jmp 0x73fefc
mov dword [esp + 0x5260], 2
jmp 0x73fefc
jmp 0x73fc4a
jmp 0x73fe4f
jmp 0x73fe4f
movsd xmm0, qword [esp + 0x5250]
movsd qword [esp + 0x3470], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3468], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3468]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x347c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x346c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x346c]
movsd xmm0, qword [esp + 0x3470]
mov dl, al
mov eax, dword [esp + 0x347c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5260], eax
mov edx, dword [esp + 0x34a8]
xor edx, dword [esp + 0x5260]
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3464], eax
mov eax, dword [esp + 0x51fc]
add eax, 0x5d
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5240], xmm0
xor eax, eax
je 0x73ff53
add byte [ecx + 0x52482484], cl
add byte [eax], al
mov dword [esp + 0x5248], eax
movsd xmm0, qword [esp + 0x5240]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5238], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3458], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3458]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3460], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x345c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x345c]
mov dl, al
mov eax, dword [esp + 0x3460]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740189
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x344c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x344c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3450], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3450]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3454], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3454]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740184
mov dword [esp + 0x5234], 0
cmp dword [esp + 0x5234], 9
jae 0x74017f
movsd xmm0, qword [esp + 0x5238]
cvtsi2sd xmm1, dword [esp + 0x5234]
addsd xmm0, xmm1
movsd qword [esp + 0x3440], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3440]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7400e1
jp 0x7400e1
movsd xmm0, qword [esp + 0x5238]
movsd qword [esp + 0x5238], xmm0
jmp 0x73ff89
movsd xmm0, qword [esp + 0x5238]
cvtsi2sd xmm1, dword [esp + 0x5234]
addsd xmm0, xmm1
movsd qword [esp + 0x3438], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3438]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74016f
jp 0x74016f
mov eax, dword [esp + 0x5234]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5238]
addsd xmm0, xmm1
movsd qword [esp + 0x5238], xmm0
movsd xmm0, qword [esp + 0x5238]
cvtsi2sd xmm1, dword [esp + 0x5234]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5248], eax
jmp 0x74023b
mov dword [esp + 0x5248], 2
jmp 0x74023b
jmp 0x73ff89
jmp 0x74018e
jmp 0x74018e
movsd xmm0, qword [esp + 0x5238]
movsd qword [esp + 0x3428], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3420], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3420]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3434], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3424], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3424]
movsd xmm0, qword [esp + 0x3428]
mov dl, al
mov eax, dword [esp + 0x3434]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5248], eax
mov eax, dword [esp + 0x3464]
add eax, dword [esp + 0x5248]
mov dword [esp + 0x3418], eax
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x341c], eax
mov eax, dword [esp + 0x51fc]
add eax, 0x5d
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5228], xmm0
xor eax, eax
je 0x740288
add byte [ecx + 0x52302484], cl
add byte [eax], al
mov dword [esp + 0x5230], eax
movsd xmm0, qword [esp + 0x5228]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5220], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x340c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x340c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3414], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3410], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3410]
mov dl, al
mov eax, dword [esp + 0x3414]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7404be
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3400], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3400]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3404], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3404]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3408], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3408]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7404b9
mov dword [esp + 0x521c], 0
cmp dword [esp + 0x521c], 9
jae 0x7404b4
movsd xmm0, qword [esp + 0x5220]
cvtsi2sd xmm1, dword [esp + 0x521c]
addsd xmm0, xmm1
movsd qword [esp + 0x33f8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x33f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x740416
jp 0x740416
movsd xmm0, qword [esp + 0x5220]
movsd qword [esp + 0x5220], xmm0
jmp 0x7402be
movsd xmm0, qword [esp + 0x5220]
cvtsi2sd xmm1, dword [esp + 0x521c]
addsd xmm0, xmm1
movsd qword [esp + 0x33f0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x33f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7404a4
jp 0x7404a4
mov eax, dword [esp + 0x521c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5220]
addsd xmm0, xmm1
movsd qword [esp + 0x5220], xmm0
movsd xmm0, qword [esp + 0x5220]
cvtsi2sd xmm1, dword [esp + 0x521c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5230], eax
jmp 0x740570
mov dword [esp + 0x5230], 2
jmp 0x740570
jmp 0x7402be
jmp 0x7404c3
jmp 0x7404c3
movsd xmm0, qword [esp + 0x5220]
movsd qword [esp + 0x33e0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x33d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x33d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x33dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x33dc]
movsd xmm0, qword [esp + 0x33e0]
mov dl, al
mov eax, dword [esp + 0x33ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5230], eax
mov edx, dword [esp + 0x3418]
mov eax, dword [esp + 0x341c]
and eax, dword [esp + 0x5230]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x33cc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x33cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33d0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x33d0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x33d4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x33d4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740941
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x33c8], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5210], xmm0
xor eax, eax
je 0x74063a
add byte [ecx + 0x52182484], cl
add byte [eax], al
mov dword [esp + 0x5218], eax
movsd xmm0, qword [esp + 0x5210]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5208], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x33bc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x33bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x33c0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x33c0]
mov dl, al
mov eax, dword [esp + 0x33c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740870
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x33b0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x33b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33b4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x33b4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x33b8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x33b8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74086b
mov dword [esp + 0x5204], 0
cmp dword [esp + 0x5204], 9
jae 0x740866
movsd xmm0, qword [esp + 0x5208]
cvtsi2sd xmm1, dword [esp + 0x5204]
addsd xmm0, xmm1
movsd qword [esp + 0x33a8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x33a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7407c8
jp 0x7407c8
movsd xmm0, qword [esp + 0x5208]
movsd qword [esp + 0x5208], xmm0
jmp 0x740670
movsd xmm0, qword [esp + 0x5208]
cvtsi2sd xmm1, dword [esp + 0x5204]
addsd xmm0, xmm1
movsd qword [esp + 0x33a0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x33a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x740856
jp 0x740856
mov eax, dword [esp + 0x5204]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5208]
addsd xmm0, xmm1
movsd qword [esp + 0x5208], xmm0
movsd xmm0, qword [esp + 0x5208]
cvtsi2sd xmm1, dword [esp + 0x5204]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5218], eax
jmp 0x740922
mov dword [esp + 0x5218], 2
jmp 0x740922
jmp 0x740670
jmp 0x740875
jmp 0x740875
movsd xmm0, qword [esp + 0x5208]
movsd qword [esp + 0x3390], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3388], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3388]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x339c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x338c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x338c]
movsd xmm0, qword [esp + 0x3390]
mov dl, al
mov eax, dword [esp + 0x339c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5218], eax
mov edx, dword [esp + 0x33c8]
xor edx, dword [esp + 0x5218]
mov eax, dword [esp + 0x5200]
mov ecx, dword [esp + 0x51fc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x51fc]
add eax, 1
mov dword [esp + 0x51fc], eax
jmp 0x73f39f
jmp 0x74095c
mov eax, dword [esp + 0x356c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b84], eax
jmp 0x740975
jmp 0x74097a
lea ecx, [esp + 0x4b7b]
call fcn.00766af2
mov dword [esp + 0x4bfc], eax
mov eax, dword [esp + 0x4bfc]
mov dword [esp + 0x53c8], eax
mov eax, dword [esp + 0x53c8]
mov dword [esp + 0x3384], eax
test byte [eax + 4], 1
jne 0x741f89
mov eax, dword [esp + 0x3384]
mov dword [esp + 0x53d0], eax
mov dword [esp + 0x53cc], 0
cmp dword [esp + 0x53cc], 1
jae 0x741f84
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3378], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3378]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x337c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x337c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3380], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3380]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740d81
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3374], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x5458], xmm0
xor eax, eax
je 0x740a7a
add byte [ecx + 0x54642484], cl
add byte [eax], al
mov dword [esp + 0x5464], eax
movsd xmm0, qword [esp + 0x5458]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5450], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3368], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3368]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3370], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x336c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x336c]
mov dl, al
mov eax, dword [esp + 0x3370]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740cb0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x335c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x335c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3360], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3360]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3364], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3364]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x740cab
mov dword [esp + 0x544c], 0
cmp dword [esp + 0x544c], 9
jae 0x740ca6
movsd xmm0, qword [esp + 0x5450]
cvtsi2sd xmm1, dword [esp + 0x544c]
addsd xmm0, xmm1
movsd qword [esp + 0x3350], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3350]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x740c08
jp 0x740c08
movsd xmm0, qword [esp + 0x5450]
movsd qword [esp + 0x5450], xmm0
jmp 0x740ab0
movsd xmm0, qword [esp + 0x5450]
cvtsi2sd xmm1, dword [esp + 0x544c]
addsd xmm0, xmm1
movsd qword [esp + 0x3348], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3348]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x740c96
jp 0x740c96
mov eax, dword [esp + 0x544c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5450]
addsd xmm0, xmm1
movsd qword [esp + 0x5450], xmm0
movsd xmm0, qword [esp + 0x5450]
cvtsi2sd xmm1, dword [esp + 0x544c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5464], eax
jmp 0x740d62
mov dword [esp + 0x5464], 2
jmp 0x740d62
jmp 0x740ab0
jmp 0x740cb5
jmp 0x740cb5
movsd xmm0, qword [esp + 0x5450]
movsd qword [esp + 0x3338], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3330], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3330]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3344], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3334], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3334]
movsd xmm0, qword [esp + 0x3338]
mov dl, al
mov eax, dword [esp + 0x3344]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5464], eax
mov edx, dword [esp + 0x3374]
xor edx, dword [esp + 0x5464]
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3324], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3324]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x332c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x3328], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3328]
mov dl, al
mov eax, dword [esp + 0x332c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741bc7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3318], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3318]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x331c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x331c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3320], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3320]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7411a1
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3314], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x5440], xmm0
xor eax, eax
je 0x740e9a
add byte [ecx + 0x54482484], cl
add byte [eax], al
mov dword [esp + 0x5448], eax
movsd xmm0, qword [esp + 0x5440]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5438], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3308], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3308]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3310], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x330c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x330c]
mov dl, al
mov eax, dword [esp + 0x3310]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7410d0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x32fc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x32fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3300], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3300]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3304], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3304]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7410cb
mov dword [esp + 0x5434], 0
cmp dword [esp + 0x5434], 9
jae 0x7410c6
movsd xmm0, qword [esp + 0x5438]
cvtsi2sd xmm1, dword [esp + 0x5434]
addsd xmm0, xmm1
movsd qword [esp + 0x32f0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x32f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x741028
jp 0x741028
movsd xmm0, qword [esp + 0x5438]
movsd qword [esp + 0x5438], xmm0
jmp 0x740ed0
movsd xmm0, qword [esp + 0x5438]
cvtsi2sd xmm1, dword [esp + 0x5434]
addsd xmm0, xmm1
movsd qword [esp + 0x32e8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x32e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7410b6
jp 0x7410b6
mov eax, dword [esp + 0x5434]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5438]
addsd xmm0, xmm1
movsd qword [esp + 0x5438], xmm0
movsd xmm0, qword [esp + 0x5438]
cvtsi2sd xmm1, dword [esp + 0x5434]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5448], eax
jmp 0x741182
mov dword [esp + 0x5448], 2
jmp 0x741182
jmp 0x740ed0
jmp 0x7410d5
jmp 0x7410d5
movsd xmm0, qword [esp + 0x5438]
movsd qword [esp + 0x32d8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x32d0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x32d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x32e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x32d4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x32d4]
movsd xmm0, qword [esp + 0x32d8]
mov dl, al
mov eax, dword [esp + 0x32e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5448], eax
mov edx, dword [esp + 0x3314]
xor edx, dword [esp + 0x5448]
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x32c4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x32c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x32c8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x32c8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x32cc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x32cc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741548
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x32c0], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5428], xmm0
xor eax, eax
je 0x741241
add byte [ecx + 0x54302484], cl
add byte [eax], al
mov dword [esp + 0x5430], eax
movsd xmm0, qword [esp + 0x5428]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5420], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x32b4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x32b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x32bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x32b8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x32b8]
mov dl, al
mov eax, dword [esp + 0x32bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741477
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x32a8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x32a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x32ac], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x32ac]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x32b0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x32b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741472
mov dword [esp + 0x541c], 0
cmp dword [esp + 0x541c], 9
jae 0x74146d
movsd xmm0, qword [esp + 0x5420]
cvtsi2sd xmm1, dword [esp + 0x541c]
addsd xmm0, xmm1
movsd qword [esp + 0x32a0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x32a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7413cf
jp 0x7413cf
movsd xmm0, qword [esp + 0x5420]
movsd qword [esp + 0x5420], xmm0
jmp 0x741277
movsd xmm0, qword [esp + 0x5420]
cvtsi2sd xmm1, dword [esp + 0x541c]
addsd xmm0, xmm1
movsd qword [esp + 0x3298], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3298]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74145d
jp 0x74145d
mov eax, dword [esp + 0x541c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5420]
addsd xmm0, xmm1
movsd qword [esp + 0x5420], xmm0
movsd xmm0, qword [esp + 0x5420]
cvtsi2sd xmm1, dword [esp + 0x541c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5430], eax
jmp 0x741529
mov dword [esp + 0x5430], 2
jmp 0x741529
jmp 0x741277
jmp 0x74147c
jmp 0x74147c
movsd xmm0, qword [esp + 0x5420]
movsd qword [esp + 0x3288], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3280], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3280]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3294], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3284], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3284]
movsd xmm0, qword [esp + 0x3288]
mov dl, al
mov eax, dword [esp + 0x3294]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5430], eax
mov edx, dword [esp + 0x32c0]
xor edx, dword [esp + 0x5430]
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x327c], eax
mov eax, dword [esp + 0x53cc]
add eax, 0x5e
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5410], xmm0
xor eax, eax
je 0x741580
add byte [ecx + 0x54182484], cl
add byte [eax], al
mov dword [esp + 0x5418], eax
movsd xmm0, qword [esp + 0x5410]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5408], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3270], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3270]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3278], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3274], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3274]
mov dl, al
mov eax, dword [esp + 0x3278]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7417b6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3264], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3264]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3268], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3268]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x326c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x326c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7417b1
mov dword [esp + 0x5404], 0
cmp dword [esp + 0x5404], 9
jae 0x7417ac
movsd xmm0, qword [esp + 0x5408]
cvtsi2sd xmm1, dword [esp + 0x5404]
addsd xmm0, xmm1
movsd qword [esp + 0x3258], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3258]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74170e
jp 0x74170e
movsd xmm0, qword [esp + 0x5408]
movsd qword [esp + 0x5408], xmm0
jmp 0x7415b6
movsd xmm0, qword [esp + 0x5408]
cvtsi2sd xmm1, dword [esp + 0x5404]
addsd xmm0, xmm1
movsd qword [esp + 0x3250], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3250]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74179c
jp 0x74179c
mov eax, dword [esp + 0x5404]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5408]
addsd xmm0, xmm1
movsd qword [esp + 0x5408], xmm0
movsd xmm0, qword [esp + 0x5408]
cvtsi2sd xmm1, dword [esp + 0x5404]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5418], eax
jmp 0x741868
mov dword [esp + 0x5418], 2
jmp 0x741868
jmp 0x7415b6
jmp 0x7417bb
jmp 0x7417bb
movsd xmm0, qword [esp + 0x5408]
movsd qword [esp + 0x3240], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3238], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3238]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x324c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x323c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x323c]
movsd xmm0, qword [esp + 0x3240]
mov dl, al
mov eax, dword [esp + 0x324c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5418], eax
mov eax, dword [esp + 0x327c]
add eax, dword [esp + 0x5418]
mov dword [esp + 0x3230], eax
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3234], eax
mov eax, dword [esp + 0x53cc]
add eax, 0x5e
cvtsi2sd xmm0, eax
movsd qword [esp + 0x53f8], xmm0
xor eax, eax
je 0x7418b5
add byte [ecx + 0x54002484], cl
add byte [eax], al
mov dword [esp + 0x5400], eax
movsd xmm0, qword [esp + 0x53f8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x53f0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3224], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3224]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x322c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3228], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3228]
mov dl, al
mov eax, dword [esp + 0x322c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741aeb
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3218], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3218]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x321c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x321c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3220], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3220]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741ae6
mov dword [esp + 0x53ec], 0
cmp dword [esp + 0x53ec], 9
jae 0x741ae1
movsd xmm0, qword [esp + 0x53f0]
cvtsi2sd xmm1, dword [esp + 0x53ec]
addsd xmm0, xmm1
movsd qword [esp + 0x3210], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3210]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x741a43
jp 0x741a43
movsd xmm0, qword [esp + 0x53f0]
movsd qword [esp + 0x53f0], xmm0
jmp 0x7418eb
movsd xmm0, qword [esp + 0x53f0]
cvtsi2sd xmm1, dword [esp + 0x53ec]
addsd xmm0, xmm1
movsd qword [esp + 0x3208], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3208]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x741ad1
jp 0x741ad1
mov eax, dword [esp + 0x53ec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x53f0]
addsd xmm0, xmm1
movsd qword [esp + 0x53f0], xmm0
movsd xmm0, qword [esp + 0x53f0]
cvtsi2sd xmm1, dword [esp + 0x53ec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5400], eax
jmp 0x741b9d
mov dword [esp + 0x5400], 2
jmp 0x741b9d
jmp 0x7418eb
jmp 0x741af0
jmp 0x741af0
movsd xmm0, qword [esp + 0x53f0]
movsd qword [esp + 0x31f8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x31f0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x31f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3204], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x31f4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x31f4]
movsd xmm0, qword [esp + 0x31f8]
mov dl, al
mov eax, dword [esp + 0x3204]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5400], eax
mov edx, dword [esp + 0x3230]
mov eax, dword [esp + 0x3234]
and eax, dword [esp + 0x5400]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x31e4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x31e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x31e8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x31e8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x31ec], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x31ec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741f6e
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x31e0], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x53e0], xmm0
xor eax, eax
je 0x741c67
add byte [ecx + 0x53e82484], cl
add byte [eax], al
mov dword [esp + 0x53e8], eax
movsd xmm0, qword [esp + 0x53e0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x53d8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x31d4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x31d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x31dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x31d8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x31d8]
mov dl, al
mov eax, dword [esp + 0x31dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741e9d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x31c8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x31c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x31cc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x31cc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x31d0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x31d0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x741e98
mov dword [esp + 0x53d4], 0
cmp dword [esp + 0x53d4], 9
jae 0x741e93
movsd xmm0, qword [esp + 0x53d8]
cvtsi2sd xmm1, dword [esp + 0x53d4]
addsd xmm0, xmm1
movsd qword [esp + 0x31c0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x31c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x741df5
jp 0x741df5
movsd xmm0, qword [esp + 0x53d8]
movsd qword [esp + 0x53d8], xmm0
jmp 0x741c9d
movsd xmm0, qword [esp + 0x53d8]
cvtsi2sd xmm1, dword [esp + 0x53d4]
addsd xmm0, xmm1
movsd qword [esp + 0x31b8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x31b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x741e83
jp 0x741e83
mov eax, dword [esp + 0x53d4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x53d8]
addsd xmm0, xmm1
movsd qword [esp + 0x53d8], xmm0
movsd xmm0, qword [esp + 0x53d8]
cvtsi2sd xmm1, dword [esp + 0x53d4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x53e8], eax
jmp 0x741f4f
mov dword [esp + 0x53e8], 2
jmp 0x741f4f
jmp 0x741c9d
jmp 0x741ea2
jmp 0x741ea2
movsd xmm0, qword [esp + 0x53d8]
movsd qword [esp + 0x31a8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x31a0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x31a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x31b4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x31a4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x31a4]
movsd xmm0, qword [esp + 0x31a8]
mov dl, al
mov eax, dword [esp + 0x31b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x53e8], eax
mov edx, dword [esp + 0x31e0]
xor edx, dword [esp + 0x53e8]
mov eax, dword [esp + 0x53d0]
mov ecx, dword [esp + 0x53cc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x53cc]
add eax, 1
mov dword [esp + 0x53cc], eax
jmp 0x7409cc
jmp 0x741f89
mov eax, dword [esp + 0x3384]
mov byte [eax + 4], 1
mov eax, dword [eax]
call dword [eax*4 + 0x8c7408]
mov dword [esp + 0x4b7c], eax
lea ecx, [esp + 0x4b73]
call fcn.00766be0
mov dword [esp + 0x4c00], eax
mov eax, dword [esp + 0x4c00]
mov dword [esp + 0x5468], eax
mov eax, dword [esp + 0x5468]
mov dword [esp + 0x319c], eax
test byte [eax + 4], 1
jne 0x7435b3
mov eax, dword [esp + 0x319c]
mov dword [esp + 0x5470], eax
mov dword [esp + 0x546c], 0
cmp dword [esp + 0x546c], 1
jae 0x7435ae
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3190], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3190]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3194], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3194]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3198], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3198]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7423ab
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x318c], eax
movsd xmm0, qword [0x7869f8]
movsd qword [esp + 0x54f8], xmm0
xor eax, eax
je 0x7420a4
add byte [ecx + 0x55002484], cl
add byte [eax], al
mov dword [esp + 0x5500], eax
movsd xmm0, qword [esp + 0x54f8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x54f0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3180], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3180]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3188], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3184], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3184]
mov dl, al
mov eax, dword [esp + 0x3188]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7422da
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3174], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3174]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3178], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3178]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x317c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x317c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7422d5
mov dword [esp + 0x54ec], 0
cmp dword [esp + 0x54ec], 9
jae 0x7422d0
movsd xmm0, qword [esp + 0x54f0]
cvtsi2sd xmm1, dword [esp + 0x54ec]
addsd xmm0, xmm1
movsd qword [esp + 0x3168], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3168]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x742232
jp 0x742232
movsd xmm0, qword [esp + 0x54f0]
movsd qword [esp + 0x54f0], xmm0
jmp 0x7420da
movsd xmm0, qword [esp + 0x54f0]
cvtsi2sd xmm1, dword [esp + 0x54ec]
addsd xmm0, xmm1
movsd qword [esp + 0x3160], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3160]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7422c0
jp 0x7422c0
mov eax, dword [esp + 0x54ec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x54f0]
addsd xmm0, xmm1
movsd qword [esp + 0x54f0], xmm0
movsd xmm0, qword [esp + 0x54f0]
cvtsi2sd xmm1, dword [esp + 0x54ec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5500], eax
jmp 0x74238c
mov dword [esp + 0x5500], 2
jmp 0x74238c
jmp 0x7420da
jmp 0x7422df
jmp 0x7422df
movsd xmm0, qword [esp + 0x54f0]
movsd qword [esp + 0x3150], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3148], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3148]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x315c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x314c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x314c]
movsd xmm0, qword [esp + 0x3150]
mov dl, al
mov eax, dword [esp + 0x315c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5500], eax
mov edx, dword [esp + 0x318c]
xor edx, dword [esp + 0x5500]
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x313c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x313c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3144], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x3140], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3140]
mov dl, al
mov eax, dword [esp + 0x3144]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7431f1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3130], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3130]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3134], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3134]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3138], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3138]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7427cb
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x312c], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x54e0], xmm0
xor eax, eax
je 0x7424c4
add byte [ecx + 0x54e82484], cl
add byte [eax], al
mov dword [esp + 0x54e8], eax
movsd xmm0, qword [esp + 0x54e0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x54d8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3120], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3120]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3128], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3124], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3124]
mov dl, al
mov eax, dword [esp + 0x3128]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7426fa
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3114], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3114]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3118], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3118]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x311c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x311c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7426f5
mov dword [esp + 0x54d4], 0
cmp dword [esp + 0x54d4], 9
jae 0x7426f0
movsd xmm0, qword [esp + 0x54d8]
cvtsi2sd xmm1, dword [esp + 0x54d4]
addsd xmm0, xmm1
movsd qword [esp + 0x3108], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3108]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x742652
jp 0x742652
movsd xmm0, qword [esp + 0x54d8]
movsd qword [esp + 0x54d8], xmm0
jmp 0x7424fa
movsd xmm0, qword [esp + 0x54d8]
cvtsi2sd xmm1, dword [esp + 0x54d4]
addsd xmm0, xmm1
movsd qword [esp + 0x3100], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3100]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7426e0
jp 0x7426e0
mov eax, dword [esp + 0x54d4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x54d8]
addsd xmm0, xmm1
movsd qword [esp + 0x54d8], xmm0
movsd xmm0, qword [esp + 0x54d8]
cvtsi2sd xmm1, dword [esp + 0x54d4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54e8], eax
jmp 0x7427ac
mov dword [esp + 0x54e8], 2
jmp 0x7427ac
jmp 0x7424fa
jmp 0x7426ff
jmp 0x7426ff
movsd xmm0, qword [esp + 0x54d8]
movsd qword [esp + 0x30f0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x30e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x30e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x30ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x30ec]
movsd xmm0, qword [esp + 0x30f0]
mov dl, al
mov eax, dword [esp + 0x30fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54e8], eax
mov edx, dword [esp + 0x312c]
xor edx, dword [esp + 0x54e8]
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x30dc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x30dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30e0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x30e0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x30e4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x30e4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x742b72
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30d8], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x54c8], xmm0
xor eax, eax
je 0x74286b
add byte [ecx + 0x54d02484], cl
add byte [eax], al
mov dword [esp + 0x54d0], eax
movsd xmm0, qword [esp + 0x54c8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x54c0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x30cc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x30cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x30d0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x30d0]
mov dl, al
mov eax, dword [esp + 0x30d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x742aa1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x30c0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x30c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30c4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x30c4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x30c8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x30c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x742a9c
mov dword [esp + 0x54bc], 0
cmp dword [esp + 0x54bc], 9
jae 0x742a97
movsd xmm0, qword [esp + 0x54c0]
cvtsi2sd xmm1, dword [esp + 0x54bc]
addsd xmm0, xmm1
movsd qword [esp + 0x30b8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x30b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7429f9
jp 0x7429f9
movsd xmm0, qword [esp + 0x54c0]
movsd qword [esp + 0x54c0], xmm0
jmp 0x7428a1
movsd xmm0, qword [esp + 0x54c0]
cvtsi2sd xmm1, dword [esp + 0x54bc]
addsd xmm0, xmm1
movsd qword [esp + 0x30b0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x30b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x742a87
jp 0x742a87
mov eax, dword [esp + 0x54bc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x54c0]
addsd xmm0, xmm1
movsd qword [esp + 0x54c0], xmm0
movsd xmm0, qword [esp + 0x54c0]
cvtsi2sd xmm1, dword [esp + 0x54bc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54d0], eax
jmp 0x742b53
mov dword [esp + 0x54d0], 2
jmp 0x742b53
jmp 0x7428a1
jmp 0x742aa6
jmp 0x742aa6
movsd xmm0, qword [esp + 0x54c0]
movsd qword [esp + 0x30a0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3098], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3098]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x309c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x309c]
movsd xmm0, qword [esp + 0x30a0]
mov dl, al
mov eax, dword [esp + 0x30ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54d0], eax
mov edx, dword [esp + 0x30d8]
xor edx, dword [esp + 0x54d0]
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3094], eax
mov eax, dword [esp + 0x546c]
add eax, 0x5e
cvtsi2sd xmm0, eax
movsd qword [esp + 0x54b0], xmm0
xor eax, eax
je 0x742baa
add byte [ecx + 0x54b82484], cl
add byte [eax], al
mov dword [esp + 0x54b8], eax
movsd xmm0, qword [esp + 0x54b0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x54a8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3088], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3088]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3090], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x308c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x308c]
mov dl, al
mov eax, dword [esp + 0x3090]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x742de0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x307c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x307c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3080], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3080]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3084], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3084]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x742ddb
mov dword [esp + 0x54a4], 0
cmp dword [esp + 0x54a4], 9
jae 0x742dd6
movsd xmm0, qword [esp + 0x54a8]
cvtsi2sd xmm1, dword [esp + 0x54a4]
addsd xmm0, xmm1
movsd qword [esp + 0x3070], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3070]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x742d38
jp 0x742d38
movsd xmm0, qword [esp + 0x54a8]
movsd qword [esp + 0x54a8], xmm0
jmp 0x742be0
movsd xmm0, qword [esp + 0x54a8]
cvtsi2sd xmm1, dword [esp + 0x54a4]
addsd xmm0, xmm1
movsd qword [esp + 0x3068], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3068]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x742dc6
jp 0x742dc6
mov eax, dword [esp + 0x54a4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x54a8]
addsd xmm0, xmm1
movsd qword [esp + 0x54a8], xmm0
movsd xmm0, qword [esp + 0x54a8]
cvtsi2sd xmm1, dword [esp + 0x54a4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54b8], eax
jmp 0x742e92
mov dword [esp + 0x54b8], 2
jmp 0x742e92
jmp 0x742be0
jmp 0x742de5
jmp 0x742de5
movsd xmm0, qword [esp + 0x54a8]
movsd qword [esp + 0x3058], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3050], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3050]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3064], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3054], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3054]
movsd xmm0, qword [esp + 0x3058]
mov dl, al
mov eax, dword [esp + 0x3064]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54b8], eax
mov eax, dword [esp + 0x3094]
add eax, dword [esp + 0x54b8]
mov dword [esp + 0x3048], eax
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x304c], eax
mov eax, dword [esp + 0x546c]
add eax, 0x5e
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5498], xmm0
xor eax, eax
je 0x742edf
add byte [ecx + 0x54a02484], cl
add byte [eax], al
mov dword [esp + 0x54a0], eax
movsd xmm0, qword [esp + 0x5498]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5490], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x303c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x303c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3044], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3040], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3040]
mov dl, al
mov eax, dword [esp + 0x3044]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x743115
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3030], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3030]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3034], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3034]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3038], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3038]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x743110
mov dword [esp + 0x548c], 0
cmp dword [esp + 0x548c], 9
jae 0x74310b
movsd xmm0, qword [esp + 0x5490]
cvtsi2sd xmm1, dword [esp + 0x548c]
addsd xmm0, xmm1
movsd qword [esp + 0x3028], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3028]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74306d
jp 0x74306d
movsd xmm0, qword [esp + 0x5490]
movsd qword [esp + 0x5490], xmm0
jmp 0x742f15
movsd xmm0, qword [esp + 0x5490]
cvtsi2sd xmm1, dword [esp + 0x548c]
addsd xmm0, xmm1
movsd qword [esp + 0x3020], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3020]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7430fb
jp 0x7430fb
mov eax, dword [esp + 0x548c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5490]
addsd xmm0, xmm1
movsd qword [esp + 0x5490], xmm0
movsd xmm0, qword [esp + 0x5490]
cvtsi2sd xmm1, dword [esp + 0x548c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54a0], eax
jmp 0x7431c7
mov dword [esp + 0x54a0], 2
jmp 0x7431c7
jmp 0x742f15
jmp 0x74311a
jmp 0x74311a
movsd xmm0, qword [esp + 0x5490]
movsd qword [esp + 0x3010], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3008], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3008]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x301c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x300c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x300c]
movsd xmm0, qword [esp + 0x3010]
mov dl, al
mov eax, dword [esp + 0x301c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x54a0], eax
mov edx, dword [esp + 0x3048]
mov eax, dword [esp + 0x304c]
and eax, dword [esp + 0x54a0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2ffc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2ffc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3000], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3000]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3004], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3004]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x743598
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2ff8], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x5480], xmm0
xor eax, eax
je 0x743291
add byte [ecx + 0x54882484], cl
add byte [eax], al
mov dword [esp + 0x5488], eax
movsd xmm0, qword [esp + 0x5480]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5478], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2fec], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2fec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ff4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2ff0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2ff0]
mov dl, al
mov eax, dword [esp + 0x2ff4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7434c7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2fe0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2fe0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2fe4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2fe4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2fe8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2fe8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7434c2
mov dword [esp + 0x5474], 0
cmp dword [esp + 0x5474], 9
jae 0x7434bd
movsd xmm0, qword [esp + 0x5478]
cvtsi2sd xmm1, dword [esp + 0x5474]
addsd xmm0, xmm1
movsd qword [esp + 0x2fd8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2fd8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74341f
jp 0x74341f
movsd xmm0, qword [esp + 0x5478]
movsd qword [esp + 0x5478], xmm0
jmp 0x7432c7
movsd xmm0, qword [esp + 0x5478]
cvtsi2sd xmm1, dword [esp + 0x5474]
addsd xmm0, xmm1
movsd qword [esp + 0x2fd0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2fd0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7434ad
jp 0x7434ad
mov eax, dword [esp + 0x5474]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5478]
addsd xmm0, xmm1
movsd qword [esp + 0x5478], xmm0
movsd xmm0, qword [esp + 0x5478]
cvtsi2sd xmm1, dword [esp + 0x5474]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5488], eax
jmp 0x743579
mov dword [esp + 0x5488], 2
jmp 0x743579
jmp 0x7432c7
jmp 0x7434cc
jmp 0x7434cc
movsd xmm0, qword [esp + 0x5478]
movsd qword [esp + 0x2fc0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2fb8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2fb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2fcc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2fbc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2fbc]
movsd xmm0, qword [esp + 0x2fc0]
mov dl, al
mov eax, dword [esp + 0x2fcc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5488], eax
mov edx, dword [esp + 0x2ff8]
xor edx, dword [esp + 0x5488]
mov eax, dword [esp + 0x5470]
mov ecx, dword [esp + 0x546c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x546c]
add eax, 1
mov dword [esp + 0x546c], eax
jmp 0x741ff6
jmp 0x7435b3
mov eax, dword [esp + 0x319c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b74], eax
lea ecx, [esp + 0x4b6b]
call fcn.00766cce
mov dword [esp + 0x4c08], eax
mov eax, dword [esp + 0x4c08]
mov dword [esp + 0x5504], eax
mov eax, dword [esp + 0x5504]
mov dword [esp + 0x2fb4], eax
test byte [eax + 4], 1
jne 0x744bd6
mov eax, dword [esp + 0x2fb4]
mov dword [esp + 0x55a8], eax
mov dword [esp + 0x55a4], 0
cmp dword [esp + 0x55a4], 1
jae 0x744bd1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2fa8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2fa8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2fac], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2fac]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2fb0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2fb0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7439ce
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2fa4], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x5630], xmm0
xor eax, eax
je 0x7436c7
add byte [ecx + 0x563c2484], cl
add byte [eax], al
mov dword [esp + 0x563c], eax
movsd xmm0, qword [esp + 0x5630]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5628], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2f98], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2f98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2fa0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2f9c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2f9c]
mov dl, al
mov eax, dword [esp + 0x2fa0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7438fd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2f8c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2f8c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f90], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2f90]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2f94], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2f94]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7438f8
mov dword [esp + 0x5624], 0
cmp dword [esp + 0x5624], 9
jae 0x7438f3
movsd xmm0, qword [esp + 0x5628]
cvtsi2sd xmm1, dword [esp + 0x5624]
addsd xmm0, xmm1
movsd qword [esp + 0x2f80], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2f80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x743855
jp 0x743855
movsd xmm0, qword [esp + 0x5628]
movsd qword [esp + 0x5628], xmm0
jmp 0x7436fd
movsd xmm0, qword [esp + 0x5628]
cvtsi2sd xmm1, dword [esp + 0x5624]
addsd xmm0, xmm1
movsd qword [esp + 0x2f78], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2f78]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7438e3
jp 0x7438e3
mov eax, dword [esp + 0x5624]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5628]
addsd xmm0, xmm1
movsd qword [esp + 0x5628], xmm0
movsd xmm0, qword [esp + 0x5628]
cvtsi2sd xmm1, dword [esp + 0x5624]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x563c], eax
jmp 0x7439af
mov dword [esp + 0x563c], 2
jmp 0x7439af
jmp 0x7436fd
jmp 0x743902
jmp 0x743902
movsd xmm0, qword [esp + 0x5628]
movsd qword [esp + 0x2f68], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2f60], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2f60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f74], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2f64], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2f64]
movsd xmm0, qword [esp + 0x2f68]
mov dl, al
mov eax, dword [esp + 0x2f74]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x563c], eax
mov edx, dword [esp + 0x2fa4]
xor edx, dword [esp + 0x563c]
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2f54], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2f54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f5c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x2f58], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2f58]
mov dl, al
mov eax, dword [esp + 0x2f5c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744814
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2f48], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2f48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f4c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2f4c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2f50], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2f50]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x743dee
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2f44], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5618], xmm0
xor eax, eax
je 0x743ae7
add byte [ecx + 0x56202484], cl
add byte [eax], al
mov dword [esp + 0x5620], eax
movsd xmm0, qword [esp + 0x5618]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5610], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2f38], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2f38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f40], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2f3c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2f3c]
mov dl, al
mov eax, dword [esp + 0x2f40]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x743d1d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2f2c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2f2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f30], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2f30]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2f34], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2f34]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x743d18
mov dword [esp + 0x560c], 0
cmp dword [esp + 0x560c], 9
jae 0x743d13
movsd xmm0, qword [esp + 0x5610]
cvtsi2sd xmm1, dword [esp + 0x560c]
addsd xmm0, xmm1
movsd qword [esp + 0x2f20], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2f20]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x743c75
jp 0x743c75
movsd xmm0, qword [esp + 0x5610]
movsd qword [esp + 0x5610], xmm0
jmp 0x743b1d
movsd xmm0, qword [esp + 0x5610]
cvtsi2sd xmm1, dword [esp + 0x560c]
addsd xmm0, xmm1
movsd qword [esp + 0x2f18], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2f18]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x743d03
jp 0x743d03
mov eax, dword [esp + 0x560c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5610]
addsd xmm0, xmm1
movsd qword [esp + 0x5610], xmm0
movsd xmm0, qword [esp + 0x5610]
cvtsi2sd xmm1, dword [esp + 0x560c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5620], eax
jmp 0x743dcf
mov dword [esp + 0x5620], 2
jmp 0x743dcf
jmp 0x743b1d
jmp 0x743d22
jmp 0x743d22
movsd xmm0, qword [esp + 0x5610]
movsd qword [esp + 0x2f08], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2f00], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2f00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2f14], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2f04], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2f04]
movsd xmm0, qword [esp + 0x2f08]
mov dl, al
mov eax, dword [esp + 0x2f14]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5620], eax
mov edx, dword [esp + 0x2f44]
xor edx, dword [esp + 0x5620]
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2ef4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2ef4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ef8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2ef8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2efc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2efc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744195
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2ef0], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x5600], xmm0
xor eax, eax
je 0x743e8e
add byte [ecx + 0x56082484], cl
add byte [eax], al
mov dword [esp + 0x5608], eax
movsd xmm0, qword [esp + 0x5600]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x55f8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2ee4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2ee4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2eec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2ee8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2ee8]
mov dl, al
mov eax, dword [esp + 0x2eec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7440c4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2ed8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2ed8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2edc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2edc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2ee0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2ee0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7440bf
mov dword [esp + 0x55f4], 0
cmp dword [esp + 0x55f4], 9
jae 0x7440ba
movsd xmm0, qword [esp + 0x55f8]
cvtsi2sd xmm1, dword [esp + 0x55f4]
addsd xmm0, xmm1
movsd qword [esp + 0x2ed0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2ed0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74401c
jp 0x74401c
movsd xmm0, qword [esp + 0x55f8]
movsd qword [esp + 0x55f8], xmm0
jmp 0x743ec4
movsd xmm0, qword [esp + 0x55f8]
cvtsi2sd xmm1, dword [esp + 0x55f4]
addsd xmm0, xmm1
movsd qword [esp + 0x2ec8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2ec8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7440aa
jp 0x7440aa
mov eax, dword [esp + 0x55f4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x55f8]
addsd xmm0, xmm1
movsd qword [esp + 0x55f8], xmm0
movsd xmm0, qword [esp + 0x55f8]
cvtsi2sd xmm1, dword [esp + 0x55f4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5608], eax
jmp 0x744176
mov dword [esp + 0x5608], 2
jmp 0x744176
jmp 0x743ec4
jmp 0x7440c9
jmp 0x7440c9
movsd xmm0, qword [esp + 0x55f8]
movsd qword [esp + 0x2eb8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2eb0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2eb0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ec4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2eb4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2eb4]
movsd xmm0, qword [esp + 0x2eb8]
mov dl, al
mov eax, dword [esp + 0x2ec4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5608], eax
mov edx, dword [esp + 0x2ef0]
xor edx, dword [esp + 0x5608]
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2eac], eax
mov eax, dword [esp + 0x55a4]
add eax, 0x5f
cvtsi2sd xmm0, eax
movsd qword [esp + 0x55e8], xmm0
xor eax, eax
je 0x7441cd
add byte [ecx + 0x55f02484], cl
add byte [eax], al
mov dword [esp + 0x55f0], eax
movsd xmm0, qword [esp + 0x55e8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x55e0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2ea0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2ea0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ea8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2ea4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2ea4]
mov dl, al
mov eax, dword [esp + 0x2ea8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744403
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2e94], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2e94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e98], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2e98]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2e9c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2e9c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7443fe
mov dword [esp + 0x55dc], 0
cmp dword [esp + 0x55dc], 9
jae 0x7443f9
movsd xmm0, qword [esp + 0x55e0]
cvtsi2sd xmm1, dword [esp + 0x55dc]
addsd xmm0, xmm1
movsd qword [esp + 0x2e88], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2e88]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74435b
jp 0x74435b
movsd xmm0, qword [esp + 0x55e0]
movsd qword [esp + 0x55e0], xmm0
jmp 0x744203
movsd xmm0, qword [esp + 0x55e0]
cvtsi2sd xmm1, dword [esp + 0x55dc]
addsd xmm0, xmm1
movsd qword [esp + 0x2e80], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2e80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7443e9
jp 0x7443e9
mov eax, dword [esp + 0x55dc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x55e0]
addsd xmm0, xmm1
movsd qword [esp + 0x55e0], xmm0
movsd xmm0, qword [esp + 0x55e0]
cvtsi2sd xmm1, dword [esp + 0x55dc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55f0], eax
jmp 0x7444b5
mov dword [esp + 0x55f0], 2
jmp 0x7444b5
jmp 0x744203
jmp 0x744408
jmp 0x744408
movsd xmm0, qword [esp + 0x55e0]
movsd qword [esp + 0x2e70], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2e68], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2e68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e7c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2e6c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2e6c]
movsd xmm0, qword [esp + 0x2e70]
mov dl, al
mov eax, dword [esp + 0x2e7c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55f0], eax
mov eax, dword [esp + 0x2eac]
add eax, dword [esp + 0x55f0]
mov dword [esp + 0x2e60], eax
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2e64], eax
mov eax, dword [esp + 0x55a4]
add eax, 0x5f
cvtsi2sd xmm0, eax
movsd qword [esp + 0x55d0], xmm0
xor eax, eax
je 0x744502
add byte [ecx + 0x55d82484], cl
add byte [eax], al
mov dword [esp + 0x55d8], eax
movsd xmm0, qword [esp + 0x55d0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x55c8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2e54], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2e54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e5c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2e58], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2e58]
mov dl, al
mov eax, dword [esp + 0x2e5c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744738
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2e48], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2e48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e4c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2e4c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2e50], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2e50]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744733
mov dword [esp + 0x55c4], 0
cmp dword [esp + 0x55c4], 9
jae 0x74472e
movsd xmm0, qword [esp + 0x55c8]
cvtsi2sd xmm1, dword [esp + 0x55c4]
addsd xmm0, xmm1
movsd qword [esp + 0x2e40], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2e40]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x744690
jp 0x744690
movsd xmm0, qword [esp + 0x55c8]
movsd qword [esp + 0x55c8], xmm0
jmp 0x744538
movsd xmm0, qword [esp + 0x55c8]
cvtsi2sd xmm1, dword [esp + 0x55c4]
addsd xmm0, xmm1
movsd qword [esp + 0x2e38], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2e38]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74471e
jp 0x74471e
mov eax, dword [esp + 0x55c4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x55c8]
addsd xmm0, xmm1
movsd qword [esp + 0x55c8], xmm0
movsd xmm0, qword [esp + 0x55c8]
cvtsi2sd xmm1, dword [esp + 0x55c4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55d8], eax
jmp 0x7447ea
mov dword [esp + 0x55d8], 2
jmp 0x7447ea
jmp 0x744538
jmp 0x74473d
jmp 0x74473d
movsd xmm0, qword [esp + 0x55c8]
movsd qword [esp + 0x2e28], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2e20], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2e20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e34], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2e24], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2e24]
movsd xmm0, qword [esp + 0x2e28]
mov dl, al
mov eax, dword [esp + 0x2e34]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55d8], eax
mov edx, dword [esp + 0x2e60]
mov eax, dword [esp + 0x2e64]
and eax, dword [esp + 0x55d8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2e14], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2e14]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e18], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2e18]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2e1c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2e1c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744bbb
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2e10], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x55b8], xmm0
xor eax, eax
je 0x7448b4
add byte [ecx + 0x55c02484], cl
add byte [eax], al
mov dword [esp + 0x55c0], eax
movsd xmm0, qword [esp + 0x55b8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x55b0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2e04], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2e04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2e0c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2e08], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2e08]
mov dl, al
mov eax, dword [esp + 0x2e0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744aea
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2df8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2df8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2dfc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2dfc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2e00], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2e00]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744ae5
mov dword [esp + 0x55ac], 0
cmp dword [esp + 0x55ac], 9
jae 0x744ae0
movsd xmm0, qword [esp + 0x55b0]
cvtsi2sd xmm1, dword [esp + 0x55ac]
addsd xmm0, xmm1
movsd qword [esp + 0x2df0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2df0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x744a42
jp 0x744a42
movsd xmm0, qword [esp + 0x55b0]
movsd qword [esp + 0x55b0], xmm0
jmp 0x7448ea
movsd xmm0, qword [esp + 0x55b0]
cvtsi2sd xmm1, dword [esp + 0x55ac]
addsd xmm0, xmm1
movsd qword [esp + 0x2de8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2de8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x744ad0
jp 0x744ad0
mov eax, dword [esp + 0x55ac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x55b0]
addsd xmm0, xmm1
movsd qword [esp + 0x55b0], xmm0
movsd xmm0, qword [esp + 0x55b0]
cvtsi2sd xmm1, dword [esp + 0x55ac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55c0], eax
jmp 0x744b9c
mov dword [esp + 0x55c0], 2
jmp 0x744b9c
jmp 0x7448ea
jmp 0x744aef
jmp 0x744aef
movsd xmm0, qword [esp + 0x55b0]
movsd qword [esp + 0x2dd8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2dd0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2dd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2de4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2dd4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2dd4]
movsd xmm0, qword [esp + 0x2dd8]
mov dl, al
mov eax, dword [esp + 0x2de4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55c0], eax
mov edx, dword [esp + 0x2e10]
xor edx, dword [esp + 0x55c0]
mov eax, dword [esp + 0x55a8]
mov ecx, dword [esp + 0x55a4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x55a4]
add eax, 1
mov dword [esp + 0x55a4], eax
jmp 0x743619
jmp 0x744bd6
mov eax, dword [esp + 0x2fb4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b6c], eax
lea ecx, [esp + 0x4b63]
call fcn.00766dbc
mov dword [esp + 0x4c04], eax
mov eax, dword [esp + 0x4c04]
mov dword [esp + 0x5508], eax
mov eax, dword [esp + 0x5508]
mov dword [esp + 0x2dcc], eax
test byte [eax + 4], 1
jne 0x7461f9
mov eax, dword [esp + 0x2dcc]
mov dword [esp + 0x5510], eax
mov dword [esp + 0x550c], 0
cmp dword [esp + 0x550c], 1
jae 0x7461f4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2dc0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2dc0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2dc4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2dc4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2dc8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2dc8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744ff1
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2dbc], eax
movsd xmm0, qword [0x786a00]
movsd qword [esp + 0x5598], xmm0
xor eax, eax
je 0x744cea
add byte [ecx + 0x55a02484], cl
add byte [eax], al
mov dword [esp + 0x55a0], eax
movsd xmm0, qword [esp + 0x5598]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5590], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2db0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2db0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2db8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2db4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2db4]
mov dl, al
mov eax, dword [esp + 0x2db8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744f20
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2da4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2da4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2da8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2da8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2dac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2dac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x744f1b
mov dword [esp + 0x558c], 0
cmp dword [esp + 0x558c], 9
jae 0x744f16
movsd xmm0, qword [esp + 0x5590]
cvtsi2sd xmm1, dword [esp + 0x558c]
addsd xmm0, xmm1
movsd qword [esp + 0x2d98], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2d98]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x744e78
jp 0x744e78
movsd xmm0, qword [esp + 0x5590]
movsd qword [esp + 0x5590], xmm0
jmp 0x744d20
movsd xmm0, qword [esp + 0x5590]
cvtsi2sd xmm1, dword [esp + 0x558c]
addsd xmm0, xmm1
movsd qword [esp + 0x2d90], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2d90]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x744f06
jp 0x744f06
mov eax, dword [esp + 0x558c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5590]
addsd xmm0, xmm1
movsd qword [esp + 0x5590], xmm0
movsd xmm0, qword [esp + 0x5590]
cvtsi2sd xmm1, dword [esp + 0x558c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55a0], eax
jmp 0x744fd2
mov dword [esp + 0x55a0], 2
jmp 0x744fd2
jmp 0x744d20
jmp 0x744f25
jmp 0x744f25
movsd xmm0, qword [esp + 0x5590]
movsd qword [esp + 0x2d80], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2d78], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2d78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d8c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2d7c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2d7c]
movsd xmm0, qword [esp + 0x2d80]
mov dl, al
mov eax, dword [esp + 0x2d8c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x55a0], eax
mov edx, dword [esp + 0x2dbc]
xor edx, dword [esp + 0x55a0]
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2d6c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2d6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d74], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x2d70], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2d70]
mov dl, al
mov eax, dword [esp + 0x2d74]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745e37
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2d60], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2d60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d64], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2d64]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2d68], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2d68]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745411
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2d5c], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5580], xmm0
xor eax, eax
je 0x74510a
add byte [ecx + 0x55882484], cl
add byte [eax], al
mov dword [esp + 0x5588], eax
movsd xmm0, qword [esp + 0x5580]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5578], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2d50], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2d50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d58], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2d54], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2d54]
mov dl, al
mov eax, dword [esp + 0x2d58]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745340
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2d44], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2d44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d48], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2d48]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2d4c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2d4c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74533b
mov dword [esp + 0x5574], 0
cmp dword [esp + 0x5574], 9
jae 0x745336
movsd xmm0, qword [esp + 0x5578]
cvtsi2sd xmm1, dword [esp + 0x5574]
addsd xmm0, xmm1
movsd qword [esp + 0x2d38], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2d38]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x745298
jp 0x745298
movsd xmm0, qword [esp + 0x5578]
movsd qword [esp + 0x5578], xmm0
jmp 0x745140
movsd xmm0, qword [esp + 0x5578]
cvtsi2sd xmm1, dword [esp + 0x5574]
addsd xmm0, xmm1
movsd qword [esp + 0x2d30], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2d30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x745326
jp 0x745326
mov eax, dword [esp + 0x5574]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5578]
addsd xmm0, xmm1
movsd qword [esp + 0x5578], xmm0
movsd xmm0, qword [esp + 0x5578]
cvtsi2sd xmm1, dword [esp + 0x5574]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5588], eax
jmp 0x7453f2
mov dword [esp + 0x5588], 2
jmp 0x7453f2
jmp 0x745140
jmp 0x745345
jmp 0x745345
movsd xmm0, qword [esp + 0x5578]
movsd qword [esp + 0x2d20], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2d18], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2d18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d2c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2d1c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2d1c]
movsd xmm0, qword [esp + 0x2d20]
mov dl, al
mov eax, dword [esp + 0x2d2c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5588], eax
mov edx, dword [esp + 0x2d5c]
xor edx, dword [esp + 0x5588]
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2d0c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2d0c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d10], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2d10]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2d14], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2d14]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7457b8
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2d08], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x5568], xmm0
xor eax, eax
je 0x7454b1
add byte [ecx + 0x55702484], cl
add byte [eax], al
mov dword [esp + 0x5570], eax
movsd xmm0, qword [esp + 0x5568]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5560], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2cfc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2cfc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d04], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2d00], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2d00]
mov dl, al
mov eax, dword [esp + 0x2d04]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7456e7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2cf0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2cf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2cf4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2cf4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2cf8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2cf8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7456e2
mov dword [esp + 0x555c], 0
cmp dword [esp + 0x555c], 9
jae 0x7456dd
movsd xmm0, qword [esp + 0x5560]
cvtsi2sd xmm1, dword [esp + 0x555c]
addsd xmm0, xmm1
movsd qword [esp + 0x2ce8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2ce8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74563f
jp 0x74563f
movsd xmm0, qword [esp + 0x5560]
movsd qword [esp + 0x5560], xmm0
jmp 0x7454e7
movsd xmm0, qword [esp + 0x5560]
cvtsi2sd xmm1, dword [esp + 0x555c]
addsd xmm0, xmm1
movsd qword [esp + 0x2ce0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2ce0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7456cd
jp 0x7456cd
mov eax, dword [esp + 0x555c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5560]
addsd xmm0, xmm1
movsd qword [esp + 0x5560], xmm0
movsd xmm0, qword [esp + 0x5560]
cvtsi2sd xmm1, dword [esp + 0x555c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5570], eax
jmp 0x745799
mov dword [esp + 0x5570], 2
jmp 0x745799
jmp 0x7454e7
jmp 0x7456ec
jmp 0x7456ec
movsd xmm0, qword [esp + 0x5560]
movsd qword [esp + 0x2cd0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2cc8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2cc8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2cdc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2ccc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2ccc]
movsd xmm0, qword [esp + 0x2cd0]
mov dl, al
mov eax, dword [esp + 0x2cdc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5570], eax
mov edx, dword [esp + 0x2d08]
xor edx, dword [esp + 0x5570]
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2cc4], eax
mov eax, dword [esp + 0x550c]
add eax, 0x5f
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5550], xmm0
xor eax, eax
je 0x7457f0
add byte [ecx + 0x55582484], cl
add byte [eax], al
mov dword [esp + 0x5558], eax
movsd xmm0, qword [esp + 0x5550]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5548], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2cb8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2cb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2cc0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2cbc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2cbc]
mov dl, al
mov eax, dword [esp + 0x2cc0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745a26
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2cac], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2cac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2cb0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2cb0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2cb4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2cb4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745a21
mov dword [esp + 0x5544], 0
cmp dword [esp + 0x5544], 9
jae 0x745a1c
movsd xmm0, qword [esp + 0x5548]
cvtsi2sd xmm1, dword [esp + 0x5544]
addsd xmm0, xmm1
movsd qword [esp + 0x2ca0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2ca0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74597e
jp 0x74597e
movsd xmm0, qword [esp + 0x5548]
movsd qword [esp + 0x5548], xmm0
jmp 0x745826
movsd xmm0, qword [esp + 0x5548]
cvtsi2sd xmm1, dword [esp + 0x5544]
addsd xmm0, xmm1
movsd qword [esp + 0x2c98], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2c98]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x745a0c
jp 0x745a0c
mov eax, dword [esp + 0x5544]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5548]
addsd xmm0, xmm1
movsd qword [esp + 0x5548], xmm0
movsd xmm0, qword [esp + 0x5548]
cvtsi2sd xmm1, dword [esp + 0x5544]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5558], eax
jmp 0x745ad8
mov dword [esp + 0x5558], 2
jmp 0x745ad8
jmp 0x745826
jmp 0x745a2b
jmp 0x745a2b
movsd xmm0, qword [esp + 0x5548]
movsd qword [esp + 0x2c88], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2c80], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2c80]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c94], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2c84], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2c84]
movsd xmm0, qword [esp + 0x2c88]
mov dl, al
mov eax, dword [esp + 0x2c94]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5558], eax
mov eax, dword [esp + 0x2cc4]
add eax, dword [esp + 0x5558]
mov dword [esp + 0x2c78], eax
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2c7c], eax
mov eax, dword [esp + 0x550c]
add eax, 0x5f
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5538], xmm0
xor eax, eax
je 0x745b25
add byte [ecx + 0x55402484], cl
add byte [eax], al
mov dword [esp + 0x5540], eax
movsd xmm0, qword [esp + 0x5538]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5530], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2c6c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2c6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c74], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2c70], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2c70]
mov dl, al
mov eax, dword [esp + 0x2c74]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745d5b
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2c60], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2c60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c64], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2c64]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2c68], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2c68]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x745d56
mov dword [esp + 0x552c], 0
cmp dword [esp + 0x552c], 9
jae 0x745d51
movsd xmm0, qword [esp + 0x5530]
cvtsi2sd xmm1, dword [esp + 0x552c]
addsd xmm0, xmm1
movsd qword [esp + 0x2c58], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2c58]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x745cb3
jp 0x745cb3
movsd xmm0, qword [esp + 0x5530]
movsd qword [esp + 0x5530], xmm0
jmp 0x745b5b
movsd xmm0, qword [esp + 0x5530]
cvtsi2sd xmm1, dword [esp + 0x552c]
addsd xmm0, xmm1
movsd qword [esp + 0x2c50], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2c50]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x745d41
jp 0x745d41
mov eax, dword [esp + 0x552c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5530]
addsd xmm0, xmm1
movsd qword [esp + 0x5530], xmm0
movsd xmm0, qword [esp + 0x5530]
cvtsi2sd xmm1, dword [esp + 0x552c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5540], eax
jmp 0x745e0d
mov dword [esp + 0x5540], 2
jmp 0x745e0d
jmp 0x745b5b
jmp 0x745d60
jmp 0x745d60
movsd xmm0, qword [esp + 0x5530]
movsd qword [esp + 0x2c40], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2c38], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2c38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c4c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2c3c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2c3c]
movsd xmm0, qword [esp + 0x2c40]
mov dl, al
mov eax, dword [esp + 0x2c4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5540], eax
mov edx, dword [esp + 0x2c78]
mov eax, dword [esp + 0x2c7c]
and eax, dword [esp + 0x5540]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2c2c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2c2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c30], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2c30]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2c34], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2c34]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7461de
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2c28], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x5520], xmm0
xor eax, eax
je 0x745ed7
add byte [ecx + 0x55282484], cl
add byte [eax], al
mov dword [esp + 0x5528], eax
movsd xmm0, qword [esp + 0x5520]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5518], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2c1c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2c1c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2c20], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2c20]
mov dl, al
mov eax, dword [esp + 0x2c24]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74610d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2c10], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2c10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c14], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2c14]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2c18], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2c18]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746108
mov dword [esp + 0x5514], 0
cmp dword [esp + 0x5514], 9
jae 0x746103
movsd xmm0, qword [esp + 0x5518]
cvtsi2sd xmm1, dword [esp + 0x5514]
addsd xmm0, xmm1
movsd qword [esp + 0x2c08], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2c08]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x746065
jp 0x746065
movsd xmm0, qword [esp + 0x5518]
movsd qword [esp + 0x5518], xmm0
jmp 0x745f0d
movsd xmm0, qword [esp + 0x5518]
cvtsi2sd xmm1, dword [esp + 0x5514]
addsd xmm0, xmm1
movsd qword [esp + 0x2c00], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2c00]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7460f3
jp 0x7460f3
mov eax, dword [esp + 0x5514]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5518]
addsd xmm0, xmm1
movsd qword [esp + 0x5518], xmm0
movsd xmm0, qword [esp + 0x5518]
cvtsi2sd xmm1, dword [esp + 0x5514]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5528], eax
jmp 0x7461bf
mov dword [esp + 0x5528], 2
jmp 0x7461bf
jmp 0x745f0d
jmp 0x746112
jmp 0x746112
movsd xmm0, qword [esp + 0x5518]
movsd qword [esp + 0x2bf0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2be8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2be8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2bfc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2bec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2bec]
movsd xmm0, qword [esp + 0x2bf0]
mov dl, al
mov eax, dword [esp + 0x2bfc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5528], eax
mov edx, dword [esp + 0x2c28]
xor edx, dword [esp + 0x5528]
mov eax, dword [esp + 0x5510]
mov ecx, dword [esp + 0x550c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x550c]
add eax, 1
mov dword [esp + 0x550c], eax
jmp 0x744c3c
jmp 0x7461f9
mov eax, dword [esp + 0x2dcc]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b64], eax
mov eax, dword [esp + 0x4b6c]
mov dword [esp + 0x4b74], eax
cmp eax, 0
je 0x752997
lea ecx, [esp + 0x4b62]
call fcn.00766eaa
mov dword [esp + 0x4c14], eax
mov eax, dword [esp + 0x4c14]
mov dword [esp + 0x5640], eax
mov eax, dword [esp + 0x5640]
mov dword [esp + 0x2be4], eax
test byte [eax + 4], 1
jne 0x747833
mov eax, dword [esp + 0x2be4]
mov dword [esp + 0x5780], eax
mov dword [esp + 0x577c], 0
cmp dword [esp + 0x577c], 1
jae 0x74782e
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2bd8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2bd8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2bdc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2bdc]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2be0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2be0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74662b
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2bd4], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5808], xmm0
xor eax, eax
je 0x746324
add byte [ecx + 0x58102484], cl
add byte [eax], al
mov dword [esp + 0x5810], eax
movsd xmm0, qword [esp + 0x5808]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5800], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2bc8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2bc8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2bd0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2bcc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2bcc]
mov dl, al
mov eax, dword [esp + 0x2bd0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74655a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2bbc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2bbc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2bc0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2bc0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2bc4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2bc4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746555
mov dword [esp + 0x57fc], 0
cmp dword [esp + 0x57fc], 9
jae 0x746550
movsd xmm0, qword [esp + 0x5800]
cvtsi2sd xmm1, dword [esp + 0x57fc]
addsd xmm0, xmm1
movsd qword [esp + 0x2bb0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2bb0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7464b2
jp 0x7464b2
movsd xmm0, qword [esp + 0x5800]
movsd qword [esp + 0x5800], xmm0
jmp 0x74635a
movsd xmm0, qword [esp + 0x5800]
cvtsi2sd xmm1, dword [esp + 0x57fc]
addsd xmm0, xmm1
movsd qword [esp + 0x2ba8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2ba8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x746540
jp 0x746540
mov eax, dword [esp + 0x57fc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5800]
addsd xmm0, xmm1
movsd qword [esp + 0x5800], xmm0
movsd xmm0, qword [esp + 0x5800]
cvtsi2sd xmm1, dword [esp + 0x57fc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5810], eax
jmp 0x74660c
mov dword [esp + 0x5810], 2
jmp 0x74660c
jmp 0x74635a
jmp 0x74655f
jmp 0x74655f
movsd xmm0, qword [esp + 0x5800]
movsd qword [esp + 0x2b98], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2b90], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2b90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ba4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2b94], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2b94]
movsd xmm0, qword [esp + 0x2b98]
mov dl, al
mov eax, dword [esp + 0x2ba4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5810], eax
mov edx, dword [esp + 0x2bd4]
xor edx, dword [esp + 0x5810]
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2b84], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2b84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b8c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x2b88], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2b88]
mov dl, al
mov eax, dword [esp + 0x2b8c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747471
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2b78], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2b78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b7c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2b7c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2b80], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2b80]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746a4b
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2b74], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x57f0], xmm0
xor eax, eax
je 0x746744
add byte [ecx + 0x57f82484], cl
add byte [eax], al
mov dword [esp + 0x57f8], eax
movsd xmm0, qword [esp + 0x57f0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x57e8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2b68], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2b68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b70], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2b6c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2b6c]
mov dl, al
mov eax, dword [esp + 0x2b70]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74697a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2b5c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2b5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b60], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2b60]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2b64], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2b64]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746975
mov dword [esp + 0x57e4], 0
cmp dword [esp + 0x57e4], 9
jae 0x746970
movsd xmm0, qword [esp + 0x57e8]
cvtsi2sd xmm1, dword [esp + 0x57e4]
addsd xmm0, xmm1
movsd qword [esp + 0x2b50], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2b50]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7468d2
jp 0x7468d2
movsd xmm0, qword [esp + 0x57e8]
movsd qword [esp + 0x57e8], xmm0
jmp 0x74677a
movsd xmm0, qword [esp + 0x57e8]
cvtsi2sd xmm1, dword [esp + 0x57e4]
addsd xmm0, xmm1
movsd qword [esp + 0x2b48], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2b48]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x746960
jp 0x746960
mov eax, dword [esp + 0x57e4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x57e8]
addsd xmm0, xmm1
movsd qword [esp + 0x57e8], xmm0
movsd xmm0, qword [esp + 0x57e8]
cvtsi2sd xmm1, dword [esp + 0x57e4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57f8], eax
jmp 0x746a2c
mov dword [esp + 0x57f8], 2
jmp 0x746a2c
jmp 0x74677a
jmp 0x74697f
jmp 0x74697f
movsd xmm0, qword [esp + 0x57e8]
movsd qword [esp + 0x2b38], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2b30], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2b30]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b44], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2b34], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2b34]
movsd xmm0, qword [esp + 0x2b38]
mov dl, al
mov eax, dword [esp + 0x2b44]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57f8], eax
mov edx, dword [esp + 0x2b74]
xor edx, dword [esp + 0x57f8]
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2b24], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2b24]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b28], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2b28]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2b2c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2b2c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746df2
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2b20], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x57d8], xmm0
xor eax, eax
je 0x746aeb
add byte [ecx + 0x57e02484], cl
add byte [eax], al
mov dword [esp + 0x57e0], eax
movsd xmm0, qword [esp + 0x57d8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x57d0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2b14], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2b14]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b1c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2b18], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2b18]
mov dl, al
mov eax, dword [esp + 0x2b1c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746d21
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2b08], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2b08]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b0c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2b0c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2b10], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2b10]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x746d1c
mov dword [esp + 0x57cc], 0
cmp dword [esp + 0x57cc], 9
jae 0x746d17
movsd xmm0, qword [esp + 0x57d0]
cvtsi2sd xmm1, dword [esp + 0x57cc]
addsd xmm0, xmm1
movsd qword [esp + 0x2b00], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2b00]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x746c79
jp 0x746c79
movsd xmm0, qword [esp + 0x57d0]
movsd qword [esp + 0x57d0], xmm0
jmp 0x746b21
movsd xmm0, qword [esp + 0x57d0]
cvtsi2sd xmm1, dword [esp + 0x57cc]
addsd xmm0, xmm1
movsd qword [esp + 0x2af8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2af8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x746d07
jp 0x746d07
mov eax, dword [esp + 0x57cc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x57d0]
addsd xmm0, xmm1
movsd qword [esp + 0x57d0], xmm0
movsd xmm0, qword [esp + 0x57d0]
cvtsi2sd xmm1, dword [esp + 0x57cc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57e0], eax
jmp 0x746dd3
mov dword [esp + 0x57e0], 2
jmp 0x746dd3
jmp 0x746b21
jmp 0x746d26
jmp 0x746d26
movsd xmm0, qword [esp + 0x57d0]
movsd qword [esp + 0x2ae8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2ae0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2ae0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2af4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2ae4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2ae4]
movsd xmm0, qword [esp + 0x2ae8]
mov dl, al
mov eax, dword [esp + 0x2af4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57e0], eax
mov edx, dword [esp + 0x2b20]
xor edx, dword [esp + 0x57e0]
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2adc], eax
mov eax, dword [esp + 0x577c]
add eax, 0x60
cvtsi2sd xmm0, eax
movsd qword [esp + 0x57c0], xmm0
xor eax, eax
je 0x746e2a
add byte [ecx + 0x57c82484], cl
add byte [eax], al
mov dword [esp + 0x57c8], eax
movsd xmm0, qword [esp + 0x57c0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x57b8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2ad0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2ad0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ad8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2ad4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2ad4]
mov dl, al
mov eax, dword [esp + 0x2ad8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747060
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2ac4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2ac4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ac8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2ac8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2acc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2acc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74705b
mov dword [esp + 0x57b4], 0
cmp dword [esp + 0x57b4], 9
jae 0x747056
movsd xmm0, qword [esp + 0x57b8]
cvtsi2sd xmm1, dword [esp + 0x57b4]
addsd xmm0, xmm1
movsd qword [esp + 0x2ab8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2ab8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x746fb8
jp 0x746fb8
movsd xmm0, qword [esp + 0x57b8]
movsd qword [esp + 0x57b8], xmm0
jmp 0x746e60
movsd xmm0, qword [esp + 0x57b8]
cvtsi2sd xmm1, dword [esp + 0x57b4]
addsd xmm0, xmm1
movsd qword [esp + 0x2ab0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2ab0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x747046
jp 0x747046
mov eax, dword [esp + 0x57b4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x57b8]
addsd xmm0, xmm1
movsd qword [esp + 0x57b8], xmm0
movsd xmm0, qword [esp + 0x57b8]
cvtsi2sd xmm1, dword [esp + 0x57b4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57c8], eax
jmp 0x747112
mov dword [esp + 0x57c8], 2
jmp 0x747112
jmp 0x746e60
jmp 0x747065
jmp 0x747065
movsd xmm0, qword [esp + 0x57b8]
movsd qword [esp + 0x2aa0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2a98], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2a98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2aac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2a9c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2a9c]
movsd xmm0, qword [esp + 0x2aa0]
mov dl, al
mov eax, dword [esp + 0x2aac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57c8], eax
mov eax, dword [esp + 0x2adc]
add eax, dword [esp + 0x57c8]
mov dword [esp + 0x2a90], eax
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2a94], eax
mov eax, dword [esp + 0x577c]
add eax, 0x60
cvtsi2sd xmm0, eax
movsd qword [esp + 0x57a8], xmm0
xor eax, eax
je 0x74715f
add byte [ecx + 0x57b02484], cl
add byte [eax], al
mov dword [esp + 0x57b0], eax
movsd xmm0, qword [esp + 0x57a8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x57a0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2a84], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2a84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a8c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2a88], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2a88]
mov dl, al
mov eax, dword [esp + 0x2a8c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747395
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2a78], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2a78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a7c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2a7c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2a80], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2a80]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747390
mov dword [esp + 0x579c], 0
cmp dword [esp + 0x579c], 9
jae 0x74738b
movsd xmm0, qword [esp + 0x57a0]
cvtsi2sd xmm1, dword [esp + 0x579c]
addsd xmm0, xmm1
movsd qword [esp + 0x2a70], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2a70]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7472ed
jp 0x7472ed
movsd xmm0, qword [esp + 0x57a0]
movsd qword [esp + 0x57a0], xmm0
jmp 0x747195
movsd xmm0, qword [esp + 0x57a0]
cvtsi2sd xmm1, dword [esp + 0x579c]
addsd xmm0, xmm1
movsd qword [esp + 0x2a68], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2a68]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74737b
jp 0x74737b
mov eax, dword [esp + 0x579c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x57a0]
addsd xmm0, xmm1
movsd qword [esp + 0x57a0], xmm0
movsd xmm0, qword [esp + 0x57a0]
cvtsi2sd xmm1, dword [esp + 0x579c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57b0], eax
jmp 0x747447
mov dword [esp + 0x57b0], 2
jmp 0x747447
jmp 0x747195
jmp 0x74739a
jmp 0x74739a
movsd xmm0, qword [esp + 0x57a0]
movsd qword [esp + 0x2a58], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2a50], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2a50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a64], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2a54], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2a54]
movsd xmm0, qword [esp + 0x2a58]
mov dl, al
mov eax, dword [esp + 0x2a64]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x57b0], eax
mov edx, dword [esp + 0x2a90]
mov eax, dword [esp + 0x2a94]
and eax, dword [esp + 0x57b0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2a44], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2a44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a48], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2a48]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2a4c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2a4c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747818
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2a40], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5790], xmm0
xor eax, eax
je 0x747511
add byte [ecx + 0x57982484], cl
add byte [eax], al
mov dword [esp + 0x5798], eax
movsd xmm0, qword [esp + 0x5790]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5788], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2a34], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2a34]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a3c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2a38], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2a38]
mov dl, al
mov eax, dword [esp + 0x2a3c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747747
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2a28], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2a28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a2c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2a2c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2a30], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2a30]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747742
mov dword [esp + 0x5784], 0
cmp dword [esp + 0x5784], 9
jae 0x74773d
movsd xmm0, qword [esp + 0x5788]
cvtsi2sd xmm1, dword [esp + 0x5784]
addsd xmm0, xmm1
movsd qword [esp + 0x2a20], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2a20]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74769f
jp 0x74769f
movsd xmm0, qword [esp + 0x5788]
movsd qword [esp + 0x5788], xmm0
jmp 0x747547
movsd xmm0, qword [esp + 0x5788]
cvtsi2sd xmm1, dword [esp + 0x5784]
addsd xmm0, xmm1
movsd qword [esp + 0x2a18], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2a18]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74772d
jp 0x74772d
mov eax, dword [esp + 0x5784]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5788]
addsd xmm0, xmm1
movsd qword [esp + 0x5788], xmm0
movsd xmm0, qword [esp + 0x5788]
cvtsi2sd xmm1, dword [esp + 0x5784]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5798], eax
jmp 0x7477f9
mov dword [esp + 0x5798], 2
jmp 0x7477f9
jmp 0x747547
jmp 0x74774c
jmp 0x74774c
movsd xmm0, qword [esp + 0x5788]
movsd qword [esp + 0x2a08], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2a00], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2a00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a14], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2a04], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2a04]
movsd xmm0, qword [esp + 0x2a08]
mov dl, al
mov eax, dword [esp + 0x2a14]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5798], eax
mov edx, dword [esp + 0x2a40]
xor edx, dword [esp + 0x5798]
mov eax, dword [esp + 0x5780]
mov ecx, dword [esp + 0x577c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x577c]
add eax, 1
mov dword [esp + 0x577c], eax
jmp 0x746276
jmp 0x747833
mov eax, dword [esp + 0x2be4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b64], eax
lea ecx, [esp + 0x4b5b]
call fcn.00766f98
mov dword [esp + 0x4c10], eax
mov eax, dword [esp + 0x4c10]
mov dword [esp + 0x5644], eax
mov eax, dword [esp + 0x5644]
mov dword [esp + 0x29fc], eax
test byte [eax + 4], 1
jne 0x748e56
mov eax, dword [esp + 0x29fc]
mov dword [esp + 0x56e8], eax
mov dword [esp + 0x56e4], 0
cmp dword [esp + 0x56e4], 1
jae 0x748e51
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x29f0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x29f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29f4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x29f4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x29f8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x29f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747c4e
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x29ec], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x5770], xmm0
xor eax, eax
je 0x747947
add byte [ecx + 0x57782484], cl
add byte [eax], al
mov dword [esp + 0x5778], eax
movsd xmm0, qword [esp + 0x5770]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5768], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x29e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x29e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29e8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x29e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x29e4]
mov dl, al
mov eax, dword [esp + 0x29e8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747b7d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x29d4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x29d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29d8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x29d8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x29dc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x29dc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747b78
mov dword [esp + 0x5764], 0
cmp dword [esp + 0x5764], 9
jae 0x747b73
movsd xmm0, qword [esp + 0x5768]
cvtsi2sd xmm1, dword [esp + 0x5764]
addsd xmm0, xmm1
movsd qword [esp + 0x29c8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x29c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x747ad5
jp 0x747ad5
movsd xmm0, qword [esp + 0x5768]
movsd qword [esp + 0x5768], xmm0
jmp 0x74797d
movsd xmm0, qword [esp + 0x5768]
cvtsi2sd xmm1, dword [esp + 0x5764]
addsd xmm0, xmm1
movsd qword [esp + 0x29c0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x29c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x747b63
jp 0x747b63
mov eax, dword [esp + 0x5764]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5768]
addsd xmm0, xmm1
movsd qword [esp + 0x5768], xmm0
movsd xmm0, qword [esp + 0x5768]
cvtsi2sd xmm1, dword [esp + 0x5764]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5778], eax
jmp 0x747c2f
mov dword [esp + 0x5778], 2
jmp 0x747c2f
jmp 0x74797d
jmp 0x747b82
jmp 0x747b82
movsd xmm0, qword [esp + 0x5768]
movsd qword [esp + 0x29b0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x29a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x29a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x29ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x29ac]
movsd xmm0, qword [esp + 0x29b0]
mov dl, al
mov eax, dword [esp + 0x29bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5778], eax
mov edx, dword [esp + 0x29ec]
xor edx, dword [esp + 0x5778]
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x299c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x299c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29a4], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x29a0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x29a0]
mov dl, al
mov eax, dword [esp + 0x29a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748a94
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2990], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2990]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2994], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2994]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2998], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2998]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74806e
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x298c], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x5758], xmm0
xor eax, eax
je 0x747d67
add byte [ecx + 0x57602484], cl
add byte [eax], al
mov dword [esp + 0x5760], eax
movsd xmm0, qword [esp + 0x5758]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5750], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2980], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2980]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2988], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2984], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2984]
mov dl, al
mov eax, dword [esp + 0x2988]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747f9d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2974], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2974]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2978], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2978]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x297c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x297c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x747f98
mov dword [esp + 0x574c], 0
cmp dword [esp + 0x574c], 9
jae 0x747f93
movsd xmm0, qword [esp + 0x5750]
cvtsi2sd xmm1, dword [esp + 0x574c]
addsd xmm0, xmm1
movsd qword [esp + 0x2968], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2968]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x747ef5
jp 0x747ef5
movsd xmm0, qword [esp + 0x5750]
movsd qword [esp + 0x5750], xmm0
jmp 0x747d9d
movsd xmm0, qword [esp + 0x5750]
cvtsi2sd xmm1, dword [esp + 0x574c]
addsd xmm0, xmm1
movsd qword [esp + 0x2960], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2960]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x747f83
jp 0x747f83
mov eax, dword [esp + 0x574c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5750]
addsd xmm0, xmm1
movsd qword [esp + 0x5750], xmm0
movsd xmm0, qword [esp + 0x5750]
cvtsi2sd xmm1, dword [esp + 0x574c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5760], eax
jmp 0x74804f
mov dword [esp + 0x5760], 2
jmp 0x74804f
jmp 0x747d9d
jmp 0x747fa2
jmp 0x747fa2
movsd xmm0, qword [esp + 0x5750]
movsd qword [esp + 0x2950], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2948], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2948]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x295c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x294c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x294c]
movsd xmm0, qword [esp + 0x2950]
mov dl, al
mov eax, dword [esp + 0x295c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5760], eax
mov edx, dword [esp + 0x298c]
xor edx, dword [esp + 0x5760]
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x293c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x293c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2940], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2940]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2944], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2944]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748415
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2938], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x5740], xmm0
xor eax, eax
je 0x74810e
add byte [ecx + 0x57482484], cl
add byte [eax], al
mov dword [esp + 0x5748], eax
movsd xmm0, qword [esp + 0x5740]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5738], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x292c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x292c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2934], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2930], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2930]
mov dl, al
mov eax, dword [esp + 0x2934]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748344
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2920], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2920]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2924], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2924]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2928], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2928]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74833f
mov dword [esp + 0x5734], 0
cmp dword [esp + 0x5734], 9
jae 0x74833a
movsd xmm0, qword [esp + 0x5738]
cvtsi2sd xmm1, dword [esp + 0x5734]
addsd xmm0, xmm1
movsd qword [esp + 0x2918], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2918]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74829c
jp 0x74829c
movsd xmm0, qword [esp + 0x5738]
movsd qword [esp + 0x5738], xmm0
jmp 0x748144
movsd xmm0, qword [esp + 0x5738]
cvtsi2sd xmm1, dword [esp + 0x5734]
addsd xmm0, xmm1
movsd qword [esp + 0x2910], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2910]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74832a
jp 0x74832a
mov eax, dword [esp + 0x5734]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5738]
addsd xmm0, xmm1
movsd qword [esp + 0x5738], xmm0
movsd xmm0, qword [esp + 0x5738]
cvtsi2sd xmm1, dword [esp + 0x5734]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5748], eax
jmp 0x7483f6
mov dword [esp + 0x5748], 2
jmp 0x7483f6
jmp 0x748144
jmp 0x748349
jmp 0x748349
movsd xmm0, qword [esp + 0x5738]
movsd qword [esp + 0x2900], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x28f8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x28f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x290c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x28fc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x28fc]
movsd xmm0, qword [esp + 0x2900]
mov dl, al
mov eax, dword [esp + 0x290c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5748], eax
mov edx, dword [esp + 0x2938]
xor edx, dword [esp + 0x5748]
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28f4], eax
mov eax, dword [esp + 0x56e4]
add eax, 0x60
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5728], xmm0
xor eax, eax
je 0x74844d
add byte [ecx + 0x57302484], cl
add byte [eax], al
mov dword [esp + 0x5730], eax
movsd xmm0, qword [esp + 0x5728]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5720], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x28e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x28e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x28f0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x28ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x28ec]
mov dl, al
mov eax, dword [esp + 0x28f0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748683
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x28dc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x28dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x28e0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x28e0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x28e4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x28e4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74867e
mov dword [esp + 0x571c], 0
cmp dword [esp + 0x571c], 9
jae 0x748679
movsd xmm0, qword [esp + 0x5720]
cvtsi2sd xmm1, dword [esp + 0x571c]
addsd xmm0, xmm1
movsd qword [esp + 0x28d0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x28d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7485db
jp 0x7485db
movsd xmm0, qword [esp + 0x5720]
movsd qword [esp + 0x5720], xmm0
jmp 0x748483
movsd xmm0, qword [esp + 0x5720]
cvtsi2sd xmm1, dword [esp + 0x571c]
addsd xmm0, xmm1
movsd qword [esp + 0x28c8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x28c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x748669
jp 0x748669
mov eax, dword [esp + 0x571c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5720]
addsd xmm0, xmm1
movsd qword [esp + 0x5720], xmm0
movsd xmm0, qword [esp + 0x5720]
cvtsi2sd xmm1, dword [esp + 0x571c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5730], eax
jmp 0x748735
mov dword [esp + 0x5730], 2
jmp 0x748735
jmp 0x748483
jmp 0x748688
jmp 0x748688
movsd xmm0, qword [esp + 0x5720]
movsd qword [esp + 0x28b8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x28b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x28b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x28c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x28b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x28b4]
movsd xmm0, qword [esp + 0x28b8]
mov dl, al
mov eax, dword [esp + 0x28c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5730], eax
mov eax, dword [esp + 0x28f4]
add eax, dword [esp + 0x5730]
mov dword [esp + 0x28a8], eax
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28ac], eax
mov eax, dword [esp + 0x56e4]
add eax, 0x60
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5710], xmm0
xor eax, eax
je 0x748782
add byte [ecx + 0x57182484], cl
add byte [eax], al
mov dword [esp + 0x5718], eax
movsd xmm0, qword [esp + 0x5710]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5708], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x289c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x289c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x28a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x28a0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x28a0]
mov dl, al
mov eax, dword [esp + 0x28a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7489b8
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2890], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2890]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2894], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2894]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2898], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2898]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7489b3
mov dword [esp + 0x5704], 0
cmp dword [esp + 0x5704], 9
jae 0x7489ae
movsd xmm0, qword [esp + 0x5708]
cvtsi2sd xmm1, dword [esp + 0x5704]
addsd xmm0, xmm1
movsd qword [esp + 0x2888], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2888]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x748910
jp 0x748910
movsd xmm0, qword [esp + 0x5708]
movsd qword [esp + 0x5708], xmm0
jmp 0x7487b8
movsd xmm0, qword [esp + 0x5708]
cvtsi2sd xmm1, dword [esp + 0x5704]
addsd xmm0, xmm1
movsd qword [esp + 0x2880], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2880]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74899e
jp 0x74899e
mov eax, dword [esp + 0x5704]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5708]
addsd xmm0, xmm1
movsd qword [esp + 0x5708], xmm0
movsd xmm0, qword [esp + 0x5708]
cvtsi2sd xmm1, dword [esp + 0x5704]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5718], eax
jmp 0x748a6a
mov dword [esp + 0x5718], 2
jmp 0x748a6a
jmp 0x7487b8
jmp 0x7489bd
jmp 0x7489bd
movsd xmm0, qword [esp + 0x5708]
movsd qword [esp + 0x2870], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2868], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2868]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x287c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x286c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x286c]
movsd xmm0, qword [esp + 0x2870]
mov dl, al
mov eax, dword [esp + 0x287c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5718], eax
mov edx, dword [esp + 0x28a8]
mov eax, dword [esp + 0x28ac]
and eax, dword [esp + 0x5718]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x285c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x285c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2860], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2860]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2864], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2864]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748e3b
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2858], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x56f8], xmm0
xor eax, eax
je 0x748b34
add byte [ecx + 0x57002484], cl
add byte [eax], al
mov dword [esp + 0x5700], eax
movsd xmm0, qword [esp + 0x56f8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x56f0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x284c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x284c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2854], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2850], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2850]
mov dl, al
mov eax, dword [esp + 0x2854]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748d6a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2840], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2840]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2844], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2844]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2848], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2848]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x748d65
mov dword [esp + 0x56ec], 0
cmp dword [esp + 0x56ec], 9
jae 0x748d60
movsd xmm0, qword [esp + 0x56f0]
cvtsi2sd xmm1, dword [esp + 0x56ec]
addsd xmm0, xmm1
movsd qword [esp + 0x2838], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2838]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x748cc2
jp 0x748cc2
movsd xmm0, qword [esp + 0x56f0]
movsd qword [esp + 0x56f0], xmm0
jmp 0x748b6a
movsd xmm0, qword [esp + 0x56f0]
cvtsi2sd xmm1, dword [esp + 0x56ec]
addsd xmm0, xmm1
movsd qword [esp + 0x2830], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2830]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x748d50
jp 0x748d50
mov eax, dword [esp + 0x56ec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x56f0]
addsd xmm0, xmm1
movsd qword [esp + 0x56f0], xmm0
movsd xmm0, qword [esp + 0x56f0]
cvtsi2sd xmm1, dword [esp + 0x56ec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5700], eax
jmp 0x748e1c
mov dword [esp + 0x5700], 2
jmp 0x748e1c
jmp 0x748b6a
jmp 0x748d6f
jmp 0x748d6f
movsd xmm0, qword [esp + 0x56f0]
movsd qword [esp + 0x2820], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2818], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2818]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x282c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x281c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x281c]
movsd xmm0, qword [esp + 0x2820]
mov dl, al
mov eax, dword [esp + 0x282c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5700], eax
mov edx, dword [esp + 0x2858]
xor edx, dword [esp + 0x5700]
mov eax, dword [esp + 0x56e8]
mov ecx, dword [esp + 0x56e4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x56e4]
add eax, 1
mov dword [esp + 0x56e4], eax
jmp 0x747899
jmp 0x748e56
mov eax, dword [esp + 0x29fc]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b5c], eax
lea ecx, [esp + 0x4b53]
call fcn.00767086
mov dword [esp + 0x4c0c], eax
mov eax, dword [esp + 0x4c0c]
mov dword [esp + 0x5648], eax
mov eax, dword [esp + 0x5648]
mov dword [esp + 0x2814], eax
test byte [eax + 4], 1
jne 0x74a479
mov eax, dword [esp + 0x2814]
mov dword [esp + 0x5650], eax
mov dword [esp + 0x564c], 0
cmp dword [esp + 0x564c], 1
jae 0x74a474
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2808], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2808]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x280c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x280c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2810], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2810]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749271
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2804], eax
movsd xmm0, qword [0x786a08]
movsd qword [esp + 0x56d8], xmm0
xor eax, eax
je 0x748f6a
add byte [ecx + 0x56e02484], cl
add byte [eax], al
mov dword [esp + 0x56e0], eax
movsd xmm0, qword [esp + 0x56d8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x56d0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x27f8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x27f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2800], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x27fc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x27fc]
mov dl, al
mov eax, dword [esp + 0x2800]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7491a0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x27ec], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x27ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27f0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x27f0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x27f4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x27f4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74919b
mov dword [esp + 0x56cc], 0
cmp dword [esp + 0x56cc], 9
jae 0x749196
movsd xmm0, qword [esp + 0x56d0]
cvtsi2sd xmm1, dword [esp + 0x56cc]
addsd xmm0, xmm1
movsd qword [esp + 0x27e0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x27e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7490f8
jp 0x7490f8
movsd xmm0, qword [esp + 0x56d0]
movsd qword [esp + 0x56d0], xmm0
jmp 0x748fa0
movsd xmm0, qword [esp + 0x56d0]
cvtsi2sd xmm1, dword [esp + 0x56cc]
addsd xmm0, xmm1
movsd qword [esp + 0x27d8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x27d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x749186
jp 0x749186
mov eax, dword [esp + 0x56cc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x56d0]
addsd xmm0, xmm1
movsd qword [esp + 0x56d0], xmm0
movsd xmm0, qword [esp + 0x56d0]
cvtsi2sd xmm1, dword [esp + 0x56cc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x56e0], eax
jmp 0x749252
mov dword [esp + 0x56e0], 2
jmp 0x749252
jmp 0x748fa0
jmp 0x7491a5
jmp 0x7491a5
movsd xmm0, qword [esp + 0x56d0]
movsd qword [esp + 0x27c8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x27c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x27c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x27c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x27c4]
movsd xmm0, qword [esp + 0x27c8]
mov dl, al
mov eax, dword [esp + 0x27d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x56e0], eax
mov edx, dword [esp + 0x2804]
xor edx, dword [esp + 0x56e0]
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x27b4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x27b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27bc], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x27b8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x27b8]
mov dl, al
mov eax, dword [esp + 0x27bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a0b7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x27a8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x27a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27ac], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x27ac]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x27b0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x27b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749691
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x27a4], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x56c0], xmm0
xor eax, eax
je 0x74938a
add byte [ecx + 0x56c82484], cl
add byte [eax], al
mov dword [esp + 0x56c8], eax
movsd xmm0, qword [esp + 0x56c0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x56b8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2798], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2798]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27a0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x279c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x279c]
mov dl, al
mov eax, dword [esp + 0x27a0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7495c0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x278c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x278c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2790], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2790]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2794], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2794]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7495bb
mov dword [esp + 0x56b4], 0
cmp dword [esp + 0x56b4], 9
jae 0x7495b6
movsd xmm0, qword [esp + 0x56b8]
cvtsi2sd xmm1, dword [esp + 0x56b4]
addsd xmm0, xmm1
movsd qword [esp + 0x2780], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2780]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x749518
jp 0x749518
movsd xmm0, qword [esp + 0x56b8]
movsd qword [esp + 0x56b8], xmm0
jmp 0x7493c0
movsd xmm0, qword [esp + 0x56b8]
cvtsi2sd xmm1, dword [esp + 0x56b4]
addsd xmm0, xmm1
movsd qword [esp + 0x2778], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2778]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7495a6
jp 0x7495a6
mov eax, dword [esp + 0x56b4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x56b8]
addsd xmm0, xmm1
movsd qword [esp + 0x56b8], xmm0
movsd xmm0, qword [esp + 0x56b8]
cvtsi2sd xmm1, dword [esp + 0x56b4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x56c8], eax
jmp 0x749672
mov dword [esp + 0x56c8], 2
jmp 0x749672
jmp 0x7493c0
jmp 0x7495c5
jmp 0x7495c5
movsd xmm0, qword [esp + 0x56b8]
movsd qword [esp + 0x2768], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2760], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2760]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2774], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2764], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2764]
movsd xmm0, qword [esp + 0x2768]
mov dl, al
mov eax, dword [esp + 0x2774]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x56c8], eax
mov edx, dword [esp + 0x27a4]
xor edx, dword [esp + 0x56c8]
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2754], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2754]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2758], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2758]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x275c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x275c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749a38
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2750], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x56a8], xmm0
xor eax, eax
je 0x749731
add byte [ecx + 0x56b02484], cl
add byte [eax], al
mov dword [esp + 0x56b0], eax
movsd xmm0, qword [esp + 0x56a8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x56a0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2744], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2744]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x274c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2748], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2748]
mov dl, al
mov eax, dword [esp + 0x274c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749967
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2738], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2738]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x273c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x273c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2740], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2740]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749962
mov dword [esp + 0x569c], 0
cmp dword [esp + 0x569c], 9
jae 0x74995d
movsd xmm0, qword [esp + 0x56a0]
cvtsi2sd xmm1, dword [esp + 0x569c]
addsd xmm0, xmm1
movsd qword [esp + 0x2730], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2730]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7498bf
jp 0x7498bf
movsd xmm0, qword [esp + 0x56a0]
movsd qword [esp + 0x56a0], xmm0
jmp 0x749767
movsd xmm0, qword [esp + 0x56a0]
cvtsi2sd xmm1, dword [esp + 0x569c]
addsd xmm0, xmm1
movsd qword [esp + 0x2728], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2728]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74994d
jp 0x74994d
mov eax, dword [esp + 0x569c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x56a0]
addsd xmm0, xmm1
movsd qword [esp + 0x56a0], xmm0
movsd xmm0, qword [esp + 0x56a0]
cvtsi2sd xmm1, dword [esp + 0x569c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x56b0], eax
jmp 0x749a19
mov dword [esp + 0x56b0], 2
jmp 0x749a19
jmp 0x749767
jmp 0x74996c
jmp 0x74996c
movsd xmm0, qword [esp + 0x56a0]
movsd qword [esp + 0x2718], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2710], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2710]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2724], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2714], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2714]
movsd xmm0, qword [esp + 0x2718]
mov dl, al
mov eax, dword [esp + 0x2724]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x56b0], eax
mov edx, dword [esp + 0x2750]
xor edx, dword [esp + 0x56b0]
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x270c], eax
mov eax, dword [esp + 0x564c]
add eax, 0x60
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5690], xmm0
xor eax, eax
je 0x749a70
add byte [ecx + 0x56982484], cl
add byte [eax], al
mov dword [esp + 0x5698], eax
movsd xmm0, qword [esp + 0x5690]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5688], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2700], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2700]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2708], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2704], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2704]
mov dl, al
mov eax, dword [esp + 0x2708]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749ca6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x26f4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x26f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26f8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x26f8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x26fc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x26fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749ca1
mov dword [esp + 0x5684], 0
cmp dword [esp + 0x5684], 9
jae 0x749c9c
movsd xmm0, qword [esp + 0x5688]
cvtsi2sd xmm1, dword [esp + 0x5684]
addsd xmm0, xmm1
movsd qword [esp + 0x26e8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x26e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x749bfe
jp 0x749bfe
movsd xmm0, qword [esp + 0x5688]
movsd qword [esp + 0x5688], xmm0
jmp 0x749aa6
movsd xmm0, qword [esp + 0x5688]
cvtsi2sd xmm1, dword [esp + 0x5684]
addsd xmm0, xmm1
movsd qword [esp + 0x26e0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x26e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x749c8c
jp 0x749c8c
mov eax, dword [esp + 0x5684]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5688]
addsd xmm0, xmm1
movsd qword [esp + 0x5688], xmm0
movsd xmm0, qword [esp + 0x5688]
cvtsi2sd xmm1, dword [esp + 0x5684]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5698], eax
jmp 0x749d58
mov dword [esp + 0x5698], 2
jmp 0x749d58
jmp 0x749aa6
jmp 0x749cab
jmp 0x749cab
movsd xmm0, qword [esp + 0x5688]
movsd qword [esp + 0x26d0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x26c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x26c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x26cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x26cc]
movsd xmm0, qword [esp + 0x26d0]
mov dl, al
mov eax, dword [esp + 0x26dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5698], eax
mov eax, dword [esp + 0x270c]
add eax, dword [esp + 0x5698]
mov dword [esp + 0x26c0], eax
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x26c4], eax
mov eax, dword [esp + 0x564c]
add eax, 0x60
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5678], xmm0
xor eax, eax
je 0x749da5
add byte [ecx + 0x56802484], cl
add byte [eax], al
mov dword [esp + 0x5680], eax
movsd xmm0, qword [esp + 0x5678]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5670], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x26b4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x26b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x26b8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x26b8]
mov dl, al
mov eax, dword [esp + 0x26bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749fdb
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x26a8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x26a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x26ac], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x26ac]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x26b0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x26b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x749fd6
mov dword [esp + 0x566c], 0
cmp dword [esp + 0x566c], 9
jae 0x749fd1
movsd xmm0, qword [esp + 0x5670]
cvtsi2sd xmm1, dword [esp + 0x566c]
addsd xmm0, xmm1
movsd qword [esp + 0x26a0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x26a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x749f33
jp 0x749f33
movsd xmm0, qword [esp + 0x5670]
movsd qword [esp + 0x5670], xmm0
jmp 0x749ddb
movsd xmm0, qword [esp + 0x5670]
cvtsi2sd xmm1, dword [esp + 0x566c]
addsd xmm0, xmm1
movsd qword [esp + 0x2698], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2698]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x749fc1
jp 0x749fc1
mov eax, dword [esp + 0x566c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5670]
addsd xmm0, xmm1
movsd qword [esp + 0x5670], xmm0
movsd xmm0, qword [esp + 0x5670]
cvtsi2sd xmm1, dword [esp + 0x566c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5680], eax
jmp 0x74a08d
mov dword [esp + 0x5680], 2
jmp 0x74a08d
jmp 0x749ddb
jmp 0x749fe0
jmp 0x749fe0
movsd xmm0, qword [esp + 0x5670]
movsd qword [esp + 0x2688], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2680], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2680]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2694], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2684], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2684]
movsd xmm0, qword [esp + 0x2688]
mov dl, al
mov eax, dword [esp + 0x2694]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5680], eax
mov edx, dword [esp + 0x26c0]
mov eax, dword [esp + 0x26c4]
and eax, dword [esp + 0x5680]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2674], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2674]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2678], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2678]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x267c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x267c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a45e
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2670], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5660], xmm0
xor eax, eax
je 0x74a157
add byte [ecx + 0x56682484], cl
add byte [eax], al
mov dword [esp + 0x5668], eax
movsd xmm0, qword [esp + 0x5660]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5658], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2664], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2664]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x266c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2668], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2668]
mov dl, al
mov eax, dword [esp + 0x266c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a38d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2658], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2658]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x265c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x265c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2660], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2660]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a388
mov dword [esp + 0x5654], 0
cmp dword [esp + 0x5654], 9
jae 0x74a383
movsd xmm0, qword [esp + 0x5658]
cvtsi2sd xmm1, dword [esp + 0x5654]
addsd xmm0, xmm1
movsd qword [esp + 0x2650], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2650]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74a2e5
jp 0x74a2e5
movsd xmm0, qword [esp + 0x5658]
movsd qword [esp + 0x5658], xmm0
jmp 0x74a18d
movsd xmm0, qword [esp + 0x5658]
cvtsi2sd xmm1, dword [esp + 0x5654]
addsd xmm0, xmm1
movsd qword [esp + 0x2648], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2648]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74a373
jp 0x74a373
mov eax, dword [esp + 0x5654]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5658]
addsd xmm0, xmm1
movsd qword [esp + 0x5658], xmm0
movsd xmm0, qword [esp + 0x5658]
cvtsi2sd xmm1, dword [esp + 0x5654]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5668], eax
jmp 0x74a43f
mov dword [esp + 0x5668], 2
jmp 0x74a43f
jmp 0x74a18d
jmp 0x74a392
jmp 0x74a392
movsd xmm0, qword [esp + 0x5658]
movsd qword [esp + 0x2638], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2630], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2630]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2644], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2634], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2634]
movsd xmm0, qword [esp + 0x2638]
mov dl, al
mov eax, dword [esp + 0x2644]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5668], eax
mov edx, dword [esp + 0x2670]
xor edx, dword [esp + 0x5668]
mov eax, dword [esp + 0x5650]
mov ecx, dword [esp + 0x564c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x564c]
add eax, 1
mov dword [esp + 0x564c], eax
jmp 0x748ebc
jmp 0x74a479
mov eax, dword [esp + 0x2814]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b54], eax
lea ecx, [esp + 0x4b4b]
call fcn.00767174
mov dword [esp + 0x4c1c], eax
mov eax, dword [esp + 0x4c1c]
mov dword [esp + 0x5814], eax
mov eax, dword [esp + 0x5814]
mov dword [esp + 0x262c], eax
test byte [eax + 4], 1
jne 0x74ba9c
mov eax, dword [esp + 0x262c]
mov dword [esp + 0x58b8], eax
mov dword [esp + 0x58b4], 0
cmp dword [esp + 0x58b4], 1
jae 0x74ba97
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2620], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2620]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2624], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2624]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2628], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2628]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a894
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x261c], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x5940], xmm0
xor eax, eax
je 0x74a58d
add byte [ecx + 0x594c2484], cl
add byte [eax], al
mov dword [esp + 0x594c], eax
movsd xmm0, qword [esp + 0x5940]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5938], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2610], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2610]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2618], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2614], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2614]
mov dl, al
mov eax, dword [esp + 0x2618]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a7c3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2604], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2604]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2608], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2608]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x260c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x260c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74a7be
mov dword [esp + 0x5934], 0
cmp dword [esp + 0x5934], 9
jae 0x74a7b9
movsd xmm0, qword [esp + 0x5938]
cvtsi2sd xmm1, dword [esp + 0x5934]
addsd xmm0, xmm1
movsd qword [esp + 0x25f8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x25f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74a71b
jp 0x74a71b
movsd xmm0, qword [esp + 0x5938]
movsd qword [esp + 0x5938], xmm0
jmp 0x74a5c3
movsd xmm0, qword [esp + 0x5938]
cvtsi2sd xmm1, dword [esp + 0x5934]
addsd xmm0, xmm1
movsd qword [esp + 0x25f0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x25f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74a7a9
jp 0x74a7a9
mov eax, dword [esp + 0x5934]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5938]
addsd xmm0, xmm1
movsd qword [esp + 0x5938], xmm0
movsd xmm0, qword [esp + 0x5938]
cvtsi2sd xmm1, dword [esp + 0x5934]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x594c], eax
jmp 0x74a875
mov dword [esp + 0x594c], 2
jmp 0x74a875
jmp 0x74a5c3
jmp 0x74a7c8
jmp 0x74a7c8
movsd xmm0, qword [esp + 0x5938]
movsd qword [esp + 0x25e0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x25d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x25d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x25dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x25dc]
movsd xmm0, qword [esp + 0x25e0]
mov dl, al
mov eax, dword [esp + 0x25ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x594c], eax
mov edx, dword [esp + 0x261c]
xor edx, dword [esp + 0x594c]
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x25cc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x25cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25d4], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x25d0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x25d0]
mov dl, al
mov eax, dword [esp + 0x25d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b6da
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x25c0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x25c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25c4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x25c4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x25c8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x25c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74acb4
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x25bc], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x5928], xmm0
xor eax, eax
je 0x74a9ad
add byte [ecx + 0x59302484], cl
add byte [eax], al
mov dword [esp + 0x5930], eax
movsd xmm0, qword [esp + 0x5928]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5920], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x25b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x25b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25b8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x25b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x25b4]
mov dl, al
mov eax, dword [esp + 0x25b8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74abe3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x25a4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x25a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25a8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x25a8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x25ac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x25ac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74abde
mov dword [esp + 0x591c], 0
cmp dword [esp + 0x591c], 9
jae 0x74abd9
movsd xmm0, qword [esp + 0x5920]
cvtsi2sd xmm1, dword [esp + 0x591c]
addsd xmm0, xmm1
movsd qword [esp + 0x2598], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2598]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74ab3b
jp 0x74ab3b
movsd xmm0, qword [esp + 0x5920]
movsd qword [esp + 0x5920], xmm0
jmp 0x74a9e3
movsd xmm0, qword [esp + 0x5920]
cvtsi2sd xmm1, dword [esp + 0x591c]
addsd xmm0, xmm1
movsd qword [esp + 0x2590], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2590]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74abc9
jp 0x74abc9
mov eax, dword [esp + 0x591c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5920]
addsd xmm0, xmm1
movsd qword [esp + 0x5920], xmm0
movsd xmm0, qword [esp + 0x5920]
cvtsi2sd xmm1, dword [esp + 0x591c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5930], eax
jmp 0x74ac95
mov dword [esp + 0x5930], 2
jmp 0x74ac95
jmp 0x74a9e3
jmp 0x74abe8
jmp 0x74abe8
movsd xmm0, qword [esp + 0x5920]
movsd qword [esp + 0x2580], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2578], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2578]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x258c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x257c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x257c]
movsd xmm0, qword [esp + 0x2580]
mov dl, al
mov eax, dword [esp + 0x258c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5930], eax
mov edx, dword [esp + 0x25bc]
xor edx, dword [esp + 0x5930]
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x256c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x256c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2570], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2570]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2574], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2574]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b05b
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2568], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5910], xmm0
xor eax, eax
je 0x74ad54
add byte [ecx + 0x59182484], cl
add byte [eax], al
mov dword [esp + 0x5918], eax
movsd xmm0, qword [esp + 0x5910]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5908], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x255c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x255c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2564], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2560], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2560]
mov dl, al
mov eax, dword [esp + 0x2564]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74af8a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2550], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2550]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2554], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2554]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2558], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2558]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74af85
mov dword [esp + 0x5904], 0
cmp dword [esp + 0x5904], 9
jae 0x74af80
movsd xmm0, qword [esp + 0x5908]
cvtsi2sd xmm1, dword [esp + 0x5904]
addsd xmm0, xmm1
movsd qword [esp + 0x2548], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2548]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74aee2
jp 0x74aee2
movsd xmm0, qword [esp + 0x5908]
movsd qword [esp + 0x5908], xmm0
jmp 0x74ad8a
movsd xmm0, qword [esp + 0x5908]
cvtsi2sd xmm1, dword [esp + 0x5904]
addsd xmm0, xmm1
movsd qword [esp + 0x2540], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2540]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74af70
jp 0x74af70
mov eax, dword [esp + 0x5904]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5908]
addsd xmm0, xmm1
movsd qword [esp + 0x5908], xmm0
movsd xmm0, qword [esp + 0x5908]
cvtsi2sd xmm1, dword [esp + 0x5904]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5918], eax
jmp 0x74b03c
mov dword [esp + 0x5918], 2
jmp 0x74b03c
jmp 0x74ad8a
jmp 0x74af8f
jmp 0x74af8f
movsd xmm0, qword [esp + 0x5908]
movsd qword [esp + 0x2530], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2528], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2528]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x253c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x252c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x252c]
movsd xmm0, qword [esp + 0x2530]
mov dl, al
mov eax, dword [esp + 0x253c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5918], eax
mov edx, dword [esp + 0x2568]
xor edx, dword [esp + 0x5918]
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2524], eax
mov eax, dword [esp + 0x58b4]
add eax, 0x61
cvtsi2sd xmm0, eax
movsd qword [esp + 0x58f8], xmm0
xor eax, eax
je 0x74b093
add byte [ecx + 0x59002484], cl
add byte [eax], al
mov dword [esp + 0x5900], eax
movsd xmm0, qword [esp + 0x58f8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x58f0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2518], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2518]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2520], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x251c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x251c]
mov dl, al
mov eax, dword [esp + 0x2520]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b2c9
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x250c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x250c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2510], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2510]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2514], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2514]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b2c4
mov dword [esp + 0x58ec], 0
cmp dword [esp + 0x58ec], 9
jae 0x74b2bf
movsd xmm0, qword [esp + 0x58f0]
cvtsi2sd xmm1, dword [esp + 0x58ec]
addsd xmm0, xmm1
movsd qword [esp + 0x2500], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2500]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74b221
jp 0x74b221
movsd xmm0, qword [esp + 0x58f0]
movsd qword [esp + 0x58f0], xmm0
jmp 0x74b0c9
movsd xmm0, qword [esp + 0x58f0]
cvtsi2sd xmm1, dword [esp + 0x58ec]
addsd xmm0, xmm1
movsd qword [esp + 0x24f8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x24f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74b2af
jp 0x74b2af
mov eax, dword [esp + 0x58ec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x58f0]
addsd xmm0, xmm1
movsd qword [esp + 0x58f0], xmm0
movsd xmm0, qword [esp + 0x58f0]
cvtsi2sd xmm1, dword [esp + 0x58ec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5900], eax
jmp 0x74b37b
mov dword [esp + 0x5900], 2
jmp 0x74b37b
jmp 0x74b0c9
jmp 0x74b2ce
jmp 0x74b2ce
movsd xmm0, qword [esp + 0x58f0]
movsd qword [esp + 0x24e8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x24e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x24e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x24e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x24e4]
movsd xmm0, qword [esp + 0x24e8]
mov dl, al
mov eax, dword [esp + 0x24f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5900], eax
mov eax, dword [esp + 0x2524]
add eax, dword [esp + 0x5900]
mov dword [esp + 0x24d8], eax
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x24dc], eax
mov eax, dword [esp + 0x58b4]
add eax, 0x61
cvtsi2sd xmm0, eax
movsd qword [esp + 0x58e0], xmm0
xor eax, eax
je 0x74b3c8
add byte [ecx + 0x58e82484], cl
add byte [eax], al
mov dword [esp + 0x58e8], eax
movsd xmm0, qword [esp + 0x58e0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x58d8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x24cc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x24cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x24d0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x24d0]
mov dl, al
mov eax, dword [esp + 0x24d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b5fe
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x24c0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x24c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24c4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x24c4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x24c8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x24c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b5f9
mov dword [esp + 0x58d4], 0
cmp dword [esp + 0x58d4], 9
jae 0x74b5f4
movsd xmm0, qword [esp + 0x58d8]
cvtsi2sd xmm1, dword [esp + 0x58d4]
addsd xmm0, xmm1
movsd qword [esp + 0x24b8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x24b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74b556
jp 0x74b556
movsd xmm0, qword [esp + 0x58d8]
movsd qword [esp + 0x58d8], xmm0
jmp 0x74b3fe
movsd xmm0, qword [esp + 0x58d8]
cvtsi2sd xmm1, dword [esp + 0x58d4]
addsd xmm0, xmm1
movsd qword [esp + 0x24b0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x24b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74b5e4
jp 0x74b5e4
mov eax, dword [esp + 0x58d4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x58d8]
addsd xmm0, xmm1
movsd qword [esp + 0x58d8], xmm0
movsd xmm0, qword [esp + 0x58d8]
cvtsi2sd xmm1, dword [esp + 0x58d4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x58e8], eax
jmp 0x74b6b0
mov dword [esp + 0x58e8], 2
jmp 0x74b6b0
jmp 0x74b3fe
jmp 0x74b603
jmp 0x74b603
movsd xmm0, qword [esp + 0x58d8]
movsd qword [esp + 0x24a0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2498], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2498]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x249c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x249c]
movsd xmm0, qword [esp + 0x24a0]
mov dl, al
mov eax, dword [esp + 0x24ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x58e8], eax
mov edx, dword [esp + 0x24d8]
mov eax, dword [esp + 0x24dc]
and eax, dword [esp + 0x58e8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x248c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x248c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2490], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2490]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2494], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2494]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74ba81
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2488], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x58c8], xmm0
xor eax, eax
je 0x74b77a
add byte [ecx + 0x58d02484], cl
add byte [eax], al
mov dword [esp + 0x58d0], eax
movsd xmm0, qword [esp + 0x58c8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x58c0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x247c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x247c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2484], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2480], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2480]
mov dl, al
mov eax, dword [esp + 0x2484]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b9b0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2470], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2470]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2474], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2474]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2478], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2478]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74b9ab
mov dword [esp + 0x58bc], 0
cmp dword [esp + 0x58bc], 9
jae 0x74b9a6
movsd xmm0, qword [esp + 0x58c0]
cvtsi2sd xmm1, dword [esp + 0x58bc]
addsd xmm0, xmm1
movsd qword [esp + 0x2468], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2468]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74b908
jp 0x74b908
movsd xmm0, qword [esp + 0x58c0]
movsd qword [esp + 0x58c0], xmm0
jmp 0x74b7b0
movsd xmm0, qword [esp + 0x58c0]
cvtsi2sd xmm1, dword [esp + 0x58bc]
addsd xmm0, xmm1
movsd qword [esp + 0x2460], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2460]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74b996
jp 0x74b996
mov eax, dword [esp + 0x58bc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x58c0]
addsd xmm0, xmm1
movsd qword [esp + 0x58c0], xmm0
movsd xmm0, qword [esp + 0x58c0]
cvtsi2sd xmm1, dword [esp + 0x58bc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x58d0], eax
jmp 0x74ba62
mov dword [esp + 0x58d0], 2
jmp 0x74ba62
jmp 0x74b7b0
jmp 0x74b9b5
jmp 0x74b9b5
movsd xmm0, qword [esp + 0x58c0]
movsd qword [esp + 0x2450], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2448], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2448]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x245c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x244c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x244c]
movsd xmm0, qword [esp + 0x2450]
mov dl, al
mov eax, dword [esp + 0x245c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x58d0], eax
mov edx, dword [esp + 0x2488]
xor edx, dword [esp + 0x58d0]
mov eax, dword [esp + 0x58b8]
mov ecx, dword [esp + 0x58b4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x58b4]
add eax, 1
mov dword [esp + 0x58b4], eax
jmp 0x74a4df
jmp 0x74ba9c
mov eax, dword [esp + 0x262c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b4c], eax
mov eax, dword [esp + 0x4b54]
mov dword [esp + 0x4b5c], eax
cmp eax, 0
je 0x752992
lea ecx, [esp + 0x4b4a]
call fcn.00767262
mov dword [esp + 0x4c18], eax
mov eax, dword [esp + 0x4c18]
mov dword [esp + 0x5818], eax
mov eax, dword [esp + 0x5818]
mov dword [esp + 0x2444], eax
test byte [eax + 4], 1
jne 0x74d0d6
mov eax, dword [esp + 0x2444]
mov dword [esp + 0x5820], eax
mov dword [esp + 0x581c], 0
cmp dword [esp + 0x581c], 1
jae 0x74d0d1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2438], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2438]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x243c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x243c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2440], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2440]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74bece
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2434], eax
movsd xmm0, qword [0x786a10]
movsd qword [esp + 0x58a8], xmm0
xor eax, eax
je 0x74bbc7
add byte [ecx + 0x58b02484], cl
add byte [eax], al
mov dword [esp + 0x58b0], eax
movsd xmm0, qword [esp + 0x58a8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x58a0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2428], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2428]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2430], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x242c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x242c]
mov dl, al
mov eax, dword [esp + 0x2430]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74bdfd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x241c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x241c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2420], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2420]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2424], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2424]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74bdf8
mov dword [esp + 0x589c], 0
cmp dword [esp + 0x589c], 9
jae 0x74bdf3
movsd xmm0, qword [esp + 0x58a0]
cvtsi2sd xmm1, dword [esp + 0x589c]
addsd xmm0, xmm1
movsd qword [esp + 0x2410], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2410]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74bd55
jp 0x74bd55
movsd xmm0, qword [esp + 0x58a0]
movsd qword [esp + 0x58a0], xmm0
jmp 0x74bbfd
movsd xmm0, qword [esp + 0x58a0]
cvtsi2sd xmm1, dword [esp + 0x589c]
addsd xmm0, xmm1
movsd qword [esp + 0x2408], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2408]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74bde3
jp 0x74bde3
mov eax, dword [esp + 0x589c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x58a0]
addsd xmm0, xmm1
movsd qword [esp + 0x58a0], xmm0
movsd xmm0, qword [esp + 0x58a0]
cvtsi2sd xmm1, dword [esp + 0x589c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x58b0], eax
jmp 0x74beaf
mov dword [esp + 0x58b0], 2
jmp 0x74beaf
jmp 0x74bbfd
jmp 0x74be02
jmp 0x74be02
movsd xmm0, qword [esp + 0x58a0]
movsd qword [esp + 0x23f8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x23f0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x23f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2404], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x23f4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x23f4]
movsd xmm0, qword [esp + 0x23f8]
mov dl, al
mov eax, dword [esp + 0x2404]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x58b0], eax
mov edx, dword [esp + 0x2434]
xor edx, dword [esp + 0x58b0]
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x23e4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x23e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23ec], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x23e8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x23e8]
mov dl, al
mov eax, dword [esp + 0x23ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74cd14
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x23d8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x23d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23dc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x23dc]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x23e0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x23e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c2ee
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x23d4], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x5890], xmm0
xor eax, eax
je 0x74bfe7
add byte [ecx + 0x58982484], cl
add byte [eax], al
mov dword [esp + 0x5898], eax
movsd xmm0, qword [esp + 0x5890]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5888], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x23c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x23c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23d0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x23cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x23cc]
mov dl, al
mov eax, dword [esp + 0x23d0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c21d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x23bc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x23bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23c0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x23c0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x23c4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x23c4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c218
mov dword [esp + 0x5884], 0
cmp dword [esp + 0x5884], 9
jae 0x74c213
movsd xmm0, qword [esp + 0x5888]
cvtsi2sd xmm1, dword [esp + 0x5884]
addsd xmm0, xmm1
movsd qword [esp + 0x23b0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x23b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74c175
jp 0x74c175
movsd xmm0, qword [esp + 0x5888]
movsd qword [esp + 0x5888], xmm0
jmp 0x74c01d
movsd xmm0, qword [esp + 0x5888]
cvtsi2sd xmm1, dword [esp + 0x5884]
addsd xmm0, xmm1
movsd qword [esp + 0x23a8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x23a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74c203
jp 0x74c203
mov eax, dword [esp + 0x5884]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5888]
addsd xmm0, xmm1
movsd qword [esp + 0x5888], xmm0
movsd xmm0, qword [esp + 0x5888]
cvtsi2sd xmm1, dword [esp + 0x5884]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5898], eax
jmp 0x74c2cf
mov dword [esp + 0x5898], 2
jmp 0x74c2cf
jmp 0x74c01d
jmp 0x74c222
jmp 0x74c222
movsd xmm0, qword [esp + 0x5888]
movsd qword [esp + 0x2398], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2390], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2390]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x23a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2394], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2394]
movsd xmm0, qword [esp + 0x2398]
mov dl, al
mov eax, dword [esp + 0x23a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5898], eax
mov edx, dword [esp + 0x23d4]
xor edx, dword [esp + 0x5898]
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2384], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2384]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2388], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2388]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x238c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x238c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c695
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2380], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5878], xmm0
xor eax, eax
je 0x74c38e
add byte [ecx + 0x58802484], cl
add byte [eax], al
mov dword [esp + 0x5880], eax
movsd xmm0, qword [esp + 0x5878]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5870], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2374], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2374]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x237c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2378], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2378]
mov dl, al
mov eax, dword [esp + 0x237c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c5c4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2368], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2368]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x236c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x236c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2370], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2370]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c5bf
mov dword [esp + 0x586c], 0
cmp dword [esp + 0x586c], 9
jae 0x74c5ba
movsd xmm0, qword [esp + 0x5870]
cvtsi2sd xmm1, dword [esp + 0x586c]
addsd xmm0, xmm1
movsd qword [esp + 0x2360], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2360]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74c51c
jp 0x74c51c
movsd xmm0, qword [esp + 0x5870]
movsd qword [esp + 0x5870], xmm0
jmp 0x74c3c4
movsd xmm0, qword [esp + 0x5870]
cvtsi2sd xmm1, dword [esp + 0x586c]
addsd xmm0, xmm1
movsd qword [esp + 0x2358], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2358]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74c5aa
jp 0x74c5aa
mov eax, dword [esp + 0x586c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5870]
addsd xmm0, xmm1
movsd qword [esp + 0x5870], xmm0
movsd xmm0, qword [esp + 0x5870]
cvtsi2sd xmm1, dword [esp + 0x586c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5880], eax
jmp 0x74c676
mov dword [esp + 0x5880], 2
jmp 0x74c676
jmp 0x74c3c4
jmp 0x74c5c9
jmp 0x74c5c9
movsd xmm0, qword [esp + 0x5870]
movsd qword [esp + 0x2348], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2340], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2340]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2354], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2344], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2344]
movsd xmm0, qword [esp + 0x2348]
mov dl, al
mov eax, dword [esp + 0x2354]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5880], eax
mov edx, dword [esp + 0x2380]
xor edx, dword [esp + 0x5880]
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x233c], eax
mov eax, dword [esp + 0x581c]
add eax, 0x61
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5860], xmm0
xor eax, eax
je 0x74c6cd
add byte [ecx + 0x58682484], cl
add byte [eax], al
mov dword [esp + 0x5868], eax
movsd xmm0, qword [esp + 0x5860]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5858], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2330], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2330]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2338], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2334], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2334]
mov dl, al
mov eax, dword [esp + 0x2338]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c903
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2324], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2324]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2328], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2328]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x232c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x232c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74c8fe
mov dword [esp + 0x5854], 0
cmp dword [esp + 0x5854], 9
jae 0x74c8f9
movsd xmm0, qword [esp + 0x5858]
cvtsi2sd xmm1, dword [esp + 0x5854]
addsd xmm0, xmm1
movsd qword [esp + 0x2318], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2318]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74c85b
jp 0x74c85b
movsd xmm0, qword [esp + 0x5858]
movsd qword [esp + 0x5858], xmm0
jmp 0x74c703
movsd xmm0, qword [esp + 0x5858]
cvtsi2sd xmm1, dword [esp + 0x5854]
addsd xmm0, xmm1
movsd qword [esp + 0x2310], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2310]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74c8e9
jp 0x74c8e9
mov eax, dword [esp + 0x5854]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5858]
addsd xmm0, xmm1
movsd qword [esp + 0x5858], xmm0
movsd xmm0, qword [esp + 0x5858]
cvtsi2sd xmm1, dword [esp + 0x5854]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5868], eax
jmp 0x74c9b5
mov dword [esp + 0x5868], 2
jmp 0x74c9b5
jmp 0x74c703
jmp 0x74c908
jmp 0x74c908
movsd xmm0, qword [esp + 0x5858]
movsd qword [esp + 0x2300], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x22f8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x22f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x230c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x22fc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x22fc]
movsd xmm0, qword [esp + 0x2300]
mov dl, al
mov eax, dword [esp + 0x230c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5868], eax
mov eax, dword [esp + 0x233c]
add eax, dword [esp + 0x5868]
mov dword [esp + 0x22f0], eax
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x22f4], eax
mov eax, dword [esp + 0x581c]
add eax, 0x61
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5848], xmm0
xor eax, eax
je 0x74ca02
add byte [ecx + 0x58502484], cl
add byte [eax], al
mov dword [esp + 0x5850], eax
movsd xmm0, qword [esp + 0x5848]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5840], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x22e4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x22e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x22e8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x22e8]
mov dl, al
mov eax, dword [esp + 0x22ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74cc38
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x22d8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x22d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22dc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x22dc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x22e0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x22e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74cc33
mov dword [esp + 0x583c], 0
cmp dword [esp + 0x583c], 9
jae 0x74cc2e
movsd xmm0, qword [esp + 0x5840]
cvtsi2sd xmm1, dword [esp + 0x583c]
addsd xmm0, xmm1
movsd qword [esp + 0x22d0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x22d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74cb90
jp 0x74cb90
movsd xmm0, qword [esp + 0x5840]
movsd qword [esp + 0x5840], xmm0
jmp 0x74ca38
movsd xmm0, qword [esp + 0x5840]
cvtsi2sd xmm1, dword [esp + 0x583c]
addsd xmm0, xmm1
movsd qword [esp + 0x22c8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x22c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74cc1e
jp 0x74cc1e
mov eax, dword [esp + 0x583c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5840]
addsd xmm0, xmm1
movsd qword [esp + 0x5840], xmm0
movsd xmm0, qword [esp + 0x5840]
cvtsi2sd xmm1, dword [esp + 0x583c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5850], eax
jmp 0x74ccea
mov dword [esp + 0x5850], 2
jmp 0x74ccea
jmp 0x74ca38
jmp 0x74cc3d
jmp 0x74cc3d
movsd xmm0, qword [esp + 0x5840]
movsd qword [esp + 0x22b8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x22b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x22b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x22b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x22b4]
movsd xmm0, qword [esp + 0x22b8]
mov dl, al
mov eax, dword [esp + 0x22c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5850], eax
mov edx, dword [esp + 0x22f0]
mov eax, dword [esp + 0x22f4]
and eax, dword [esp + 0x5850]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x22a4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x22a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x22a8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x22a8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x22ac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x22ac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d0bb
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x22a0], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5830], xmm0
xor eax, eax
je 0x74cdb4
add byte [ecx + 0x58382484], cl
add byte [eax], al
mov dword [esp + 0x5838], eax
movsd xmm0, qword [esp + 0x5830]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5828], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2294], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2294]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x229c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2298], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2298]
mov dl, al
mov eax, dword [esp + 0x229c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74cfea
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2288], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2288]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x228c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x228c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2290], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2290]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74cfe5
mov dword [esp + 0x5824], 0
cmp dword [esp + 0x5824], 9
jae 0x74cfe0
movsd xmm0, qword [esp + 0x5828]
cvtsi2sd xmm1, dword [esp + 0x5824]
addsd xmm0, xmm1
movsd qword [esp + 0x2280], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2280]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74cf42
jp 0x74cf42
movsd xmm0, qword [esp + 0x5828]
movsd qword [esp + 0x5828], xmm0
jmp 0x74cdea
movsd xmm0, qword [esp + 0x5828]
cvtsi2sd xmm1, dword [esp + 0x5824]
addsd xmm0, xmm1
movsd qword [esp + 0x2278], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2278]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74cfd0
jp 0x74cfd0
mov eax, dword [esp + 0x5824]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5828]
addsd xmm0, xmm1
movsd qword [esp + 0x5828], xmm0
movsd xmm0, qword [esp + 0x5828]
cvtsi2sd xmm1, dword [esp + 0x5824]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5838], eax
jmp 0x74d09c
mov dword [esp + 0x5838], 2
jmp 0x74d09c
jmp 0x74cdea
jmp 0x74cfef
jmp 0x74cfef
movsd xmm0, qword [esp + 0x5828]
movsd qword [esp + 0x2268], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2260], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2260]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2274], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2264], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2264]
movsd xmm0, qword [esp + 0x2268]
mov dl, al
mov eax, dword [esp + 0x2274]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5838], eax
mov edx, dword [esp + 0x22a0]
xor edx, dword [esp + 0x5838]
mov eax, dword [esp + 0x5820]
mov ecx, dword [esp + 0x581c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x581c]
add eax, 1
mov dword [esp + 0x581c], eax
jmp 0x74bb19
jmp 0x74d0d6
mov eax, dword [esp + 0x2444]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b4c], eax
lea ecx, [esp + 0x4b43]
call fcn.00767350
mov dword [esp + 0x4c28], eax
mov eax, dword [esp + 0x4c28]
mov dword [esp + 0x5950], eax
mov eax, dword [esp + 0x5950]
mov dword [esp + 0x225c], eax
test byte [eax + 4], 1
jne 0x74e6f9
mov eax, dword [esp + 0x225c]
mov dword [esp + 0x5a90], eax
mov dword [esp + 0x5a8c], 0
cmp dword [esp + 0x5a8c], 1
jae 0x74e6f4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2250], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2250]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2254], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2254]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2258], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2258]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d4f1
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x224c], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x5b18], xmm0
xor eax, eax
je 0x74d1ea
add byte [ecx + 0x5b242484], cl
add byte [eax], al
mov dword [esp + 0x5b24], eax
movsd xmm0, qword [esp + 0x5b18]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5b10], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2240], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2240]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2248], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2244], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2244]
mov dl, al
mov eax, dword [esp + 0x2248]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d420
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2234], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2234]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2238], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2238]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x223c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x223c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d41b
mov dword [esp + 0x5b0c], 0
cmp dword [esp + 0x5b0c], 9
jae 0x74d416
movsd xmm0, qword [esp + 0x5b10]
cvtsi2sd xmm1, dword [esp + 0x5b0c]
addsd xmm0, xmm1
movsd qword [esp + 0x2228], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2228]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74d378
jp 0x74d378
movsd xmm0, qword [esp + 0x5b10]
movsd qword [esp + 0x5b10], xmm0
jmp 0x74d220
movsd xmm0, qword [esp + 0x5b10]
cvtsi2sd xmm1, dword [esp + 0x5b0c]
addsd xmm0, xmm1
movsd qword [esp + 0x2220], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2220]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74d406
jp 0x74d406
mov eax, dword [esp + 0x5b0c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5b10]
addsd xmm0, xmm1
movsd qword [esp + 0x5b10], xmm0
movsd xmm0, qword [esp + 0x5b10]
cvtsi2sd xmm1, dword [esp + 0x5b0c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b24], eax
jmp 0x74d4d2
mov dword [esp + 0x5b24], 2
jmp 0x74d4d2
jmp 0x74d220
jmp 0x74d425
jmp 0x74d425
movsd xmm0, qword [esp + 0x5b10]
movsd qword [esp + 0x2210], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2208], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2208]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x221c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x220c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x220c]
movsd xmm0, qword [esp + 0x2210]
mov dl, al
mov eax, dword [esp + 0x221c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b24], eax
mov edx, dword [esp + 0x224c]
xor edx, dword [esp + 0x5b24]
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x21fc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x21fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2204], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x2200], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2200]
mov dl, al
mov eax, dword [esp + 0x2204]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74e337
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x21f0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x21f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21f4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x21f4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x21f8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x21f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d911
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x21ec], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5b00], xmm0
xor eax, eax
je 0x74d60a
add byte [ecx + 0x5b082484], cl
add byte [eax], al
mov dword [esp + 0x5b08], eax
movsd xmm0, qword [esp + 0x5b00]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5af8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x21e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x21e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21e8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x21e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x21e4]
mov dl, al
mov eax, dword [esp + 0x21e8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d840
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x21d4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x21d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21d8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x21d8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x21dc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x21dc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74d83b
mov dword [esp + 0x5af4], 0
cmp dword [esp + 0x5af4], 9
jae 0x74d836
movsd xmm0, qword [esp + 0x5af8]
cvtsi2sd xmm1, dword [esp + 0x5af4]
addsd xmm0, xmm1
movsd qword [esp + 0x21c8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x21c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74d798
jp 0x74d798
movsd xmm0, qword [esp + 0x5af8]
movsd qword [esp + 0x5af8], xmm0
jmp 0x74d640
movsd xmm0, qword [esp + 0x5af8]
cvtsi2sd xmm1, dword [esp + 0x5af4]
addsd xmm0, xmm1
movsd qword [esp + 0x21c0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x21c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74d826
jp 0x74d826
mov eax, dword [esp + 0x5af4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5af8]
addsd xmm0, xmm1
movsd qword [esp + 0x5af8], xmm0
movsd xmm0, qword [esp + 0x5af8]
cvtsi2sd xmm1, dword [esp + 0x5af4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b08], eax
jmp 0x74d8f2
mov dword [esp + 0x5b08], 2
jmp 0x74d8f2
jmp 0x74d640
jmp 0x74d845
jmp 0x74d845
movsd xmm0, qword [esp + 0x5af8]
movsd qword [esp + 0x21b0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x21a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x21a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x21ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x21ac]
movsd xmm0, qword [esp + 0x21b0]
mov dl, al
mov eax, dword [esp + 0x21bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b08], eax
mov edx, dword [esp + 0x21ec]
xor edx, dword [esp + 0x5b08]
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x219c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x219c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21a0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x21a0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x21a4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x21a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74dcb8
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2198], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5ae8], xmm0
xor eax, eax
je 0x74d9b1
add byte [ecx + 0x5af02484], cl
add byte [eax], al
mov dword [esp + 0x5af0], eax
movsd xmm0, qword [esp + 0x5ae8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ae0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x218c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x218c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2194], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2190], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2190]
mov dl, al
mov eax, dword [esp + 0x2194]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74dbe7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2180], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2180]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2184], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2184]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2188], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2188]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74dbe2
mov dword [esp + 0x5adc], 0
cmp dword [esp + 0x5adc], 9
jae 0x74dbdd
movsd xmm0, qword [esp + 0x5ae0]
cvtsi2sd xmm1, dword [esp + 0x5adc]
addsd xmm0, xmm1
movsd qword [esp + 0x2178], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2178]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74db3f
jp 0x74db3f
movsd xmm0, qword [esp + 0x5ae0]
movsd qword [esp + 0x5ae0], xmm0
jmp 0x74d9e7
movsd xmm0, qword [esp + 0x5ae0]
cvtsi2sd xmm1, dword [esp + 0x5adc]
addsd xmm0, xmm1
movsd qword [esp + 0x2170], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2170]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74dbcd
jp 0x74dbcd
mov eax, dword [esp + 0x5adc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ae0]
addsd xmm0, xmm1
movsd qword [esp + 0x5ae0], xmm0
movsd xmm0, qword [esp + 0x5ae0]
cvtsi2sd xmm1, dword [esp + 0x5adc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5af0], eax
jmp 0x74dc99
mov dword [esp + 0x5af0], 2
jmp 0x74dc99
jmp 0x74d9e7
jmp 0x74dbec
jmp 0x74dbec
movsd xmm0, qword [esp + 0x5ae0]
movsd qword [esp + 0x2160], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2158], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2158]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x216c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x215c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x215c]
movsd xmm0, qword [esp + 0x2160]
mov dl, al
mov eax, dword [esp + 0x216c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5af0], eax
mov edx, dword [esp + 0x2198]
xor edx, dword [esp + 0x5af0]
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2154], eax
mov eax, dword [esp + 0x5a8c]
add eax, 0x62
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5ad0], xmm0
xor eax, eax
je 0x74dcf0
add byte [ecx + 0x5ad82484], cl
add byte [eax], al
mov dword [esp + 0x5ad8], eax
movsd xmm0, qword [esp + 0x5ad0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ac8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2148], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2148]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2150], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x214c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x214c]
mov dl, al
mov eax, dword [esp + 0x2150]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74df26
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x213c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x213c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2140], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2140]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2144], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2144]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74df21
mov dword [esp + 0x5ac4], 0
cmp dword [esp + 0x5ac4], 9
jae 0x74df1c
movsd xmm0, qword [esp + 0x5ac8]
cvtsi2sd xmm1, dword [esp + 0x5ac4]
addsd xmm0, xmm1
movsd qword [esp + 0x2130], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2130]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74de7e
jp 0x74de7e
movsd xmm0, qword [esp + 0x5ac8]
movsd qword [esp + 0x5ac8], xmm0
jmp 0x74dd26
movsd xmm0, qword [esp + 0x5ac8]
cvtsi2sd xmm1, dword [esp + 0x5ac4]
addsd xmm0, xmm1
movsd qword [esp + 0x2128], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2128]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74df0c
jp 0x74df0c
mov eax, dword [esp + 0x5ac4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ac8]
addsd xmm0, xmm1
movsd qword [esp + 0x5ac8], xmm0
movsd xmm0, qword [esp + 0x5ac8]
cvtsi2sd xmm1, dword [esp + 0x5ac4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ad8], eax
jmp 0x74dfd8
mov dword [esp + 0x5ad8], 2
jmp 0x74dfd8
jmp 0x74dd26
jmp 0x74df2b
jmp 0x74df2b
movsd xmm0, qword [esp + 0x5ac8]
movsd qword [esp + 0x2118], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2110], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2110]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2124], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2114], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2114]
movsd xmm0, qword [esp + 0x2118]
mov dl, al
mov eax, dword [esp + 0x2124]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ad8], eax
mov eax, dword [esp + 0x2154]
add eax, dword [esp + 0x5ad8]
mov dword [esp + 0x2108], eax
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x210c], eax
mov eax, dword [esp + 0x5a8c]
add eax, 0x62
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5ab8], xmm0
xor eax, eax
je 0x74e025
add byte [ecx + 0x5ac02484], cl
add byte [eax], al
mov dword [esp + 0x5ac0], eax
movsd xmm0, qword [esp + 0x5ab8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ab0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x20fc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x20fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2104], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2100], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2100]
mov dl, al
mov eax, dword [esp + 0x2104]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74e25b
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x20f0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x20f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20f4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x20f4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x20f8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x20f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74e256
mov dword [esp + 0x5aac], 0
cmp dword [esp + 0x5aac], 9
jae 0x74e251
movsd xmm0, qword [esp + 0x5ab0]
cvtsi2sd xmm1, dword [esp + 0x5aac]
addsd xmm0, xmm1
movsd qword [esp + 0x20e8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x20e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74e1b3
jp 0x74e1b3
movsd xmm0, qword [esp + 0x5ab0]
movsd qword [esp + 0x5ab0], xmm0
jmp 0x74e05b
movsd xmm0, qword [esp + 0x5ab0]
cvtsi2sd xmm1, dword [esp + 0x5aac]
addsd xmm0, xmm1
movsd qword [esp + 0x20e0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x20e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74e241
jp 0x74e241
mov eax, dword [esp + 0x5aac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ab0]
addsd xmm0, xmm1
movsd qword [esp + 0x5ab0], xmm0
movsd xmm0, qword [esp + 0x5ab0]
cvtsi2sd xmm1, dword [esp + 0x5aac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ac0], eax
jmp 0x74e30d
mov dword [esp + 0x5ac0], 2
jmp 0x74e30d
jmp 0x74e05b
jmp 0x74e260
jmp 0x74e260
movsd xmm0, qword [esp + 0x5ab0]
movsd qword [esp + 0x20d0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x20c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x20c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x20cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x20cc]
movsd xmm0, qword [esp + 0x20d0]
mov dl, al
mov eax, dword [esp + 0x20dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ac0], eax
mov edx, dword [esp + 0x2108]
mov eax, dword [esp + 0x210c]
and eax, dword [esp + 0x5ac0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x20bc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x20bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20c0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x20c0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x20c4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x20c4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74e6de
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20b8], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5aa0], xmm0
xor eax, eax
je 0x74e3d7
add byte [ecx + 0x5aa82484], cl
add byte [eax], al
mov dword [esp + 0x5aa8], eax
movsd xmm0, qword [esp + 0x5aa0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a98], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x20ac], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x20ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20b4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x20b0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x20b0]
mov dl, al
mov eax, dword [esp + 0x20b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74e60d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x20a0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x20a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20a4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x20a4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x20a8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x20a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74e608
mov dword [esp + 0x5a94], 0
cmp dword [esp + 0x5a94], 9
jae 0x74e603
movsd xmm0, qword [esp + 0x5a98]
cvtsi2sd xmm1, dword [esp + 0x5a94]
addsd xmm0, xmm1
movsd qword [esp + 0x2098], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2098]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74e565
jp 0x74e565
movsd xmm0, qword [esp + 0x5a98]
movsd qword [esp + 0x5a98], xmm0
jmp 0x74e40d
movsd xmm0, qword [esp + 0x5a98]
cvtsi2sd xmm1, dword [esp + 0x5a94]
addsd xmm0, xmm1
movsd qword [esp + 0x2090], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2090]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74e5f3
jp 0x74e5f3
mov eax, dword [esp + 0x5a94]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a98]
addsd xmm0, xmm1
movsd qword [esp + 0x5a98], xmm0
movsd xmm0, qword [esp + 0x5a98]
cvtsi2sd xmm1, dword [esp + 0x5a94]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5aa8], eax
jmp 0x74e6bf
mov dword [esp + 0x5aa8], 2
jmp 0x74e6bf
jmp 0x74e40d
jmp 0x74e612
jmp 0x74e612
movsd xmm0, qword [esp + 0x5a98]
movsd qword [esp + 0x2080], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2078], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2078]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x208c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x207c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x207c]
movsd xmm0, qword [esp + 0x2080]
mov dl, al
mov eax, dword [esp + 0x208c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5aa8], eax
mov edx, dword [esp + 0x20b8]
xor edx, dword [esp + 0x5aa8]
mov eax, dword [esp + 0x5a90]
mov ecx, dword [esp + 0x5a8c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5a8c]
add eax, 1
mov dword [esp + 0x5a8c], eax
jmp 0x74d13c
jmp 0x74e6f9
mov eax, dword [esp + 0x225c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b44], eax
lea ecx, [esp + 0x4b3b]
call fcn.0076743e
mov dword [esp + 0x4c24], eax
mov eax, dword [esp + 0x4c24]
mov dword [esp + 0x5954], eax
mov eax, dword [esp + 0x5954]
mov dword [esp + 0x2074], eax
test byte [eax + 4], 1
jne 0x74fd1c
mov eax, dword [esp + 0x2074]
mov dword [esp + 0x59f8], eax
mov dword [esp + 0x59f4], 0
cmp dword [esp + 0x59f4], 1
jae 0x74fd17
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2068], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2068]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x206c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x206c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2070], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2070]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74eb14
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2064], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x5a80], xmm0
xor eax, eax
je 0x74e80d
add byte [ecx + 0x5a882484], cl
add byte [eax], al
mov dword [esp + 0x5a88], eax
movsd xmm0, qword [esp + 0x5a80]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a78], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2058], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2058]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2060], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x205c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x205c]
mov dl, al
mov eax, dword [esp + 0x2060]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74ea43
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x204c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x204c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2050], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2050]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2054], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2054]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74ea3e
mov dword [esp + 0x5a74], 0
cmp dword [esp + 0x5a74], 9
jae 0x74ea39
movsd xmm0, qword [esp + 0x5a78]
cvtsi2sd xmm1, dword [esp + 0x5a74]
addsd xmm0, xmm1
movsd qword [esp + 0x2040], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2040]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74e99b
jp 0x74e99b
movsd xmm0, qword [esp + 0x5a78]
movsd qword [esp + 0x5a78], xmm0
jmp 0x74e843
movsd xmm0, qword [esp + 0x5a78]
cvtsi2sd xmm1, dword [esp + 0x5a74]
addsd xmm0, xmm1
movsd qword [esp + 0x2038], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2038]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74ea29
jp 0x74ea29
mov eax, dword [esp + 0x5a74]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a78]
addsd xmm0, xmm1
movsd qword [esp + 0x5a78], xmm0
movsd xmm0, qword [esp + 0x5a78]
cvtsi2sd xmm1, dword [esp + 0x5a74]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a88], eax
jmp 0x74eaf5
mov dword [esp + 0x5a88], 2
jmp 0x74eaf5
jmp 0x74e843
jmp 0x74ea48
jmp 0x74ea48
movsd xmm0, qword [esp + 0x5a78]
movsd qword [esp + 0x2028], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2020], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2020]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2034], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2024], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2024]
movsd xmm0, qword [esp + 0x2028]
mov dl, al
mov eax, dword [esp + 0x2034]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a88], eax
mov edx, dword [esp + 0x2064]
xor edx, dword [esp + 0x5a88]
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2014], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2014]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x201c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x2018], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2018]
mov dl, al
mov eax, dword [esp + 0x201c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f95a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2008], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2008]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x200c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x200c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2010], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2010]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74ef34
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2004], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5a68], xmm0
xor eax, eax
je 0x74ec2d
add byte [ecx + 0x5a702484], cl
add byte [eax], al
mov dword [esp + 0x5a70], eax
movsd xmm0, qword [esp + 0x5a68]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a60], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1ff8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1ff8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2000], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ffc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ffc]
mov dl, al
mov eax, dword [esp + 0x2000]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74ee63
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1fec], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1fec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ff0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1ff0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ff4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1ff4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74ee5e
mov dword [esp + 0x5a5c], 0
cmp dword [esp + 0x5a5c], 9
jae 0x74ee59
movsd xmm0, qword [esp + 0x5a60]
cvtsi2sd xmm1, dword [esp + 0x5a5c]
addsd xmm0, xmm1
movsd qword [esp + 0x1fe0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1fe0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74edbb
jp 0x74edbb
movsd xmm0, qword [esp + 0x5a60]
movsd qword [esp + 0x5a60], xmm0
jmp 0x74ec63
movsd xmm0, qword [esp + 0x5a60]
cvtsi2sd xmm1, dword [esp + 0x5a5c]
addsd xmm0, xmm1
movsd qword [esp + 0x1fd8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1fd8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74ee49
jp 0x74ee49
mov eax, dword [esp + 0x5a5c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a60]
addsd xmm0, xmm1
movsd qword [esp + 0x5a60], xmm0
movsd xmm0, qword [esp + 0x5a60]
cvtsi2sd xmm1, dword [esp + 0x5a5c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a70], eax
jmp 0x74ef15
mov dword [esp + 0x5a70], 2
jmp 0x74ef15
jmp 0x74ec63
jmp 0x74ee68
jmp 0x74ee68
movsd xmm0, qword [esp + 0x5a60]
movsd qword [esp + 0x1fc8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1fc0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1fc0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fd4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1fc4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1fc4]
movsd xmm0, qword [esp + 0x1fc8]
mov dl, al
mov eax, dword [esp + 0x1fd4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a70], eax
mov edx, dword [esp + 0x2004]
xor edx, dword [esp + 0x5a70]
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1fb4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1fb4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fb8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1fb8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1fbc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1fbc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f2db
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1fb0], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5a50], xmm0
xor eax, eax
je 0x74efd4
add byte [ecx + 0x5a582484], cl
add byte [eax], al
mov dword [esp + 0x5a58], eax
movsd xmm0, qword [esp + 0x5a50]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a48], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1fa4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1fa4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1fac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1fa8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1fa8]
mov dl, al
mov eax, dword [esp + 0x1fac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f20a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1f98], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1f98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f9c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1f9c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1fa0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1fa0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f205
mov dword [esp + 0x5a44], 0
cmp dword [esp + 0x5a44], 9
jae 0x74f200
movsd xmm0, qword [esp + 0x5a48]
cvtsi2sd xmm1, dword [esp + 0x5a44]
addsd xmm0, xmm1
movsd qword [esp + 0x1f90], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1f90]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74f162
jp 0x74f162
movsd xmm0, qword [esp + 0x5a48]
movsd qword [esp + 0x5a48], xmm0
jmp 0x74f00a
movsd xmm0, qword [esp + 0x5a48]
cvtsi2sd xmm1, dword [esp + 0x5a44]
addsd xmm0, xmm1
movsd qword [esp + 0x1f88], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1f88]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74f1f0
jp 0x74f1f0
mov eax, dword [esp + 0x5a44]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a48]
addsd xmm0, xmm1
movsd qword [esp + 0x5a48], xmm0
movsd xmm0, qword [esp + 0x5a48]
cvtsi2sd xmm1, dword [esp + 0x5a44]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a58], eax
jmp 0x74f2bc
mov dword [esp + 0x5a58], 2
jmp 0x74f2bc
jmp 0x74f00a
jmp 0x74f20f
jmp 0x74f20f
movsd xmm0, qword [esp + 0x5a48]
movsd qword [esp + 0x1f78], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1f70], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1f70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f84], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1f74], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1f74]
movsd xmm0, qword [esp + 0x1f78]
mov dl, al
mov eax, dword [esp + 0x1f84]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a58], eax
mov edx, dword [esp + 0x1fb0]
xor edx, dword [esp + 0x5a58]
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1f6c], eax
mov eax, dword [esp + 0x59f4]
add eax, 0x62
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5a38], xmm0
xor eax, eax
je 0x74f313
add byte [ecx + 0x5a402484], cl
add byte [eax], al
mov dword [esp + 0x5a40], eax
movsd xmm0, qword [esp + 0x5a38]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a30], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1f60], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1f60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f68], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1f64], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1f64]
mov dl, al
mov eax, dword [esp + 0x1f68]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f549
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1f54], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1f54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f58], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1f58]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1f5c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1f5c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f544
mov dword [esp + 0x5a2c], 0
cmp dword [esp + 0x5a2c], 9
jae 0x74f53f
movsd xmm0, qword [esp + 0x5a30]
cvtsi2sd xmm1, dword [esp + 0x5a2c]
addsd xmm0, xmm1
movsd qword [esp + 0x1f48], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1f48]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74f4a1
jp 0x74f4a1
movsd xmm0, qword [esp + 0x5a30]
movsd qword [esp + 0x5a30], xmm0
jmp 0x74f349
movsd xmm0, qword [esp + 0x5a30]
cvtsi2sd xmm1, dword [esp + 0x5a2c]
addsd xmm0, xmm1
movsd qword [esp + 0x1f40], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1f40]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74f52f
jp 0x74f52f
mov eax, dword [esp + 0x5a2c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a30]
addsd xmm0, xmm1
movsd qword [esp + 0x5a30], xmm0
movsd xmm0, qword [esp + 0x5a30]
cvtsi2sd xmm1, dword [esp + 0x5a2c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a40], eax
jmp 0x74f5fb
mov dword [esp + 0x5a40], 2
jmp 0x74f5fb
jmp 0x74f349
jmp 0x74f54e
jmp 0x74f54e
movsd xmm0, qword [esp + 0x5a30]
movsd qword [esp + 0x1f30], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1f28], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1f28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f3c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1f2c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1f2c]
movsd xmm0, qword [esp + 0x1f30]
mov dl, al
mov eax, dword [esp + 0x1f3c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a40], eax
mov eax, dword [esp + 0x1f6c]
add eax, dword [esp + 0x5a40]
mov dword [esp + 0x1f20], eax
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1f24], eax
mov eax, dword [esp + 0x59f4]
add eax, 0x62
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5a20], xmm0
xor eax, eax
je 0x74f648
add byte [ecx + 0x5a282484], cl
add byte [eax], al
mov dword [esp + 0x5a28], eax
movsd xmm0, qword [esp + 0x5a20]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a18], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1f14], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1f14]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f1c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1f18], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1f18]
mov dl, al
mov eax, dword [esp + 0x1f1c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f87e
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1f08], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1f08]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f0c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1f0c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1f10], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1f10]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74f879
mov dword [esp + 0x5a14], 0
cmp dword [esp + 0x5a14], 9
jae 0x74f874
movsd xmm0, qword [esp + 0x5a18]
cvtsi2sd xmm1, dword [esp + 0x5a14]
addsd xmm0, xmm1
movsd qword [esp + 0x1f00], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1f00]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74f7d6
jp 0x74f7d6
movsd xmm0, qword [esp + 0x5a18]
movsd qword [esp + 0x5a18], xmm0
jmp 0x74f67e
movsd xmm0, qword [esp + 0x5a18]
cvtsi2sd xmm1, dword [esp + 0x5a14]
addsd xmm0, xmm1
movsd qword [esp + 0x1ef8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1ef8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74f864
jp 0x74f864
mov eax, dword [esp + 0x5a14]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a18]
addsd xmm0, xmm1
movsd qword [esp + 0x5a18], xmm0
movsd xmm0, qword [esp + 0x5a18]
cvtsi2sd xmm1, dword [esp + 0x5a14]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a28], eax
jmp 0x74f930
mov dword [esp + 0x5a28], 2
jmp 0x74f930
jmp 0x74f67e
jmp 0x74f883
jmp 0x74f883
movsd xmm0, qword [esp + 0x5a18]
movsd qword [esp + 0x1ee8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1ee0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1ee0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ef4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ee4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ee4]
movsd xmm0, qword [esp + 0x1ee8]
mov dl, al
mov eax, dword [esp + 0x1ef4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a28], eax
mov edx, dword [esp + 0x1f20]
mov eax, dword [esp + 0x1f24]
and eax, dword [esp + 0x5a28]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1ed4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1ed4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ed8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1ed8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1edc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1edc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74fd01
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1ed0], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5a08], xmm0
xor eax, eax
je 0x74f9fa
add byte [ecx + 0x5a102484], cl
add byte [eax], al
mov dword [esp + 0x5a10], eax
movsd xmm0, qword [esp + 0x5a08]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5a00], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1ec4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1ec4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ecc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ec8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ec8]
mov dl, al
mov eax, dword [esp + 0x1ecc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74fc30
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1eb8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1eb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ebc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1ebc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ec0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1ec0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x74fc2b
mov dword [esp + 0x59fc], 0
cmp dword [esp + 0x59fc], 9
jae 0x74fc26
movsd xmm0, qword [esp + 0x5a00]
cvtsi2sd xmm1, dword [esp + 0x59fc]
addsd xmm0, xmm1
movsd qword [esp + 0x1eb0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1eb0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74fb88
jp 0x74fb88
movsd xmm0, qword [esp + 0x5a00]
movsd qword [esp + 0x5a00], xmm0
jmp 0x74fa30
movsd xmm0, qword [esp + 0x5a00]
cvtsi2sd xmm1, dword [esp + 0x59fc]
addsd xmm0, xmm1
movsd qword [esp + 0x1ea8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1ea8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74fc16
jp 0x74fc16
mov eax, dword [esp + 0x59fc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5a00]
addsd xmm0, xmm1
movsd qword [esp + 0x5a00], xmm0
movsd xmm0, qword [esp + 0x5a00]
cvtsi2sd xmm1, dword [esp + 0x59fc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a10], eax
jmp 0x74fce2
mov dword [esp + 0x5a10], 2
jmp 0x74fce2
jmp 0x74fa30
jmp 0x74fc35
jmp 0x74fc35
movsd xmm0, qword [esp + 0x5a00]
movsd qword [esp + 0x1e98], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1e90], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1e90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ea4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1e94], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1e94]
movsd xmm0, qword [esp + 0x1e98]
mov dl, al
mov eax, dword [esp + 0x1ea4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5a10], eax
mov edx, dword [esp + 0x1ed0]
xor edx, dword [esp + 0x5a10]
mov eax, dword [esp + 0x59f8]
mov ecx, dword [esp + 0x59f4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x59f4]
add eax, 1
mov dword [esp + 0x59f4], eax
jmp 0x74e75f
jmp 0x74fd1c
mov eax, dword [esp + 0x2074]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b3c], eax
lea ecx, [esp + 0x4b33]
call fcn.0076752c
mov dword [esp + 0x4c20], eax
mov eax, dword [esp + 0x4c20]
mov dword [esp + 0x5958], eax
mov eax, dword [esp + 0x5958]
mov dword [esp + 0x1e8c], eax
test byte [eax + 4], 1
jne 0x75133f
mov eax, dword [esp + 0x1e8c]
mov dword [esp + 0x5960], eax
mov dword [esp + 0x595c], 0
cmp dword [esp + 0x595c], 1
jae 0x75133a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1e80], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1e80]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e84], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1e84]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e88], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1e88]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750137
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1e7c], eax
movsd xmm0, qword [0x786a18]
movsd qword [esp + 0x59e8], xmm0
xor eax, eax
je 0x74fe30
add byte [ecx + 0x59f02484], cl
add byte [eax], al
mov dword [esp + 0x59f0], eax
movsd xmm0, qword [esp + 0x59e8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x59e0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1e70], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1e70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e78], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1e74], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1e74]
mov dl, al
mov eax, dword [esp + 0x1e78]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750066
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1e64], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1e64]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e68], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1e68]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e6c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1e6c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750061
mov dword [esp + 0x59dc], 0
cmp dword [esp + 0x59dc], 9
jae 0x75005c
movsd xmm0, qword [esp + 0x59e0]
cvtsi2sd xmm1, dword [esp + 0x59dc]
addsd xmm0, xmm1
movsd qword [esp + 0x1e58], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1e58]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x74ffbe
jp 0x74ffbe
movsd xmm0, qword [esp + 0x59e0]
movsd qword [esp + 0x59e0], xmm0
jmp 0x74fe66
movsd xmm0, qword [esp + 0x59e0]
cvtsi2sd xmm1, dword [esp + 0x59dc]
addsd xmm0, xmm1
movsd qword [esp + 0x1e50], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1e50]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75004c
jp 0x75004c
mov eax, dword [esp + 0x59dc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x59e0]
addsd xmm0, xmm1
movsd qword [esp + 0x59e0], xmm0
movsd xmm0, qword [esp + 0x59e0]
cvtsi2sd xmm1, dword [esp + 0x59dc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59f0], eax
jmp 0x750118
mov dword [esp + 0x59f0], 2
jmp 0x750118
jmp 0x74fe66
jmp 0x75006b
jmp 0x75006b
movsd xmm0, qword [esp + 0x59e0]
movsd qword [esp + 0x1e40], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1e38], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1e38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e4c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1e3c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1e3c]
movsd xmm0, qword [esp + 0x1e40]
mov dl, al
mov eax, dword [esp + 0x1e4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59f0], eax
mov edx, dword [esp + 0x1e7c]
xor edx, dword [esp + 0x59f0]
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1e2c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1e2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e34], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x1e30], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1e30]
mov dl, al
mov eax, dword [esp + 0x1e34]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750f7d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1e20], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1e20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e24], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1e24]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e28], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1e28]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750557
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1e1c], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x59d0], xmm0
xor eax, eax
je 0x750250
add byte [ecx + 0x59d82484], cl
add byte [eax], al
mov dword [esp + 0x59d8], eax
movsd xmm0, qword [esp + 0x59d0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x59c8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1e10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1e10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e18], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1e14], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1e14]
mov dl, al
mov eax, dword [esp + 0x1e18]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750486
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1e04], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1e04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e08], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1e08]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1e0c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1e0c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750481
mov dword [esp + 0x59c4], 0
cmp dword [esp + 0x59c4], 9
jae 0x75047c
movsd xmm0, qword [esp + 0x59c8]
cvtsi2sd xmm1, dword [esp + 0x59c4]
addsd xmm0, xmm1
movsd qword [esp + 0x1df8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1df8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7503de
jp 0x7503de
movsd xmm0, qword [esp + 0x59c8]
movsd qword [esp + 0x59c8], xmm0
jmp 0x750286
movsd xmm0, qword [esp + 0x59c8]
cvtsi2sd xmm1, dword [esp + 0x59c4]
addsd xmm0, xmm1
movsd qword [esp + 0x1df0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1df0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75046c
jp 0x75046c
mov eax, dword [esp + 0x59c4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x59c8]
addsd xmm0, xmm1
movsd qword [esp + 0x59c8], xmm0
movsd xmm0, qword [esp + 0x59c8]
cvtsi2sd xmm1, dword [esp + 0x59c4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59d8], eax
jmp 0x750538
mov dword [esp + 0x59d8], 2
jmp 0x750538
jmp 0x750286
jmp 0x75048b
jmp 0x75048b
movsd xmm0, qword [esp + 0x59c8]
movsd qword [esp + 0x1de0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1dd8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1dd8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ddc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ddc]
movsd xmm0, qword [esp + 0x1de0]
mov dl, al
mov eax, dword [esp + 0x1dec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59d8], eax
mov edx, dword [esp + 0x1e1c]
xor edx, dword [esp + 0x59d8]
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1dcc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1dcc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dd0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1dd0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1dd4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1dd4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7508fe
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1dc8], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x59b8], xmm0
xor eax, eax
je 0x7505f7
add byte [ecx + 0x59c02484], cl
add byte [eax], al
mov dword [esp + 0x59c0], eax
movsd xmm0, qword [esp + 0x59b8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x59b0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1dbc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1dbc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dc4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1dc0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1dc0]
mov dl, al
mov eax, dword [esp + 0x1dc4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75082d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1db0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1db0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1db4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1db4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1db8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1db8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750828
mov dword [esp + 0x59ac], 0
cmp dword [esp + 0x59ac], 9
jae 0x750823
movsd xmm0, qword [esp + 0x59b0]
cvtsi2sd xmm1, dword [esp + 0x59ac]
addsd xmm0, xmm1
movsd qword [esp + 0x1da8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1da8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x750785
jp 0x750785
movsd xmm0, qword [esp + 0x59b0]
movsd qword [esp + 0x59b0], xmm0
jmp 0x75062d
movsd xmm0, qword [esp + 0x59b0]
cvtsi2sd xmm1, dword [esp + 0x59ac]
addsd xmm0, xmm1
movsd qword [esp + 0x1da0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1da0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x750813
jp 0x750813
mov eax, dword [esp + 0x59ac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x59b0]
addsd xmm0, xmm1
movsd qword [esp + 0x59b0], xmm0
movsd xmm0, qword [esp + 0x59b0]
cvtsi2sd xmm1, dword [esp + 0x59ac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59c0], eax
jmp 0x7508df
mov dword [esp + 0x59c0], 2
jmp 0x7508df
jmp 0x75062d
jmp 0x750832
jmp 0x750832
movsd xmm0, qword [esp + 0x59b0]
movsd qword [esp + 0x1d90], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1d88], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1d88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d9c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1d8c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1d8c]
movsd xmm0, qword [esp + 0x1d90]
mov dl, al
mov eax, dword [esp + 0x1d9c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59c0], eax
mov edx, dword [esp + 0x1dc8]
xor edx, dword [esp + 0x59c0]
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1d84], eax
mov eax, dword [esp + 0x595c]
add eax, 0x62
cvtsi2sd xmm0, eax
movsd qword [esp + 0x59a0], xmm0
xor eax, eax
je 0x750936
add byte [ecx + 0x59a82484], cl
add byte [eax], al
mov dword [esp + 0x59a8], eax
movsd xmm0, qword [esp + 0x59a0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5998], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1d78], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1d78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d80], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1d7c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1d7c]
mov dl, al
mov eax, dword [esp + 0x1d80]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750b6c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1d6c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1d6c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d70], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1d70]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d74], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1d74]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750b67
mov dword [esp + 0x5994], 0
cmp dword [esp + 0x5994], 9
jae 0x750b62
movsd xmm0, qword [esp + 0x5998]
cvtsi2sd xmm1, dword [esp + 0x5994]
addsd xmm0, xmm1
movsd qword [esp + 0x1d60], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1d60]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x750ac4
jp 0x750ac4
movsd xmm0, qword [esp + 0x5998]
movsd qword [esp + 0x5998], xmm0
jmp 0x75096c
movsd xmm0, qword [esp + 0x5998]
cvtsi2sd xmm1, dword [esp + 0x5994]
addsd xmm0, xmm1
movsd qword [esp + 0x1d58], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1d58]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x750b52
jp 0x750b52
mov eax, dword [esp + 0x5994]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5998]
addsd xmm0, xmm1
movsd qword [esp + 0x5998], xmm0
movsd xmm0, qword [esp + 0x5998]
cvtsi2sd xmm1, dword [esp + 0x5994]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59a8], eax
jmp 0x750c1e
mov dword [esp + 0x59a8], 2
jmp 0x750c1e
jmp 0x75096c
jmp 0x750b71
jmp 0x750b71
movsd xmm0, qword [esp + 0x5998]
movsd qword [esp + 0x1d48], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1d40], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1d40]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d54], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1d44], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1d44]
movsd xmm0, qword [esp + 0x1d48]
mov dl, al
mov eax, dword [esp + 0x1d54]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x59a8], eax
mov eax, dword [esp + 0x1d84]
add eax, dword [esp + 0x59a8]
mov dword [esp + 0x1d38], eax
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1d3c], eax
mov eax, dword [esp + 0x595c]
add eax, 0x62
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5988], xmm0
xor eax, eax
je 0x750c6b
add byte [ecx + 0x59902484], cl
add byte [eax], al
mov dword [esp + 0x5990], eax
movsd xmm0, qword [esp + 0x5988]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5980], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1d2c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1d2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d34], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1d30], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1d30]
mov dl, al
mov eax, dword [esp + 0x1d34]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750ea1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1d20], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1d20]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d24], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1d24]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d28], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1d28]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x750e9c
mov dword [esp + 0x597c], 0
cmp dword [esp + 0x597c], 9
jae 0x750e97
movsd xmm0, qword [esp + 0x5980]
cvtsi2sd xmm1, dword [esp + 0x597c]
addsd xmm0, xmm1
movsd qword [esp + 0x1d18], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1d18]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x750df9
jp 0x750df9
movsd xmm0, qword [esp + 0x5980]
movsd qword [esp + 0x5980], xmm0
jmp 0x750ca1
movsd xmm0, qword [esp + 0x5980]
cvtsi2sd xmm1, dword [esp + 0x597c]
addsd xmm0, xmm1
movsd qword [esp + 0x1d10], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1d10]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x750e87
jp 0x750e87
mov eax, dword [esp + 0x597c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5980]
addsd xmm0, xmm1
movsd qword [esp + 0x5980], xmm0
movsd xmm0, qword [esp + 0x5980]
cvtsi2sd xmm1, dword [esp + 0x597c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5990], eax
jmp 0x750f53
mov dword [esp + 0x5990], 2
jmp 0x750f53
jmp 0x750ca1
jmp 0x750ea6
jmp 0x750ea6
movsd xmm0, qword [esp + 0x5980]
movsd qword [esp + 0x1d00], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1cf8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1cf8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d0c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1cfc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1cfc]
movsd xmm0, qword [esp + 0x1d00]
mov dl, al
mov eax, dword [esp + 0x1d0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5990], eax
mov edx, dword [esp + 0x1d38]
mov eax, dword [esp + 0x1d3c]
and eax, dword [esp + 0x5990]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1cec], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1cec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cf0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1cf0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1cf4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1cf4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751324
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1ce8], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5970], xmm0
xor eax, eax
je 0x75101d
add byte [ecx + 0x59782484], cl
add byte [eax], al
mov dword [esp + 0x5978], eax
movsd xmm0, qword [esp + 0x5970]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5968], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1cdc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1cdc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ce4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ce0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ce0]
mov dl, al
mov eax, dword [esp + 0x1ce4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751253
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1cd0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1cd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cd4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1cd4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1cd8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1cd8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75124e
mov dword [esp + 0x5964], 0
cmp dword [esp + 0x5964], 9
jae 0x751249
movsd xmm0, qword [esp + 0x5968]
cvtsi2sd xmm1, dword [esp + 0x5964]
addsd xmm0, xmm1
movsd qword [esp + 0x1cc8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1cc8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7511ab
jp 0x7511ab
movsd xmm0, qword [esp + 0x5968]
movsd qword [esp + 0x5968], xmm0
jmp 0x751053
movsd xmm0, qword [esp + 0x5968]
cvtsi2sd xmm1, dword [esp + 0x5964]
addsd xmm0, xmm1
movsd qword [esp + 0x1cc0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1cc0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x751239
jp 0x751239
mov eax, dword [esp + 0x5964]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5968]
addsd xmm0, xmm1
movsd qword [esp + 0x5968], xmm0
movsd xmm0, qword [esp + 0x5968]
cvtsi2sd xmm1, dword [esp + 0x5964]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5978], eax
jmp 0x751305
mov dword [esp + 0x5978], 2
jmp 0x751305
jmp 0x751053
jmp 0x751258
jmp 0x751258
movsd xmm0, qword [esp + 0x5968]
movsd qword [esp + 0x1cb0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1ca8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1ca8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1cbc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1cac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1cac]
movsd xmm0, qword [esp + 0x1cb0]
mov dl, al
mov eax, dword [esp + 0x1cbc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5978], eax
mov edx, dword [esp + 0x1ce8]
xor edx, dword [esp + 0x5978]
mov eax, dword [esp + 0x5960]
mov ecx, dword [esp + 0x595c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x595c]
add eax, 1
mov dword [esp + 0x595c], eax
jmp 0x74fd82
jmp 0x75133f
mov eax, dword [esp + 0x1e8c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b34], eax
mov eax, dword [esp + 0x4b3c]
mov dword [esp + 0x4b44], eax
cmp eax, 0
je 0x75298d
lea ecx, [esp + 0x4b32]
call fcn.0076761a
mov dword [esp + 0x4c2c], eax
mov eax, dword [esp + 0x4c2c]
mov dword [esp + 0x5b28], eax
mov eax, dword [esp + 0x5b28]
mov dword [esp + 0x1ca4], eax
test byte [eax + 4], 1
jne 0x752979
mov eax, dword [esp + 0x1ca4]
mov dword [esp + 0x5b30], eax
mov dword [esp + 0x5b2c], 0
cmp dword [esp + 0x5b2c], 1
jae 0x752974
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1c98], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1c98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c9c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1c9c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ca0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1ca0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751771
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1c94], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5bb8], xmm0
xor eax, eax
je 0x75146a
add byte [ecx + 0x5bc42484], cl
add byte [eax], al
mov dword [esp + 0x5bc4], eax
movsd xmm0, qword [esp + 0x5bb8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5bb0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1c88], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1c88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c90], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1c8c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1c8c]
mov dl, al
mov eax, dword [esp + 0x1c90]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7516a0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1c7c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1c7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c80], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1c80]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c84], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1c84]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75169b
mov dword [esp + 0x5bac], 0
cmp dword [esp + 0x5bac], 9
jae 0x751696
movsd xmm0, qword [esp + 0x5bb0]
cvtsi2sd xmm1, dword [esp + 0x5bac]
addsd xmm0, xmm1
movsd qword [esp + 0x1c70], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1c70]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7515f8
jp 0x7515f8
movsd xmm0, qword [esp + 0x5bb0]
movsd qword [esp + 0x5bb0], xmm0
jmp 0x7514a0
movsd xmm0, qword [esp + 0x5bb0]
cvtsi2sd xmm1, dword [esp + 0x5bac]
addsd xmm0, xmm1
movsd qword [esp + 0x1c68], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1c68]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x751686
jp 0x751686
mov eax, dword [esp + 0x5bac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5bb0]
addsd xmm0, xmm1
movsd qword [esp + 0x5bb0], xmm0
movsd xmm0, qword [esp + 0x5bb0]
cvtsi2sd xmm1, dword [esp + 0x5bac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5bc4], eax
jmp 0x751752
mov dword [esp + 0x5bc4], 2
jmp 0x751752
jmp 0x7514a0
jmp 0x7516a5
jmp 0x7516a5
movsd xmm0, qword [esp + 0x5bb0]
movsd qword [esp + 0x1c58], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1c50], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1c50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c64], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1c54], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1c54]
movsd xmm0, qword [esp + 0x1c58]
mov dl, al
mov eax, dword [esp + 0x1c64]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5bc4], eax
mov edx, dword [esp + 0x1c94]
xor edx, dword [esp + 0x5bc4]
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1c44], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1c44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c4c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x1c48], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1c48]
mov dl, al
mov eax, dword [esp + 0x1c4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7525b7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1c38], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1c38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c3c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1c3c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c40], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1c40]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751b91
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1c34], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5ba0], xmm0
xor eax, eax
je 0x75188a
add byte [ecx + 0x5ba82484], cl
add byte [eax], al
mov dword [esp + 0x5ba8], eax
movsd xmm0, qword [esp + 0x5ba0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5b98], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1c28], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1c28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c30], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1c2c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1c2c]
mov dl, al
mov eax, dword [esp + 0x1c30]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751ac0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1c1c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1c1c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c20], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1c20]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c24], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1c24]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751abb
mov dword [esp + 0x5b94], 0
cmp dword [esp + 0x5b94], 9
jae 0x751ab6
movsd xmm0, qword [esp + 0x5b98]
cvtsi2sd xmm1, dword [esp + 0x5b94]
addsd xmm0, xmm1
movsd qword [esp + 0x1c10], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1c10]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x751a18
jp 0x751a18
movsd xmm0, qword [esp + 0x5b98]
movsd qword [esp + 0x5b98], xmm0
jmp 0x7518c0
movsd xmm0, qword [esp + 0x5b98]
cvtsi2sd xmm1, dword [esp + 0x5b94]
addsd xmm0, xmm1
movsd qword [esp + 0x1c08], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1c08]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x751aa6
jp 0x751aa6
mov eax, dword [esp + 0x5b94]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5b98]
addsd xmm0, xmm1
movsd qword [esp + 0x5b98], xmm0
movsd xmm0, qword [esp + 0x5b98]
cvtsi2sd xmm1, dword [esp + 0x5b94]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ba8], eax
jmp 0x751b72
mov dword [esp + 0x5ba8], 2
jmp 0x751b72
jmp 0x7518c0
jmp 0x751ac5
jmp 0x751ac5
movsd xmm0, qword [esp + 0x5b98]
movsd qword [esp + 0x1bf8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1bf0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1bf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c04], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1bf4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1bf4]
movsd xmm0, qword [esp + 0x1bf8]
mov dl, al
mov eax, dword [esp + 0x1c04]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ba8], eax
mov edx, dword [esp + 0x1c34]
xor edx, dword [esp + 0x5ba8]
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1be4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1be4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1be8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1be8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1bec], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1bec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751f38
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1be0], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5b88], xmm0
xor eax, eax
je 0x751c31
add byte [ecx + 0x5b902484], cl
add byte [eax], al
mov dword [esp + 0x5b90], eax
movsd xmm0, qword [esp + 0x5b88]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5b80], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1bd4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1bd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bdc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1bd8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1bd8]
mov dl, al
mov eax, dword [esp + 0x1bdc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751e67
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1bc8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1bc8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bcc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1bcc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1bd0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1bd0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x751e62
mov dword [esp + 0x5b7c], 0
cmp dword [esp + 0x5b7c], 9
jae 0x751e5d
movsd xmm0, qword [esp + 0x5b80]
cvtsi2sd xmm1, dword [esp + 0x5b7c]
addsd xmm0, xmm1
movsd qword [esp + 0x1bc0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1bc0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x751dbf
jp 0x751dbf
movsd xmm0, qword [esp + 0x5b80]
movsd qword [esp + 0x5b80], xmm0
jmp 0x751c67
movsd xmm0, qword [esp + 0x5b80]
cvtsi2sd xmm1, dword [esp + 0x5b7c]
addsd xmm0, xmm1
movsd qword [esp + 0x1bb8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1bb8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x751e4d
jp 0x751e4d
mov eax, dword [esp + 0x5b7c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5b80]
addsd xmm0, xmm1
movsd qword [esp + 0x5b80], xmm0
movsd xmm0, qword [esp + 0x5b80]
cvtsi2sd xmm1, dword [esp + 0x5b7c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b90], eax
jmp 0x751f19
mov dword [esp + 0x5b90], 2
jmp 0x751f19
jmp 0x751c67
jmp 0x751e6c
jmp 0x751e6c
movsd xmm0, qword [esp + 0x5b80]
movsd qword [esp + 0x1ba8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1ba0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1ba0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bb4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ba4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ba4]
movsd xmm0, qword [esp + 0x1ba8]
mov dl, al
mov eax, dword [esp + 0x1bb4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b90], eax
mov edx, dword [esp + 0x1be0]
xor edx, dword [esp + 0x5b90]
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1b9c], eax
mov eax, dword [esp + 0x5b2c]
add eax, 0x63
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5b70], xmm0
xor eax, eax
je 0x751f70
add byte [ecx + 0x5b782484], cl
add byte [eax], al
mov dword [esp + 0x5b78], eax
movsd xmm0, qword [esp + 0x5b70]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5b68], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1b90], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1b90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b98], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1b94], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1b94]
mov dl, al
mov eax, dword [esp + 0x1b98]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7521a6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1b84], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1b84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b88], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1b88]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1b8c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1b8c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7521a1
mov dword [esp + 0x5b64], 0
cmp dword [esp + 0x5b64], 9
jae 0x75219c
movsd xmm0, qword [esp + 0x5b68]
cvtsi2sd xmm1, dword [esp + 0x5b64]
addsd xmm0, xmm1
movsd qword [esp + 0x1b78], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1b78]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7520fe
jp 0x7520fe
movsd xmm0, qword [esp + 0x5b68]
movsd qword [esp + 0x5b68], xmm0
jmp 0x751fa6
movsd xmm0, qword [esp + 0x5b68]
cvtsi2sd xmm1, dword [esp + 0x5b64]
addsd xmm0, xmm1
movsd qword [esp + 0x1b70], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1b70]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75218c
jp 0x75218c
mov eax, dword [esp + 0x5b64]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5b68]
addsd xmm0, xmm1
movsd qword [esp + 0x5b68], xmm0
movsd xmm0, qword [esp + 0x5b68]
cvtsi2sd xmm1, dword [esp + 0x5b64]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b78], eax
jmp 0x752258
mov dword [esp + 0x5b78], 2
jmp 0x752258
jmp 0x751fa6
jmp 0x7521ab
jmp 0x7521ab
movsd xmm0, qword [esp + 0x5b68]
movsd qword [esp + 0x1b60], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1b58], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1b58]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b6c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1b5c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1b5c]
movsd xmm0, qword [esp + 0x1b60]
mov dl, al
mov eax, dword [esp + 0x1b6c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b78], eax
mov eax, dword [esp + 0x1b9c]
add eax, dword [esp + 0x5b78]
mov dword [esp + 0x1b50], eax
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1b54], eax
mov eax, dword [esp + 0x5b2c]
add eax, 0x63
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5b58], xmm0
xor eax, eax
je 0x7522a5
add byte [ecx + 0x5b602484], cl
add byte [eax], al
mov dword [esp + 0x5b60], eax
movsd xmm0, qword [esp + 0x5b58]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5b50], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1b44], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1b44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b4c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1b48], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1b48]
mov dl, al
mov eax, dword [esp + 0x1b4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7524db
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1b38], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1b38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b3c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1b3c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1b40], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1b40]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7524d6
mov dword [esp + 0x5b4c], 0
cmp dword [esp + 0x5b4c], 9
jae 0x7524d1
movsd xmm0, qword [esp + 0x5b50]
cvtsi2sd xmm1, dword [esp + 0x5b4c]
addsd xmm0, xmm1
movsd qword [esp + 0x1b30], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1b30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x752433
jp 0x752433
movsd xmm0, qword [esp + 0x5b50]
movsd qword [esp + 0x5b50], xmm0
jmp 0x7522db
movsd xmm0, qword [esp + 0x5b50]
cvtsi2sd xmm1, dword [esp + 0x5b4c]
addsd xmm0, xmm1
movsd qword [esp + 0x1b28], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1b28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7524c1
jp 0x7524c1
mov eax, dword [esp + 0x5b4c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5b50]
addsd xmm0, xmm1
movsd qword [esp + 0x5b50], xmm0
movsd xmm0, qword [esp + 0x5b50]
cvtsi2sd xmm1, dword [esp + 0x5b4c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b60], eax
jmp 0x75258d
mov dword [esp + 0x5b60], 2
jmp 0x75258d
jmp 0x7522db
jmp 0x7524e0
jmp 0x7524e0
movsd xmm0, qword [esp + 0x5b50]
movsd qword [esp + 0x1b18], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1b10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1b10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1b14], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1b14]
movsd xmm0, qword [esp + 0x1b18]
mov dl, al
mov eax, dword [esp + 0x1b24]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b60], eax
mov edx, dword [esp + 0x1b50]
mov eax, dword [esp + 0x1b54]
and eax, dword [esp + 0x5b60]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1b04], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1b04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b08], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1b08]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1b0c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1b0c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75295e
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1b00], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5b40], xmm0
xor eax, eax
je 0x752657
add byte [ecx + 0x5b482484], cl
add byte [eax], al
mov dword [esp + 0x5b48], eax
movsd xmm0, qword [esp + 0x5b40]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5b38], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1af4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1af4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1afc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1af8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1af8]
mov dl, al
mov eax, dword [esp + 0x1afc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75288d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1ae8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1ae8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1aec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1aec]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1af0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1af0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x752888
mov dword [esp + 0x5b34], 0
cmp dword [esp + 0x5b34], 9
jae 0x752883
movsd xmm0, qword [esp + 0x5b38]
cvtsi2sd xmm1, dword [esp + 0x5b34]
addsd xmm0, xmm1
movsd qword [esp + 0x1ae0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1ae0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7527e5
jp 0x7527e5
movsd xmm0, qword [esp + 0x5b38]
movsd qword [esp + 0x5b38], xmm0
jmp 0x75268d
movsd xmm0, qword [esp + 0x5b38]
cvtsi2sd xmm1, dword [esp + 0x5b34]
addsd xmm0, xmm1
movsd qword [esp + 0x1ad8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1ad8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x752873
jp 0x752873
mov eax, dword [esp + 0x5b34]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5b38]
addsd xmm0, xmm1
movsd qword [esp + 0x5b38], xmm0
movsd xmm0, qword [esp + 0x5b38]
cvtsi2sd xmm1, dword [esp + 0x5b34]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b48], eax
jmp 0x75293f
mov dword [esp + 0x5b48], 2
jmp 0x75293f
jmp 0x75268d
jmp 0x752892
jmp 0x752892
movsd xmm0, qword [esp + 0x5b38]
movsd qword [esp + 0x1ac8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1ac0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1ac0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ad4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1ac4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1ac4]
movsd xmm0, qword [esp + 0x1ac8]
mov dl, al
mov eax, dword [esp + 0x1ad4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5b48], eax
mov edx, dword [esp + 0x1b00]
xor edx, dword [esp + 0x5b48]
mov eax, dword [esp + 0x5b30]
mov ecx, dword [esp + 0x5b2c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5b2c]
add eax, 1
mov dword [esp + 0x5b2c], eax
jmp 0x7513bc
jmp 0x752979
mov eax, dword [esp + 0x1ca4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4b34], eax
jmp 0x752992
jmp 0x752997
lea ecx, [esp + 0x4b31]
call fcn.00767708
mov dword [esp + 0x4c30], eax
mov eax, dword [esp + 0x4c30]
mov dword [esp + 0x5bc8], eax
mov eax, dword [esp + 0x5bc8]
mov dword [esp + 0x1abc], eax
test byte [eax + 4], 1
jne 0x753fa6
mov eax, dword [esp + 0x1abc]
mov dword [esp + 0x5bd0], eax
mov dword [esp + 0x5bcc], 0
cmp dword [esp + 0x5bcc], 1
jae 0x753fa1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1ab0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1ab0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ab4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1ab4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1ab8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1ab8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x752d9e
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1aac], eax
movsd xmm0, qword [0x786a20]
movsd qword [esp + 0x5c58], xmm0
xor eax, eax
je 0x752a97
add byte [ecx + 0x5c602484], cl
add byte [eax], al
mov dword [esp + 0x5c60], eax
movsd xmm0, qword [esp + 0x5c58]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5c50], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1aa0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1aa0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1aa8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1aa4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1aa4]
mov dl, al
mov eax, dword [esp + 0x1aa8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x752ccd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1a94], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1a94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a98], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1a98]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a9c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1a9c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x752cc8
mov dword [esp + 0x5c4c], 0
cmp dword [esp + 0x5c4c], 9
jae 0x752cc3
movsd xmm0, qword [esp + 0x5c50]
cvtsi2sd xmm1, dword [esp + 0x5c4c]
addsd xmm0, xmm1
movsd qword [esp + 0x1a88], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1a88]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x752c25
jp 0x752c25
movsd xmm0, qword [esp + 0x5c50]
movsd qword [esp + 0x5c50], xmm0
jmp 0x752acd
movsd xmm0, qword [esp + 0x5c50]
cvtsi2sd xmm1, dword [esp + 0x5c4c]
addsd xmm0, xmm1
movsd qword [esp + 0x1a80], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1a80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x752cb3
jp 0x752cb3
mov eax, dword [esp + 0x5c4c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5c50]
addsd xmm0, xmm1
movsd qword [esp + 0x5c50], xmm0
movsd xmm0, qword [esp + 0x5c50]
cvtsi2sd xmm1, dword [esp + 0x5c4c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c60], eax
jmp 0x752d7f
mov dword [esp + 0x5c60], 2
jmp 0x752d7f
jmp 0x752acd
jmp 0x752cd2
jmp 0x752cd2
movsd xmm0, qword [esp + 0x5c50]
movsd qword [esp + 0x1a70], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1a68], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1a68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a7c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1a6c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1a6c]
movsd xmm0, qword [esp + 0x1a70]
mov dl, al
mov eax, dword [esp + 0x1a7c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c60], eax
mov edx, dword [esp + 0x1aac]
xor edx, dword [esp + 0x5c60]
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1a5c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1a5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a64], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x1a60], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1a60]
mov dl, al
mov eax, dword [esp + 0x1a64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753be4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1a50], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1a50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a54], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1a54]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a58], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1a58]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7531be
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1a4c], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5c40], xmm0
xor eax, eax
je 0x752eb7
add byte [ecx + 0x5c482484], cl
add byte [eax], al
mov dword [esp + 0x5c48], eax
movsd xmm0, qword [esp + 0x5c40]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5c38], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1a40], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1a40]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a48], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1a44], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1a44]
mov dl, al
mov eax, dword [esp + 0x1a48]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7530ed
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1a34], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1a34]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a38], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1a38]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a3c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1a3c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7530e8
mov dword [esp + 0x5c34], 0
cmp dword [esp + 0x5c34], 9
jae 0x7530e3
movsd xmm0, qword [esp + 0x5c38]
cvtsi2sd xmm1, dword [esp + 0x5c34]
addsd xmm0, xmm1
movsd qword [esp + 0x1a28], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1a28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x753045
jp 0x753045
movsd xmm0, qword [esp + 0x5c38]
movsd qword [esp + 0x5c38], xmm0
jmp 0x752eed
movsd xmm0, qword [esp + 0x5c38]
cvtsi2sd xmm1, dword [esp + 0x5c34]
addsd xmm0, xmm1
movsd qword [esp + 0x1a20], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1a20]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7530d3
jp 0x7530d3
mov eax, dword [esp + 0x5c34]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5c38]
addsd xmm0, xmm1
movsd qword [esp + 0x5c38], xmm0
movsd xmm0, qword [esp + 0x5c38]
cvtsi2sd xmm1, dword [esp + 0x5c34]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c48], eax
jmp 0x75319f
mov dword [esp + 0x5c48], 2
jmp 0x75319f
jmp 0x752eed
jmp 0x7530f2
jmp 0x7530f2
movsd xmm0, qword [esp + 0x5c38]
movsd qword [esp + 0x1a10], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1a08], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1a08]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a1c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1a0c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1a0c]
movsd xmm0, qword [esp + 0x1a10]
mov dl, al
mov eax, dword [esp + 0x1a1c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c48], eax
mov edx, dword [esp + 0x1a4c]
xor edx, dword [esp + 0x5c48]
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x19fc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x19fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a00], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1a00]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1a04], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1a04]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753565
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x19f8], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5c28], xmm0
xor eax, eax
je 0x75325e
add byte [ecx + 0x5c302484], cl
add byte [eax], al
mov dword [esp + 0x5c30], eax
movsd xmm0, qword [esp + 0x5c28]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5c20], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x19ec], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x19ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x19f0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x19f0]
mov dl, al
mov eax, dword [esp + 0x19f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753494
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x19e0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x19e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19e4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x19e4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x19e8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x19e8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75348f
mov dword [esp + 0x5c1c], 0
cmp dword [esp + 0x5c1c], 9
jae 0x75348a
movsd xmm0, qword [esp + 0x5c20]
cvtsi2sd xmm1, dword [esp + 0x5c1c]
addsd xmm0, xmm1
movsd qword [esp + 0x19d8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x19d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7533ec
jp 0x7533ec
movsd xmm0, qword [esp + 0x5c20]
movsd qword [esp + 0x5c20], xmm0
jmp 0x753294
movsd xmm0, qword [esp + 0x5c20]
cvtsi2sd xmm1, dword [esp + 0x5c1c]
addsd xmm0, xmm1
movsd qword [esp + 0x19d0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x19d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75347a
jp 0x75347a
mov eax, dword [esp + 0x5c1c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5c20]
addsd xmm0, xmm1
movsd qword [esp + 0x5c20], xmm0
movsd xmm0, qword [esp + 0x5c20]
cvtsi2sd xmm1, dword [esp + 0x5c1c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c30], eax
jmp 0x753546
mov dword [esp + 0x5c30], 2
jmp 0x753546
jmp 0x753294
jmp 0x753499
jmp 0x753499
movsd xmm0, qword [esp + 0x5c20]
movsd qword [esp + 0x19c0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x19b8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x19b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19cc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x19bc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x19bc]
movsd xmm0, qword [esp + 0x19c0]
mov dl, al
mov eax, dword [esp + 0x19cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c30], eax
mov edx, dword [esp + 0x19f8]
xor edx, dword [esp + 0x5c30]
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x19b4], eax
mov eax, dword [esp + 0x5bcc]
add eax, 0x63
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5c10], xmm0
xor eax, eax
je 0x75359d
add byte [ecx + 0x5c182484], cl
add byte [eax], al
mov dword [esp + 0x5c18], eax
movsd xmm0, qword [esp + 0x5c10]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5c08], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x19a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x19a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19b0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x19ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x19ac]
mov dl, al
mov eax, dword [esp + 0x19b0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7537d3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x199c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x199c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19a0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x19a0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x19a4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x19a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7537ce
mov dword [esp + 0x5c04], 0
cmp dword [esp + 0x5c04], 9
jae 0x7537c9
movsd xmm0, qword [esp + 0x5c08]
cvtsi2sd xmm1, dword [esp + 0x5c04]
addsd xmm0, xmm1
movsd qword [esp + 0x1990], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1990]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75372b
jp 0x75372b
movsd xmm0, qword [esp + 0x5c08]
movsd qword [esp + 0x5c08], xmm0
jmp 0x7535d3
movsd xmm0, qword [esp + 0x5c08]
cvtsi2sd xmm1, dword [esp + 0x5c04]
addsd xmm0, xmm1
movsd qword [esp + 0x1988], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1988]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7537b9
jp 0x7537b9
mov eax, dword [esp + 0x5c04]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5c08]
addsd xmm0, xmm1
movsd qword [esp + 0x5c08], xmm0
movsd xmm0, qword [esp + 0x5c08]
cvtsi2sd xmm1, dword [esp + 0x5c04]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c18], eax
jmp 0x753885
mov dword [esp + 0x5c18], 2
jmp 0x753885
jmp 0x7535d3
jmp 0x7537d8
jmp 0x7537d8
movsd xmm0, qword [esp + 0x5c08]
movsd qword [esp + 0x1978], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1970], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1970]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1984], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1974], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1974]
movsd xmm0, qword [esp + 0x1978]
mov dl, al
mov eax, dword [esp + 0x1984]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c18], eax
mov eax, dword [esp + 0x19b4]
add eax, dword [esp + 0x5c18]
mov dword [esp + 0x1968], eax
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x196c], eax
mov eax, dword [esp + 0x5bcc]
add eax, 0x63
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5bf8], xmm0
xor eax, eax
je 0x7538d2
add byte [ecx + 0x5c002484], cl
add byte [eax], al
mov dword [esp + 0x5c00], eax
movsd xmm0, qword [esp + 0x5bf8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5bf0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x195c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x195c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1964], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1960], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1960]
mov dl, al
mov eax, dword [esp + 0x1964]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753b08
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1950], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1950]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1954], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1954]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1958], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1958]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753b03
mov dword [esp + 0x5bec], 0
cmp dword [esp + 0x5bec], 9
jae 0x753afe
movsd xmm0, qword [esp + 0x5bf0]
cvtsi2sd xmm1, dword [esp + 0x5bec]
addsd xmm0, xmm1
movsd qword [esp + 0x1948], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1948]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x753a60
jp 0x753a60
movsd xmm0, qword [esp + 0x5bf0]
movsd qword [esp + 0x5bf0], xmm0
jmp 0x753908
movsd xmm0, qword [esp + 0x5bf0]
cvtsi2sd xmm1, dword [esp + 0x5bec]
addsd xmm0, xmm1
movsd qword [esp + 0x1940], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1940]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x753aee
jp 0x753aee
mov eax, dword [esp + 0x5bec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5bf0]
addsd xmm0, xmm1
movsd qword [esp + 0x5bf0], xmm0
movsd xmm0, qword [esp + 0x5bf0]
cvtsi2sd xmm1, dword [esp + 0x5bec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c00], eax
jmp 0x753bba
mov dword [esp + 0x5c00], 2
jmp 0x753bba
jmp 0x753908
jmp 0x753b0d
jmp 0x753b0d
movsd xmm0, qword [esp + 0x5bf0]
movsd qword [esp + 0x1930], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1928], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1928]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x193c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x192c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x192c]
movsd xmm0, qword [esp + 0x1930]
mov dl, al
mov eax, dword [esp + 0x193c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c00], eax
mov edx, dword [esp + 0x1968]
mov eax, dword [esp + 0x196c]
and eax, dword [esp + 0x5c00]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x191c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x191c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1920], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1920]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1924], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1924]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753f8b
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1918], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5be0], xmm0
xor eax, eax
je 0x753c84
add byte [ecx + 0x5be82484], cl
add byte [eax], al
mov dword [esp + 0x5be8], eax
movsd xmm0, qword [esp + 0x5be0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5bd8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x190c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x190c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1914], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1910], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1910]
mov dl, al
mov eax, dword [esp + 0x1914]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753eba
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1900], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1900]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1904], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1904]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1908], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1908]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x753eb5
mov dword [esp + 0x5bd4], 0
cmp dword [esp + 0x5bd4], 9
jae 0x753eb0
movsd xmm0, qword [esp + 0x5bd8]
cvtsi2sd xmm1, dword [esp + 0x5bd4]
addsd xmm0, xmm1
movsd qword [esp + 0x18f8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x18f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x753e12
jp 0x753e12
movsd xmm0, qword [esp + 0x5bd8]
movsd qword [esp + 0x5bd8], xmm0
jmp 0x753cba
movsd xmm0, qword [esp + 0x5bd8]
cvtsi2sd xmm1, dword [esp + 0x5bd4]
addsd xmm0, xmm1
movsd qword [esp + 0x18f0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x18f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x753ea0
jp 0x753ea0
mov eax, dword [esp + 0x5bd4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5bd8]
addsd xmm0, xmm1
movsd qword [esp + 0x5bd8], xmm0
movsd xmm0, qword [esp + 0x5bd8]
cvtsi2sd xmm1, dword [esp + 0x5bd4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5be8], eax
jmp 0x753f6c
mov dword [esp + 0x5be8], 2
jmp 0x753f6c
jmp 0x753cba
jmp 0x753ebf
jmp 0x753ebf
movsd xmm0, qword [esp + 0x5bd8]
movsd qword [esp + 0x18e0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x18d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x18d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x18dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x18dc]
movsd xmm0, qword [esp + 0x18e0]
mov dl, al
mov eax, dword [esp + 0x18ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5be8], eax
mov edx, dword [esp + 0x1918]
xor edx, dword [esp + 0x5be8]
mov eax, dword [esp + 0x5bd0]
mov ecx, dword [esp + 0x5bcc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5bcc]
add eax, 1
mov dword [esp + 0x5bcc], eax
jmp 0x7529e9
jmp 0x753fa6
mov eax, dword [esp + 0x1abc]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov eax, dword [eax*4 + 0x8c7430]
mov ecx, dword [esp + 0x4b7c]
mov dword [esp], ecx
call eax
lea ecx, [esp + 0x4ab4]
lea eax, [0x786bcc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x7c
call fcn.00770ef0
mov dword [esp + 0x4ab0], 0
mov eax, dword [esp + 0x4ab0]
cmp eax, 0x1f
jae 0x754030
mov eax, dword [0x8c72ec]
mov ecx, dword [esp + 0x4ab0]
mov ecx, dword [esp + ecx*4 + 0x4ab4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x4ab0]
add eax, 1
mov dword [esp + 0x4ab0], eax
jmp 0x753ff2
lea ecx, [esp + 0x4aab]
call fcn.007677f6
mov dword [esp + 0x4c38], eax
mov eax, dword [esp + 0x4c38]
mov dword [esp + 0x5c64], eax
mov eax, dword [esp + 0x5c64]
mov dword [esp + 0x18d4], eax
test byte [eax + 4], 1
jne 0x75563f
mov eax, dword [esp + 0x18d4]
mov dword [esp + 0x5d08], eax
mov dword [esp + 0x5d04], 0
cmp dword [esp + 0x5d04], 1
jae 0x75563a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x18c8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x18c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18cc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x18cc]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x18d0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x18d0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754437
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x18c4], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5d90], xmm0
xor eax, eax
je 0x754130
add byte [ecx + 0x5d9c2484], cl
add byte [eax], al
mov dword [esp + 0x5d9c], eax
movsd xmm0, qword [esp + 0x5d90]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5d88], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x18b8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x18b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18c0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x18bc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x18bc]
mov dl, al
mov eax, dword [esp + 0x18c0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754366
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x18ac], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x18ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18b0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x18b0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x18b4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x18b4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754361
mov dword [esp + 0x5d84], 0
cmp dword [esp + 0x5d84], 9
jae 0x75435c
movsd xmm0, qword [esp + 0x5d88]
cvtsi2sd xmm1, dword [esp + 0x5d84]
addsd xmm0, xmm1
movsd qword [esp + 0x18a0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x18a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7542be
jp 0x7542be
movsd xmm0, qword [esp + 0x5d88]
movsd qword [esp + 0x5d88], xmm0
jmp 0x754166
movsd xmm0, qword [esp + 0x5d88]
cvtsi2sd xmm1, dword [esp + 0x5d84]
addsd xmm0, xmm1
movsd qword [esp + 0x1898], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1898]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75434c
jp 0x75434c
mov eax, dword [esp + 0x5d84]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5d88]
addsd xmm0, xmm1
movsd qword [esp + 0x5d88], xmm0
movsd xmm0, qword [esp + 0x5d88]
cvtsi2sd xmm1, dword [esp + 0x5d84]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d9c], eax
jmp 0x754418
mov dword [esp + 0x5d9c], 2
jmp 0x754418
jmp 0x754166
jmp 0x75436b
jmp 0x75436b
movsd xmm0, qword [esp + 0x5d88]
movsd qword [esp + 0x1888], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1880], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1880]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1894], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1884], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1884]
movsd xmm0, qword [esp + 0x1888]
mov dl, al
mov eax, dword [esp + 0x1894]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d9c], eax
mov edx, dword [esp + 0x18c4]
xor edx, dword [esp + 0x5d9c]
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1874], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1874]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x187c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x1878], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1878]
mov dl, al
mov eax, dword [esp + 0x187c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75527d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1868], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1868]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x186c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x186c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1870], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1870]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754857
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1864], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5d78], xmm0
xor eax, eax
je 0x754550
add byte [ecx + 0x5d802484], cl
add byte [eax], al
mov dword [esp + 0x5d80], eax
movsd xmm0, qword [esp + 0x5d78]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5d70], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1858], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1858]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1860], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x185c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x185c]
mov dl, al
mov eax, dword [esp + 0x1860]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754786
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x184c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x184c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1850], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1850]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1854], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1854]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754781
mov dword [esp + 0x5d6c], 0
cmp dword [esp + 0x5d6c], 9
jae 0x75477c
movsd xmm0, qword [esp + 0x5d70]
cvtsi2sd xmm1, dword [esp + 0x5d6c]
addsd xmm0, xmm1
movsd qword [esp + 0x1840], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1840]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7546de
jp 0x7546de
movsd xmm0, qword [esp + 0x5d70]
movsd qword [esp + 0x5d70], xmm0
jmp 0x754586
movsd xmm0, qword [esp + 0x5d70]
cvtsi2sd xmm1, dword [esp + 0x5d6c]
addsd xmm0, xmm1
movsd qword [esp + 0x1838], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1838]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75476c
jp 0x75476c
mov eax, dword [esp + 0x5d6c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5d70]
addsd xmm0, xmm1
movsd qword [esp + 0x5d70], xmm0
movsd xmm0, qword [esp + 0x5d70]
cvtsi2sd xmm1, dword [esp + 0x5d6c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d80], eax
jmp 0x754838
mov dword [esp + 0x5d80], 2
jmp 0x754838
jmp 0x754586
jmp 0x75478b
jmp 0x75478b
movsd xmm0, qword [esp + 0x5d70]
movsd qword [esp + 0x1828], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1820], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1820]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1834], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1824], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1824]
movsd xmm0, qword [esp + 0x1828]
mov dl, al
mov eax, dword [esp + 0x1834]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d80], eax
mov edx, dword [esp + 0x1864]
xor edx, dword [esp + 0x5d80]
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1814], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1814]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1818], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1818]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x181c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x181c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754bfe
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1810], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5d60], xmm0
xor eax, eax
je 0x7548f7
add byte [ecx + 0x5d682484], cl
add byte [eax], al
mov dword [esp + 0x5d68], eax
movsd xmm0, qword [esp + 0x5d60]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5d58], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1804], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1804]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x180c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1808], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1808]
mov dl, al
mov eax, dword [esp + 0x180c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754b2d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x17f8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x17f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17fc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x17fc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1800], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1800]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754b28
mov dword [esp + 0x5d54], 0
cmp dword [esp + 0x5d54], 9
jae 0x754b23
movsd xmm0, qword [esp + 0x5d58]
cvtsi2sd xmm1, dword [esp + 0x5d54]
addsd xmm0, xmm1
movsd qword [esp + 0x17f0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x17f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x754a85
jp 0x754a85
movsd xmm0, qword [esp + 0x5d58]
movsd qword [esp + 0x5d58], xmm0
jmp 0x75492d
movsd xmm0, qword [esp + 0x5d58]
cvtsi2sd xmm1, dword [esp + 0x5d54]
addsd xmm0, xmm1
movsd qword [esp + 0x17e8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x17e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x754b13
jp 0x754b13
mov eax, dword [esp + 0x5d54]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5d58]
addsd xmm0, xmm1
movsd qword [esp + 0x5d58], xmm0
movsd xmm0, qword [esp + 0x5d58]
cvtsi2sd xmm1, dword [esp + 0x5d54]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d68], eax
jmp 0x754bdf
mov dword [esp + 0x5d68], 2
jmp 0x754bdf
jmp 0x75492d
jmp 0x754b32
jmp 0x754b32
movsd xmm0, qword [esp + 0x5d58]
movsd qword [esp + 0x17d8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x17d0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x17d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x17d4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x17d4]
movsd xmm0, qword [esp + 0x17d8]
mov dl, al
mov eax, dword [esp + 0x17e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d68], eax
mov edx, dword [esp + 0x1810]
xor edx, dword [esp + 0x5d68]
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x17cc], eax
mov eax, dword [esp + 0x5d04]
add eax, 0x64
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5d48], xmm0
xor eax, eax
je 0x754c36
add byte [ecx + 0x5d502484], cl
add byte [eax], al
mov dword [esp + 0x5d50], eax
movsd xmm0, qword [esp + 0x5d48]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5d40], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x17c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x17c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17c8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x17c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x17c4]
mov dl, al
mov eax, dword [esp + 0x17c8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754e6c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x17b4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x17b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17b8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x17b8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x17bc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x17bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x754e67
mov dword [esp + 0x5d3c], 0
cmp dword [esp + 0x5d3c], 9
jae 0x754e62
movsd xmm0, qword [esp + 0x5d40]
cvtsi2sd xmm1, dword [esp + 0x5d3c]
addsd xmm0, xmm1
movsd qword [esp + 0x17a8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x17a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x754dc4
jp 0x754dc4
movsd xmm0, qword [esp + 0x5d40]
movsd qword [esp + 0x5d40], xmm0
jmp 0x754c6c
movsd xmm0, qword [esp + 0x5d40]
cvtsi2sd xmm1, dword [esp + 0x5d3c]
addsd xmm0, xmm1
movsd qword [esp + 0x17a0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x17a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x754e52
jp 0x754e52
mov eax, dword [esp + 0x5d3c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5d40]
addsd xmm0, xmm1
movsd qword [esp + 0x5d40], xmm0
movsd xmm0, qword [esp + 0x5d40]
cvtsi2sd xmm1, dword [esp + 0x5d3c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d50], eax
jmp 0x754f1e
mov dword [esp + 0x5d50], 2
jmp 0x754f1e
jmp 0x754c6c
jmp 0x754e71
jmp 0x754e71
movsd xmm0, qword [esp + 0x5d40]
movsd qword [esp + 0x1790], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1788], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1788]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x179c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x178c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x178c]
movsd xmm0, qword [esp + 0x1790]
mov dl, al
mov eax, dword [esp + 0x179c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d50], eax
mov eax, dword [esp + 0x17cc]
add eax, dword [esp + 0x5d50]
mov dword [esp + 0x1780], eax
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1784], eax
mov eax, dword [esp + 0x5d04]
add eax, 0x64
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5d30], xmm0
xor eax, eax
je 0x754f6b
add byte [ecx + 0x5d382484], cl
add byte [eax], al
mov dword [esp + 0x5d38], eax
movsd xmm0, qword [esp + 0x5d30]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5d28], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1774], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1774]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x177c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1778], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1778]
mov dl, al
mov eax, dword [esp + 0x177c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7551a1
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1768], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1768]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x176c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x176c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1770], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1770]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75519c
mov dword [esp + 0x5d24], 0
cmp dword [esp + 0x5d24], 9
jae 0x755197
movsd xmm0, qword [esp + 0x5d28]
cvtsi2sd xmm1, dword [esp + 0x5d24]
addsd xmm0, xmm1
movsd qword [esp + 0x1760], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1760]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7550f9
jp 0x7550f9
movsd xmm0, qword [esp + 0x5d28]
movsd qword [esp + 0x5d28], xmm0
jmp 0x754fa1
movsd xmm0, qword [esp + 0x5d28]
cvtsi2sd xmm1, dword [esp + 0x5d24]
addsd xmm0, xmm1
movsd qword [esp + 0x1758], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1758]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x755187
jp 0x755187
mov eax, dword [esp + 0x5d24]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5d28]
addsd xmm0, xmm1
movsd qword [esp + 0x5d28], xmm0
movsd xmm0, qword [esp + 0x5d28]
cvtsi2sd xmm1, dword [esp + 0x5d24]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d38], eax
jmp 0x755253
mov dword [esp + 0x5d38], 2
jmp 0x755253
jmp 0x754fa1
jmp 0x7551a6
jmp 0x7551a6
movsd xmm0, qword [esp + 0x5d28]
movsd qword [esp + 0x1748], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1740], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1740]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1754], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1744], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1744]
movsd xmm0, qword [esp + 0x1748]
mov dl, al
mov eax, dword [esp + 0x1754]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d38], eax
mov edx, dword [esp + 0x1780]
mov eax, dword [esp + 0x1784]
and eax, dword [esp + 0x5d38]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1734], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1734]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1738], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1738]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x173c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x173c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755624
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1730], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x5d18], xmm0
xor eax, eax
je 0x75531d
add byte [ecx + 0x5d202484], cl
add byte [eax], al
mov dword [esp + 0x5d20], eax
movsd xmm0, qword [esp + 0x5d18]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5d10], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1724], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1724]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x172c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1728], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1728]
mov dl, al
mov eax, dword [esp + 0x172c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755553
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1718], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1718]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x171c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x171c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1720], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1720]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75554e
mov dword [esp + 0x5d0c], 0
cmp dword [esp + 0x5d0c], 9
jae 0x755549
movsd xmm0, qword [esp + 0x5d10]
cvtsi2sd xmm1, dword [esp + 0x5d0c]
addsd xmm0, xmm1
movsd qword [esp + 0x1710], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1710]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7554ab
jp 0x7554ab
movsd xmm0, qword [esp + 0x5d10]
movsd qword [esp + 0x5d10], xmm0
jmp 0x755353
movsd xmm0, qword [esp + 0x5d10]
cvtsi2sd xmm1, dword [esp + 0x5d0c]
addsd xmm0, xmm1
movsd qword [esp + 0x1708], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1708]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x755539
jp 0x755539
mov eax, dword [esp + 0x5d0c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5d10]
addsd xmm0, xmm1
movsd qword [esp + 0x5d10], xmm0
movsd xmm0, qword [esp + 0x5d10]
cvtsi2sd xmm1, dword [esp + 0x5d0c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d20], eax
jmp 0x755605
mov dword [esp + 0x5d20], 2
jmp 0x755605
jmp 0x755353
jmp 0x755558
jmp 0x755558
movsd xmm0, qword [esp + 0x5d10]
movsd qword [esp + 0x16f8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x16f0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x16f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1704], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x16f4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x16f4]
movsd xmm0, qword [esp + 0x16f8]
mov dl, al
mov eax, dword [esp + 0x1704]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d20], eax
mov edx, dword [esp + 0x1730]
xor edx, dword [esp + 0x5d20]
mov eax, dword [esp + 0x5d08]
mov ecx, dword [esp + 0x5d04]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5d04]
add eax, 1
mov dword [esp + 0x5d04], eax
jmp 0x754082
jmp 0x75563f
mov eax, dword [esp + 0x18d4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4aac], eax
lea ecx, [esp + 0x4aa3]
call fcn.007678e4
mov dword [esp + 0x4c34], eax
mov eax, dword [esp + 0x4c34]
mov dword [esp + 0x5c68], eax
mov eax, dword [esp + 0x5c68]
mov dword [esp + 0x16ec], eax
test byte [eax + 4], 1
jne 0x756c62
mov eax, dword [esp + 0x16ec]
mov dword [esp + 0x5c70], eax
mov dword [esp + 0x5c6c], 0
cmp dword [esp + 0x5c6c], 1
jae 0x756c5d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x16e0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x16e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x16e4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x16e4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x16e8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x16e8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755a5a
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x16dc], eax
movsd xmm0, qword [0x786a28]
movsd qword [esp + 0x5cf8], xmm0
xor eax, eax
je 0x755753
add byte [ecx + 0x5d002484], cl
add byte [eax], al
mov dword [esp + 0x5d00], eax
movsd xmm0, qword [esp + 0x5cf8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5cf0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x16d0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x16d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x16d8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x16d4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x16d4]
mov dl, al
mov eax, dword [esp + 0x16d8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755989
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x16c4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x16c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x16c8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x16c8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x16cc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x16cc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755984
mov dword [esp + 0x5cec], 0
cmp dword [esp + 0x5cec], 9
jae 0x75597f
movsd xmm0, qword [esp + 0x5cf0]
cvtsi2sd xmm1, dword [esp + 0x5cec]
addsd xmm0, xmm1
movsd qword [esp + 0x16b8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x16b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7558e1
jp 0x7558e1
movsd xmm0, qword [esp + 0x5cf0]
movsd qword [esp + 0x5cf0], xmm0
jmp 0x755789
movsd xmm0, qword [esp + 0x5cf0]
cvtsi2sd xmm1, dword [esp + 0x5cec]
addsd xmm0, xmm1
movsd qword [esp + 0x16b0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x16b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75596f
jp 0x75596f
mov eax, dword [esp + 0x5cec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5cf0]
addsd xmm0, xmm1
movsd qword [esp + 0x5cf0], xmm0
movsd xmm0, qword [esp + 0x5cf0]
cvtsi2sd xmm1, dword [esp + 0x5cec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d00], eax
jmp 0x755a3b
mov dword [esp + 0x5d00], 2
jmp 0x755a3b
jmp 0x755789
jmp 0x75598e
jmp 0x75598e
movsd xmm0, qword [esp + 0x5cf0]
movsd qword [esp + 0x16a0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1698], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1698]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x16ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x169c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x169c]
movsd xmm0, qword [esp + 0x16a0]
mov dl, al
mov eax, dword [esp + 0x16ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5d00], eax
mov edx, dword [esp + 0x16dc]
xor edx, dword [esp + 0x5d00]
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x168c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x168c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1694], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x1690], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1690]
mov dl, al
mov eax, dword [esp + 0x1694]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7568a0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1680], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1680]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1684], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1684]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1688], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1688]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755e7a
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x167c], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5ce0], xmm0
xor eax, eax
je 0x755b73
add byte [ecx + 0x5ce82484], cl
add byte [eax], al
mov dword [esp + 0x5ce8], eax
movsd xmm0, qword [esp + 0x5ce0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5cd8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1670], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1670]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1678], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1674], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1674]
mov dl, al
mov eax, dword [esp + 0x1678]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755da9
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1664], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1664]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1668], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1668]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x166c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x166c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x755da4
mov dword [esp + 0x5cd4], 0
cmp dword [esp + 0x5cd4], 9
jae 0x755d9f
movsd xmm0, qword [esp + 0x5cd8]
cvtsi2sd xmm1, dword [esp + 0x5cd4]
addsd xmm0, xmm1
movsd qword [esp + 0x1658], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1658]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x755d01
jp 0x755d01
movsd xmm0, qword [esp + 0x5cd8]
movsd qword [esp + 0x5cd8], xmm0
jmp 0x755ba9
movsd xmm0, qword [esp + 0x5cd8]
cvtsi2sd xmm1, dword [esp + 0x5cd4]
addsd xmm0, xmm1
movsd qword [esp + 0x1650], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1650]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x755d8f
jp 0x755d8f
mov eax, dword [esp + 0x5cd4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5cd8]
addsd xmm0, xmm1
movsd qword [esp + 0x5cd8], xmm0
movsd xmm0, qword [esp + 0x5cd8]
cvtsi2sd xmm1, dword [esp + 0x5cd4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ce8], eax
jmp 0x755e5b
mov dword [esp + 0x5ce8], 2
jmp 0x755e5b
jmp 0x755ba9
jmp 0x755dae
jmp 0x755dae
movsd xmm0, qword [esp + 0x5cd8]
movsd qword [esp + 0x1640], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1638], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1638]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x164c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x163c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x163c]
movsd xmm0, qword [esp + 0x1640]
mov dl, al
mov eax, dword [esp + 0x164c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ce8], eax
mov edx, dword [esp + 0x167c]
xor edx, dword [esp + 0x5ce8]
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x162c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x162c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1630], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1630]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1634], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1634]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756221
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1628], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5cc8], xmm0
xor eax, eax
je 0x755f1a
add byte [ecx + 0x5cd02484], cl
add byte [eax], al
mov dword [esp + 0x5cd0], eax
movsd xmm0, qword [esp + 0x5cc8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5cc0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x161c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x161c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1624], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1620], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1620]
mov dl, al
mov eax, dword [esp + 0x1624]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756150
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1610], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1610]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1614], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1614]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1618], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1618]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75614b
mov dword [esp + 0x5cbc], 0
cmp dword [esp + 0x5cbc], 9
jae 0x756146
movsd xmm0, qword [esp + 0x5cc0]
cvtsi2sd xmm1, dword [esp + 0x5cbc]
addsd xmm0, xmm1
movsd qword [esp + 0x1608], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1608]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7560a8
jp 0x7560a8
movsd xmm0, qword [esp + 0x5cc0]
movsd qword [esp + 0x5cc0], xmm0
jmp 0x755f50
movsd xmm0, qword [esp + 0x5cc0]
cvtsi2sd xmm1, dword [esp + 0x5cbc]
addsd xmm0, xmm1
movsd qword [esp + 0x1600], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1600]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x756136
jp 0x756136
mov eax, dword [esp + 0x5cbc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5cc0]
addsd xmm0, xmm1
movsd qword [esp + 0x5cc0], xmm0
movsd xmm0, qword [esp + 0x5cc0]
cvtsi2sd xmm1, dword [esp + 0x5cbc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5cd0], eax
jmp 0x756202
mov dword [esp + 0x5cd0], 2
jmp 0x756202
jmp 0x755f50
jmp 0x756155
jmp 0x756155
movsd xmm0, qword [esp + 0x5cc0]
movsd qword [esp + 0x15f0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x15e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x15e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x15fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x15ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x15ec]
movsd xmm0, qword [esp + 0x15f0]
mov dl, al
mov eax, dword [esp + 0x15fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5cd0], eax
mov edx, dword [esp + 0x1628]
xor edx, dword [esp + 0x5cd0]
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x15e4], eax
mov eax, dword [esp + 0x5c6c]
add eax, 0x64
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5cb0], xmm0
xor eax, eax
je 0x756259
add byte [ecx + 0x5cb82484], cl
add byte [eax], al
mov dword [esp + 0x5cb8], eax
movsd xmm0, qword [esp + 0x5cb0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ca8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x15d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x15d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x15e0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x15dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x15dc]
mov dl, al
mov eax, dword [esp + 0x15e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75648f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x15cc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x15cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x15d0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x15d0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x15d4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x15d4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75648a
mov dword [esp + 0x5ca4], 0
cmp dword [esp + 0x5ca4], 9
jae 0x756485
movsd xmm0, qword [esp + 0x5ca8]
cvtsi2sd xmm1, dword [esp + 0x5ca4]
addsd xmm0, xmm1
movsd qword [esp + 0x15c0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x15c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7563e7
jp 0x7563e7
movsd xmm0, qword [esp + 0x5ca8]
movsd qword [esp + 0x5ca8], xmm0
jmp 0x75628f
movsd xmm0, qword [esp + 0x5ca8]
cvtsi2sd xmm1, dword [esp + 0x5ca4]
addsd xmm0, xmm1
movsd qword [esp + 0x15b8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x15b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x756475
jp 0x756475
mov eax, dword [esp + 0x5ca4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ca8]
addsd xmm0, xmm1
movsd qword [esp + 0x5ca8], xmm0
movsd xmm0, qword [esp + 0x5ca8]
cvtsi2sd xmm1, dword [esp + 0x5ca4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5cb8], eax
jmp 0x756541
mov dword [esp + 0x5cb8], 2
jmp 0x756541
jmp 0x75628f
jmp 0x756494
jmp 0x756494
movsd xmm0, qword [esp + 0x5ca8]
movsd qword [esp + 0x15a8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x15a0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x15a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x15b4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x15a4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x15a4]
movsd xmm0, qword [esp + 0x15a8]
mov dl, al
mov eax, dword [esp + 0x15b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5cb8], eax
mov eax, dword [esp + 0x15e4]
add eax, dword [esp + 0x5cb8]
mov dword [esp + 0x1598], eax
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x159c], eax
mov eax, dword [esp + 0x5c6c]
add eax, 0x64
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5c98], xmm0
xor eax, eax
je 0x75658e
add byte [ecx + 0x5ca02484], cl
add byte [eax], al
mov dword [esp + 0x5ca0], eax
movsd xmm0, qword [esp + 0x5c98]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5c90], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x158c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x158c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1594], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1590], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1590]
mov dl, al
mov eax, dword [esp + 0x1594]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7567c4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1580], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1580]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1584], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1584]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1588], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1588]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7567bf
mov dword [esp + 0x5c8c], 0
cmp dword [esp + 0x5c8c], 9
jae 0x7567ba
movsd xmm0, qword [esp + 0x5c90]
cvtsi2sd xmm1, dword [esp + 0x5c8c]
addsd xmm0, xmm1
movsd qword [esp + 0x1578], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1578]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75671c
jp 0x75671c
movsd xmm0, qword [esp + 0x5c90]
movsd qword [esp + 0x5c90], xmm0
jmp 0x7565c4
movsd xmm0, qword [esp + 0x5c90]
cvtsi2sd xmm1, dword [esp + 0x5c8c]
addsd xmm0, xmm1
movsd qword [esp + 0x1570], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1570]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7567aa
jp 0x7567aa
mov eax, dword [esp + 0x5c8c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5c90]
addsd xmm0, xmm1
movsd qword [esp + 0x5c90], xmm0
movsd xmm0, qword [esp + 0x5c90]
cvtsi2sd xmm1, dword [esp + 0x5c8c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ca0], eax
jmp 0x756876
mov dword [esp + 0x5ca0], 2
jmp 0x756876
jmp 0x7565c4
jmp 0x7567c9
jmp 0x7567c9
movsd xmm0, qword [esp + 0x5c90]
movsd qword [esp + 0x1560], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1558], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1558]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x156c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x155c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x155c]
movsd xmm0, qword [esp + 0x1560]
mov dl, al
mov eax, dword [esp + 0x156c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ca0], eax
mov edx, dword [esp + 0x1598]
mov eax, dword [esp + 0x159c]
and eax, dword [esp + 0x5ca0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x154c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x154c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1550], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1550]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1554], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1554]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756c47
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1548], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x5c80], xmm0
xor eax, eax
je 0x756940
add byte [ecx + 0x5c882484], cl
add byte [eax], al
mov dword [esp + 0x5c88], eax
movsd xmm0, qword [esp + 0x5c80]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5c78], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x153c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x153c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1544], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1540], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1540]
mov dl, al
mov eax, dword [esp + 0x1544]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756b76
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1530], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1530]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1534], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1534]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1538], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1538]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756b71
mov dword [esp + 0x5c74], 0
cmp dword [esp + 0x5c74], 9
jae 0x756b6c
movsd xmm0, qword [esp + 0x5c78]
cvtsi2sd xmm1, dword [esp + 0x5c74]
addsd xmm0, xmm1
movsd qword [esp + 0x1528], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1528]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x756ace
jp 0x756ace
movsd xmm0, qword [esp + 0x5c78]
movsd qword [esp + 0x5c78], xmm0
jmp 0x756976
movsd xmm0, qword [esp + 0x5c78]
cvtsi2sd xmm1, dword [esp + 0x5c74]
addsd xmm0, xmm1
movsd qword [esp + 0x1520], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1520]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x756b5c
jp 0x756b5c
mov eax, dword [esp + 0x5c74]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5c78]
addsd xmm0, xmm1
movsd qword [esp + 0x5c78], xmm0
movsd xmm0, qword [esp + 0x5c78]
cvtsi2sd xmm1, dword [esp + 0x5c74]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c88], eax
jmp 0x756c28
mov dword [esp + 0x5c88], 2
jmp 0x756c28
jmp 0x756976
jmp 0x756b7b
jmp 0x756b7b
movsd xmm0, qword [esp + 0x5c78]
movsd qword [esp + 0x1510], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1508], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1508]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x151c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x150c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x150c]
movsd xmm0, qword [esp + 0x1510]
mov dl, al
mov eax, dword [esp + 0x151c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5c88], eax
mov edx, dword [esp + 0x1548]
xor edx, dword [esp + 0x5c88]
mov eax, dword [esp + 0x5c70]
mov ecx, dword [esp + 0x5c6c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5c6c]
add eax, 1
mov dword [esp + 0x5c6c], eax
jmp 0x7556a5
jmp 0x756c62
mov eax, dword [esp + 0x16ec]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4aa4], eax
lea ecx, [esp + 0x4a9b]
call fcn.007679d2
mov dword [esp + 0x4c44], eax
mov eax, dword [esp + 0x4c44]
mov dword [esp + 0x5da0], eax
mov eax, dword [esp + 0x5da0]
mov dword [esp + 0x1504], eax
test byte [eax + 4], 1
jne 0x758285
mov eax, dword [esp + 0x1504]
mov dword [esp + 0x5ee0], eax
mov dword [esp + 0x5edc], 0
cmp dword [esp + 0x5edc], 1
jae 0x758280
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x14f8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x14f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14fc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x14fc]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1500], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1500]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75707d
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x14f4], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5f68], xmm0
xor eax, eax
je 0x756d76
add byte [ecx + 0x5f742484], cl
add byte [eax], al
mov dword [esp + 0x5f74], eax
movsd xmm0, qword [esp + 0x5f68]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5f60], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x14e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x14e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14f0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x14ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x14ec]
mov dl, al
mov eax, dword [esp + 0x14f0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756fac
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x14dc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x14dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14e0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x14e0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x14e4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x14e4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x756fa7
mov dword [esp + 0x5f5c], 0
cmp dword [esp + 0x5f5c], 9
jae 0x756fa2
movsd xmm0, qword [esp + 0x5f60]
cvtsi2sd xmm1, dword [esp + 0x5f5c]
addsd xmm0, xmm1
movsd qword [esp + 0x14d0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x14d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x756f04
jp 0x756f04
movsd xmm0, qword [esp + 0x5f60]
movsd qword [esp + 0x5f60], xmm0
jmp 0x756dac
movsd xmm0, qword [esp + 0x5f60]
cvtsi2sd xmm1, dword [esp + 0x5f5c]
addsd xmm0, xmm1
movsd qword [esp + 0x14c8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x14c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x756f92
jp 0x756f92
mov eax, dword [esp + 0x5f5c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5f60]
addsd xmm0, xmm1
movsd qword [esp + 0x5f60], xmm0
movsd xmm0, qword [esp + 0x5f60]
cvtsi2sd xmm1, dword [esp + 0x5f5c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f74], eax
jmp 0x75705e
mov dword [esp + 0x5f74], 2
jmp 0x75705e
jmp 0x756dac
jmp 0x756fb1
jmp 0x756fb1
movsd xmm0, qword [esp + 0x5f60]
movsd qword [esp + 0x14b8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x14b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x14b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x14b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x14b4]
movsd xmm0, qword [esp + 0x14b8]
mov dl, al
mov eax, dword [esp + 0x14c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f74], eax
mov edx, dword [esp + 0x14f4]
xor edx, dword [esp + 0x5f74]
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x14a4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x14a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x14ac], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x14a8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x14a8]
mov dl, al
mov eax, dword [esp + 0x14ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757ec3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1498], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1498]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x149c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x149c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x14a0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x14a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75749d
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1494], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5f50], xmm0
xor eax, eax
je 0x757196
add byte [ecx + 0x5f582484], cl
add byte [eax], al
mov dword [esp + 0x5f58], eax
movsd xmm0, qword [esp + 0x5f50]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5f48], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1488], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1488]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1490], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x148c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x148c]
mov dl, al
mov eax, dword [esp + 0x1490]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7573cc
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x147c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x147c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1480], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1480]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1484], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1484]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7573c7
mov dword [esp + 0x5f44], 0
cmp dword [esp + 0x5f44], 9
jae 0x7573c2
movsd xmm0, qword [esp + 0x5f48]
cvtsi2sd xmm1, dword [esp + 0x5f44]
addsd xmm0, xmm1
movsd qword [esp + 0x1470], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1470]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x757324
jp 0x757324
movsd xmm0, qword [esp + 0x5f48]
movsd qword [esp + 0x5f48], xmm0
jmp 0x7571cc
movsd xmm0, qword [esp + 0x5f48]
cvtsi2sd xmm1, dword [esp + 0x5f44]
addsd xmm0, xmm1
movsd qword [esp + 0x1468], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1468]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7573b2
jp 0x7573b2
mov eax, dword [esp + 0x5f44]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5f48]
addsd xmm0, xmm1
movsd qword [esp + 0x5f48], xmm0
movsd xmm0, qword [esp + 0x5f48]
cvtsi2sd xmm1, dword [esp + 0x5f44]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f58], eax
jmp 0x75747e
mov dword [esp + 0x5f58], 2
jmp 0x75747e
jmp 0x7571cc
jmp 0x7573d1
jmp 0x7573d1
movsd xmm0, qword [esp + 0x5f48]
movsd qword [esp + 0x1458], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1450], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1450]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1464], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1454], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1454]
movsd xmm0, qword [esp + 0x1458]
mov dl, al
mov eax, dword [esp + 0x1464]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f58], eax
mov edx, dword [esp + 0x1494]
xor edx, dword [esp + 0x5f58]
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1444], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1444]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1448], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1448]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x144c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x144c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757844
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1440], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x5f38], xmm0
xor eax, eax
je 0x75753d
add byte [ecx + 0x5f402484], cl
add byte [eax], al
mov dword [esp + 0x5f40], eax
movsd xmm0, qword [esp + 0x5f38]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5f30], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1434], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1434]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x143c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1438], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1438]
mov dl, al
mov eax, dword [esp + 0x143c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757773
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1428], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1428]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x142c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x142c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1430], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1430]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75776e
mov dword [esp + 0x5f2c], 0
cmp dword [esp + 0x5f2c], 9
jae 0x757769
movsd xmm0, qword [esp + 0x5f30]
cvtsi2sd xmm1, dword [esp + 0x5f2c]
addsd xmm0, xmm1
movsd qword [esp + 0x1420], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1420]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7576cb
jp 0x7576cb
movsd xmm0, qword [esp + 0x5f30]
movsd qword [esp + 0x5f30], xmm0
jmp 0x757573
movsd xmm0, qword [esp + 0x5f30]
cvtsi2sd xmm1, dword [esp + 0x5f2c]
addsd xmm0, xmm1
movsd qword [esp + 0x1418], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1418]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x757759
jp 0x757759
mov eax, dword [esp + 0x5f2c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5f30]
addsd xmm0, xmm1
movsd qword [esp + 0x5f30], xmm0
movsd xmm0, qword [esp + 0x5f30]
cvtsi2sd xmm1, dword [esp + 0x5f2c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f40], eax
jmp 0x757825
mov dword [esp + 0x5f40], 2
jmp 0x757825
jmp 0x757573
jmp 0x757778
jmp 0x757778
movsd xmm0, qword [esp + 0x5f30]
movsd qword [esp + 0x1408], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1400], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1400]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1414], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1404], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1404]
movsd xmm0, qword [esp + 0x1408]
mov dl, al
mov eax, dword [esp + 0x1414]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f40], eax
mov edx, dword [esp + 0x1440]
xor edx, dword [esp + 0x5f40]
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x13fc], eax
mov eax, dword [esp + 0x5edc]
add eax, 0x65
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5f20], xmm0
xor eax, eax
je 0x75787c
add byte [ecx + 0x5f282484], cl
add byte [eax], al
mov dword [esp + 0x5f28], eax
movsd xmm0, qword [esp + 0x5f20]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5f18], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x13f0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x13f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13f8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x13f4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x13f4]
mov dl, al
mov eax, dword [esp + 0x13f8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757ab2
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x13e4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x13e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13e8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x13e8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x13ec], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x13ec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757aad
mov dword [esp + 0x5f14], 0
cmp dword [esp + 0x5f14], 9
jae 0x757aa8
movsd xmm0, qword [esp + 0x5f18]
cvtsi2sd xmm1, dword [esp + 0x5f14]
addsd xmm0, xmm1
movsd qword [esp + 0x13d8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x13d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x757a0a
jp 0x757a0a
movsd xmm0, qword [esp + 0x5f18]
movsd qword [esp + 0x5f18], xmm0
jmp 0x7578b2
movsd xmm0, qword [esp + 0x5f18]
cvtsi2sd xmm1, dword [esp + 0x5f14]
addsd xmm0, xmm1
movsd qword [esp + 0x13d0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x13d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x757a98
jp 0x757a98
mov eax, dword [esp + 0x5f14]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5f18]
addsd xmm0, xmm1
movsd qword [esp + 0x5f18], xmm0
movsd xmm0, qword [esp + 0x5f18]
cvtsi2sd xmm1, dword [esp + 0x5f14]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f28], eax
jmp 0x757b64
mov dword [esp + 0x5f28], 2
jmp 0x757b64
jmp 0x7578b2
jmp 0x757ab7
jmp 0x757ab7
movsd xmm0, qword [esp + 0x5f18]
movsd qword [esp + 0x13c0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x13b8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x13b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13cc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x13bc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x13bc]
movsd xmm0, qword [esp + 0x13c0]
mov dl, al
mov eax, dword [esp + 0x13cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f28], eax
mov eax, dword [esp + 0x13fc]
add eax, dword [esp + 0x5f28]
mov dword [esp + 0x13b0], eax
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x13b4], eax
mov eax, dword [esp + 0x5edc]
add eax, 0x65
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5f08], xmm0
xor eax, eax
je 0x757bb1
add byte [ecx + 0x5f102484], cl
add byte [eax], al
mov dword [esp + 0x5f10], eax
movsd xmm0, qword [esp + 0x5f08]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5f00], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x13a4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x13a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x13a8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x13a8]
mov dl, al
mov eax, dword [esp + 0x13ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757de7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1398], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1398]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x139c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x139c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x13a0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x13a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x757de2
mov dword [esp + 0x5efc], 0
cmp dword [esp + 0x5efc], 9
jae 0x757ddd
movsd xmm0, qword [esp + 0x5f00]
cvtsi2sd xmm1, dword [esp + 0x5efc]
addsd xmm0, xmm1
movsd qword [esp + 0x1390], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1390]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x757d3f
jp 0x757d3f
movsd xmm0, qword [esp + 0x5f00]
movsd qword [esp + 0x5f00], xmm0
jmp 0x757be7
movsd xmm0, qword [esp + 0x5f00]
cvtsi2sd xmm1, dword [esp + 0x5efc]
addsd xmm0, xmm1
movsd qword [esp + 0x1388], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1388]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x757dcd
jp 0x757dcd
mov eax, dword [esp + 0x5efc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5f00]
addsd xmm0, xmm1
movsd qword [esp + 0x5f00], xmm0
movsd xmm0, qword [esp + 0x5f00]
cvtsi2sd xmm1, dword [esp + 0x5efc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f10], eax
jmp 0x757e99
mov dword [esp + 0x5f10], 2
jmp 0x757e99
jmp 0x757be7
jmp 0x757dec
jmp 0x757dec
movsd xmm0, qword [esp + 0x5f00]
movsd qword [esp + 0x1378], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1370], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1370]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1384], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1374], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1374]
movsd xmm0, qword [esp + 0x1378]
mov dl, al
mov eax, dword [esp + 0x1384]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5f10], eax
mov edx, dword [esp + 0x13b0]
mov eax, dword [esp + 0x13b4]
and eax, dword [esp + 0x5f10]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1364], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1364]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1368], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1368]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x136c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x136c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75826a
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1360], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x5ef0], xmm0
xor eax, eax
je 0x757f63
add byte [ecx + 0x5ef82484], cl
add byte [eax], al
mov dword [esp + 0x5ef8], eax
movsd xmm0, qword [esp + 0x5ef0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ee8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1354], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1354]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x135c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1358], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1358]
mov dl, al
mov eax, dword [esp + 0x135c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758199
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1348], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1348]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x134c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x134c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1350], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1350]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758194
mov dword [esp + 0x5ee4], 0
cmp dword [esp + 0x5ee4], 9
jae 0x75818f
movsd xmm0, qword [esp + 0x5ee8]
cvtsi2sd xmm1, dword [esp + 0x5ee4]
addsd xmm0, xmm1
movsd qword [esp + 0x1340], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1340]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7580f1
jp 0x7580f1
movsd xmm0, qword [esp + 0x5ee8]
movsd qword [esp + 0x5ee8], xmm0
jmp 0x757f99
movsd xmm0, qword [esp + 0x5ee8]
cvtsi2sd xmm1, dword [esp + 0x5ee4]
addsd xmm0, xmm1
movsd qword [esp + 0x1338], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1338]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75817f
jp 0x75817f
mov eax, dword [esp + 0x5ee4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ee8]
addsd xmm0, xmm1
movsd qword [esp + 0x5ee8], xmm0
movsd xmm0, qword [esp + 0x5ee8]
cvtsi2sd xmm1, dword [esp + 0x5ee4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ef8], eax
jmp 0x75824b
mov dword [esp + 0x5ef8], 2
jmp 0x75824b
jmp 0x757f99
jmp 0x75819e
jmp 0x75819e
movsd xmm0, qword [esp + 0x5ee8]
movsd qword [esp + 0x1328], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1320], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1320]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1334], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1324], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1324]
movsd xmm0, qword [esp + 0x1328]
mov dl, al
mov eax, dword [esp + 0x1334]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ef8], eax
mov edx, dword [esp + 0x1360]
xor edx, dword [esp + 0x5ef8]
mov eax, dword [esp + 0x5ee0]
mov ecx, dword [esp + 0x5edc]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5edc]
add eax, 1
mov dword [esp + 0x5edc], eax
jmp 0x756cc8
jmp 0x758285
mov eax, dword [esp + 0x1504]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a9c], eax
mov eax, dword [esp + 0x4aa4]
mov dword [esp + 0x4aac], eax
cmp eax, 0
je 0x764a23
lea ecx, [esp + 0x4a9a]
call fcn.00767ac0
mov dword [esp + 0x4c40], eax
mov eax, dword [esp + 0x4c40]
mov dword [esp + 0x5da4], eax
mov eax, dword [esp + 0x5da4]
mov dword [esp + 0x131c], eax
test byte [eax + 4], 1
jne 0x7598bf
mov eax, dword [esp + 0x131c]
mov dword [esp + 0x5e48], eax
mov dword [esp + 0x5e44], 0
cmp dword [esp + 0x5e44], 1
jae 0x7598ba
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1310], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1310]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1314], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1314]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1318], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1318]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7586b7
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x130c], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5ed0], xmm0
xor eax, eax
je 0x7583b0
add byte [ecx + 0x5ed82484], cl
add byte [eax], al
mov dword [esp + 0x5ed8], eax
movsd xmm0, qword [esp + 0x5ed0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ec8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1300], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1300]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1308], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1304], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1304]
mov dl, al
mov eax, dword [esp + 0x1308]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7585e6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x12f4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x12f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12f8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x12f8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x12fc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x12fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7585e1
mov dword [esp + 0x5ec4], 0
cmp dword [esp + 0x5ec4], 9
jae 0x7585dc
movsd xmm0, qword [esp + 0x5ec8]
cvtsi2sd xmm1, dword [esp + 0x5ec4]
addsd xmm0, xmm1
movsd qword [esp + 0x12e8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x12e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75853e
jp 0x75853e
movsd xmm0, qword [esp + 0x5ec8]
movsd qword [esp + 0x5ec8], xmm0
jmp 0x7583e6
movsd xmm0, qword [esp + 0x5ec8]
cvtsi2sd xmm1, dword [esp + 0x5ec4]
addsd xmm0, xmm1
movsd qword [esp + 0x12e0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x12e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7585cc
jp 0x7585cc
mov eax, dword [esp + 0x5ec4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ec8]
addsd xmm0, xmm1
movsd qword [esp + 0x5ec8], xmm0
movsd xmm0, qword [esp + 0x5ec8]
cvtsi2sd xmm1, dword [esp + 0x5ec4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ed8], eax
jmp 0x758698
mov dword [esp + 0x5ed8], 2
jmp 0x758698
jmp 0x7583e6
jmp 0x7585eb
jmp 0x7585eb
movsd xmm0, qword [esp + 0x5ec8]
movsd qword [esp + 0x12d0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x12c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x12c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x12cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x12cc]
movsd xmm0, qword [esp + 0x12d0]
mov dl, al
mov eax, dword [esp + 0x12dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ed8], eax
mov edx, dword [esp + 0x130c]
xor edx, dword [esp + 0x5ed8]
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x12bc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x12bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12c4], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x12c0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x12c0]
mov dl, al
mov eax, dword [esp + 0x12c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7594fd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x12b0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x12b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12b4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x12b4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x12b8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x12b8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758ad7
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x12ac], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5eb8], xmm0
xor eax, eax
je 0x7587d0
add byte [ecx + 0x5ec02484], cl
add byte [eax], al
mov dword [esp + 0x5ec0], eax
movsd xmm0, qword [esp + 0x5eb8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5eb0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x12a0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x12a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12a8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x12a4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x12a4]
mov dl, al
mov eax, dword [esp + 0x12a8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758a06
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1294], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1294]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1298], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1298]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x129c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x129c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758a01
mov dword [esp + 0x5eac], 0
cmp dword [esp + 0x5eac], 9
jae 0x7589fc
movsd xmm0, qword [esp + 0x5eb0]
cvtsi2sd xmm1, dword [esp + 0x5eac]
addsd xmm0, xmm1
movsd qword [esp + 0x1288], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1288]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75895e
jp 0x75895e
movsd xmm0, qword [esp + 0x5eb0]
movsd qword [esp + 0x5eb0], xmm0
jmp 0x758806
movsd xmm0, qword [esp + 0x5eb0]
cvtsi2sd xmm1, dword [esp + 0x5eac]
addsd xmm0, xmm1
movsd qword [esp + 0x1280], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1280]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7589ec
jp 0x7589ec
mov eax, dword [esp + 0x5eac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5eb0]
addsd xmm0, xmm1
movsd qword [esp + 0x5eb0], xmm0
movsd xmm0, qword [esp + 0x5eb0]
cvtsi2sd xmm1, dword [esp + 0x5eac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ec0], eax
jmp 0x758ab8
mov dword [esp + 0x5ec0], 2
jmp 0x758ab8
jmp 0x758806
jmp 0x758a0b
jmp 0x758a0b
movsd xmm0, qword [esp + 0x5eb0]
movsd qword [esp + 0x1270], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1268], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1268]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x127c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x126c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x126c]
movsd xmm0, qword [esp + 0x1270]
mov dl, al
mov eax, dword [esp + 0x127c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ec0], eax
mov edx, dword [esp + 0x12ac]
xor edx, dword [esp + 0x5ec0]
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x125c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x125c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1260], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1260]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1264], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1264]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758e7e
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1258], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x5ea0], xmm0
xor eax, eax
je 0x758b77
add byte [ecx + 0x5ea82484], cl
add byte [eax], al
mov dword [esp + 0x5ea8], eax
movsd xmm0, qword [esp + 0x5ea0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e98], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x124c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x124c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1254], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1250], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1250]
mov dl, al
mov eax, dword [esp + 0x1254]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758dad
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1240], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1240]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1244], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1244]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1248], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1248]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x758da8
mov dword [esp + 0x5e94], 0
cmp dword [esp + 0x5e94], 9
jae 0x758da3
movsd xmm0, qword [esp + 0x5e98]
cvtsi2sd xmm1, dword [esp + 0x5e94]
addsd xmm0, xmm1
movsd qword [esp + 0x1238], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1238]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x758d05
jp 0x758d05
movsd xmm0, qword [esp + 0x5e98]
movsd qword [esp + 0x5e98], xmm0
jmp 0x758bad
movsd xmm0, qword [esp + 0x5e98]
cvtsi2sd xmm1, dword [esp + 0x5e94]
addsd xmm0, xmm1
movsd qword [esp + 0x1230], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1230]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x758d93
jp 0x758d93
mov eax, dword [esp + 0x5e94]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e98]
addsd xmm0, xmm1
movsd qword [esp + 0x5e98], xmm0
movsd xmm0, qword [esp + 0x5e98]
cvtsi2sd xmm1, dword [esp + 0x5e94]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ea8], eax
jmp 0x758e5f
mov dword [esp + 0x5ea8], 2
jmp 0x758e5f
jmp 0x758bad
jmp 0x758db2
jmp 0x758db2
movsd xmm0, qword [esp + 0x5e98]
movsd qword [esp + 0x1220], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1218], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1218]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x122c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x121c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x121c]
movsd xmm0, qword [esp + 0x1220]
mov dl, al
mov eax, dword [esp + 0x122c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5ea8], eax
mov edx, dword [esp + 0x1258]
xor edx, dword [esp + 0x5ea8]
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1214], eax
mov eax, dword [esp + 0x5e44]
add eax, 0x65
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5e88], xmm0
xor eax, eax
je 0x758eb6
add byte [ecx + 0x5e902484], cl
add byte [eax], al
mov dword [esp + 0x5e90], eax
movsd xmm0, qword [esp + 0x5e88]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e80], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1208], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1208]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1210], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x120c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x120c]
mov dl, al
mov eax, dword [esp + 0x1210]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7590ec
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x11fc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x11fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1200], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1200]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1204], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1204]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7590e7
mov dword [esp + 0x5e7c], 0
cmp dword [esp + 0x5e7c], 9
jae 0x7590e2
movsd xmm0, qword [esp + 0x5e80]
cvtsi2sd xmm1, dword [esp + 0x5e7c]
addsd xmm0, xmm1
movsd qword [esp + 0x11f0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x11f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x759044
jp 0x759044
movsd xmm0, qword [esp + 0x5e80]
movsd qword [esp + 0x5e80], xmm0
jmp 0x758eec
movsd xmm0, qword [esp + 0x5e80]
cvtsi2sd xmm1, dword [esp + 0x5e7c]
addsd xmm0, xmm1
movsd qword [esp + 0x11e8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x11e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7590d2
jp 0x7590d2
mov eax, dword [esp + 0x5e7c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e80]
addsd xmm0, xmm1
movsd qword [esp + 0x5e80], xmm0
movsd xmm0, qword [esp + 0x5e80]
cvtsi2sd xmm1, dword [esp + 0x5e7c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e90], eax
jmp 0x75919e
mov dword [esp + 0x5e90], 2
jmp 0x75919e
jmp 0x758eec
jmp 0x7590f1
jmp 0x7590f1
movsd xmm0, qword [esp + 0x5e80]
movsd qword [esp + 0x11d8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x11d0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x11d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x11e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x11d4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x11d4]
movsd xmm0, qword [esp + 0x11d8]
mov dl, al
mov eax, dword [esp + 0x11e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e90], eax
mov eax, dword [esp + 0x1214]
add eax, dword [esp + 0x5e90]
mov dword [esp + 0x11c8], eax
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x11cc], eax
mov eax, dword [esp + 0x5e44]
add eax, 0x65
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5e70], xmm0
xor eax, eax
je 0x7591eb
add byte [ecx + 0x5e782484], cl
add byte [eax], al
mov dword [esp + 0x5e78], eax
movsd xmm0, qword [esp + 0x5e70]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e68], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x11bc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x11bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x11c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x11c0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x11c0]
mov dl, al
mov eax, dword [esp + 0x11c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x759421
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x11b0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x11b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x11b4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x11b4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x11b8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x11b8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75941c
mov dword [esp + 0x5e64], 0
cmp dword [esp + 0x5e64], 9
jae 0x759417
movsd xmm0, qword [esp + 0x5e68]
cvtsi2sd xmm1, dword [esp + 0x5e64]
addsd xmm0, xmm1
movsd qword [esp + 0x11a8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x11a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x759379
jp 0x759379
movsd xmm0, qword [esp + 0x5e68]
movsd qword [esp + 0x5e68], xmm0
jmp 0x759221
movsd xmm0, qword [esp + 0x5e68]
cvtsi2sd xmm1, dword [esp + 0x5e64]
addsd xmm0, xmm1
movsd qword [esp + 0x11a0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x11a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x759407
jp 0x759407
mov eax, dword [esp + 0x5e64]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e68]
addsd xmm0, xmm1
movsd qword [esp + 0x5e68], xmm0
movsd xmm0, qword [esp + 0x5e68]
cvtsi2sd xmm1, dword [esp + 0x5e64]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e78], eax
jmp 0x7594d3
mov dword [esp + 0x5e78], 2
jmp 0x7594d3
jmp 0x759221
jmp 0x759426
jmp 0x759426
movsd xmm0, qword [esp + 0x5e68]
movsd qword [esp + 0x1190], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1188], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1188]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x119c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x118c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x118c]
movsd xmm0, qword [esp + 0x1190]
mov dl, al
mov eax, dword [esp + 0x119c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e78], eax
mov edx, dword [esp + 0x11c8]
mov eax, dword [esp + 0x11cc]
and eax, dword [esp + 0x5e78]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x117c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x117c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1180], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1180]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1184], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1184]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7598a4
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1178], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x5e58], xmm0
xor eax, eax
je 0x75959d
add byte [ecx + 0x5e602484], cl
add byte [eax], al
mov dword [esp + 0x5e60], eax
movsd xmm0, qword [esp + 0x5e58]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e50], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x116c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x116c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1174], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1170], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1170]
mov dl, al
mov eax, dword [esp + 0x1174]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7597d3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1160], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1160]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1164], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1164]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1168], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1168]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7597ce
mov dword [esp + 0x5e4c], 0
cmp dword [esp + 0x5e4c], 9
jae 0x7597c9
movsd xmm0, qword [esp + 0x5e50]
cvtsi2sd xmm1, dword [esp + 0x5e4c]
addsd xmm0, xmm1
movsd qword [esp + 0x1158], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1158]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75972b
jp 0x75972b
movsd xmm0, qword [esp + 0x5e50]
movsd qword [esp + 0x5e50], xmm0
jmp 0x7595d3
movsd xmm0, qword [esp + 0x5e50]
cvtsi2sd xmm1, dword [esp + 0x5e4c]
addsd xmm0, xmm1
movsd qword [esp + 0x1150], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1150]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7597b9
jp 0x7597b9
mov eax, dword [esp + 0x5e4c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e50]
addsd xmm0, xmm1
movsd qword [esp + 0x5e50], xmm0
movsd xmm0, qword [esp + 0x5e50]
cvtsi2sd xmm1, dword [esp + 0x5e4c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e60], eax
jmp 0x759885
mov dword [esp + 0x5e60], 2
jmp 0x759885
jmp 0x7595d3
jmp 0x7597d8
jmp 0x7597d8
movsd xmm0, qword [esp + 0x5e50]
movsd qword [esp + 0x1140], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1138], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1138]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x114c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x113c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x113c]
movsd xmm0, qword [esp + 0x1140]
mov dl, al
mov eax, dword [esp + 0x114c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e60], eax
mov edx, dword [esp + 0x1178]
xor edx, dword [esp + 0x5e60]
mov eax, dword [esp + 0x5e48]
mov ecx, dword [esp + 0x5e44]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5e44]
add eax, 1
mov dword [esp + 0x5e44], eax
jmp 0x758302
jmp 0x7598bf
mov eax, dword [esp + 0x131c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a9c], eax
lea ecx, [esp + 0x4a93]
call fcn.00767bae
mov dword [esp + 0x4c3c], eax
mov eax, dword [esp + 0x4c3c]
mov dword [esp + 0x5da8], eax
mov eax, dword [esp + 0x5da8]
mov dword [esp + 0x1134], eax
test byte [eax + 4], 1
jne 0x75aee2
mov eax, dword [esp + 0x1134]
mov dword [esp + 0x5db0], eax
mov dword [esp + 0x5dac], 0
cmp dword [esp + 0x5dac], 1
jae 0x75aedd
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1128], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1128]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x112c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x112c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1130], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1130]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x759cda
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1124], eax
movsd xmm0, qword [0x786a30]
movsd qword [esp + 0x5e38], xmm0
xor eax, eax
je 0x7599d3
add byte [ecx + 0x5e402484], cl
add byte [eax], al
mov dword [esp + 0x5e40], eax
movsd xmm0, qword [esp + 0x5e38]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e30], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1118], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1118]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1120], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x111c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x111c]
mov dl, al
mov eax, dword [esp + 0x1120]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x759c09
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x110c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x110c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1110], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1110]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1114], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1114]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x759c04
mov dword [esp + 0x5e2c], 0
cmp dword [esp + 0x5e2c], 9
jae 0x759bff
movsd xmm0, qword [esp + 0x5e30]
cvtsi2sd xmm1, dword [esp + 0x5e2c]
addsd xmm0, xmm1
movsd qword [esp + 0x1100], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1100]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x759b61
jp 0x759b61
movsd xmm0, qword [esp + 0x5e30]
movsd qword [esp + 0x5e30], xmm0
jmp 0x759a09
movsd xmm0, qword [esp + 0x5e30]
cvtsi2sd xmm1, dword [esp + 0x5e2c]
addsd xmm0, xmm1
movsd qword [esp + 0x10f8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x10f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x759bef
jp 0x759bef
mov eax, dword [esp + 0x5e2c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e30]
addsd xmm0, xmm1
movsd qword [esp + 0x5e30], xmm0
movsd xmm0, qword [esp + 0x5e30]
cvtsi2sd xmm1, dword [esp + 0x5e2c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e40], eax
jmp 0x759cbb
mov dword [esp + 0x5e40], 2
jmp 0x759cbb
jmp 0x759a09
jmp 0x759c0e
jmp 0x759c0e
movsd xmm0, qword [esp + 0x5e30]
movsd qword [esp + 0x10e8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x10e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x10e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x10e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x10e4]
movsd xmm0, qword [esp + 0x10e8]
mov dl, al
mov eax, dword [esp + 0x10f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e40], eax
mov edx, dword [esp + 0x1124]
xor edx, dword [esp + 0x5e40]
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x10d4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x10d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10dc], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x10d8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x10d8]
mov dl, al
mov eax, dword [esp + 0x10dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75ab20
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x10c8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x10c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10cc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x10cc]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x10d0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x10d0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a0fa
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x10c4], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x5e20], xmm0
xor eax, eax
je 0x759df3
add byte [ecx + 0x5e282484], cl
add byte [eax], al
mov dword [esp + 0x5e28], eax
movsd xmm0, qword [esp + 0x5e20]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e18], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x10b8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x10b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10c0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x10bc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x10bc]
mov dl, al
mov eax, dword [esp + 0x10c0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a029
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x10ac], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x10ac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10b0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x10b0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x10b4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x10b4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a024
mov dword [esp + 0x5e14], 0
cmp dword [esp + 0x5e14], 9
jae 0x75a01f
movsd xmm0, qword [esp + 0x5e18]
cvtsi2sd xmm1, dword [esp + 0x5e14]
addsd xmm0, xmm1
movsd qword [esp + 0x10a0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x10a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x759f81
jp 0x759f81
movsd xmm0, qword [esp + 0x5e18]
movsd qword [esp + 0x5e18], xmm0
jmp 0x759e29
movsd xmm0, qword [esp + 0x5e18]
cvtsi2sd xmm1, dword [esp + 0x5e14]
addsd xmm0, xmm1
movsd qword [esp + 0x1098], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1098]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75a00f
jp 0x75a00f
mov eax, dword [esp + 0x5e14]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e18]
addsd xmm0, xmm1
movsd qword [esp + 0x5e18], xmm0
movsd xmm0, qword [esp + 0x5e18]
cvtsi2sd xmm1, dword [esp + 0x5e14]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e28], eax
jmp 0x75a0db
mov dword [esp + 0x5e28], 2
jmp 0x75a0db
jmp 0x759e29
jmp 0x75a02e
jmp 0x75a02e
movsd xmm0, qword [esp + 0x5e18]
movsd qword [esp + 0x1088], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1080], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1080]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1094], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1084], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1084]
movsd xmm0, qword [esp + 0x1088]
mov dl, al
mov eax, dword [esp + 0x1094]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e28], eax
mov edx, dword [esp + 0x10c4]
xor edx, dword [esp + 0x5e28]
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1074], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1074]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1078], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1078]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x107c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x107c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a4a1
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1070], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x5e08], xmm0
xor eax, eax
je 0x75a19a
add byte [ecx + 0x5e102484], cl
add byte [eax], al
mov dword [esp + 0x5e10], eax
movsd xmm0, qword [esp + 0x5e08]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5e00], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1064], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1064]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x106c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1068], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1068]
mov dl, al
mov eax, dword [esp + 0x106c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a3d0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1058], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1058]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x105c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x105c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1060], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1060]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a3cb
mov dword [esp + 0x5dfc], 0
cmp dword [esp + 0x5dfc], 9
jae 0x75a3c6
movsd xmm0, qword [esp + 0x5e00]
cvtsi2sd xmm1, dword [esp + 0x5dfc]
addsd xmm0, xmm1
movsd qword [esp + 0x1050], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1050]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75a328
jp 0x75a328
movsd xmm0, qword [esp + 0x5e00]
movsd qword [esp + 0x5e00], xmm0
jmp 0x75a1d0
movsd xmm0, qword [esp + 0x5e00]
cvtsi2sd xmm1, dword [esp + 0x5dfc]
addsd xmm0, xmm1
movsd qword [esp + 0x1048], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1048]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75a3b6
jp 0x75a3b6
mov eax, dword [esp + 0x5dfc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5e00]
addsd xmm0, xmm1
movsd qword [esp + 0x5e00], xmm0
movsd xmm0, qword [esp + 0x5e00]
cvtsi2sd xmm1, dword [esp + 0x5dfc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e10], eax
jmp 0x75a482
mov dword [esp + 0x5e10], 2
jmp 0x75a482
jmp 0x75a1d0
jmp 0x75a3d5
jmp 0x75a3d5
movsd xmm0, qword [esp + 0x5e00]
movsd qword [esp + 0x1038], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1030], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1030]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1044], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1034], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1034]
movsd xmm0, qword [esp + 0x1038]
mov dl, al
mov eax, dword [esp + 0x1044]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5e10], eax
mov edx, dword [esp + 0x1070]
xor edx, dword [esp + 0x5e10]
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x102c], eax
mov eax, dword [esp + 0x5dac]
add eax, 0x65
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5df0], xmm0
xor eax, eax
je 0x75a4d9
add byte [ecx + 0x5df82484], cl
add byte [eax], al
mov dword [esp + 0x5df8], eax
movsd xmm0, qword [esp + 0x5df0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5de8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1020], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1020]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1028], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1024], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1024]
mov dl, al
mov eax, dword [esp + 0x1028]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a70f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1014], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1014]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1018], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1018]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x101c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x101c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75a70a
mov dword [esp + 0x5de4], 0
cmp dword [esp + 0x5de4], 9
jae 0x75a705
movsd xmm0, qword [esp + 0x5de8]
cvtsi2sd xmm1, dword [esp + 0x5de4]
addsd xmm0, xmm1
movsd qword [esp + 0x1008], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1008]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75a667
jp 0x75a667
movsd xmm0, qword [esp + 0x5de8]
movsd qword [esp + 0x5de8], xmm0
jmp 0x75a50f
movsd xmm0, qword [esp + 0x5de8]
cvtsi2sd xmm1, dword [esp + 0x5de4]
addsd xmm0, xmm1
movsd qword [esp + 0x1000], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1000]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75a6f5
jp 0x75a6f5
mov eax, dword [esp + 0x5de4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5de8]
addsd xmm0, xmm1
movsd qword [esp + 0x5de8], xmm0
movsd xmm0, qword [esp + 0x5de8]
cvtsi2sd xmm1, dword [esp + 0x5de4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5df8], eax
jmp 0x75a7c1
mov dword [esp + 0x5df8], 2
jmp 0x75a7c1
jmp 0x75a50f
jmp 0x75a714
jmp 0x75a714
movsd xmm0, qword [esp + 0x5de8]
movsd qword [esp + 0xff0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xfe8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xfe8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xffc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xfec], eax
call fcn.00409d40
mov ecx, dword [esp + 0xfec]
movsd xmm0, qword [esp + 0xff0]
mov dl, al
mov eax, dword [esp + 0xffc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5df8], eax
mov eax, dword [esp + 0x102c]
add eax, dword [esp + 0x5df8]
mov dword [esp + 0xfe0], eax
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xfe4], eax
mov eax, dword [esp + 0x5dac]
add eax, 0x65
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5dd8], xmm0
xor eax, eax
je 0x75a80e
add byte [ecx + 0x5de02484], cl
add byte [eax], al
mov dword [esp + 0x5de0], eax
movsd xmm0, qword [esp + 0x5dd8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5dd0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xfd4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xfd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xfdc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xfd8], eax
call fcn.00409d40
mov ecx, dword [esp + 0xfd8]
mov dl, al
mov eax, dword [esp + 0xfdc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75aa44
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xfc8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xfc8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xfcc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xfcc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xfd0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xfd0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75aa3f
mov dword [esp + 0x5dcc], 0
cmp dword [esp + 0x5dcc], 9
jae 0x75aa3a
movsd xmm0, qword [esp + 0x5dd0]
cvtsi2sd xmm1, dword [esp + 0x5dcc]
addsd xmm0, xmm1
movsd qword [esp + 0xfc0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xfc0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75a99c
jp 0x75a99c
movsd xmm0, qword [esp + 0x5dd0]
movsd qword [esp + 0x5dd0], xmm0
jmp 0x75a844
movsd xmm0, qword [esp + 0x5dd0]
cvtsi2sd xmm1, dword [esp + 0x5dcc]
addsd xmm0, xmm1
movsd qword [esp + 0xfb8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xfb8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75aa2a
jp 0x75aa2a
mov eax, dword [esp + 0x5dcc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5dd0]
addsd xmm0, xmm1
movsd qword [esp + 0x5dd0], xmm0
movsd xmm0, qword [esp + 0x5dd0]
cvtsi2sd xmm1, dword [esp + 0x5dcc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5de0], eax
jmp 0x75aaf6
mov dword [esp + 0x5de0], 2
jmp 0x75aaf6
jmp 0x75a844
jmp 0x75aa49
jmp 0x75aa49
movsd xmm0, qword [esp + 0x5dd0]
movsd qword [esp + 0xfa8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xfa0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xfa0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xfb4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xfa4], eax
call fcn.00409d40
mov ecx, dword [esp + 0xfa4]
movsd xmm0, qword [esp + 0xfa8]
mov dl, al
mov eax, dword [esp + 0xfb4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5de0], eax
mov edx, dword [esp + 0xfe0]
mov eax, dword [esp + 0xfe4]
and eax, dword [esp + 0x5de0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xf94], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xf94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf98], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xf98]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xf9c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xf9c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75aec7
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xf90], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x5dc0], xmm0
xor eax, eax
je 0x75abc0
add byte [ecx + 0x5dc82484], cl
add byte [eax], al
mov dword [esp + 0x5dc8], eax
movsd xmm0, qword [esp + 0x5dc0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5db8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xf84], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xf84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf8c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xf88], eax
call fcn.00409d40
mov ecx, dword [esp + 0xf88]
mov dl, al
mov eax, dword [esp + 0xf8c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75adf6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xf78], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xf78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf7c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xf7c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xf80], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xf80]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75adf1
mov dword [esp + 0x5db4], 0
cmp dword [esp + 0x5db4], 9
jae 0x75adec
movsd xmm0, qword [esp + 0x5db8]
cvtsi2sd xmm1, dword [esp + 0x5db4]
addsd xmm0, xmm1
movsd qword [esp + 0xf70], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xf70]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75ad4e
jp 0x75ad4e
movsd xmm0, qword [esp + 0x5db8]
movsd qword [esp + 0x5db8], xmm0
jmp 0x75abf6
movsd xmm0, qword [esp + 0x5db8]
cvtsi2sd xmm1, dword [esp + 0x5db4]
addsd xmm0, xmm1
movsd qword [esp + 0xf68], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xf68]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75addc
jp 0x75addc
mov eax, dword [esp + 0x5db4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5db8]
addsd xmm0, xmm1
movsd qword [esp + 0x5db8], xmm0
movsd xmm0, qword [esp + 0x5db8]
cvtsi2sd xmm1, dword [esp + 0x5db4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5dc8], eax
jmp 0x75aea8
mov dword [esp + 0x5dc8], 2
jmp 0x75aea8
jmp 0x75abf6
jmp 0x75adfb
jmp 0x75adfb
movsd xmm0, qword [esp + 0x5db8]
movsd qword [esp + 0xf58], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xf50], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xf50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf64], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xf54], eax
call fcn.00409d40
mov ecx, dword [esp + 0xf54]
movsd xmm0, qword [esp + 0xf58]
mov dl, al
mov eax, dword [esp + 0xf64]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5dc8], eax
mov edx, dword [esp + 0xf90]
xor edx, dword [esp + 0x5dc8]
mov eax, dword [esp + 0x5db0]
mov ecx, dword [esp + 0x5dac]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5dac]
add eax, 1
mov dword [esp + 0x5dac], eax
jmp 0x759925
jmp 0x75aee2
mov eax, dword [esp + 0x1134]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a94], eax
lea ecx, [esp + 0x4a8b]
call fcn.00767c9c
mov dword [esp + 0x4c50], eax
mov eax, dword [esp + 0x4c50]
mov dword [esp + 0x5f78], eax
mov eax, dword [esp + 0x5f78]
mov dword [esp + 0xf4c], eax
test byte [eax + 4], 1
jne 0x75c505
mov eax, dword [esp + 0xf4c]
mov dword [esp + 0x60b8], eax
mov dword [esp + 0x60b4], 0
cmp dword [esp + 0x60b4], 1
jae 0x75c500
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xf40], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xf40]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf44], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xf44]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xf48], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xf48]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b2fd
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xf3c], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x6140], xmm0
xor eax, eax
je 0x75aff6
add byte [ecx + 0x61482484], cl
add byte [eax], al
mov dword [esp + 0x6148], eax
movsd xmm0, qword [esp + 0x6140]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6138], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xf30], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xf30]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf38], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xf34], eax
call fcn.00409d40
mov ecx, dword [esp + 0xf34]
mov dl, al
mov eax, dword [esp + 0xf38]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b22c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xf24], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xf24]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf28], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xf28]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xf2c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xf2c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b227
mov dword [esp + 0x6134], 0
cmp dword [esp + 0x6134], 9
jae 0x75b222
movsd xmm0, qword [esp + 0x6138]
cvtsi2sd xmm1, dword [esp + 0x6134]
addsd xmm0, xmm1
movsd qword [esp + 0xf18], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xf18]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75b184
jp 0x75b184
movsd xmm0, qword [esp + 0x6138]
movsd qword [esp + 0x6138], xmm0
jmp 0x75b02c
movsd xmm0, qword [esp + 0x6138]
cvtsi2sd xmm1, dword [esp + 0x6134]
addsd xmm0, xmm1
movsd qword [esp + 0xf10], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xf10]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75b212
jp 0x75b212
mov eax, dword [esp + 0x6134]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6138]
addsd xmm0, xmm1
movsd qword [esp + 0x6138], xmm0
movsd xmm0, qword [esp + 0x6138]
cvtsi2sd xmm1, dword [esp + 0x6134]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6148], eax
jmp 0x75b2de
mov dword [esp + 0x6148], 2
jmp 0x75b2de
jmp 0x75b02c
jmp 0x75b231
jmp 0x75b231
movsd xmm0, qword [esp + 0x6138]
movsd qword [esp + 0xf00], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xef8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xef8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf0c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xefc], eax
call fcn.00409d40
mov ecx, dword [esp + 0xefc]
movsd xmm0, qword [esp + 0xf00]
mov dl, al
mov eax, dword [esp + 0xf0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6148], eax
mov edx, dword [esp + 0xf3c]
xor edx, dword [esp + 0x6148]
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xeec], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xeec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xef4], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0xef0], eax
call fcn.00409d40
mov ecx, dword [esp + 0xef0]
mov dl, al
mov eax, dword [esp + 0xef4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c143
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xee0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xee0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xee4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xee4]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xee8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xee8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b71d
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xedc], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x6128], xmm0
xor eax, eax
je 0x75b416
add byte [ecx + 0x61302484], cl
add byte [eax], al
mov dword [esp + 0x6130], eax
movsd xmm0, qword [esp + 0x6128]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6120], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xed0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xed0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xed8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xed4], eax
call fcn.00409d40
mov ecx, dword [esp + 0xed4]
mov dl, al
mov eax, dword [esp + 0xed8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b64c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xec4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xec4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xec8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xec8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xecc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xecc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b647
mov dword [esp + 0x611c], 0
cmp dword [esp + 0x611c], 9
jae 0x75b642
movsd xmm0, qword [esp + 0x6120]
cvtsi2sd xmm1, dword [esp + 0x611c]
addsd xmm0, xmm1
movsd qword [esp + 0xeb8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xeb8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75b5a4
jp 0x75b5a4
movsd xmm0, qword [esp + 0x6120]
movsd qword [esp + 0x6120], xmm0
jmp 0x75b44c
movsd xmm0, qword [esp + 0x6120]
cvtsi2sd xmm1, dword [esp + 0x611c]
addsd xmm0, xmm1
movsd qword [esp + 0xeb0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xeb0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75b632
jp 0x75b632
mov eax, dword [esp + 0x611c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6120]
addsd xmm0, xmm1
movsd qword [esp + 0x6120], xmm0
movsd xmm0, qword [esp + 0x6120]
cvtsi2sd xmm1, dword [esp + 0x611c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6130], eax
jmp 0x75b6fe
mov dword [esp + 0x6130], 2
jmp 0x75b6fe
jmp 0x75b44c
jmp 0x75b651
jmp 0x75b651
movsd xmm0, qword [esp + 0x6120]
movsd qword [esp + 0xea0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xe98], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xe98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xeac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xe9c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xe9c]
movsd xmm0, qword [esp + 0xea0]
mov dl, al
mov eax, dword [esp + 0xeac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6130], eax
mov edx, dword [esp + 0xedc]
xor edx, dword [esp + 0x6130]
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xe8c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xe8c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe90], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xe90]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xe94], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xe94]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75bac4
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xe88], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x6110], xmm0
xor eax, eax
je 0x75b7bd
add byte [ecx + 0x61182484], cl
add byte [eax], al
mov dword [esp + 0x6118], eax
movsd xmm0, qword [esp + 0x6110]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6108], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xe7c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xe7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe84], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xe80], eax
call fcn.00409d40
mov ecx, dword [esp + 0xe80]
mov dl, al
mov eax, dword [esp + 0xe84]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b9f3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xe70], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xe70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe74], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xe74]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xe78], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xe78]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75b9ee
mov dword [esp + 0x6104], 0
cmp dword [esp + 0x6104], 9
jae 0x75b9e9
movsd xmm0, qword [esp + 0x6108]
cvtsi2sd xmm1, dword [esp + 0x6104]
addsd xmm0, xmm1
movsd qword [esp + 0xe68], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xe68]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75b94b
jp 0x75b94b
movsd xmm0, qword [esp + 0x6108]
movsd qword [esp + 0x6108], xmm0
jmp 0x75b7f3
movsd xmm0, qword [esp + 0x6108]
cvtsi2sd xmm1, dword [esp + 0x6104]
addsd xmm0, xmm1
movsd qword [esp + 0xe60], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xe60]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75b9d9
jp 0x75b9d9
mov eax, dword [esp + 0x6104]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6108]
addsd xmm0, xmm1
movsd qword [esp + 0x6108], xmm0
movsd xmm0, qword [esp + 0x6108]
cvtsi2sd xmm1, dword [esp + 0x6104]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6118], eax
jmp 0x75baa5
mov dword [esp + 0x6118], 2
jmp 0x75baa5
jmp 0x75b7f3
jmp 0x75b9f8
jmp 0x75b9f8
movsd xmm0, qword [esp + 0x6108]
movsd qword [esp + 0xe50], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xe48], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xe48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe5c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xe4c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xe4c]
movsd xmm0, qword [esp + 0xe50]
mov dl, al
mov eax, dword [esp + 0xe5c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6118], eax
mov edx, dword [esp + 0xe88]
xor edx, dword [esp + 0x6118]
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xe44], eax
mov eax, dword [esp + 0x60b4]
add eax, 0x66
cvtsi2sd xmm0, eax
movsd qword [esp + 0x60f8], xmm0
xor eax, eax
je 0x75bafc
add byte [ecx + 0x61002484], cl
add byte [eax], al
mov dword [esp + 0x6100], eax
movsd xmm0, qword [esp + 0x60f8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x60f0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xe38], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xe38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe40], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xe3c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xe3c]
mov dl, al
mov eax, dword [esp + 0xe40]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75bd32
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xe2c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xe2c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe30], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xe30]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xe34], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xe34]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75bd2d
mov dword [esp + 0x60ec], 0
cmp dword [esp + 0x60ec], 9
jae 0x75bd28
movsd xmm0, qword [esp + 0x60f0]
cvtsi2sd xmm1, dword [esp + 0x60ec]
addsd xmm0, xmm1
movsd qword [esp + 0xe20], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xe20]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75bc8a
jp 0x75bc8a
movsd xmm0, qword [esp + 0x60f0]
movsd qword [esp + 0x60f0], xmm0
jmp 0x75bb32
movsd xmm0, qword [esp + 0x60f0]
cvtsi2sd xmm1, dword [esp + 0x60ec]
addsd xmm0, xmm1
movsd qword [esp + 0xe18], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xe18]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75bd18
jp 0x75bd18
mov eax, dword [esp + 0x60ec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x60f0]
addsd xmm0, xmm1
movsd qword [esp + 0x60f0], xmm0
movsd xmm0, qword [esp + 0x60f0]
cvtsi2sd xmm1, dword [esp + 0x60ec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6100], eax
jmp 0x75bde4
mov dword [esp + 0x6100], 2
jmp 0x75bde4
jmp 0x75bb32
jmp 0x75bd37
jmp 0x75bd37
movsd xmm0, qword [esp + 0x60f0]
movsd qword [esp + 0xe08], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xe00], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xe00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe14], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xe04], eax
call fcn.00409d40
mov ecx, dword [esp + 0xe04]
movsd xmm0, qword [esp + 0xe08]
mov dl, al
mov eax, dword [esp + 0xe14]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6100], eax
mov eax, dword [esp + 0xe44]
add eax, dword [esp + 0x6100]
mov dword [esp + 0xdf8], eax
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xdfc], eax
mov eax, dword [esp + 0x60b4]
add eax, 0x66
cvtsi2sd xmm0, eax
movsd qword [esp + 0x60e0], xmm0
xor eax, eax
je 0x75be31
add byte [ecx + 0x60e82484], cl
add byte [eax], al
mov dword [esp + 0x60e8], eax
movsd xmm0, qword [esp + 0x60e0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x60d8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xdec], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xdec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xdf4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xdf0], eax
call fcn.00409d40
mov ecx, dword [esp + 0xdf0]
mov dl, al
mov eax, dword [esp + 0xdf4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c067
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xde0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xde0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xde4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xde4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xde8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xde8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c062
mov dword [esp + 0x60d4], 0
cmp dword [esp + 0x60d4], 9
jae 0x75c05d
movsd xmm0, qword [esp + 0x60d8]
cvtsi2sd xmm1, dword [esp + 0x60d4]
addsd xmm0, xmm1
movsd qword [esp + 0xdd8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xdd8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75bfbf
jp 0x75bfbf
movsd xmm0, qword [esp + 0x60d8]
movsd qword [esp + 0x60d8], xmm0
jmp 0x75be67
movsd xmm0, qword [esp + 0x60d8]
cvtsi2sd xmm1, dword [esp + 0x60d4]
addsd xmm0, xmm1
movsd qword [esp + 0xdd0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xdd0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75c04d
jp 0x75c04d
mov eax, dword [esp + 0x60d4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x60d8]
addsd xmm0, xmm1
movsd qword [esp + 0x60d8], xmm0
movsd xmm0, qword [esp + 0x60d8]
cvtsi2sd xmm1, dword [esp + 0x60d4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x60e8], eax
jmp 0x75c119
mov dword [esp + 0x60e8], 2
jmp 0x75c119
jmp 0x75be67
jmp 0x75c06c
jmp 0x75c06c
movsd xmm0, qword [esp + 0x60d8]
movsd qword [esp + 0xdc0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xdb8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xdb8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xdcc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xdbc], eax
call fcn.00409d40
mov ecx, dword [esp + 0xdbc]
movsd xmm0, qword [esp + 0xdc0]
mov dl, al
mov eax, dword [esp + 0xdcc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x60e8], eax
mov edx, dword [esp + 0xdf8]
mov eax, dword [esp + 0xdfc]
and eax, dword [esp + 0x60e8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xdac], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xdac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xdb0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xdb0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xdb4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xdb4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c4ea
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xda8], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x60c8], xmm0
xor eax, eax
je 0x75c1e3
add byte [ecx + 0x60d02484], cl
add byte [eax], al
mov dword [esp + 0x60d0], eax
movsd xmm0, qword [esp + 0x60c8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x60c0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xd9c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xd9c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xda4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xda0], eax
call fcn.00409d40
mov ecx, dword [esp + 0xda0]
mov dl, al
mov eax, dword [esp + 0xda4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c419
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xd90], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xd90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd94], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xd94]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xd98], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xd98]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c414
mov dword [esp + 0x60bc], 0
cmp dword [esp + 0x60bc], 9
jae 0x75c40f
movsd xmm0, qword [esp + 0x60c0]
cvtsi2sd xmm1, dword [esp + 0x60bc]
addsd xmm0, xmm1
movsd qword [esp + 0xd88], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xd88]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75c371
jp 0x75c371
movsd xmm0, qword [esp + 0x60c0]
movsd qword [esp + 0x60c0], xmm0
jmp 0x75c219
movsd xmm0, qword [esp + 0x60c0]
cvtsi2sd xmm1, dword [esp + 0x60bc]
addsd xmm0, xmm1
movsd qword [esp + 0xd80], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xd80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75c3ff
jp 0x75c3ff
mov eax, dword [esp + 0x60bc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x60c0]
addsd xmm0, xmm1
movsd qword [esp + 0x60c0], xmm0
movsd xmm0, qword [esp + 0x60c0]
cvtsi2sd xmm1, dword [esp + 0x60bc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x60d0], eax
jmp 0x75c4cb
mov dword [esp + 0x60d0], 2
jmp 0x75c4cb
jmp 0x75c219
jmp 0x75c41e
jmp 0x75c41e
movsd xmm0, qword [esp + 0x60c0]
movsd qword [esp + 0xd70], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xd68], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xd68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd7c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xd6c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xd6c]
movsd xmm0, qword [esp + 0xd70]
mov dl, al
mov eax, dword [esp + 0xd7c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x60d0], eax
mov edx, dword [esp + 0xda8]
xor edx, dword [esp + 0x60d0]
mov eax, dword [esp + 0x60b8]
mov ecx, dword [esp + 0x60b4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x60b4]
add eax, 1
mov dword [esp + 0x60b4], eax
jmp 0x75af48
jmp 0x75c505
mov eax, dword [esp + 0xf4c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a8c], eax
lea ecx, [esp + 0x4a83]
call fcn.00767d8a
mov dword [esp + 0x4c4c], eax
mov eax, dword [esp + 0x4c4c]
mov dword [esp + 0x5f7c], eax
mov eax, dword [esp + 0x5f7c]
mov dword [esp + 0xd64], eax
test byte [eax + 4], 1
jne 0x75db28
mov eax, dword [esp + 0xd64]
mov dword [esp + 0x6020], eax
mov dword [esp + 0x601c], 0
cmp dword [esp + 0x601c], 1
jae 0x75db23
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xd58], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xd58]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd5c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xd5c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xd60], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xd60]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c920
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xd54], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x60a8], xmm0
xor eax, eax
je 0x75c619
add byte [ecx + 0x60b02484], cl
add byte [eax], al
mov dword [esp + 0x60b0], eax
movsd xmm0, qword [esp + 0x60a8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x60a0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xd48], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xd48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd50], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xd4c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xd4c]
mov dl, al
mov eax, dword [esp + 0xd50]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c84f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xd3c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xd3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd40], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xd40]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xd44], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xd44]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75c84a
mov dword [esp + 0x609c], 0
cmp dword [esp + 0x609c], 9
jae 0x75c845
movsd xmm0, qword [esp + 0x60a0]
cvtsi2sd xmm1, dword [esp + 0x609c]
addsd xmm0, xmm1
movsd qword [esp + 0xd30], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xd30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75c7a7
jp 0x75c7a7
movsd xmm0, qword [esp + 0x60a0]
movsd qword [esp + 0x60a0], xmm0
jmp 0x75c64f
movsd xmm0, qword [esp + 0x60a0]
cvtsi2sd xmm1, dword [esp + 0x609c]
addsd xmm0, xmm1
movsd qword [esp + 0xd28], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xd28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75c835
jp 0x75c835
mov eax, dword [esp + 0x609c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x60a0]
addsd xmm0, xmm1
movsd qword [esp + 0x60a0], xmm0
movsd xmm0, qword [esp + 0x60a0]
cvtsi2sd xmm1, dword [esp + 0x609c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x60b0], eax
jmp 0x75c901
mov dword [esp + 0x60b0], 2
jmp 0x75c901
jmp 0x75c64f
jmp 0x75c854
jmp 0x75c854
movsd xmm0, qword [esp + 0x60a0]
movsd qword [esp + 0xd18], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xd10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xd10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xd14], eax
call fcn.00409d40
mov ecx, dword [esp + 0xd14]
movsd xmm0, qword [esp + 0xd18]
mov dl, al
mov eax, dword [esp + 0xd24]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x60b0], eax
mov edx, dword [esp + 0xd54]
xor edx, dword [esp + 0x60b0]
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xd04], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xd04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd0c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0xd08], eax
call fcn.00409d40
mov ecx, dword [esp + 0xd08]
mov dl, al
mov eax, dword [esp + 0xd0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d766
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xcf8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xcf8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xcfc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xcfc]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xd00], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xd00]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75cd40
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xcf4], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x6090], xmm0
xor eax, eax
je 0x75ca39
add byte [ecx + 0x60982484], cl
add byte [eax], al
mov dword [esp + 0x6098], eax
movsd xmm0, qword [esp + 0x6090]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6088], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xce8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xce8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xcf0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xcec], eax
call fcn.00409d40
mov ecx, dword [esp + 0xcec]
mov dl, al
mov eax, dword [esp + 0xcf0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75cc6f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xcdc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xcdc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xce0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xce0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xce4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xce4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75cc6a
mov dword [esp + 0x6084], 0
cmp dword [esp + 0x6084], 9
jae 0x75cc65
movsd xmm0, qword [esp + 0x6088]
cvtsi2sd xmm1, dword [esp + 0x6084]
addsd xmm0, xmm1
movsd qword [esp + 0xcd0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xcd0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75cbc7
jp 0x75cbc7
movsd xmm0, qword [esp + 0x6088]
movsd qword [esp + 0x6088], xmm0
jmp 0x75ca6f
movsd xmm0, qword [esp + 0x6088]
cvtsi2sd xmm1, dword [esp + 0x6084]
addsd xmm0, xmm1
movsd qword [esp + 0xcc8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xcc8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75cc55
jp 0x75cc55
mov eax, dword [esp + 0x6084]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6088]
addsd xmm0, xmm1
movsd qword [esp + 0x6088], xmm0
movsd xmm0, qword [esp + 0x6088]
cvtsi2sd xmm1, dword [esp + 0x6084]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6098], eax
jmp 0x75cd21
mov dword [esp + 0x6098], 2
jmp 0x75cd21
jmp 0x75ca6f
jmp 0x75cc74
jmp 0x75cc74
movsd xmm0, qword [esp + 0x6088]
movsd qword [esp + 0xcb8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xcb0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xcb0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xcc4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xcb4], eax
call fcn.00409d40
mov ecx, dword [esp + 0xcb4]
movsd xmm0, qword [esp + 0xcb8]
mov dl, al
mov eax, dword [esp + 0xcc4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6098], eax
mov edx, dword [esp + 0xcf4]
xor edx, dword [esp + 0x6098]
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xca4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xca4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xca8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xca8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xcac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xcac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d0e7
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xca0], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x6078], xmm0
xor eax, eax
je 0x75cde0
add byte [ecx + 0x60802484], cl
add byte [eax], al
mov dword [esp + 0x6080], eax
movsd xmm0, qword [esp + 0x6078]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6070], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xc94], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xc94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc9c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xc98], eax
call fcn.00409d40
mov ecx, dword [esp + 0xc98]
mov dl, al
mov eax, dword [esp + 0xc9c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d016
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xc88], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xc88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc8c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xc8c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xc90], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xc90]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d011
mov dword [esp + 0x606c], 0
cmp dword [esp + 0x606c], 9
jae 0x75d00c
movsd xmm0, qword [esp + 0x6070]
cvtsi2sd xmm1, dword [esp + 0x606c]
addsd xmm0, xmm1
movsd qword [esp + 0xc80], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xc80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75cf6e
jp 0x75cf6e
movsd xmm0, qword [esp + 0x6070]
movsd qword [esp + 0x6070], xmm0
jmp 0x75ce16
movsd xmm0, qword [esp + 0x6070]
cvtsi2sd xmm1, dword [esp + 0x606c]
addsd xmm0, xmm1
movsd qword [esp + 0xc78], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xc78]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75cffc
jp 0x75cffc
mov eax, dword [esp + 0x606c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6070]
addsd xmm0, xmm1
movsd qword [esp + 0x6070], xmm0
movsd xmm0, qword [esp + 0x6070]
cvtsi2sd xmm1, dword [esp + 0x606c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6080], eax
jmp 0x75d0c8
mov dword [esp + 0x6080], 2
jmp 0x75d0c8
jmp 0x75ce16
jmp 0x75d01b
jmp 0x75d01b
movsd xmm0, qword [esp + 0x6070]
movsd qword [esp + 0xc68], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xc60], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xc60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc74], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xc64], eax
call fcn.00409d40
mov ecx, dword [esp + 0xc64]
movsd xmm0, qword [esp + 0xc68]
mov dl, al
mov eax, dword [esp + 0xc74]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6080], eax
mov edx, dword [esp + 0xca0]
xor edx, dword [esp + 0x6080]
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc5c], eax
mov eax, dword [esp + 0x601c]
add eax, 0x66
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6060], xmm0
xor eax, eax
je 0x75d11f
add byte [ecx + 0x60682484], cl
add byte [eax], al
mov dword [esp + 0x6068], eax
movsd xmm0, qword [esp + 0x6060]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6058], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xc50], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xc50]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc58], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xc54], eax
call fcn.00409d40
mov ecx, dword [esp + 0xc54]
mov dl, al
mov eax, dword [esp + 0xc58]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d355
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xc44], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xc44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc48], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xc48]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xc4c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xc4c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d350
mov dword [esp + 0x6054], 0
cmp dword [esp + 0x6054], 9
jae 0x75d34b
movsd xmm0, qword [esp + 0x6058]
cvtsi2sd xmm1, dword [esp + 0x6054]
addsd xmm0, xmm1
movsd qword [esp + 0xc38], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xc38]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75d2ad
jp 0x75d2ad
movsd xmm0, qword [esp + 0x6058]
movsd qword [esp + 0x6058], xmm0
jmp 0x75d155
movsd xmm0, qword [esp + 0x6058]
cvtsi2sd xmm1, dword [esp + 0x6054]
addsd xmm0, xmm1
movsd qword [esp + 0xc30], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xc30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75d33b
jp 0x75d33b
mov eax, dword [esp + 0x6054]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6058]
addsd xmm0, xmm1
movsd qword [esp + 0x6058], xmm0
movsd xmm0, qword [esp + 0x6058]
cvtsi2sd xmm1, dword [esp + 0x6054]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6068], eax
jmp 0x75d407
mov dword [esp + 0x6068], 2
jmp 0x75d407
jmp 0x75d155
jmp 0x75d35a
jmp 0x75d35a
movsd xmm0, qword [esp + 0x6058]
movsd qword [esp + 0xc20], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xc18], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xc18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc2c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xc1c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xc1c]
movsd xmm0, qword [esp + 0xc20]
mov dl, al
mov eax, dword [esp + 0xc2c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6068], eax
mov eax, dword [esp + 0xc5c]
add eax, dword [esp + 0x6068]
mov dword [esp + 0xc10], eax
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc14], eax
mov eax, dword [esp + 0x601c]
add eax, 0x66
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6048], xmm0
xor eax, eax
je 0x75d454
add byte [ecx + 0x60502484], cl
add byte [eax], al
mov dword [esp + 0x6050], eax
movsd xmm0, qword [esp + 0x6048]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6040], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xc04], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xc04]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xc0c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xc08], eax
call fcn.00409d40
mov ecx, dword [esp + 0xc08]
mov dl, al
mov eax, dword [esp + 0xc0c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d68a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xbf8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xbf8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbfc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xbfc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xc00], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xc00]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75d685
mov dword [esp + 0x603c], 0
cmp dword [esp + 0x603c], 9
jae 0x75d680
movsd xmm0, qword [esp + 0x6040]
cvtsi2sd xmm1, dword [esp + 0x603c]
addsd xmm0, xmm1
movsd qword [esp + 0xbf0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xbf0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75d5e2
jp 0x75d5e2
movsd xmm0, qword [esp + 0x6040]
movsd qword [esp + 0x6040], xmm0
jmp 0x75d48a
movsd xmm0, qword [esp + 0x6040]
cvtsi2sd xmm1, dword [esp + 0x603c]
addsd xmm0, xmm1
movsd qword [esp + 0xbe8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xbe8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75d670
jp 0x75d670
mov eax, dword [esp + 0x603c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6040]
addsd xmm0, xmm1
movsd qword [esp + 0x6040], xmm0
movsd xmm0, qword [esp + 0x6040]
cvtsi2sd xmm1, dword [esp + 0x603c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6050], eax
jmp 0x75d73c
mov dword [esp + 0x6050], 2
jmp 0x75d73c
jmp 0x75d48a
jmp 0x75d68f
jmp 0x75d68f
movsd xmm0, qword [esp + 0x6040]
movsd qword [esp + 0xbd8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xbd0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xbd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbe4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xbd4], eax
call fcn.00409d40
mov ecx, dword [esp + 0xbd4]
movsd xmm0, qword [esp + 0xbd8]
mov dl, al
mov eax, dword [esp + 0xbe4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6050], eax
mov edx, dword [esp + 0xc10]
mov eax, dword [esp + 0xc14]
and eax, dword [esp + 0x6050]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xbc4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xbc4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbc8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xbc8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xbcc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xbcc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75db0d
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xbc0], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x6030], xmm0
xor eax, eax
je 0x75d806
add byte [ecx + 0x60382484], cl
add byte [eax], al
mov dword [esp + 0x6038], eax
movsd xmm0, qword [esp + 0x6030]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6028], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xbb4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xbb4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbbc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xbb8], eax
call fcn.00409d40
mov ecx, dword [esp + 0xbb8]
mov dl, al
mov eax, dword [esp + 0xbbc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75da3c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xba8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xba8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbac], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xbac]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xbb0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xbb0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75da37
mov dword [esp + 0x6024], 0
cmp dword [esp + 0x6024], 9
jae 0x75da32
movsd xmm0, qword [esp + 0x6028]
cvtsi2sd xmm1, dword [esp + 0x6024]
addsd xmm0, xmm1
movsd qword [esp + 0xba0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xba0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75d994
jp 0x75d994
movsd xmm0, qword [esp + 0x6028]
movsd qword [esp + 0x6028], xmm0
jmp 0x75d83c
movsd xmm0, qword [esp + 0x6028]
cvtsi2sd xmm1, dword [esp + 0x6024]
addsd xmm0, xmm1
movsd qword [esp + 0xb98], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xb98]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75da22
jp 0x75da22
mov eax, dword [esp + 0x6024]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6028]
addsd xmm0, xmm1
movsd qword [esp + 0x6028], xmm0
movsd xmm0, qword [esp + 0x6028]
cvtsi2sd xmm1, dword [esp + 0x6024]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6038], eax
jmp 0x75daee
mov dword [esp + 0x6038], 2
jmp 0x75daee
jmp 0x75d83c
jmp 0x75da41
jmp 0x75da41
movsd xmm0, qword [esp + 0x6028]
movsd qword [esp + 0xb88], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xb80], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xb80]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb94], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xb84], eax
call fcn.00409d40
mov ecx, dword [esp + 0xb84]
movsd xmm0, qword [esp + 0xb88]
mov dl, al
mov eax, dword [esp + 0xb94]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6038], eax
mov edx, dword [esp + 0xbc0]
xor edx, dword [esp + 0x6038]
mov eax, dword [esp + 0x6020]
mov ecx, dword [esp + 0x601c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x601c]
add eax, 1
mov dword [esp + 0x601c], eax
jmp 0x75c56b
jmp 0x75db28
mov eax, dword [esp + 0xd64]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a84], eax
mov eax, dword [esp + 0x4a8c]
mov dword [esp + 0x4a94], eax
cmp eax, 0
je 0x764a1e
lea ecx, [esp + 0x4a82]
call fcn.00767e78
mov dword [esp + 0x4c48], eax
mov eax, dword [esp + 0x4c48]
mov dword [esp + 0x5f80], eax
mov eax, dword [esp + 0x5f80]
mov dword [esp + 0xb7c], eax
test byte [eax + 4], 1
jne 0x75f162
mov eax, dword [esp + 0xb7c]
mov dword [esp + 0x5f88], eax
mov dword [esp + 0x5f84], 0
cmp dword [esp + 0x5f84], 1
jae 0x75f15d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xb70], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xb70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb74], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xb74]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xb78], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xb78]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75df5a
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xb6c], eax
movsd xmm0, qword [0x786a38]
movsd qword [esp + 0x6010], xmm0
xor eax, eax
je 0x75dc53
add byte [ecx + 0x60182484], cl
add byte [eax], al
mov dword [esp + 0x6018], eax
movsd xmm0, qword [esp + 0x6010]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6008], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xb60], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xb60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb68], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xb64], eax
call fcn.00409d40
mov ecx, dword [esp + 0xb64]
mov dl, al
mov eax, dword [esp + 0xb68]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75de89
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xb54], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xb54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb58], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xb58]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xb5c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xb5c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75de84
mov dword [esp + 0x6004], 0
cmp dword [esp + 0x6004], 9
jae 0x75de7f
movsd xmm0, qword [esp + 0x6008]
cvtsi2sd xmm1, dword [esp + 0x6004]
addsd xmm0, xmm1
movsd qword [esp + 0xb48], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xb48]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75dde1
jp 0x75dde1
movsd xmm0, qword [esp + 0x6008]
movsd qword [esp + 0x6008], xmm0
jmp 0x75dc89
movsd xmm0, qword [esp + 0x6008]
cvtsi2sd xmm1, dword [esp + 0x6004]
addsd xmm0, xmm1
movsd qword [esp + 0xb40], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xb40]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75de6f
jp 0x75de6f
mov eax, dword [esp + 0x6004]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6008]
addsd xmm0, xmm1
movsd qword [esp + 0x6008], xmm0
movsd xmm0, qword [esp + 0x6008]
cvtsi2sd xmm1, dword [esp + 0x6004]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6018], eax
jmp 0x75df3b
mov dword [esp + 0x6018], 2
jmp 0x75df3b
jmp 0x75dc89
jmp 0x75de8e
jmp 0x75de8e
movsd xmm0, qword [esp + 0x6008]
movsd qword [esp + 0xb30], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xb28], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xb28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb3c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xb2c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xb2c]
movsd xmm0, qword [esp + 0xb30]
mov dl, al
mov eax, dword [esp + 0xb3c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6018], eax
mov edx, dword [esp + 0xb6c]
xor edx, dword [esp + 0x6018]
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xb1c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xb1c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb24], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0xb20], eax
call fcn.00409d40
mov ecx, dword [esp + 0xb20]
mov dl, al
mov eax, dword [esp + 0xb24]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75eda0
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xb10], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xb10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb14], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xb14]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xb18], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xb18]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e37a
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xb0c], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x5ff8], xmm0
xor eax, eax
je 0x75e073
add byte [ecx + 0x60002484], cl
add byte [eax], al
mov dword [esp + 0x6000], eax
movsd xmm0, qword [esp + 0x5ff8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5ff0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xb00], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xb00]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb08], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xb04], eax
call fcn.00409d40
mov ecx, dword [esp + 0xb04]
mov dl, al
mov eax, dword [esp + 0xb08]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e2a9
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xaf4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xaf4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xaf8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xaf8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xafc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xafc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e2a4
mov dword [esp + 0x5fec], 0
cmp dword [esp + 0x5fec], 9
jae 0x75e29f
movsd xmm0, qword [esp + 0x5ff0]
cvtsi2sd xmm1, dword [esp + 0x5fec]
addsd xmm0, xmm1
movsd qword [esp + 0xae8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xae8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75e201
jp 0x75e201
movsd xmm0, qword [esp + 0x5ff0]
movsd qword [esp + 0x5ff0], xmm0
jmp 0x75e0a9
movsd xmm0, qword [esp + 0x5ff0]
cvtsi2sd xmm1, dword [esp + 0x5fec]
addsd xmm0, xmm1
movsd qword [esp + 0xae0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xae0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75e28f
jp 0x75e28f
mov eax, dword [esp + 0x5fec]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5ff0]
addsd xmm0, xmm1
movsd qword [esp + 0x5ff0], xmm0
movsd xmm0, qword [esp + 0x5ff0]
cvtsi2sd xmm1, dword [esp + 0x5fec]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6000], eax
jmp 0x75e35b
mov dword [esp + 0x6000], 2
jmp 0x75e35b
jmp 0x75e0a9
jmp 0x75e2ae
jmp 0x75e2ae
movsd xmm0, qword [esp + 0x5ff0]
movsd qword [esp + 0xad0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xac8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xac8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xadc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xacc], eax
call fcn.00409d40
mov ecx, dword [esp + 0xacc]
movsd xmm0, qword [esp + 0xad0]
mov dl, al
mov eax, dword [esp + 0xadc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6000], eax
mov edx, dword [esp + 0xb0c]
xor edx, dword [esp + 0x6000]
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xabc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xabc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xac0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xac0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xac4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xac4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e721
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xab8], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x5fe0], xmm0
xor eax, eax
je 0x75e41a
add byte [ecx + 0x5fe82484], cl
add byte [eax], al
mov dword [esp + 0x5fe8], eax
movsd xmm0, qword [esp + 0x5fe0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5fd8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xaac], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xaac]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xab4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xab0], eax
call fcn.00409d40
mov ecx, dword [esp + 0xab0]
mov dl, al
mov eax, dword [esp + 0xab4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e650
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xaa0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xaa0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xaa4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xaa4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xaa8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xaa8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e64b
mov dword [esp + 0x5fd4], 0
cmp dword [esp + 0x5fd4], 9
jae 0x75e646
movsd xmm0, qword [esp + 0x5fd8]
cvtsi2sd xmm1, dword [esp + 0x5fd4]
addsd xmm0, xmm1
movsd qword [esp + 0xa98], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xa98]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75e5a8
jp 0x75e5a8
movsd xmm0, qword [esp + 0x5fd8]
movsd qword [esp + 0x5fd8], xmm0
jmp 0x75e450
movsd xmm0, qword [esp + 0x5fd8]
cvtsi2sd xmm1, dword [esp + 0x5fd4]
addsd xmm0, xmm1
movsd qword [esp + 0xa90], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xa90]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75e636
jp 0x75e636
mov eax, dword [esp + 0x5fd4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5fd8]
addsd xmm0, xmm1
movsd qword [esp + 0x5fd8], xmm0
movsd xmm0, qword [esp + 0x5fd8]
cvtsi2sd xmm1, dword [esp + 0x5fd4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fe8], eax
jmp 0x75e702
mov dword [esp + 0x5fe8], 2
jmp 0x75e702
jmp 0x75e450
jmp 0x75e655
jmp 0x75e655
movsd xmm0, qword [esp + 0x5fd8]
movsd qword [esp + 0xa80], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xa78], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xa78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa8c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xa7c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xa7c]
movsd xmm0, qword [esp + 0xa80]
mov dl, al
mov eax, dword [esp + 0xa8c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fe8], eax
mov edx, dword [esp + 0xab8]
xor edx, dword [esp + 0x5fe8]
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa74], eax
mov eax, dword [esp + 0x5f84]
add eax, 0x66
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5fc8], xmm0
xor eax, eax
je 0x75e759
add byte [ecx + 0x5fd02484], cl
add byte [eax], al
mov dword [esp + 0x5fd0], eax
movsd xmm0, qword [esp + 0x5fc8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5fc0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xa68], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xa68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa70], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xa6c], eax
call fcn.00409d40
mov ecx, dword [esp + 0xa6c]
mov dl, al
mov eax, dword [esp + 0xa70]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e98f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xa5c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xa5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa60], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xa60]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xa64], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xa64]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75e98a
mov dword [esp + 0x5fbc], 0
cmp dword [esp + 0x5fbc], 9
jae 0x75e985
movsd xmm0, qword [esp + 0x5fc0]
cvtsi2sd xmm1, dword [esp + 0x5fbc]
addsd xmm0, xmm1
movsd qword [esp + 0xa50], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xa50]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75e8e7
jp 0x75e8e7
movsd xmm0, qword [esp + 0x5fc0]
movsd qword [esp + 0x5fc0], xmm0
jmp 0x75e78f
movsd xmm0, qword [esp + 0x5fc0]
cvtsi2sd xmm1, dword [esp + 0x5fbc]
addsd xmm0, xmm1
movsd qword [esp + 0xa48], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xa48]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75e975
jp 0x75e975
mov eax, dword [esp + 0x5fbc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5fc0]
addsd xmm0, xmm1
movsd qword [esp + 0x5fc0], xmm0
movsd xmm0, qword [esp + 0x5fc0]
cvtsi2sd xmm1, dword [esp + 0x5fbc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fd0], eax
jmp 0x75ea41
mov dword [esp + 0x5fd0], 2
jmp 0x75ea41
jmp 0x75e78f
jmp 0x75e994
jmp 0x75e994
movsd xmm0, qword [esp + 0x5fc0]
movsd qword [esp + 0xa38], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xa30], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xa30]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa44], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xa34], eax
call fcn.00409d40
mov ecx, dword [esp + 0xa34]
movsd xmm0, qword [esp + 0xa38]
mov dl, al
mov eax, dword [esp + 0xa44]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fd0], eax
mov eax, dword [esp + 0xa74]
add eax, dword [esp + 0x5fd0]
mov dword [esp + 0xa28], eax
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa2c], eax
mov eax, dword [esp + 0x5f84]
add eax, 0x66
cvtsi2sd xmm0, eax
movsd qword [esp + 0x5fb0], xmm0
xor eax, eax
je 0x75ea8e
add byte [ecx + 0x5fb82484], cl
add byte [eax], al
mov dword [esp + 0x5fb8], eax
movsd xmm0, qword [esp + 0x5fb0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5fa8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xa1c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xa1c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xa20], eax
call fcn.00409d40
mov ecx, dword [esp + 0xa20]
mov dl, al
mov eax, dword [esp + 0xa24]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75ecc4
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xa10], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xa10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa14], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xa14]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xa18], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xa18]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75ecbf
mov dword [esp + 0x5fa4], 0
cmp dword [esp + 0x5fa4], 9
jae 0x75ecba
movsd xmm0, qword [esp + 0x5fa8]
cvtsi2sd xmm1, dword [esp + 0x5fa4]
addsd xmm0, xmm1
movsd qword [esp + 0xa08], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xa08]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75ec1c
jp 0x75ec1c
movsd xmm0, qword [esp + 0x5fa8]
movsd qword [esp + 0x5fa8], xmm0
jmp 0x75eac4
movsd xmm0, qword [esp + 0x5fa8]
cvtsi2sd xmm1, dword [esp + 0x5fa4]
addsd xmm0, xmm1
movsd qword [esp + 0xa00], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xa00]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75ecaa
jp 0x75ecaa
mov eax, dword [esp + 0x5fa4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5fa8]
addsd xmm0, xmm1
movsd qword [esp + 0x5fa8], xmm0
movsd xmm0, qword [esp + 0x5fa8]
cvtsi2sd xmm1, dword [esp + 0x5fa4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fb8], eax
jmp 0x75ed76
mov dword [esp + 0x5fb8], 2
jmp 0x75ed76
jmp 0x75eac4
jmp 0x75ecc9
jmp 0x75ecc9
movsd xmm0, qword [esp + 0x5fa8]
movsd qword [esp + 0x9f0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x9e8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x9e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x9ec], eax
call fcn.00409d40
mov ecx, dword [esp + 0x9ec]
movsd xmm0, qword [esp + 0x9f0]
mov dl, al
mov eax, dword [esp + 0x9fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fb8], eax
mov edx, dword [esp + 0xa28]
mov eax, dword [esp + 0xa2c]
and eax, dword [esp + 0x5fb8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x9dc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x9dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9e0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x9e0]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x9e4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x9e4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f147
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x9d8], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x5f98], xmm0
xor eax, eax
je 0x75ee40
add byte [ecx + 0x5fa02484], cl
add byte [eax], al
mov dword [esp + 0x5fa0], eax
movsd xmm0, qword [esp + 0x5f98]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x5f90], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x9cc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x9cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x9d0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x9d0]
mov dl, al
mov eax, dword [esp + 0x9d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f076
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x9c0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x9c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9c4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x9c4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x9c8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x9c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f071
mov dword [esp + 0x5f8c], 0
cmp dword [esp + 0x5f8c], 9
jae 0x75f06c
movsd xmm0, qword [esp + 0x5f90]
cvtsi2sd xmm1, dword [esp + 0x5f8c]
addsd xmm0, xmm1
movsd qword [esp + 0x9b8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x9b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75efce
jp 0x75efce
movsd xmm0, qword [esp + 0x5f90]
movsd qword [esp + 0x5f90], xmm0
jmp 0x75ee76
movsd xmm0, qword [esp + 0x5f90]
cvtsi2sd xmm1, dword [esp + 0x5f8c]
addsd xmm0, xmm1
movsd qword [esp + 0x9b0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x9b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75f05c
jp 0x75f05c
mov eax, dword [esp + 0x5f8c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x5f90]
addsd xmm0, xmm1
movsd qword [esp + 0x5f90], xmm0
movsd xmm0, qword [esp + 0x5f90]
cvtsi2sd xmm1, dword [esp + 0x5f8c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fa0], eax
jmp 0x75f128
mov dword [esp + 0x5fa0], 2
jmp 0x75f128
jmp 0x75ee76
jmp 0x75f07b
jmp 0x75f07b
movsd xmm0, qword [esp + 0x5f90]
movsd qword [esp + 0x9a0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x998], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x998]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9ac], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x99c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x99c]
movsd xmm0, qword [esp + 0x9a0]
mov dl, al
mov eax, dword [esp + 0x9ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x5fa0], eax
mov edx, dword [esp + 0x9d8]
xor edx, dword [esp + 0x5fa0]
mov eax, dword [esp + 0x5f88]
mov ecx, dword [esp + 0x5f84]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x5f84]
add eax, 1
mov dword [esp + 0x5f84], eax
jmp 0x75dba5
jmp 0x75f162
mov eax, dword [esp + 0xb7c]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a84], eax
lea ecx, [esp + 0x4a7b]
call fcn.00767f66
mov dword [esp + 0x4c58], eax
mov eax, dword [esp + 0x4c58]
mov dword [esp + 0x614c], eax
mov eax, dword [esp + 0x614c]
mov dword [esp + 0x994], eax
test byte [eax + 4], 1
jne 0x760785
mov eax, dword [esp + 0x994]
mov dword [esp + 0x61f0], eax
mov dword [esp + 0x61ec], 0
cmp dword [esp + 0x61ec], 1
jae 0x760780
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x988], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x988]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x98c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x98c]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x990], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x990]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f57d
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x984], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x6278], xmm0
xor eax, eax
je 0x75f276
add byte [ecx + 0x62802484], cl
add byte [eax], al
mov dword [esp + 0x6280], eax
movsd xmm0, qword [esp + 0x6278]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6270], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x978], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x978]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x980], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x97c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x97c]
mov dl, al
mov eax, dword [esp + 0x980]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f4ac
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x96c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x96c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x970], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x970]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x974], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x974]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f4a7
mov dword [esp + 0x626c], 0
cmp dword [esp + 0x626c], 9
jae 0x75f4a2
movsd xmm0, qword [esp + 0x6270]
cvtsi2sd xmm1, dword [esp + 0x626c]
addsd xmm0, xmm1
movsd qword [esp + 0x960], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x960]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75f404
jp 0x75f404
movsd xmm0, qword [esp + 0x6270]
movsd qword [esp + 0x6270], xmm0
jmp 0x75f2ac
movsd xmm0, qword [esp + 0x6270]
cvtsi2sd xmm1, dword [esp + 0x626c]
addsd xmm0, xmm1
movsd qword [esp + 0x958], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x958]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75f492
jp 0x75f492
mov eax, dword [esp + 0x626c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6270]
addsd xmm0, xmm1
movsd qword [esp + 0x6270], xmm0
movsd xmm0, qword [esp + 0x6270]
cvtsi2sd xmm1, dword [esp + 0x626c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6280], eax
jmp 0x75f55e
mov dword [esp + 0x6280], 2
jmp 0x75f55e
jmp 0x75f2ac
jmp 0x75f4b1
jmp 0x75f4b1
movsd xmm0, qword [esp + 0x6270]
movsd qword [esp + 0x948], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x940], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x940]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x954], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x944], eax
call fcn.00409d40
mov ecx, dword [esp + 0x944]
movsd xmm0, qword [esp + 0x948]
mov dl, al
mov eax, dword [esp + 0x954]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6280], eax
mov edx, dword [esp + 0x984]
xor edx, dword [esp + 0x6280]
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x934], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x934]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x93c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x938], eax
call fcn.00409d40
mov ecx, dword [esp + 0x938]
mov dl, al
mov eax, dword [esp + 0x93c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7603c3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x928], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x928]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x92c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x92c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x930], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x930]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f99d
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x924], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x6260], xmm0
xor eax, eax
je 0x75f696
add byte [ecx + 0x62682484], cl
add byte [eax], al
mov dword [esp + 0x6268], eax
movsd xmm0, qword [esp + 0x6260]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6258], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x918], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x918]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x920], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x91c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x91c]
mov dl, al
mov eax, dword [esp + 0x920]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f8cc
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x90c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x90c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x910], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x910]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x914], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x914]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75f8c7
mov dword [esp + 0x6254], 0
cmp dword [esp + 0x6254], 9
jae 0x75f8c2
movsd xmm0, qword [esp + 0x6258]
cvtsi2sd xmm1, dword [esp + 0x6254]
addsd xmm0, xmm1
movsd qword [esp + 0x900], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x900]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75f824
jp 0x75f824
movsd xmm0, qword [esp + 0x6258]
movsd qword [esp + 0x6258], xmm0
jmp 0x75f6cc
movsd xmm0, qword [esp + 0x6258]
cvtsi2sd xmm1, dword [esp + 0x6254]
addsd xmm0, xmm1
movsd qword [esp + 0x8f8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x8f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75f8b2
jp 0x75f8b2
mov eax, dword [esp + 0x6254]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6258]
addsd xmm0, xmm1
movsd qword [esp + 0x6258], xmm0
movsd xmm0, qword [esp + 0x6258]
cvtsi2sd xmm1, dword [esp + 0x6254]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6268], eax
jmp 0x75f97e
mov dword [esp + 0x6268], 2
jmp 0x75f97e
jmp 0x75f6cc
jmp 0x75f8d1
jmp 0x75f8d1
movsd xmm0, qword [esp + 0x6258]
movsd qword [esp + 0x8e8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x8e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x8e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x8f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x8e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x8e4]
movsd xmm0, qword [esp + 0x8e8]
mov dl, al
mov eax, dword [esp + 0x8f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6268], eax
mov edx, dword [esp + 0x924]
xor edx, dword [esp + 0x6268]
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x8d4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x8d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x8d8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x8d8]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x8dc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x8dc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75fd44
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x8d0], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x6248], xmm0
xor eax, eax
je 0x75fa3d
add byte [ecx + 0x62502484], cl
add byte [eax], al
mov dword [esp + 0x6250], eax
movsd xmm0, qword [esp + 0x6248]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6240], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x8c4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x8c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x8cc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x8c8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x8c8]
mov dl, al
mov eax, dword [esp + 0x8cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75fc73
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x8b8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x8b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x8bc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x8bc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x8c0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x8c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75fc6e
mov dword [esp + 0x623c], 0
cmp dword [esp + 0x623c], 9
jae 0x75fc69
movsd xmm0, qword [esp + 0x6240]
cvtsi2sd xmm1, dword [esp + 0x623c]
addsd xmm0, xmm1
movsd qword [esp + 0x8b0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x8b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75fbcb
jp 0x75fbcb
movsd xmm0, qword [esp + 0x6240]
movsd qword [esp + 0x6240], xmm0
jmp 0x75fa73
movsd xmm0, qword [esp + 0x6240]
cvtsi2sd xmm1, dword [esp + 0x623c]
addsd xmm0, xmm1
movsd qword [esp + 0x8a8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x8a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75fc59
jp 0x75fc59
mov eax, dword [esp + 0x623c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6240]
addsd xmm0, xmm1
movsd qword [esp + 0x6240], xmm0
movsd xmm0, qword [esp + 0x6240]
cvtsi2sd xmm1, dword [esp + 0x623c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6250], eax
jmp 0x75fd25
mov dword [esp + 0x6250], 2
jmp 0x75fd25
jmp 0x75fa73
jmp 0x75fc78
jmp 0x75fc78
movsd xmm0, qword [esp + 0x6240]
movsd qword [esp + 0x898], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x890], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x890]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x8a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x894], eax
call fcn.00409d40
mov ecx, dword [esp + 0x894]
movsd xmm0, qword [esp + 0x898]
mov dl, al
mov eax, dword [esp + 0x8a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6250], eax
mov edx, dword [esp + 0x8d0]
xor edx, dword [esp + 0x6250]
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x88c], eax
mov eax, dword [esp + 0x61ec]
add eax, 0x67
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6230], xmm0
xor eax, eax
je 0x75fd7c
add byte [ecx + 0x62382484], cl
add byte [eax], al
mov dword [esp + 0x6238], eax
movsd xmm0, qword [esp + 0x6230]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6228], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x880], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x880]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x888], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x884], eax
call fcn.00409d40
mov ecx, dword [esp + 0x884]
mov dl, al
mov eax, dword [esp + 0x888]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75ffb2
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x874], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x874]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x878], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x878]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x87c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x87c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x75ffad
mov dword [esp + 0x6224], 0
cmp dword [esp + 0x6224], 9
jae 0x75ffa8
movsd xmm0, qword [esp + 0x6228]
cvtsi2sd xmm1, dword [esp + 0x6224]
addsd xmm0, xmm1
movsd qword [esp + 0x868], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x868]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75ff0a
jp 0x75ff0a
movsd xmm0, qword [esp + 0x6228]
movsd qword [esp + 0x6228], xmm0
jmp 0x75fdb2
movsd xmm0, qword [esp + 0x6228]
cvtsi2sd xmm1, dword [esp + 0x6224]
addsd xmm0, xmm1
movsd qword [esp + 0x860], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x860]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x75ff98
jp 0x75ff98
mov eax, dword [esp + 0x6224]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6228]
addsd xmm0, xmm1
movsd qword [esp + 0x6228], xmm0
movsd xmm0, qword [esp + 0x6228]
cvtsi2sd xmm1, dword [esp + 0x6224]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6238], eax
jmp 0x760064
mov dword [esp + 0x6238], 2
jmp 0x760064
jmp 0x75fdb2
jmp 0x75ffb7
jmp 0x75ffb7
movsd xmm0, qword [esp + 0x6228]
movsd qword [esp + 0x850], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x848], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x848]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x85c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x84c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x84c]
movsd xmm0, qword [esp + 0x850]
mov dl, al
mov eax, dword [esp + 0x85c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6238], eax
mov eax, dword [esp + 0x88c]
add eax, dword [esp + 0x6238]
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0x61ec]
add eax, 0x67
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6218], xmm0
xor eax, eax
je 0x7600b1
add byte [ecx + 0x62202484], cl
add byte [eax], al
mov dword [esp + 0x6220], eax
movsd xmm0, qword [esp + 0x6218]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6210], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x834], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x834]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x83c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x838], eax
call fcn.00409d40
mov ecx, dword [esp + 0x838]
mov dl, al
mov eax, dword [esp + 0x83c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7602e7
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x828], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x828]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x82c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x82c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x830], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x830]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7602e2
mov dword [esp + 0x620c], 0
cmp dword [esp + 0x620c], 9
jae 0x7602dd
movsd xmm0, qword [esp + 0x6210]
cvtsi2sd xmm1, dword [esp + 0x620c]
addsd xmm0, xmm1
movsd qword [esp + 0x820], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x820]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76023f
jp 0x76023f
movsd xmm0, qword [esp + 0x6210]
movsd qword [esp + 0x6210], xmm0
jmp 0x7600e7
movsd xmm0, qword [esp + 0x6210]
cvtsi2sd xmm1, dword [esp + 0x620c]
addsd xmm0, xmm1
movsd qword [esp + 0x818], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x818]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7602cd
jp 0x7602cd
mov eax, dword [esp + 0x620c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6210]
addsd xmm0, xmm1
movsd qword [esp + 0x6210], xmm0
movsd xmm0, qword [esp + 0x6210]
cvtsi2sd xmm1, dword [esp + 0x620c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6220], eax
jmp 0x760399
mov dword [esp + 0x6220], 2
jmp 0x760399
jmp 0x7600e7
jmp 0x7602ec
jmp 0x7602ec
movsd xmm0, qword [esp + 0x6210]
movsd qword [esp + 0x808], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x800], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x800]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x814], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x804], eax
call fcn.00409d40
mov ecx, dword [esp + 0x804]
movsd xmm0, qword [esp + 0x808]
mov dl, al
mov eax, dword [esp + 0x814]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6220], eax
mov edx, dword [esp + 0x840]
mov eax, dword [esp + 0x844]
and eax, dword [esp + 0x6220]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x7f4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x7f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7f8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x7f8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x7fc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x7fc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76076a
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x7f0], eax
movsd xmm0, qword [0x786a58]
movsd qword [esp + 0x6200], xmm0
xor eax, eax
je 0x760463
add byte [ecx + 0x62082484], cl
add byte [eax], al
mov dword [esp + 0x6208], eax
movsd xmm0, qword [esp + 0x6200]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x61f8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x7e4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x7e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x7e8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x7e8]
mov dl, al
mov eax, dword [esp + 0x7ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760699
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x7d8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x7d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7dc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x7dc]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x7e0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x7e0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760694
mov dword [esp + 0x61f4], 0
cmp dword [esp + 0x61f4], 9
jae 0x76068f
movsd xmm0, qword [esp + 0x61f8]
cvtsi2sd xmm1, dword [esp + 0x61f4]
addsd xmm0, xmm1
movsd qword [esp + 0x7d0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x7d0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7605f1
jp 0x7605f1
movsd xmm0, qword [esp + 0x61f8]
movsd qword [esp + 0x61f8], xmm0
jmp 0x760499
movsd xmm0, qword [esp + 0x61f8]
cvtsi2sd xmm1, dword [esp + 0x61f4]
addsd xmm0, xmm1
movsd qword [esp + 0x7c8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x7c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76067f
jp 0x76067f
mov eax, dword [esp + 0x61f4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x61f8]
addsd xmm0, xmm1
movsd qword [esp + 0x61f8], xmm0
movsd xmm0, qword [esp + 0x61f8]
cvtsi2sd xmm1, dword [esp + 0x61f4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6208], eax
jmp 0x76074b
mov dword [esp + 0x6208], 2
jmp 0x76074b
jmp 0x760499
jmp 0x76069e
jmp 0x76069e
movsd xmm0, qword [esp + 0x61f8]
movsd qword [esp + 0x7b8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x7b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x7b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7c4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x7b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x7b4]
movsd xmm0, qword [esp + 0x7b8]
mov dl, al
mov eax, dword [esp + 0x7c4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6208], eax
mov edx, dword [esp + 0x7f0]
xor edx, dword [esp + 0x6208]
mov eax, dword [esp + 0x61f0]
mov ecx, dword [esp + 0x61ec]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x61ec]
add eax, 1
mov dword [esp + 0x61ec], eax
jmp 0x75f1c8
jmp 0x760785
mov eax, dword [esp + 0x994]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a7c], eax
lea ecx, [esp + 0x4a73]
call fcn.00768054
mov dword [esp + 0x4c54], eax
mov eax, dword [esp + 0x4c54]
mov dword [esp + 0x6150], eax
mov eax, dword [esp + 0x6150]
mov dword [esp + 0x7ac], eax
test byte [eax + 4], 1
jne 0x761da8
mov eax, dword [esp + 0x7ac]
mov dword [esp + 0x6158], eax
mov dword [esp + 0x6154], 0
cmp dword [esp + 0x6154], 1
jae 0x761da3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x7a0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x7a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7a4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x7a4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x7a8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x7a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760ba0
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x79c], eax
movsd xmm0, qword [0x786a40]
movsd qword [esp + 0x61e0], xmm0
xor eax, eax
je 0x760899
add byte [ecx + 0x61e82484], cl
add byte [eax], al
mov dword [esp + 0x61e8], eax
movsd xmm0, qword [esp + 0x61e0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x61d8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x790], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x790]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x798], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x794], eax
call fcn.00409d40
mov ecx, dword [esp + 0x794]
mov dl, al
mov eax, dword [esp + 0x798]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760acf
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x784], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x784]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x788], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x788]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x78c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x78c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760aca
mov dword [esp + 0x61d4], 0
cmp dword [esp + 0x61d4], 9
jae 0x760ac5
movsd xmm0, qword [esp + 0x61d8]
cvtsi2sd xmm1, dword [esp + 0x61d4]
addsd xmm0, xmm1
movsd qword [esp + 0x778], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x778]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x760a27
jp 0x760a27
movsd xmm0, qword [esp + 0x61d8]
movsd qword [esp + 0x61d8], xmm0
jmp 0x7608cf
movsd xmm0, qword [esp + 0x61d8]
cvtsi2sd xmm1, dword [esp + 0x61d4]
addsd xmm0, xmm1
movsd qword [esp + 0x770], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x770]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x760ab5
jp 0x760ab5
mov eax, dword [esp + 0x61d4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x61d8]
addsd xmm0, xmm1
movsd qword [esp + 0x61d8], xmm0
movsd xmm0, qword [esp + 0x61d8]
cvtsi2sd xmm1, dword [esp + 0x61d4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61e8], eax
jmp 0x760b81
mov dword [esp + 0x61e8], 2
jmp 0x760b81
jmp 0x7608cf
jmp 0x760ad4
jmp 0x760ad4
movsd xmm0, qword [esp + 0x61d8]
movsd qword [esp + 0x760], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x758], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x758]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x76c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x75c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x75c]
movsd xmm0, qword [esp + 0x760]
mov dl, al
mov eax, dword [esp + 0x76c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61e8], eax
mov edx, dword [esp + 0x79c]
xor edx, dword [esp + 0x61e8]
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x74c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x74c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x754], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x750], eax
call fcn.00409d40
mov ecx, dword [esp + 0x750]
mov dl, al
mov eax, dword [esp + 0x754]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7619e6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x740], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x740]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x744], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x744]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x748], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x748]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760fc0
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x73c], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x61c8], xmm0
xor eax, eax
je 0x760cb9
add byte [ecx + 0x61d02484], cl
add byte [eax], al
mov dword [esp + 0x61d0], eax
movsd xmm0, qword [esp + 0x61c8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x61c0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x730], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x730]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x738], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x734], eax
call fcn.00409d40
mov ecx, dword [esp + 0x734]
mov dl, al
mov eax, dword [esp + 0x738]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760eef
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x724], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x724]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x728], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x728]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x72c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x72c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x760eea
mov dword [esp + 0x61bc], 0
cmp dword [esp + 0x61bc], 9
jae 0x760ee5
movsd xmm0, qword [esp + 0x61c0]
cvtsi2sd xmm1, dword [esp + 0x61bc]
addsd xmm0, xmm1
movsd qword [esp + 0x718], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x718]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x760e47
jp 0x760e47
movsd xmm0, qword [esp + 0x61c0]
movsd qword [esp + 0x61c0], xmm0
jmp 0x760cef
movsd xmm0, qword [esp + 0x61c0]
cvtsi2sd xmm1, dword [esp + 0x61bc]
addsd xmm0, xmm1
movsd qword [esp + 0x710], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x710]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x760ed5
jp 0x760ed5
mov eax, dword [esp + 0x61bc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x61c0]
addsd xmm0, xmm1
movsd qword [esp + 0x61c0], xmm0
movsd xmm0, qword [esp + 0x61c0]
cvtsi2sd xmm1, dword [esp + 0x61bc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61d0], eax
jmp 0x760fa1
mov dword [esp + 0x61d0], 2
jmp 0x760fa1
jmp 0x760cef
jmp 0x760ef4
jmp 0x760ef4
movsd xmm0, qword [esp + 0x61c0]
movsd qword [esp + 0x700], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x6f8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x6f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x70c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x6fc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x6fc]
movsd xmm0, qword [esp + 0x700]
mov dl, al
mov eax, dword [esp + 0x70c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61d0], eax
mov edx, dword [esp + 0x73c]
xor edx, dword [esp + 0x61d0]
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x6ec], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x6ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6f0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x6f0]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6f4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x6f4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761367
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6e8], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x61b0], xmm0
xor eax, eax
je 0x761060
add byte [ecx + 0x61b82484], cl
add byte [eax], al
mov dword [esp + 0x61b8], eax
movsd xmm0, qword [esp + 0x61b0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x61a8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x6dc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x6dc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6e4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x6e0], eax
call fcn.00409d40
mov ecx, dword [esp + 0x6e0]
mov dl, al
mov eax, dword [esp + 0x6e4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761296
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x6d0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x6d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6d4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x6d4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6d8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x6d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761291
mov dword [esp + 0x61a4], 0
cmp dword [esp + 0x61a4], 9
jae 0x76128c
movsd xmm0, qword [esp + 0x61a8]
cvtsi2sd xmm1, dword [esp + 0x61a4]
addsd xmm0, xmm1
movsd qword [esp + 0x6c8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x6c8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7611ee
jp 0x7611ee
movsd xmm0, qword [esp + 0x61a8]
movsd qword [esp + 0x61a8], xmm0
jmp 0x761096
movsd xmm0, qword [esp + 0x61a8]
cvtsi2sd xmm1, dword [esp + 0x61a4]
addsd xmm0, xmm1
movsd qword [esp + 0x6c0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x6c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76127c
jp 0x76127c
mov eax, dword [esp + 0x61a4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x61a8]
addsd xmm0, xmm1
movsd qword [esp + 0x61a8], xmm0
movsd xmm0, qword [esp + 0x61a8]
cvtsi2sd xmm1, dword [esp + 0x61a4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61b8], eax
jmp 0x761348
mov dword [esp + 0x61b8], 2
jmp 0x761348
jmp 0x761096
jmp 0x76129b
jmp 0x76129b
movsd xmm0, qword [esp + 0x61a8]
movsd qword [esp + 0x6b0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x6a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x6a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6bc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x6ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x6ac]
movsd xmm0, qword [esp + 0x6b0]
mov dl, al
mov eax, dword [esp + 0x6bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61b8], eax
mov edx, dword [esp + 0x6e8]
xor edx, dword [esp + 0x61b8]
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6a4], eax
mov eax, dword [esp + 0x6154]
add eax, 0x67
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6198], xmm0
xor eax, eax
je 0x76139f
add byte [ecx + 0x61a02484], cl
add byte [eax], al
mov dword [esp + 0x61a0], eax
movsd xmm0, qword [esp + 0x6198]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6190], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x698], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x698]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6a0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x69c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x69c]
mov dl, al
mov eax, dword [esp + 0x6a0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7615d5
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x68c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x68c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x690], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x690]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x694], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x694]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7615d0
mov dword [esp + 0x618c], 0
cmp dword [esp + 0x618c], 9
jae 0x7615cb
movsd xmm0, qword [esp + 0x6190]
cvtsi2sd xmm1, dword [esp + 0x618c]
addsd xmm0, xmm1
movsd qword [esp + 0x680], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x680]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76152d
jp 0x76152d
movsd xmm0, qword [esp + 0x6190]
movsd qword [esp + 0x6190], xmm0
jmp 0x7613d5
movsd xmm0, qword [esp + 0x6190]
cvtsi2sd xmm1, dword [esp + 0x618c]
addsd xmm0, xmm1
movsd qword [esp + 0x678], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x678]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7615bb
jp 0x7615bb
mov eax, dword [esp + 0x618c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6190]
addsd xmm0, xmm1
movsd qword [esp + 0x6190], xmm0
movsd xmm0, qword [esp + 0x6190]
cvtsi2sd xmm1, dword [esp + 0x618c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61a0], eax
jmp 0x761687
mov dword [esp + 0x61a0], 2
jmp 0x761687
jmp 0x7613d5
jmp 0x7615da
jmp 0x7615da
movsd xmm0, qword [esp + 0x6190]
movsd qword [esp + 0x668], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x660], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x660]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x674], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x664], eax
call fcn.00409d40
mov ecx, dword [esp + 0x664]
movsd xmm0, qword [esp + 0x668]
mov dl, al
mov eax, dword [esp + 0x674]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x61a0], eax
mov eax, dword [esp + 0x6a4]
add eax, dword [esp + 0x61a0]
mov dword [esp + 0x658], eax
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x6154]
add eax, 0x67
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6180], xmm0
xor eax, eax
je 0x7616d4
add byte [ecx + 0x61882484], cl
add byte [eax], al
mov dword [esp + 0x6188], eax
movsd xmm0, qword [esp + 0x6180]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6178], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x64c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x64c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x654], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x650], eax
call fcn.00409d40
mov ecx, dword [esp + 0x650]
mov dl, al
mov eax, dword [esp + 0x654]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76190a
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x640], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x640]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x644], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x644]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x648], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x648]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761905
mov dword [esp + 0x6174], 0
cmp dword [esp + 0x6174], 9
jae 0x761900
movsd xmm0, qword [esp + 0x6178]
cvtsi2sd xmm1, dword [esp + 0x6174]
addsd xmm0, xmm1
movsd qword [esp + 0x638], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x638]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x761862
jp 0x761862
movsd xmm0, qword [esp + 0x6178]
movsd qword [esp + 0x6178], xmm0
jmp 0x76170a
movsd xmm0, qword [esp + 0x6178]
cvtsi2sd xmm1, dword [esp + 0x6174]
addsd xmm0, xmm1
movsd qword [esp + 0x630], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x630]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7618f0
jp 0x7618f0
mov eax, dword [esp + 0x6174]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6178]
addsd xmm0, xmm1
movsd qword [esp + 0x6178], xmm0
movsd xmm0, qword [esp + 0x6178]
cvtsi2sd xmm1, dword [esp + 0x6174]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6188], eax
jmp 0x7619bc
mov dword [esp + 0x6188], 2
jmp 0x7619bc
jmp 0x76170a
jmp 0x76190f
jmp 0x76190f
movsd xmm0, qword [esp + 0x6178]
movsd qword [esp + 0x620], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x618], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x618]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x62c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x61c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x61c]
movsd xmm0, qword [esp + 0x620]
mov dl, al
mov eax, dword [esp + 0x62c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6188], eax
mov edx, dword [esp + 0x658]
mov eax, dword [esp + 0x65c]
and eax, dword [esp + 0x6188]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x60c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x60c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x610], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x610]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x614], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x614]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761d8d
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x608], eax
movsd xmm0, qword [0x786a58]
movsd qword [esp + 0x6168], xmm0
xor eax, eax
je 0x761a86
add byte [ecx + 0x61702484], cl
add byte [eax], al
mov dword [esp + 0x6170], eax
movsd xmm0, qword [esp + 0x6168]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6160], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x5fc], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x5fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x604], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x600], eax
call fcn.00409d40
mov ecx, dword [esp + 0x600]
mov dl, al
mov eax, dword [esp + 0x604]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761cbc
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x5f0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x5f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5f4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x5f4]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5f8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x5f8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x761cb7
mov dword [esp + 0x615c], 0
cmp dword [esp + 0x615c], 9
jae 0x761cb2
movsd xmm0, qword [esp + 0x6160]
cvtsi2sd xmm1, dword [esp + 0x615c]
addsd xmm0, xmm1
movsd qword [esp + 0x5e8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x5e8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x761c14
jp 0x761c14
movsd xmm0, qword [esp + 0x6160]
movsd qword [esp + 0x6160], xmm0
jmp 0x761abc
movsd xmm0, qword [esp + 0x6160]
cvtsi2sd xmm1, dword [esp + 0x615c]
addsd xmm0, xmm1
movsd qword [esp + 0x5e0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x5e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x761ca2
jp 0x761ca2
mov eax, dword [esp + 0x615c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6160]
addsd xmm0, xmm1
movsd qword [esp + 0x6160], xmm0
movsd xmm0, qword [esp + 0x6160]
cvtsi2sd xmm1, dword [esp + 0x615c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6170], eax
jmp 0x761d6e
mov dword [esp + 0x6170], 2
jmp 0x761d6e
jmp 0x761abc
jmp 0x761cc1
jmp 0x761cc1
movsd xmm0, qword [esp + 0x6160]
movsd qword [esp + 0x5d0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x5c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x5c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5dc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x5cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x5cc]
movsd xmm0, qword [esp + 0x5d0]
mov dl, al
mov eax, dword [esp + 0x5dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6170], eax
mov edx, dword [esp + 0x608]
xor edx, dword [esp + 0x6170]
mov eax, dword [esp + 0x6158]
mov ecx, dword [esp + 0x6154]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6154]
add eax, 1
mov dword [esp + 0x6154], eax
jmp 0x7607eb
jmp 0x761da8
mov eax, dword [esp + 0x7ac]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a74], eax
lea ecx, [esp + 0x4a6b]
call fcn.00768142
mov dword [esp + 0x4c60], eax
mov eax, dword [esp + 0x4c60]
mov dword [esp + 0x6284], eax
mov eax, dword [esp + 0x6284]
mov dword [esp + 0x5c4], eax
test byte [eax + 4], 1
jne 0x7633cb
mov eax, dword [esp + 0x5c4]
mov dword [esp + 0x6328], eax
mov dword [esp + 0x6324], 0
cmp dword [esp + 0x6324], 1
jae 0x7633c6
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x5b8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x5b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5bc], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x5bc]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5c0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x5c0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7621c3
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x5b4], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x63b0], xmm0
xor eax, eax
je 0x761ebc
add byte [ecx + 0x63bc2484], cl
add byte [eax], al
mov dword [esp + 0x63bc], eax
movsd xmm0, qword [esp + 0x63b0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x63a8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x5a8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x5a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5b0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x5ac], eax
call fcn.00409d40
mov ecx, dword [esp + 0x5ac]
mov dl, al
mov eax, dword [esp + 0x5b0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7620f2
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x59c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x59c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5a0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x5a0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5a4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x5a4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7620ed
mov dword [esp + 0x63a4], 0
cmp dword [esp + 0x63a4], 9
jae 0x7620e8
movsd xmm0, qword [esp + 0x63a8]
cvtsi2sd xmm1, dword [esp + 0x63a4]
addsd xmm0, xmm1
movsd qword [esp + 0x590], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x590]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76204a
jp 0x76204a
movsd xmm0, qword [esp + 0x63a8]
movsd qword [esp + 0x63a8], xmm0
jmp 0x761ef2
movsd xmm0, qword [esp + 0x63a8]
cvtsi2sd xmm1, dword [esp + 0x63a4]
addsd xmm0, xmm1
movsd qword [esp + 0x588], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x588]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7620d8
jp 0x7620d8
mov eax, dword [esp + 0x63a4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x63a8]
addsd xmm0, xmm1
movsd qword [esp + 0x63a8], xmm0
movsd xmm0, qword [esp + 0x63a8]
cvtsi2sd xmm1, dword [esp + 0x63a4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63bc], eax
jmp 0x7621a4
mov dword [esp + 0x63bc], 2
jmp 0x7621a4
jmp 0x761ef2
jmp 0x7620f7
jmp 0x7620f7
movsd xmm0, qword [esp + 0x63a8]
movsd qword [esp + 0x578], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x570], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x570]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x584], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x574], eax
call fcn.00409d40
mov ecx, dword [esp + 0x574]
movsd xmm0, qword [esp + 0x578]
mov dl, al
mov eax, dword [esp + 0x584]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63bc], eax
mov edx, dword [esp + 0x5b4]
xor edx, dword [esp + 0x63bc]
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x564], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x564]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x56c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x568], eax
call fcn.00409d40
mov ecx, dword [esp + 0x568]
mov dl, al
mov eax, dword [esp + 0x56c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763009
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x558], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x558]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x55c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x55c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x560], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x560]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7625e3
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x554], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x6398], xmm0
xor eax, eax
je 0x7622dc
add byte [ecx + 0x63a02484], cl
add byte [eax], al
mov dword [esp + 0x63a0], eax
movsd xmm0, qword [esp + 0x6398]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6390], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x548], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x548]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x550], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x54c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x54c]
mov dl, al
mov eax, dword [esp + 0x550]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x762512
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x53c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x53c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x540], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x540]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x544], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x544]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76250d
mov dword [esp + 0x638c], 0
cmp dword [esp + 0x638c], 9
jae 0x762508
movsd xmm0, qword [esp + 0x6390]
cvtsi2sd xmm1, dword [esp + 0x638c]
addsd xmm0, xmm1
movsd qword [esp + 0x530], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x530]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76246a
jp 0x76246a
movsd xmm0, qword [esp + 0x6390]
movsd qword [esp + 0x6390], xmm0
jmp 0x762312
movsd xmm0, qword [esp + 0x6390]
cvtsi2sd xmm1, dword [esp + 0x638c]
addsd xmm0, xmm1
movsd qword [esp + 0x528], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x528]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7624f8
jp 0x7624f8
mov eax, dword [esp + 0x638c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6390]
addsd xmm0, xmm1
movsd qword [esp + 0x6390], xmm0
movsd xmm0, qword [esp + 0x6390]
cvtsi2sd xmm1, dword [esp + 0x638c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63a0], eax
jmp 0x7625c4
mov dword [esp + 0x63a0], 2
jmp 0x7625c4
jmp 0x762312
jmp 0x762517
jmp 0x762517
movsd xmm0, qword [esp + 0x6390]
movsd qword [esp + 0x518], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x510], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x510]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x524], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x514], eax
call fcn.00409d40
mov ecx, dword [esp + 0x514]
movsd xmm0, qword [esp + 0x518]
mov dl, al
mov eax, dword [esp + 0x524]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63a0], eax
mov edx, dword [esp + 0x554]
xor edx, dword [esp + 0x63a0]
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x504], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x504]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x508], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x508]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x50c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x50c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76298a
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x500], eax
movsd xmm0, qword [0x786a58]
movsd qword [esp + 0x6380], xmm0
xor eax, eax
je 0x762683
add byte [ecx + 0x63882484], cl
add byte [eax], al
mov dword [esp + 0x6388], eax
movsd xmm0, qword [esp + 0x6380]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6378], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4f4], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4fc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4f8], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4f8]
mov dl, al
mov eax, dword [esp + 0x4fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7628b9
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4e8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4ec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4ec]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4f0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7628b4
mov dword [esp + 0x6374], 0
cmp dword [esp + 0x6374], 9
jae 0x7628af
movsd xmm0, qword [esp + 0x6378]
cvtsi2sd xmm1, dword [esp + 0x6374]
addsd xmm0, xmm1
movsd qword [esp + 0x4e0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x4e0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x762811
jp 0x762811
movsd xmm0, qword [esp + 0x6378]
movsd qword [esp + 0x6378], xmm0
jmp 0x7626b9
movsd xmm0, qword [esp + 0x6378]
cvtsi2sd xmm1, dword [esp + 0x6374]
addsd xmm0, xmm1
movsd qword [esp + 0x4d8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x4d8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76289f
jp 0x76289f
mov eax, dword [esp + 0x6374]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6378]
addsd xmm0, xmm1
movsd qword [esp + 0x6378], xmm0
movsd xmm0, qword [esp + 0x6378]
cvtsi2sd xmm1, dword [esp + 0x6374]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6388], eax
jmp 0x76296b
mov dword [esp + 0x6388], 2
jmp 0x76296b
jmp 0x7626b9
jmp 0x7628be
jmp 0x7628be
movsd xmm0, qword [esp + 0x6378]
movsd qword [esp + 0x4c8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x4c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4d4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4c4]
movsd xmm0, qword [esp + 0x4c8]
mov dl, al
mov eax, dword [esp + 0x4d4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6388], eax
mov edx, dword [esp + 0x500]
xor edx, dword [esp + 0x6388]
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x6324]
add eax, 0x68
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6368], xmm0
xor eax, eax
je 0x7629c2
add byte [ecx + 0x63702484], cl
add byte [eax], al
mov dword [esp + 0x6370], eax
movsd xmm0, qword [esp + 0x6368]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6360], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x4b0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x4b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4b8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x4b4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x4b4]
mov dl, al
mov eax, dword [esp + 0x4b8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x762bf8
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x4a4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x4a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x4a8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4ac], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x4ac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x762bf3
mov dword [esp + 0x635c], 0
cmp dword [esp + 0x635c], 9
jae 0x762bee
movsd xmm0, qword [esp + 0x6360]
cvtsi2sd xmm1, dword [esp + 0x635c]
addsd xmm0, xmm1
movsd qword [esp + 0x498], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x498]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x762b50
jp 0x762b50
movsd xmm0, qword [esp + 0x6360]
movsd qword [esp + 0x6360], xmm0
jmp 0x7629f8
movsd xmm0, qword [esp + 0x6360]
cvtsi2sd xmm1, dword [esp + 0x635c]
addsd xmm0, xmm1
movsd qword [esp + 0x490], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x490]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x762bde
jp 0x762bde
mov eax, dword [esp + 0x635c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6360]
addsd xmm0, xmm1
movsd qword [esp + 0x6360], xmm0
movsd xmm0, qword [esp + 0x6360]
cvtsi2sd xmm1, dword [esp + 0x635c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6370], eax
jmp 0x762caa
mov dword [esp + 0x6370], 2
jmp 0x762caa
jmp 0x7629f8
jmp 0x762bfd
jmp 0x762bfd
movsd xmm0, qword [esp + 0x6360]
movsd qword [esp + 0x480], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x478], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x478]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x47c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x47c]
movsd xmm0, qword [esp + 0x480]
mov dl, al
mov eax, dword [esp + 0x48c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6370], eax
mov eax, dword [esp + 0x4bc]
add eax, dword [esp + 0x6370]
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x6324]
add eax, 0x68
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6350], xmm0
xor eax, eax
je 0x762cf7
add byte [ecx + 0x63582484], cl
add byte [eax], al
mov dword [esp + 0x6358], eax
movsd xmm0, qword [esp + 0x6350]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6348], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x464], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x464]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x46c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x468], eax
call fcn.00409d40
mov ecx, dword [esp + 0x468]
mov dl, al
mov eax, dword [esp + 0x46c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x762f2d
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x458], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x458]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x45c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x45c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x460], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x460]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x762f28
mov dword [esp + 0x6344], 0
cmp dword [esp + 0x6344], 9
jae 0x762f23
movsd xmm0, qword [esp + 0x6348]
cvtsi2sd xmm1, dword [esp + 0x6344]
addsd xmm0, xmm1
movsd qword [esp + 0x450], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x450]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x762e85
jp 0x762e85
movsd xmm0, qword [esp + 0x6348]
movsd qword [esp + 0x6348], xmm0
jmp 0x762d2d
movsd xmm0, qword [esp + 0x6348]
cvtsi2sd xmm1, dword [esp + 0x6344]
addsd xmm0, xmm1
movsd qword [esp + 0x448], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x448]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x762f13
jp 0x762f13
mov eax, dword [esp + 0x6344]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6348]
addsd xmm0, xmm1
movsd qword [esp + 0x6348], xmm0
movsd xmm0, qword [esp + 0x6348]
cvtsi2sd xmm1, dword [esp + 0x6344]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6358], eax
jmp 0x762fdf
mov dword [esp + 0x6358], 2
jmp 0x762fdf
jmp 0x762d2d
jmp 0x762f32
jmp 0x762f32
movsd xmm0, qword [esp + 0x6348]
movsd qword [esp + 0x438], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x430], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x430]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x444], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x434], eax
call fcn.00409d40
mov ecx, dword [esp + 0x434]
movsd xmm0, qword [esp + 0x438]
mov dl, al
mov eax, dword [esp + 0x444]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6358], eax
mov edx, dword [esp + 0x470]
mov eax, dword [esp + 0x474]
and eax, dword [esp + 0x6358]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x424], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x424]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x428], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x428]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x42c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x42c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7633b0
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x420], eax
movsd xmm0, qword [0x786a60]
movsd qword [esp + 0x6338], xmm0
xor eax, eax
je 0x7630a9
add byte [ecx + 0x63402484], cl
add byte [eax], al
mov dword [esp + 0x6340], eax
movsd xmm0, qword [esp + 0x6338]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6330], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x414], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x414]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x41c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x418], eax
call fcn.00409d40
mov ecx, dword [esp + 0x418]
mov dl, al
mov eax, dword [esp + 0x41c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7632df
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x408], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x408]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x40c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x40c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x410], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x410]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7632da
mov dword [esp + 0x632c], 0
cmp dword [esp + 0x632c], 9
jae 0x7632d5
movsd xmm0, qword [esp + 0x6330]
cvtsi2sd xmm1, dword [esp + 0x632c]
addsd xmm0, xmm1
movsd qword [esp + 0x400], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x400]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763237
jp 0x763237
movsd xmm0, qword [esp + 0x6330]
movsd qword [esp + 0x6330], xmm0
jmp 0x7630df
movsd xmm0, qword [esp + 0x6330]
cvtsi2sd xmm1, dword [esp + 0x632c]
addsd xmm0, xmm1
movsd qword [esp + 0x3f8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7632c5
jp 0x7632c5
mov eax, dword [esp + 0x632c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6330]
addsd xmm0, xmm1
movsd qword [esp + 0x6330], xmm0
movsd xmm0, qword [esp + 0x6330]
cvtsi2sd xmm1, dword [esp + 0x632c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6340], eax
jmp 0x763391
mov dword [esp + 0x6340], 2
jmp 0x763391
jmp 0x7630df
jmp 0x7632e4
jmp 0x7632e4
movsd xmm0, qword [esp + 0x6330]
movsd qword [esp + 0x3e8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x3e0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3e4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3e4]
movsd xmm0, qword [esp + 0x3e8]
mov dl, al
mov eax, dword [esp + 0x3f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6340], eax
mov edx, dword [esp + 0x420]
xor edx, dword [esp + 0x6340]
mov eax, dword [esp + 0x6328]
mov ecx, dword [esp + 0x6324]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6324]
add eax, 1
mov dword [esp + 0x6324], eax
jmp 0x761e0e
jmp 0x7633cb
mov eax, dword [esp + 0x5c4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a6c], eax
mov eax, dword [esp + 0x4a74]
mov dword [esp + 0x4a7c], eax
cmp eax, 0
je 0x764a19
lea ecx, [esp + 0x4a6a]
call fcn.00768230
mov dword [esp + 0x4c5c], eax
mov eax, dword [esp + 0x4c5c]
mov dword [esp + 0x6288], eax
mov eax, dword [esp + 0x6288]
mov dword [esp + 0x3dc], eax
test byte [eax + 4], 1
jne 0x764a05
mov eax, dword [esp + 0x3dc]
mov dword [esp + 0x6290], eax
mov dword [esp + 0x628c], 0
cmp dword [esp + 0x628c], 1
jae 0x764a00
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3d0], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3d4], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3d4]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3d8], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7637fd
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3cc], eax
movsd xmm0, qword [0x786a48]
movsd qword [esp + 0x6318], xmm0
xor eax, eax
je 0x7634f6
add byte [ecx + 0x63202484], cl
add byte [eax], al
mov dword [esp + 0x6320], eax
movsd xmm0, qword [esp + 0x6318]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6310], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x3c0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x3c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x3c4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x3c4]
mov dl, al
mov eax, dword [esp + 0x3c8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76372c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x3b4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x3b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3b8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3bc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x3bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763727
mov dword [esp + 0x630c], 0
cmp dword [esp + 0x630c], 9
jae 0x763722
movsd xmm0, qword [esp + 0x6310]
cvtsi2sd xmm1, dword [esp + 0x630c]
addsd xmm0, xmm1
movsd qword [esp + 0x3a8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x3a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763684
jp 0x763684
movsd xmm0, qword [esp + 0x6310]
movsd qword [esp + 0x6310], xmm0
jmp 0x76352c
movsd xmm0, qword [esp + 0x6310]
cvtsi2sd xmm1, dword [esp + 0x630c]
addsd xmm0, xmm1
movsd qword [esp + 0x3a0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x3a0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763712
jp 0x763712
mov eax, dword [esp + 0x630c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6310]
addsd xmm0, xmm1
movsd qword [esp + 0x6310], xmm0
movsd xmm0, qword [esp + 0x6310]
cvtsi2sd xmm1, dword [esp + 0x630c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6320], eax
jmp 0x7637de
mov dword [esp + 0x6320], 2
jmp 0x7637de
jmp 0x76352c
jmp 0x763731
jmp 0x763731
movsd xmm0, qword [esp + 0x6310]
movsd qword [esp + 0x390], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x388], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x388]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x39c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x38c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x38c]
movsd xmm0, qword [esp + 0x390]
mov dl, al
mov eax, dword [esp + 0x39c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6320], eax
mov edx, dword [esp + 0x3cc]
xor edx, dword [esp + 0x6320]
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x37c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x37c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x384], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x380], eax
call fcn.00409d40
mov ecx, dword [esp + 0x380]
mov dl, al
mov eax, dword [esp + 0x384]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764643
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x370], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x370]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x374], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x374]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x378], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x378]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763c1d
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x36c], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x6300], xmm0
xor eax, eax
je 0x763916
add byte [ecx + 0x63082484], cl
add byte [eax], al
mov dword [esp + 0x6308], eax
movsd xmm0, qword [esp + 0x6300]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x62f8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x360], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x360]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x368], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x364], eax
call fcn.00409d40
mov ecx, dword [esp + 0x364]
mov dl, al
mov eax, dword [esp + 0x368]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763b4c
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x354], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x354]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x358], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x358]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x35c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x35c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763b47
mov dword [esp + 0x62f4], 0
cmp dword [esp + 0x62f4], 9
jae 0x763b42
movsd xmm0, qword [esp + 0x62f8]
cvtsi2sd xmm1, dword [esp + 0x62f4]
addsd xmm0, xmm1
movsd qword [esp + 0x348], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x348]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763aa4
jp 0x763aa4
movsd xmm0, qword [esp + 0x62f8]
movsd qword [esp + 0x62f8], xmm0
jmp 0x76394c
movsd xmm0, qword [esp + 0x62f8]
cvtsi2sd xmm1, dword [esp + 0x62f4]
addsd xmm0, xmm1
movsd qword [esp + 0x340], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x340]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763b32
jp 0x763b32
mov eax, dword [esp + 0x62f4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x62f8]
addsd xmm0, xmm1
movsd qword [esp + 0x62f8], xmm0
movsd xmm0, qword [esp + 0x62f8]
cvtsi2sd xmm1, dword [esp + 0x62f4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6308], eax
jmp 0x763bfe
mov dword [esp + 0x6308], 2
jmp 0x763bfe
jmp 0x76394c
jmp 0x763b51
jmp 0x763b51
movsd xmm0, qword [esp + 0x62f8]
movsd qword [esp + 0x330], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x328], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x328]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x32c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x32c]
movsd xmm0, qword [esp + 0x330]
mov dl, al
mov eax, dword [esp + 0x33c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6308], eax
mov edx, dword [esp + 0x36c]
xor edx, dword [esp + 0x6308]
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x31c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x31c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x320], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x320]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x324], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x324]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763fc4
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x318], eax
movsd xmm0, qword [0x786a58]
movsd qword [esp + 0x62e8], xmm0
xor eax, eax
je 0x763cbd
add byte [ecx + 0x62f02484], cl
add byte [eax], al
mov dword [esp + 0x62f0], eax
movsd xmm0, qword [esp + 0x62e8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x62e0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x30c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x30c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x314], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x310], eax
call fcn.00409d40
mov ecx, dword [esp + 0x310]
mov dl, al
mov eax, dword [esp + 0x314]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763ef3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x300], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x300]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x304], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x304]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x308], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x308]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x763eee
mov dword [esp + 0x62dc], 0
cmp dword [esp + 0x62dc], 9
jae 0x763ee9
movsd xmm0, qword [esp + 0x62e0]
cvtsi2sd xmm1, dword [esp + 0x62dc]
addsd xmm0, xmm1
movsd qword [esp + 0x2f8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763e4b
jp 0x763e4b
movsd xmm0, qword [esp + 0x62e0]
movsd qword [esp + 0x62e0], xmm0
jmp 0x763cf3
movsd xmm0, qword [esp + 0x62e0]
cvtsi2sd xmm1, dword [esp + 0x62dc]
addsd xmm0, xmm1
movsd qword [esp + 0x2f0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2f0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x763ed9
jp 0x763ed9
mov eax, dword [esp + 0x62dc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x62e0]
addsd xmm0, xmm1
movsd qword [esp + 0x62e0], xmm0
movsd xmm0, qword [esp + 0x62e0]
cvtsi2sd xmm1, dword [esp + 0x62dc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62f0], eax
jmp 0x763fa5
mov dword [esp + 0x62f0], 2
jmp 0x763fa5
jmp 0x763cf3
jmp 0x763ef8
jmp 0x763ef8
movsd xmm0, qword [esp + 0x62e0]
movsd qword [esp + 0x2e0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x2d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2ec], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2dc]
movsd xmm0, qword [esp + 0x2e0]
mov dl, al
mov eax, dword [esp + 0x2ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62f0], eax
mov edx, dword [esp + 0x318]
xor edx, dword [esp + 0x62f0]
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x628c]
add eax, 0x68
cvtsi2sd xmm0, eax
movsd qword [esp + 0x62d0], xmm0
xor eax, eax
je 0x763ffc
add byte [ecx + 0x62d82484], cl
add byte [eax], al
mov dword [esp + 0x62d8], eax
movsd xmm0, qword [esp + 0x62d0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x62c8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x2c8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x2c8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2d0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x2cc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x2cc]
mov dl, al
mov eax, dword [esp + 0x2d0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764232
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x2bc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x2bc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x2c0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2c4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x2c4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76422d
mov dword [esp + 0x62c4], 0
cmp dword [esp + 0x62c4], 9
jae 0x764228
movsd xmm0, qword [esp + 0x62c8]
cvtsi2sd xmm1, dword [esp + 0x62c4]
addsd xmm0, xmm1
movsd qword [esp + 0x2b0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x2b0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76418a
jp 0x76418a
movsd xmm0, qword [esp + 0x62c8]
movsd qword [esp + 0x62c8], xmm0
jmp 0x764032
movsd xmm0, qword [esp + 0x62c8]
cvtsi2sd xmm1, dword [esp + 0x62c4]
addsd xmm0, xmm1
movsd qword [esp + 0x2a8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x2a8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x764218
jp 0x764218
mov eax, dword [esp + 0x62c4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x62c8]
addsd xmm0, xmm1
movsd qword [esp + 0x62c8], xmm0
movsd xmm0, qword [esp + 0x62c8]
cvtsi2sd xmm1, dword [esp + 0x62c4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62d8], eax
jmp 0x7642e4
mov dword [esp + 0x62d8], 2
jmp 0x7642e4
jmp 0x764032
jmp 0x764237
jmp 0x764237
movsd xmm0, qword [esp + 0x62c8]
movsd qword [esp + 0x298], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x290], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x290]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2a4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x294], eax
call fcn.00409d40
mov ecx, dword [esp + 0x294]
movsd xmm0, qword [esp + 0x298]
mov dl, al
mov eax, dword [esp + 0x2a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62d8], eax
mov eax, dword [esp + 0x2d4]
add eax, dword [esp + 0x62d8]
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x628c]
add eax, 0x68
cvtsi2sd xmm0, eax
movsd qword [esp + 0x62b8], xmm0
xor eax, eax
je 0x764331
add byte [ecx + 0x62c02484], cl
add byte [eax], al
mov dword [esp + 0x62c0], eax
movsd xmm0, qword [esp + 0x62b8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x62b0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x27c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x27c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x284], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x280], eax
call fcn.00409d40
mov ecx, dword [esp + 0x280]
mov dl, al
mov eax, dword [esp + 0x284]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764567
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x270], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x270]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x274], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x274]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x278], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x278]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764562
mov dword [esp + 0x62ac], 0
cmp dword [esp + 0x62ac], 9
jae 0x76455d
movsd xmm0, qword [esp + 0x62b0]
cvtsi2sd xmm1, dword [esp + 0x62ac]
addsd xmm0, xmm1
movsd qword [esp + 0x268], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x268]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7644bf
jp 0x7644bf
movsd xmm0, qword [esp + 0x62b0]
movsd qword [esp + 0x62b0], xmm0
jmp 0x764367
movsd xmm0, qword [esp + 0x62b0]
cvtsi2sd xmm1, dword [esp + 0x62ac]
addsd xmm0, xmm1
movsd qword [esp + 0x260], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x260]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76454d
jp 0x76454d
mov eax, dword [esp + 0x62ac]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x62b0]
addsd xmm0, xmm1
movsd qword [esp + 0x62b0], xmm0
movsd xmm0, qword [esp + 0x62b0]
cvtsi2sd xmm1, dword [esp + 0x62ac]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62c0], eax
jmp 0x764619
mov dword [esp + 0x62c0], 2
jmp 0x764619
jmp 0x764367
jmp 0x76456c
jmp 0x76456c
movsd xmm0, qword [esp + 0x62b0]
movsd qword [esp + 0x250], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x248], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x248]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x24c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x24c]
movsd xmm0, qword [esp + 0x250]
mov dl, al
mov eax, dword [esp + 0x25c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62c0], eax
mov edx, dword [esp + 0x288]
mov eax, dword [esp + 0x28c]
and eax, dword [esp + 0x62c0]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x23c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x23c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x240], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x240]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x244], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x244]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7649ea
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x238], eax
movsd xmm0, qword [0x786a60]
movsd qword [esp + 0x62a0], xmm0
xor eax, eax
je 0x7646e3
add byte [ecx + 0x62a82484], cl
add byte [eax], al
mov dword [esp + 0x62a8], eax
movsd xmm0, qword [esp + 0x62a0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6298], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x22c], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x22c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x234], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x230], eax
call fcn.00409d40
mov ecx, dword [esp + 0x230]
mov dl, al
mov eax, dword [esp + 0x234]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764919
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x220], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x220]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x224], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x224]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x228], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x228]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764914
mov dword [esp + 0x6294], 0
cmp dword [esp + 0x6294], 9
jae 0x76490f
movsd xmm0, qword [esp + 0x6298]
cvtsi2sd xmm1, dword [esp + 0x6294]
addsd xmm0, xmm1
movsd qword [esp + 0x218], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x218]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x764871
jp 0x764871
movsd xmm0, qword [esp + 0x6298]
movsd qword [esp + 0x6298], xmm0
jmp 0x764719
movsd xmm0, qword [esp + 0x6298]
cvtsi2sd xmm1, dword [esp + 0x6294]
addsd xmm0, xmm1
movsd qword [esp + 0x210], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x210]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7648ff
jp 0x7648ff
mov eax, dword [esp + 0x6294]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6298]
addsd xmm0, xmm1
movsd qword [esp + 0x6298], xmm0
movsd xmm0, qword [esp + 0x6298]
cvtsi2sd xmm1, dword [esp + 0x6294]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62a8], eax
jmp 0x7649cb
mov dword [esp + 0x62a8], 2
jmp 0x7649cb
jmp 0x764719
jmp 0x76491e
jmp 0x76491e
movsd xmm0, qword [esp + 0x6298]
movsd qword [esp + 0x200], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1f8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1fc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1fc]
movsd xmm0, qword [esp + 0x200]
mov dl, al
mov eax, dword [esp + 0x20c]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x62a8], eax
mov edx, dword [esp + 0x238]
xor edx, dword [esp + 0x62a8]
mov eax, dword [esp + 0x6290]
mov ecx, dword [esp + 0x628c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x628c]
add eax, 1
mov dword [esp + 0x628c], eax
jmp 0x763448
jmp 0x764a05
mov eax, dword [esp + 0x3dc]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp + 0x4a6c], eax
jmp 0x764a1e
jmp 0x764a23
lea ecx, [esp + 0x4a69]
call fcn.0076831e
mov dword [esp + 0x4c64], eax
mov eax, dword [esp + 0x4c64]
mov dword [esp + 0x63c0], eax
mov eax, dword [esp + 0x63c0]
mov dword [esp + 0x1f4], eax
test byte [eax + 4], 1
jne 0x765fb4
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x63c8], eax
mov dword [esp + 0x63c4], 0
cmp dword [esp + 0x63c4], 1
jae 0x765faf
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1e8], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ec], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1ec]
movsx ecx, cl
imul ecx, ecx, 7
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1f0], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1f0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764e2a
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1e4], eax
movsd xmm0, qword [0x786a50]
movsd qword [esp + 0x6450], xmm0
xor eax, eax
je 0x764b23
add byte [ecx + 0x645c2484], cl
add byte [eax], al
mov dword [esp + 0x645c], eax
movsd xmm0, qword [esp + 0x6450]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6448], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x1d8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1e0], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1dc], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1dc]
mov dl, al
mov eax, dword [esp + 0x1e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764d59
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x1cc], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x1cc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d0], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x1d0]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1d4], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x1d4]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x764d54
mov dword [esp + 0x6444], 0
cmp dword [esp + 0x6444], 9
jae 0x764d4f
movsd xmm0, qword [esp + 0x6448]
cvtsi2sd xmm1, dword [esp + 0x6444]
addsd xmm0, xmm1
movsd qword [esp + 0x1c0], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x1c0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x764cb1
jp 0x764cb1
movsd xmm0, qword [esp + 0x6448]
movsd qword [esp + 0x6448], xmm0
jmp 0x764b59
movsd xmm0, qword [esp + 0x6448]
cvtsi2sd xmm1, dword [esp + 0x6444]
addsd xmm0, xmm1
movsd qword [esp + 0x1b8], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x1b8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x764d3f
jp 0x764d3f
mov eax, dword [esp + 0x6444]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6448]
addsd xmm0, xmm1
movsd qword [esp + 0x6448], xmm0
movsd xmm0, qword [esp + 0x6448]
cvtsi2sd xmm1, dword [esp + 0x6444]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x645c], eax
jmp 0x764e0b
mov dword [esp + 0x645c], 2
jmp 0x764e0b
jmp 0x764b59
jmp 0x764d5e
jmp 0x764d5e
movsd xmm0, qword [esp + 0x6448]
movsd qword [esp + 0x1a8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x1a0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x1a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b4], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x1a4], eax
call fcn.00409d40
mov ecx, dword [esp + 0x1a4]
movsd xmm0, qword [esp + 0x1a8]
mov dl, al
mov eax, dword [esp + 0x1b4]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x645c], eax
mov edx, dword [esp + 0x1e4]
xor edx, dword [esp + 0x645c]
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x194], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x194]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x19c], eax
call fcn.00409d60
movsx eax, al
shl eax, 3
mov dword [esp + 0x198], eax
call fcn.00409d40
mov ecx, dword [esp + 0x198]
mov dl, al
mov eax, dword [esp + 0x19c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765c52
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x188], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x188]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x18c]
movsx ecx, cl
shl ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x190], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x190]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76524a
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x184], eax
movsd xmm0, qword [0x786a58]
movsd qword [esp + 0x6438], xmm0
xor eax, eax
je 0x764f43
add byte [ecx + 0x64402484], cl
add byte [eax], al
mov dword [esp + 0x6440], eax
movsd xmm0, qword [esp + 0x6438]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6430], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x178], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x178]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x180], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x17c], eax
call fcn.00409d40
mov ecx, dword [esp + 0x17c]
mov dl, al
mov eax, dword [esp + 0x180]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765179
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x16c], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x16c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x170], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x170]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x174], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x174]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765174
mov dword [esp + 0x642c], 0
cmp dword [esp + 0x642c], 9
jae 0x76516f
movsd xmm0, qword [esp + 0x6430]
cvtsi2sd xmm1, dword [esp + 0x642c]
addsd xmm0, xmm1
movsd qword [esp + 0x160], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x160]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7650d1
jp 0x7650d1
movsd xmm0, qword [esp + 0x6430]
movsd qword [esp + 0x6430], xmm0
jmp 0x764f79
movsd xmm0, qword [esp + 0x6430]
cvtsi2sd xmm1, dword [esp + 0x642c]
addsd xmm0, xmm1
movsd qword [esp + 0x158], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x158]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x76515f
jp 0x76515f
mov eax, dword [esp + 0x642c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6430]
addsd xmm0, xmm1
movsd qword [esp + 0x6430], xmm0
movsd xmm0, qword [esp + 0x6430]
cvtsi2sd xmm1, dword [esp + 0x642c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6440], eax
jmp 0x76522b
mov dword [esp + 0x6440], 2
jmp 0x76522b
jmp 0x764f79
jmp 0x76517e
jmp 0x76517e
movsd xmm0, qword [esp + 0x6430]
movsd qword [esp + 0x148], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x140], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x140]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x154], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x144], eax
call fcn.00409d40
mov ecx, dword [esp + 0x144]
movsd xmm0, qword [esp + 0x148]
mov dl, al
mov eax, dword [esp + 0x154]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6440], eax
mov edx, dword [esp + 0x184]
xor edx, dword [esp + 0x6440]
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x134], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x134]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x138], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x138]
movsx ecx, cl
imul ecx, ecx, 3
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x13c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x13c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x7655f1
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x130], eax
movsd xmm0, qword [0x786a60]
movsd qword [esp + 0x6420], xmm0
xor eax, eax
je 0x7652ea
add byte [ecx + 0x64282484], cl
add byte [eax], al
mov dword [esp + 0x6428], eax
movsd xmm0, qword [esp + 0x6420]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6418], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x124], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x124]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x128], eax
call fcn.00409d40
mov ecx, dword [esp + 0x128]
mov dl, al
mov eax, dword [esp + 0x12c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765520
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x118], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x118]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x11c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x11c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x120], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x120]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76551b
mov dword [esp + 0x6414], 0
cmp dword [esp + 0x6414], 9
jae 0x765516
movsd xmm0, qword [esp + 0x6418]
cvtsi2sd xmm1, dword [esp + 0x6414]
addsd xmm0, xmm1
movsd qword [esp + 0x110], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x110]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765478
jp 0x765478
movsd xmm0, qword [esp + 0x6418]
movsd qword [esp + 0x6418], xmm0
jmp 0x765320
movsd xmm0, qword [esp + 0x6418]
cvtsi2sd xmm1, dword [esp + 0x6414]
addsd xmm0, xmm1
movsd qword [esp + 0x108], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x108]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765506
jp 0x765506
mov eax, dword [esp + 0x6414]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6418]
addsd xmm0, xmm1
movsd qword [esp + 0x6418], xmm0
movsd xmm0, qword [esp + 0x6418]
cvtsi2sd xmm1, dword [esp + 0x6414]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6428], eax
jmp 0x7655d2
mov dword [esp + 0x6428], 2
jmp 0x7655d2
jmp 0x765320
jmp 0x765525
jmp 0x765525
movsd xmm0, qword [esp + 0x6418]
movsd qword [esp + 0xf8], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xf0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x104], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xf4], eax
call fcn.00409d40
mov ecx, dword [esp + 0xf4]
movsd xmm0, qword [esp + 0xf8]
mov dl, al
mov eax, dword [esp + 0x104]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6428], eax
mov edx, dword [esp + 0x130]
xor edx, dword [esp + 0x6428]
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x63c4]
add eax, 0x69
cvtsi2sd xmm0, eax
movsd qword [esp + 0x6408], xmm0
xor eax, eax
je 0x765629
add byte [ecx + 0x64102484], cl
add byte [eax], al
mov dword [esp + 0x6410], eax
movsd xmm0, qword [esp + 0x6408]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x6400], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0xe0], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xe0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe8], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xe4], eax
call fcn.00409d40
mov ecx, dword [esp + 0xe4]
mov dl, al
mov eax, dword [esp + 0xe8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76585f
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0xd4], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0xd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd8], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0xd8]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xdc], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0xdc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x76585a
mov dword [esp + 0x63fc], 0
cmp dword [esp + 0x63fc], 9
jae 0x765855
movsd xmm0, qword [esp + 0x6400]
cvtsi2sd xmm1, dword [esp + 0x63fc]
addsd xmm0, xmm1
movsd qword [esp + 0xc8], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0xc8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x7657b7
jp 0x7657b7
movsd xmm0, qword [esp + 0x6400]
movsd qword [esp + 0x6400], xmm0
jmp 0x76565f
movsd xmm0, qword [esp + 0x6400]
cvtsi2sd xmm1, dword [esp + 0x63fc]
addsd xmm0, xmm1
movsd qword [esp + 0xc0], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0xc0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765845
jp 0x765845
mov eax, dword [esp + 0x63fc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x6400]
addsd xmm0, xmm1
movsd qword [esp + 0x6400], xmm0
movsd xmm0, qword [esp + 0x6400]
cvtsi2sd xmm1, dword [esp + 0x63fc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6410], eax
jmp 0x765911
mov dword [esp + 0x6410], 2
jmp 0x765911
jmp 0x76565f
jmp 0x765864
jmp 0x765864
movsd xmm0, qword [esp + 0x6400]
movsd qword [esp + 0xb0], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0xa8], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0xa8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbc], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0xac], eax
call fcn.00409d40
mov ecx, dword [esp + 0xac]
movsd xmm0, qword [esp + 0xb0]
mov dl, al
mov eax, dword [esp + 0xbc]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x6410], eax
mov eax, dword [esp + 0xec]
add eax, dword [esp + 0x6410]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x63c4]
add eax, 0x69
cvtsi2sd xmm0, eax
movsd qword [esp + 0x63f0], xmm0
xor eax, eax
je 0x76595e
add byte [ecx + 0x63f82484], cl
add byte [eax], al
mov dword [esp + 0x63f8], eax
movsd xmm0, qword [esp + 0x63f0]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x63e8], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x94], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x94]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x9c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x98], eax
call fcn.00409d40
mov ecx, dword [esp + 0x98]
mov dl, al
mov eax, dword [esp + 0x9c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765b8e
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x88], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x8c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x8c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x90], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x90]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765b89
mov dword [esp + 0x63e4], 0
cmp dword [esp + 0x63e4], 9
jae 0x765b84
movsd xmm0, qword [esp + 0x63e8]
cvtsi2sd xmm1, dword [esp + 0x63e4]
addsd xmm0, xmm1
movsd qword [esp + 0x80], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x80]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765aec
jp 0x765aec
movsd xmm0, qword [esp + 0x63e8]
movsd qword [esp + 0x63e8], xmm0
jmp 0x765994
movsd xmm0, qword [esp + 0x63e8]
cvtsi2sd xmm1, dword [esp + 0x63e4]
addsd xmm0, xmm1
movsd qword [esp + 0x78], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x78]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765b74
jp 0x765b74
mov eax, dword [esp + 0x63e4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x63e8]
addsd xmm0, xmm1
movsd qword [esp + 0x63e8], xmm0
movsd xmm0, qword [esp + 0x63e8]
cvtsi2sd xmm1, dword [esp + 0x63e4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63f8], eax
jmp 0x765c28
mov dword [esp + 0x63f8], 2
jmp 0x765c28
jmp 0x765994
jmp 0x765b93
jmp 0x765b93
movsd xmm0, qword [esp + 0x63e8]
movsd qword [esp + 0x68], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x60], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x60]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x74], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x64], eax
call fcn.00409d40
mov ecx, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x68]
mov dl, al
mov eax, dword [esp + 0x74]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63f8], eax
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
and eax, dword [esp + 0x63f8]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov dword [eax + ecx*4], edx
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x54], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x54]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x58], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x58]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5c], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x5c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765f99
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x50], eax
movsd xmm0, qword [0x786a68]
movsd qword [esp + 0x63d8], xmm0
xor eax, eax
je 0x765cdd
add byte [ecx + 0x63e02484], cl
add byte [eax], al
mov dword [esp + 0x63e0], eax
movsd xmm0, qword [esp + 0x63d8]
mov al, byte [0x8c72e7]
movsx eax, al
mov cl, byte [0x8c72e3]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x63d0], xmm0
mov al, byte [0x8c72e9]
movsx eax, al
mov dword [esp + 0x44], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x44]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4c], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x48], eax
call fcn.00409d40
mov ecx, dword [esp + 0x48]
mov dl, al
mov eax, dword [esp + 0x4c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x8c72e8]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x8c72e1]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765ee3
mov al, byte [0x8c72e3]
movsx eax, al
mov dword [esp + 0x38], eax
call fcn.00409da0
mov cl, al
mov eax, dword [esp + 0x38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c], eax
call fcn.00409d70
mov cl, al
mov eax, dword [esp + 0x3c]
movsx ecx, cl
imul ecx, ecx, 0xa
mov dl, byte [0x8c72e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x40], eax
call fcn.00409dd0
mov cl, al
mov eax, dword [esp + 0x40]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x765ede
mov dword [esp + 0x63cc], 0
cmp dword [esp + 0x63cc], 9
jae 0x765ed9
movsd xmm0, qword [esp + 0x63d0]
cvtsi2sd xmm1, dword [esp + 0x63cc]
addsd xmm0, xmm1
movsd qword [esp + 0x30], xmm0
call fcn.00409d40
movsd xmm0, qword [esp + 0x30]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765e41
jp 0x765e41
movsd xmm0, qword [esp + 0x63d0]
movsd qword [esp + 0x63d0], xmm0
jmp 0x765d13
movsd xmm0, qword [esp + 0x63d0]
cvtsi2sd xmm1, dword [esp + 0x63cc]
addsd xmm0, xmm1
movsd qword [esp + 0x28], xmm0
call fcn.00409d50
movsd xmm0, qword [esp + 0x28]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x765ec9
jp 0x765ec9
mov eax, dword [esp + 0x63cc]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x63d0]
addsd xmm0, xmm1
movsd qword [esp + 0x63d0], xmm0
movsd xmm0, qword [esp + 0x63d0]
cvtsi2sd xmm1, dword [esp + 0x63cc]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63e0], eax
jmp 0x765f7d
mov dword [esp + 0x63e0], 2
jmp 0x765f7d
jmp 0x765d13
jmp 0x765ee8
jmp 0x765ee8
movsd xmm0, qword [esp + 0x63d0]
movsd qword [esp + 0x18], xmm0
movsx eax, byte [0x8c72e9]
mov dword [esp + 0x10], eax
call fcn.00409db0
mov cl, al
mov eax, dword [esp + 0x10]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24], eax
call fcn.00409d60
movsx eax, al
mov dword [esp + 0x14], eax
call fcn.00409d40
mov ecx, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x18]
mov dl, al
mov eax, dword [esp + 0x24]
movsx edx, dl
imul ecx, edx
add eax, ecx
movsx ecx, byte [0x8c72e8]
xor edx, edx
div ecx
movsx ecx, byte [0x8c72e1]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x7862e0]
por xmm1, xmm2
movsd xmm2, qword [0x7862f0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x63e0], eax
mov edx, dword [esp + 0x50]
xor edx, dword [esp + 0x63e0]
mov eax, dword [esp + 0x63c8]
mov ecx, dword [esp + 0x63c4]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x63c4]
add eax, 1
mov dword [esp + 0x63c4], eax
jmp 0x764a75
jmp 0x765fb4
mov eax, dword [esp + 0x1f4]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00775e98
nop
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 0x1c], ecx
mov ecx, dword [0x8c8630]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + 0x1a28]
mov dword [ebp - 0x28], eax
and eax, 1
cmp eax, 0
jne 0x76609d
mov ecx, dword [ebp - 0x28]
or ecx, 1
mov edx, dword [0x8c8630]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x1a28], ecx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0x5f33
movsd xmm0, qword [ebp - 0x24]
movsd qword [ebp - 0x18], xmm0
lea ecx, [ebp - 0x18]
mov dword [ebp - 8], ecx
lea eax, [eax + 0x1a20]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], eax
mov ecx, eax
add ecx, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov dword [eax], 0
add eax, 4
cmp eax, ecx
mov dword [ebp - 0x2c], eax
jne 0x76604d
mov eax, dword [ebp - 0x34]
mov byte [eax + 4], 0
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 1
jae 0x76609d
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + ecx*4 - 0x18]
mov ecx, dword [ebp - 0x10]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
jmp 0x766075
mov ecx, dword [0x8c8630]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
lea eax, [eax + 0x1a20]
add esp, 0x34
pop ebp
ret