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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x165c4
call fcn.005e2040
push ebx
push esi
push edi
xor eax, eax
mov byte [ebp - 1], al
lea ecx, [ebp - 1]
call fcn.00418b36
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x42b730
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x17c], eax
and dword [ebp - 0x180], 0
jmp 0x42a6be
mov eax, dword [ebp - 0x180]
inc eax
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 1
jae 0x42b730
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42a988
xor eax, eax
je 0x42a708
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42a744
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f40]
movsd qword [ebp - 0x8138], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42a8db
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42a8db
and dword [ebp - 0x184], 0
jmp 0x42a7be
cmp dword [ebp - 0x184], 0xa
jae 0x42a8d6
cvtsi2sd xmm0, dword [ebp - 0x184]
movsd xmm1, qword [ebp - 0x8138]
addsd xmm1, xmm0
movsd qword [ebp - 0x8140], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8140]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a82d
mov eax, dword [ebp - 0x184]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8138]
addsd xmm1, xmm0
movsd qword [ebp - 0x8138], xmm1
jmp 0x42a72e
cvtsi2sd xmm0, dword [ebp - 0x184]
movsd xmm1, qword [ebp - 0x8138]
addsd xmm1, xmm0
movsd qword [ebp - 0x8148], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8148]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a88a
mov eax, dword [ebp - 0x184]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8138]
addsd xmm1, xmm0
movsd qword [ebp - 0x8138], xmm1
jmp 0x42a89e
xor eax, eax
je 0x42a89a
jmp 0x42a956
jmp 0x42a8c1
cvtsi2sd xmm0, dword [ebp - 0x184]
movsd xmm1, qword [ebp - 0x8138]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x188], eax
jmp 0x42a960
xor eax, eax
inc eax
je 0x42a8cc
jmp 0x42a8db
jmp 0x42a72e
jmp 0x42a72e
xor eax, eax
inc eax
je 0x42a956
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18c], eax
cvtsi2sd xmm0, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x18c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8138]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x188], eax
jmp 0x42a960
mov dword [ebp - 0x188], 7
mov eax, dword [ebp - 0x180]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x180]
shl ecx, 2
add ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42b46e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ac8a
xor eax, eax
je 0x42aa0a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42aa46
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f38]
movsd qword [ebp - 0x8150], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42abdd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42abdd
and dword [ebp - 0x190], 0
jmp 0x42aac0
cmp dword [ebp - 0x190], 0xa
jae 0x42abd8
cvtsi2sd xmm0, dword [ebp - 0x190]
movsd xmm1, qword [ebp - 0x8150]
addsd xmm1, xmm0
movsd qword [ebp - 0x8158], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ab2f
mov eax, dword [ebp - 0x190]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8150]
addsd xmm1, xmm0
movsd qword [ebp - 0x8150], xmm1
jmp 0x42aa30
cvtsi2sd xmm0, dword [ebp - 0x190]
movsd xmm1, qword [ebp - 0x8150]
addsd xmm1, xmm0
movsd qword [ebp - 0x8160], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8160]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ab8c
mov eax, dword [ebp - 0x190]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8150]
addsd xmm1, xmm0
movsd qword [ebp - 0x8150], xmm1
jmp 0x42aba0
xor eax, eax
je 0x42ab9c
jmp 0x42ac58
jmp 0x42abc3
cvtsi2sd xmm0, dword [ebp - 0x190]
movsd xmm1, qword [ebp - 0x8150]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x194], eax
jmp 0x42ac62
xor eax, eax
inc eax
je 0x42abce
jmp 0x42abdd
jmp 0x42aa30
jmp 0x42aa30
xor eax, eax
inc eax
je 0x42ac58
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x198], eax
cvtsi2sd xmm0, dword [ebp - 0x198]
mov eax, dword [ebp - 0x198]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8150]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x194], eax
jmp 0x42ac62
mov dword [ebp - 0x194], 7
mov eax, dword [ebp - 0x180]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x180]
shl ecx, 2
add ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42af47
xor eax, eax
je 0x42acc7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42ad03
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x8168], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42ae9a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ae9a
and dword [ebp - 0x19c], 0
jmp 0x42ad7d
cmp dword [ebp - 0x19c], 0xa
jae 0x42ae95
cvtsi2sd xmm0, dword [ebp - 0x19c]
movsd xmm1, qword [ebp - 0x8168]
addsd xmm1, xmm0
movsd qword [ebp - 0x8170], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8170]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42adec
mov eax, dword [ebp - 0x19c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8168]
addsd xmm1, xmm0
movsd qword [ebp - 0x8168], xmm1
jmp 0x42aced
cvtsi2sd xmm0, dword [ebp - 0x19c]
movsd xmm1, qword [ebp - 0x8168]
addsd xmm1, xmm0
movsd qword [ebp - 0x8178], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ae49
mov eax, dword [ebp - 0x19c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8168]
addsd xmm1, xmm0
movsd qword [ebp - 0x8168], xmm1
jmp 0x42ae5d
xor eax, eax
je 0x42ae59
jmp 0x42af15
jmp 0x42ae80
cvtsi2sd xmm0, dword [ebp - 0x19c]
movsd xmm1, qword [ebp - 0x8168]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a0], eax
jmp 0x42af1f
xor eax, eax
inc eax
je 0x42ae8b
jmp 0x42ae9a
jmp 0x42aced
jmp 0x42aced
xor eax, eax
inc eax
je 0x42af15
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a4], eax
cvtsi2sd xmm0, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8168]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a0], eax
jmp 0x42af1f
mov dword [ebp - 0x1a0], 7
mov eax, dword [ebp - 0x180]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x180]
shl ecx, 2
add ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x180]
add eax, 0xffffff9f
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8180], xmm0
xor eax, eax
je 0x42af61
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42af9d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8180]
movsd qword [ebp - 0x8188], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42b134
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42b134
and dword [ebp - 0x1a8], 0
jmp 0x42b017
cmp dword [ebp - 0x1a8], 0xa
jae 0x42b12f
cvtsi2sd xmm0, dword [ebp - 0x1a8]
movsd xmm1, qword [ebp - 0x8188]
addsd xmm1, xmm0
movsd qword [ebp - 0x8190], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8190]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b086
mov eax, dword [ebp - 0x1a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8188]
addsd xmm1, xmm0
movsd qword [ebp - 0x8188], xmm1
jmp 0x42af87
cvtsi2sd xmm0, dword [ebp - 0x1a8]
movsd xmm1, qword [ebp - 0x8188]
addsd xmm1, xmm0
movsd qword [ebp - 0x8198], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b0e3
mov eax, dword [ebp - 0x1a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8188]
addsd xmm1, xmm0
movsd qword [ebp - 0x8188], xmm1
jmp 0x42b0f7
xor eax, eax
je 0x42b0f3
jmp 0x42b1af
jmp 0x42b11a
cvtsi2sd xmm0, dword [ebp - 0x1a8]
movsd xmm1, qword [ebp - 0x8188]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ac], eax
jmp 0x42b1b9
xor eax, eax
inc eax
je 0x42b125
jmp 0x42b134
jmp 0x42af87
jmp 0x42af87
xor eax, eax
inc eax
je 0x42b1af
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b0], eax
cvtsi2sd xmm0, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8188]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ac], eax
jmp 0x42b1b9
mov dword [ebp - 0x1ac], 7
mov eax, dword [ebp - 0x180]
add eax, 0xffffff9f
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x81a0], xmm0
xor eax, eax
je 0x42b1d3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42b20f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x81a0]
movsd qword [ebp - 0x81a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42b3a6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42b3a6
and dword [ebp - 0x1b4], 0
jmp 0x42b289
cmp dword [ebp - 0x1b4], 0xa
jae 0x42b3a1
cvtsi2sd xmm0, dword [ebp - 0x1b4]
movsd xmm1, qword [ebp - 0x81a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b2f8
mov eax, dword [ebp - 0x1b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81a8], xmm1
jmp 0x42b1f9
cvtsi2sd xmm0, dword [ebp - 0x1b4]
movsd xmm1, qword [ebp - 0x81a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b355
mov eax, dword [ebp - 0x1b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81a8], xmm1
jmp 0x42b369
xor eax, eax
je 0x42b365
jmp 0x42b421
jmp 0x42b38c
cvtsi2sd xmm0, dword [ebp - 0x1b4]
movsd xmm1, qword [ebp - 0x81a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b8], eax
jmp 0x42b42b
xor eax, eax
inc eax
je 0x42b397
jmp 0x42b3a6
jmp 0x42b1f9
jmp 0x42b1f9
xor eax, eax
inc eax
je 0x42b421
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1bc], eax
cvtsi2sd xmm0, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x81a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b8], eax
jmp 0x42b42b
mov dword [ebp - 0x1b8], 7
mov eax, dword [ebp - 0x180]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov eax, dword [eax]
add eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x180]
shl ecx, 2
add ecx, dword [ebp - 0x17c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1b8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x180]
shl ecx, 2
add ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42b72b
xor eax, eax
je 0x42b4ab
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42b4e7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x81c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42b67e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42b67e
and dword [ebp - 0x1c0], 0
jmp 0x42b561
cmp dword [ebp - 0x1c0], 0xa
jae 0x42b679
cvtsi2sd xmm0, dword [ebp - 0x1c0]
movsd xmm1, qword [ebp - 0x81c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b5d0
mov eax, dword [ebp - 0x1c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81c0], xmm1
jmp 0x42b4d1
cvtsi2sd xmm0, dword [ebp - 0x1c0]
movsd xmm1, qword [ebp - 0x81c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b62d
mov eax, dword [ebp - 0x1c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81c0], xmm1
jmp 0x42b641
xor eax, eax
je 0x42b63d
jmp 0x42b6f9
jmp 0x42b664
cvtsi2sd xmm0, dword [ebp - 0x1c0]
movsd xmm1, qword [ebp - 0x81c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c4], eax
jmp 0x42b703
xor eax, eax
inc eax
je 0x42b66f
jmp 0x42b67e
jmp 0x42b4d1
jmp 0x42b4d1
xor eax, eax
inc eax
je 0x42b6f9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c8], eax
cvtsi2sd xmm0, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x81c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c4], eax
jmp 0x42b703
mov dword [ebp - 0x1c4], 7
mov eax, dword [ebp - 0x180]
shl eax, 2
add eax, dword [ebp - 0x17c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x180]
shl ecx, 2
add ecx, dword [ebp - 0x17c]
mov dword [ecx], eax
jmp 0x42a6b1
mov eax, dword [ebp - 0x178]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1cc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1cc]
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
xor eax, eax
mov byte [ebp - 2], al
lea ecx, [ebp - 2]
call fcn.00416364
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1d4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x42c813
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], eax
and dword [ebp - 0x1dc], 0
jmp 0x42b7a1
mov eax, dword [ebp - 0x1dc]
inc eax
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 1
jae 0x42c813
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ba6b
xor eax, eax
je 0x42b7eb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42b827
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f40]
movsd qword [ebp - 0x81d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42b9be
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42b9be
and dword [ebp - 0x1e0], 0
jmp 0x42b8a1
cmp dword [ebp - 0x1e0], 0xa
jae 0x42b9b9
cvtsi2sd xmm0, dword [ebp - 0x1e0]
movsd xmm1, qword [ebp - 0x81d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b910
mov eax, dword [ebp - 0x1e0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81d8], xmm1
jmp 0x42b811
cvtsi2sd xmm0, dword [ebp - 0x1e0]
movsd xmm1, qword [ebp - 0x81d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b96d
mov eax, dword [ebp - 0x1e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x81d8], xmm1
jmp 0x42b981
xor eax, eax
je 0x42b97d
jmp 0x42ba39
jmp 0x42b9a4
cvtsi2sd xmm0, dword [ebp - 0x1e0]
movsd xmm1, qword [ebp - 0x81d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e4], eax
jmp 0x42ba43
xor eax, eax
inc eax
je 0x42b9af
jmp 0x42b9be
jmp 0x42b811
jmp 0x42b811
xor eax, eax
inc eax
je 0x42ba39
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e8], eax
cvtsi2sd xmm0, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x81d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e4], eax
jmp 0x42ba43
mov dword [ebp - 0x1e4], 7
mov eax, dword [ebp - 0x1dc]
shl eax, 2
add eax, dword [ebp - 0x1d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
add ecx, dword [ebp - 0x1d8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42c551
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42bd6d
xor eax, eax
je 0x42baed
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42bb29
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f38]
movsd qword [ebp - 0x81f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42bcc0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42bcc0
and dword [ebp - 0x1ec], 0
jmp 0x42bba3
cmp dword [ebp - 0x1ec], 0xa
jae 0x42bcbb
cvtsi2sd xmm0, dword [ebp - 0x1ec]
movsd xmm1, qword [ebp - 0x81f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42bc12
mov eax, dword [ebp - 0x1ec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81f0], xmm1
jmp 0x42bb13
cvtsi2sd xmm0, dword [ebp - 0x1ec]
movsd xmm1, qword [ebp - 0x81f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8200], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8200]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42bc6f
mov eax, dword [ebp - 0x1ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x81f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x81f0], xmm1
jmp 0x42bc83
xor eax, eax
je 0x42bc7f
jmp 0x42bd3b
jmp 0x42bca6
cvtsi2sd xmm0, dword [ebp - 0x1ec]
movsd xmm1, qword [ebp - 0x81f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f0], eax
jmp 0x42bd45
xor eax, eax
inc eax
je 0x42bcb1
jmp 0x42bcc0
jmp 0x42bb13
jmp 0x42bb13
xor eax, eax
inc eax
je 0x42bd3b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f4], eax
cvtsi2sd xmm0, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x81f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f0], eax
jmp 0x42bd45
mov dword [ebp - 0x1f0], 7
mov eax, dword [ebp - 0x1dc]
shl eax, 2
add eax, dword [ebp - 0x1d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
add ecx, dword [ebp - 0x1d8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42c02a
xor eax, eax
je 0x42bdaa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42bde6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x8208], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42bf7d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42bf7d
and dword [ebp - 0x1f8], 0
jmp 0x42be60
cmp dword [ebp - 0x1f8], 0xa
jae 0x42bf78
cvtsi2sd xmm0, dword [ebp - 0x1f8]
movsd xmm1, qword [ebp - 0x8208]
addsd xmm1, xmm0
movsd qword [ebp - 0x8210], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8210]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42becf
mov eax, dword [ebp - 0x1f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8208]
addsd xmm1, xmm0
movsd qword [ebp - 0x8208], xmm1
jmp 0x42bdd0
cvtsi2sd xmm0, dword [ebp - 0x1f8]
movsd xmm1, qword [ebp - 0x8208]
addsd xmm1, xmm0
movsd qword [ebp - 0x8218], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42bf2c
mov eax, dword [ebp - 0x1f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8208]
addsd xmm1, xmm0
movsd qword [ebp - 0x8208], xmm1
jmp 0x42bf40
xor eax, eax
je 0x42bf3c
jmp 0x42bff8
jmp 0x42bf63
cvtsi2sd xmm0, dword [ebp - 0x1f8]
movsd xmm1, qword [ebp - 0x8208]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fc], eax
jmp 0x42c002
xor eax, eax
inc eax
je 0x42bf6e
jmp 0x42bf7d
jmp 0x42bdd0
jmp 0x42bdd0
xor eax, eax
inc eax
je 0x42bff8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x200], eax
cvtsi2sd xmm0, dword [ebp - 0x200]
mov eax, dword [ebp - 0x200]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8208]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fc], eax
jmp 0x42c002
mov dword [ebp - 0x1fc], 7
mov eax, dword [ebp - 0x1dc]
shl eax, 2
add eax, dword [ebp - 0x1d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
add ecx, dword [ebp - 0x1d8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1dc]
add eax, 0xffffff9f
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8220], xmm0
xor eax, eax
je 0x42c044
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42c080
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8220]
movsd qword [ebp - 0x8228], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42c217
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42c217
and dword [ebp - 0x204], 0
jmp 0x42c0fa
cmp dword [ebp - 0x204], 0xa
jae 0x42c212
cvtsi2sd xmm0, dword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x8228]
addsd xmm1, xmm0
movsd qword [ebp - 0x8230], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8230]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c169
mov eax, dword [ebp - 0x204]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8228]
addsd xmm1, xmm0
movsd qword [ebp - 0x8228], xmm1
jmp 0x42c06a
cvtsi2sd xmm0, dword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x8228]
addsd xmm1, xmm0
movsd qword [ebp - 0x8238], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c1c6
mov eax, dword [ebp - 0x204]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8228]
addsd xmm1, xmm0
movsd qword [ebp - 0x8228], xmm1
jmp 0x42c1da
xor eax, eax
je 0x42c1d6
jmp 0x42c292
jmp 0x42c1fd
cvtsi2sd xmm0, dword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x8228]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x208], eax
jmp 0x42c29c
xor eax, eax
inc eax
je 0x42c208
jmp 0x42c217
jmp 0x42c06a
jmp 0x42c06a
xor eax, eax
inc eax
je 0x42c292
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20c], eax
cvtsi2sd xmm0, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x20c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8228]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x208], eax
jmp 0x42c29c
mov dword [ebp - 0x208], 7
mov eax, dword [ebp - 0x1dc]
add eax, 0xffffff9f
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8240], xmm0
xor eax, eax
je 0x42c2b6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42c2f2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8240]
movsd qword [ebp - 0x8248], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42c489
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42c489
and dword [ebp - 0x210], 0
jmp 0x42c36c
cmp dword [ebp - 0x210], 0xa
jae 0x42c484
cvtsi2sd xmm0, dword [ebp - 0x210]
movsd xmm1, qword [ebp - 0x8248]
addsd xmm1, xmm0
movsd qword [ebp - 0x8250], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8250]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c3db
mov eax, dword [ebp - 0x210]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8248]
addsd xmm1, xmm0
movsd qword [ebp - 0x8248], xmm1
jmp 0x42c2dc
cvtsi2sd xmm0, dword [ebp - 0x210]
movsd xmm1, qword [ebp - 0x8248]
addsd xmm1, xmm0
movsd qword [ebp - 0x8258], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c438
mov eax, dword [ebp - 0x210]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8248]
addsd xmm1, xmm0
movsd qword [ebp - 0x8248], xmm1
jmp 0x42c44c
xor eax, eax
je 0x42c448
jmp 0x42c504
jmp 0x42c46f
cvtsi2sd xmm0, dword [ebp - 0x210]
movsd xmm1, qword [ebp - 0x8248]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x214], eax
jmp 0x42c50e
xor eax, eax
inc eax
je 0x42c47a
jmp 0x42c489
jmp 0x42c2dc
jmp 0x42c2dc
xor eax, eax
inc eax
je 0x42c504
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x218], eax
cvtsi2sd xmm0, dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8248]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x214], eax
jmp 0x42c50e
mov dword [ebp - 0x214], 7
mov eax, dword [ebp - 0x1dc]
shl eax, 2
add eax, dword [ebp - 0x1d8]
mov eax, dword [eax]
add eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
add ecx, dword [ebp - 0x1d8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x214]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
add ecx, dword [ebp - 0x1d8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42c80e
xor eax, eax
je 0x42c58e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42c5ca
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x8260], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42c761
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42c761
and dword [ebp - 0x21c], 0
jmp 0x42c644
cmp dword [ebp - 0x21c], 0xa
jae 0x42c75c
cvtsi2sd xmm0, dword [ebp - 0x21c]
movsd xmm1, qword [ebp - 0x8260]
addsd xmm1, xmm0
movsd qword [ebp - 0x8268], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8268]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c6b3
mov eax, dword [ebp - 0x21c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8260]
addsd xmm1, xmm0
movsd qword [ebp - 0x8260], xmm1
jmp 0x42c5b4
cvtsi2sd xmm0, dword [ebp - 0x21c]
movsd xmm1, qword [ebp - 0x8260]
addsd xmm1, xmm0
movsd qword [ebp - 0x8270], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8270]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c710
mov eax, dword [ebp - 0x21c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8260]
addsd xmm1, xmm0
movsd qword [ebp - 0x8260], xmm1
jmp 0x42c724
xor eax, eax
je 0x42c720
jmp 0x42c7dc
jmp 0x42c747
cvtsi2sd xmm0, dword [ebp - 0x21c]
movsd xmm1, qword [ebp - 0x8260]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x220], eax
jmp 0x42c7e6
xor eax, eax
inc eax
je 0x42c752
jmp 0x42c761
jmp 0x42c5b4
jmp 0x42c5b4
xor eax, eax
inc eax
je 0x42c7dc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x224], eax
cvtsi2sd xmm0, dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8260]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x220], eax
jmp 0x42c7e6
mov dword [ebp - 0x220], 7
mov eax, dword [ebp - 0x1dc]
shl eax, 2
add eax, dword [ebp - 0x1d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
add ecx, dword [ebp - 0x1d8]
mov dword [ecx], eax
jmp 0x42b794
mov eax, dword [ebp - 0x1d4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x228], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x228]
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
xor eax, eax
mov byte [ebp - 3], al
lea ecx, [ebp - 3]
call fcn.00415f20
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x42d8f6
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x234], eax
and dword [ebp - 0x238], 0
jmp 0x42c884
mov eax, dword [ebp - 0x238]
inc eax
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 1
jae 0x42d8f6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42cb4e
xor eax, eax
je 0x42c8ce
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42c90a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f38]
movsd qword [ebp - 0x8278], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42caa1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42caa1
and dword [ebp - 0x23c], 0
jmp 0x42c984
cmp dword [ebp - 0x23c], 0xa
jae 0x42ca9c
cvtsi2sd xmm0, dword [ebp - 0x23c]
movsd xmm1, qword [ebp - 0x8278]
addsd xmm1, xmm0
movsd qword [ebp - 0x8280], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8280]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c9f3
mov eax, dword [ebp - 0x23c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8278]
addsd xmm1, xmm0
movsd qword [ebp - 0x8278], xmm1
jmp 0x42c8f4
cvtsi2sd xmm0, dword [ebp - 0x23c]
movsd xmm1, qword [ebp - 0x8278]
addsd xmm1, xmm0
movsd qword [ebp - 0x8288], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8288]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ca50
mov eax, dword [ebp - 0x23c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8278]
addsd xmm1, xmm0
movsd qword [ebp - 0x8278], xmm1
jmp 0x42ca64
xor eax, eax
je 0x42ca60
jmp 0x42cb1c
jmp 0x42ca87
cvtsi2sd xmm0, dword [ebp - 0x23c]
movsd xmm1, qword [ebp - 0x8278]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x240], eax
jmp 0x42cb26
xor eax, eax
inc eax
je 0x42ca92
jmp 0x42caa1
jmp 0x42c8f4
jmp 0x42c8f4
xor eax, eax
inc eax
je 0x42cb1c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x244], eax
cvtsi2sd xmm0, dword [ebp - 0x244]
mov eax, dword [ebp - 0x244]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8278]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x240], eax
jmp 0x42cb26
mov dword [ebp - 0x240], 7
mov eax, dword [ebp - 0x238]
shl eax, 2
add eax, dword [ebp - 0x234]
mov eax, dword [eax]
xor eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x238]
shl ecx, 2
add ecx, dword [ebp - 0x234]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42d634
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ce50
xor eax, eax
je 0x42cbd0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42cc0c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x8290], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42cda3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42cda3
and dword [ebp - 0x248], 0
jmp 0x42cc86
cmp dword [ebp - 0x248], 0xa
jae 0x42cd9e
cvtsi2sd xmm0, dword [ebp - 0x248]
movsd xmm1, qword [ebp - 0x8290]
addsd xmm1, xmm0
movsd qword [ebp - 0x8298], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ccf5
mov eax, dword [ebp - 0x248]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8290]
addsd xmm1, xmm0
movsd qword [ebp - 0x8290], xmm1
jmp 0x42cbf6
cvtsi2sd xmm0, dword [ebp - 0x248]
movsd xmm1, qword [ebp - 0x8290]
addsd xmm1, xmm0
movsd qword [ebp - 0x82a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42cd52
mov eax, dword [ebp - 0x248]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8290]
addsd xmm1, xmm0
movsd qword [ebp - 0x8290], xmm1
jmp 0x42cd66
xor eax, eax
je 0x42cd62
jmp 0x42ce1e
jmp 0x42cd89
cvtsi2sd xmm0, dword [ebp - 0x248]
movsd xmm1, qword [ebp - 0x8290]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24c], eax
jmp 0x42ce28
xor eax, eax
inc eax
je 0x42cd94
jmp 0x42cda3
jmp 0x42cbf6
jmp 0x42cbf6
xor eax, eax
inc eax
je 0x42ce1e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x250], eax
cvtsi2sd xmm0, dword [ebp - 0x250]
mov eax, dword [ebp - 0x250]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8290]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24c], eax
jmp 0x42ce28
mov dword [ebp - 0x24c], 7
mov eax, dword [ebp - 0x238]
shl eax, 2
add eax, dword [ebp - 0x234]
mov eax, dword [eax]
xor eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x238]
shl ecx, 2
add ecx, dword [ebp - 0x234]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42d10d
xor eax, eax
je 0x42ce8d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42cec9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x82a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42d060
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42d060
and dword [ebp - 0x254], 0
jmp 0x42cf43
cmp dword [ebp - 0x254], 0xa
jae 0x42d05b
cvtsi2sd xmm0, dword [ebp - 0x254]
movsd xmm1, qword [ebp - 0x82a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42cfb2
mov eax, dword [ebp - 0x254]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82a8], xmm1
jmp 0x42ceb3
cvtsi2sd xmm0, dword [ebp - 0x254]
movsd xmm1, qword [ebp - 0x82a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d00f
mov eax, dword [ebp - 0x254]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82a8], xmm1
jmp 0x42d023
xor eax, eax
je 0x42d01f
jmp 0x42d0db
jmp 0x42d046
cvtsi2sd xmm0, dword [ebp - 0x254]
movsd xmm1, qword [ebp - 0x82a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x258], eax
jmp 0x42d0e5
xor eax, eax
inc eax
je 0x42d051
jmp 0x42d060
jmp 0x42ceb3
jmp 0x42ceb3
xor eax, eax
inc eax
je 0x42d0db
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25c], eax
cvtsi2sd xmm0, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x25c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x82a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x258], eax
jmp 0x42d0e5
mov dword [ebp - 0x258], 7
mov eax, dword [ebp - 0x238]
shl eax, 2
add eax, dword [ebp - 0x234]
mov eax, dword [eax]
xor eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x238]
shl ecx, 2
add ecx, dword [ebp - 0x234]
mov dword [ecx], eax
mov eax, dword [ebp - 0x238]
add eax, 0xffffffa0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x82c0], xmm0
xor eax, eax
je 0x42d127
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42d163
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x82c0]
movsd qword [ebp - 0x82c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42d2fa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42d2fa
and dword [ebp - 0x260], 0
jmp 0x42d1dd
cmp dword [ebp - 0x260], 0xa
jae 0x42d2f5
cvtsi2sd xmm0, dword [ebp - 0x260]
movsd xmm1, qword [ebp - 0x82c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d24c
mov eax, dword [ebp - 0x260]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82c8], xmm1
jmp 0x42d14d
cvtsi2sd xmm0, dword [ebp - 0x260]
movsd xmm1, qword [ebp - 0x82c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d2a9
mov eax, dword [ebp - 0x260]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82c8], xmm1
jmp 0x42d2bd
xor eax, eax
je 0x42d2b9
jmp 0x42d375
jmp 0x42d2e0
cvtsi2sd xmm0, dword [ebp - 0x260]
movsd xmm1, qword [ebp - 0x82c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x264], eax
jmp 0x42d37f
xor eax, eax
inc eax
je 0x42d2eb
jmp 0x42d2fa
jmp 0x42d14d
jmp 0x42d14d
xor eax, eax
inc eax
je 0x42d375
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x268], eax
cvtsi2sd xmm0, dword [ebp - 0x268]
mov eax, dword [ebp - 0x268]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x82c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x264], eax
jmp 0x42d37f
mov dword [ebp - 0x264], 7
mov eax, dword [ebp - 0x238]
add eax, 0xffffffa0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x82e0], xmm0
xor eax, eax
je 0x42d399
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42d3d5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x82e0]
movsd qword [ebp - 0x82e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42d56c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42d56c
and dword [ebp - 0x26c], 0
jmp 0x42d44f
cmp dword [ebp - 0x26c], 0xa
jae 0x42d567
cvtsi2sd xmm0, dword [ebp - 0x26c]
movsd xmm1, qword [ebp - 0x82e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d4be
mov eax, dword [ebp - 0x26c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82e8], xmm1
jmp 0x42d3bf
cvtsi2sd xmm0, dword [ebp - 0x26c]
movsd xmm1, qword [ebp - 0x82e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d51b
mov eax, dword [ebp - 0x26c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x82e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x82e8], xmm1
jmp 0x42d52f
xor eax, eax
je 0x42d52b
jmp 0x42d5e7
jmp 0x42d552
cvtsi2sd xmm0, dword [ebp - 0x26c]
movsd xmm1, qword [ebp - 0x82e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x270], eax
jmp 0x42d5f1
xor eax, eax
inc eax
je 0x42d55d
jmp 0x42d56c
jmp 0x42d3bf
jmp 0x42d3bf
xor eax, eax
inc eax
je 0x42d5e7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x274], eax
cvtsi2sd xmm0, dword [ebp - 0x274]
mov eax, dword [ebp - 0x274]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x82e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x270], eax
jmp 0x42d5f1
mov dword [ebp - 0x270], 7
mov eax, dword [ebp - 0x238]
shl eax, 2
add eax, dword [ebp - 0x234]
mov eax, dword [eax]
add eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x238]
shl ecx, 2
add ecx, dword [ebp - 0x234]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x270]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x238]
shl ecx, 2
add ecx, dword [ebp - 0x234]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42d8f1
xor eax, eax
je 0x42d671
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42d6ad
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8300], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42d844
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42d844
and dword [ebp - 0x278], 0
jmp 0x42d727
cmp dword [ebp - 0x278], 0xa
jae 0x42d83f
cvtsi2sd xmm0, dword [ebp - 0x278]
movsd xmm1, qword [ebp - 0x8300]
addsd xmm1, xmm0
movsd qword [ebp - 0x8308], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8308]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d796
mov eax, dword [ebp - 0x278]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8300]
addsd xmm1, xmm0
movsd qword [ebp - 0x8300], xmm1
jmp 0x42d697
cvtsi2sd xmm0, dword [ebp - 0x278]
movsd xmm1, qword [ebp - 0x8300]
addsd xmm1, xmm0
movsd qword [ebp - 0x8310], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8310]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d7f3
mov eax, dword [ebp - 0x278]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8300]
addsd xmm1, xmm0
movsd qword [ebp - 0x8300], xmm1
jmp 0x42d807
xor eax, eax
je 0x42d803
jmp 0x42d8bf
jmp 0x42d82a
cvtsi2sd xmm0, dword [ebp - 0x278]
movsd xmm1, qword [ebp - 0x8300]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27c], eax
jmp 0x42d8c9
xor eax, eax
inc eax
je 0x42d835
jmp 0x42d844
jmp 0x42d697
jmp 0x42d697
xor eax, eax
inc eax
je 0x42d8bf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x280], eax
cvtsi2sd xmm0, dword [ebp - 0x280]
mov eax, dword [ebp - 0x280]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8300]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27c], eax
jmp 0x42d8c9
mov dword [ebp - 0x27c], 7
mov eax, dword [ebp - 0x238]
shl eax, 2
add eax, dword [ebp - 0x234]
mov eax, dword [eax]
xor eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x238]
shl ecx, 2
add ecx, dword [ebp - 0x234]
mov dword [ecx], eax
jmp 0x42c877
mov eax, dword [ebp - 0x230]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x284], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x284]
mov eax, dword [eax]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x42ea1c
xor eax, eax
mov byte [ebp - 4], al
lea ecx, [ebp - 4]
call fcn.00416e90
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x42e9f2
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x290], eax
and dword [ebp - 0x294], 0
jmp 0x42d980
mov eax, dword [ebp - 0x294]
inc eax
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 1
jae 0x42e9f2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42dc4a
xor eax, eax
je 0x42d9ca
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42da06
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f38]
movsd qword [ebp - 0x8318], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42db9d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42db9d
and dword [ebp - 0x298], 0
jmp 0x42da80
cmp dword [ebp - 0x298], 0xa
jae 0x42db98
cvtsi2sd xmm0, dword [ebp - 0x298]
movsd xmm1, qword [ebp - 0x8318]
addsd xmm1, xmm0
movsd qword [ebp - 0x8320], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8320]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42daef
mov eax, dword [ebp - 0x298]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8318]
addsd xmm1, xmm0
movsd qword [ebp - 0x8318], xmm1
jmp 0x42d9f0
cvtsi2sd xmm0, dword [ebp - 0x298]
movsd xmm1, qword [ebp - 0x8318]
addsd xmm1, xmm0
movsd qword [ebp - 0x8328], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8328]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42db4c
mov eax, dword [ebp - 0x298]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8318]
addsd xmm1, xmm0
movsd qword [ebp - 0x8318], xmm1
jmp 0x42db60
xor eax, eax
je 0x42db5c
jmp 0x42dc18
jmp 0x42db83
cvtsi2sd xmm0, dword [ebp - 0x298]
movsd xmm1, qword [ebp - 0x8318]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29c], eax
jmp 0x42dc22
xor eax, eax
inc eax
je 0x42db8e
jmp 0x42db9d
jmp 0x42d9f0
jmp 0x42d9f0
xor eax, eax
inc eax
je 0x42dc18
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a0], eax
cvtsi2sd xmm0, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x2a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8318]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29c], eax
jmp 0x42dc22
mov dword [ebp - 0x29c], 7
mov eax, dword [ebp - 0x294]
shl eax, 2
add eax, dword [ebp - 0x290]
mov eax, dword [eax]
xor eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x294]
shl ecx, 2
add ecx, dword [ebp - 0x290]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42e730
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42df4c
xor eax, eax
je 0x42dccc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42dd08
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x8330], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42de9f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42de9f
and dword [ebp - 0x2a4], 0
jmp 0x42dd82
cmp dword [ebp - 0x2a4], 0xa
jae 0x42de9a
cvtsi2sd xmm0, dword [ebp - 0x2a4]
movsd xmm1, qword [ebp - 0x8330]
addsd xmm1, xmm0
movsd qword [ebp - 0x8338], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ddf1
mov eax, dword [ebp - 0x2a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8330]
addsd xmm1, xmm0
movsd qword [ebp - 0x8330], xmm1
jmp 0x42dcf2
cvtsi2sd xmm0, dword [ebp - 0x2a4]
movsd xmm1, qword [ebp - 0x8330]
addsd xmm1, xmm0
movsd qword [ebp - 0x8340], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8340]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42de4e
mov eax, dword [ebp - 0x2a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8330]
addsd xmm1, xmm0
movsd qword [ebp - 0x8330], xmm1
jmp 0x42de62
xor eax, eax
je 0x42de5e
jmp 0x42df1a
jmp 0x42de85
cvtsi2sd xmm0, dword [ebp - 0x2a4]
movsd xmm1, qword [ebp - 0x8330]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a8], eax
jmp 0x42df24
xor eax, eax
inc eax
je 0x42de90
jmp 0x42de9f
jmp 0x42dcf2
jmp 0x42dcf2
xor eax, eax
inc eax
je 0x42df1a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ac], eax
cvtsi2sd xmm0, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8330]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a8], eax
jmp 0x42df24
mov dword [ebp - 0x2a8], 7
mov eax, dword [ebp - 0x294]
shl eax, 2
add eax, dword [ebp - 0x290]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x294]
shl ecx, 2
add ecx, dword [ebp - 0x290]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42e209
xor eax, eax
je 0x42df89
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42dfc5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x8348], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42e15c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42e15c
and dword [ebp - 0x2b0], 0
jmp 0x42e03f
cmp dword [ebp - 0x2b0], 0xa
jae 0x42e157
cvtsi2sd xmm0, dword [ebp - 0x2b0]
movsd xmm1, qword [ebp - 0x8348]
addsd xmm1, xmm0
movsd qword [ebp - 0x8350], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8350]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e0ae
mov eax, dword [ebp - 0x2b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8348]
addsd xmm1, xmm0
movsd qword [ebp - 0x8348], xmm1
jmp 0x42dfaf
cvtsi2sd xmm0, dword [ebp - 0x2b0]
movsd xmm1, qword [ebp - 0x8348]
addsd xmm1, xmm0
movsd qword [ebp - 0x8358], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e10b
mov eax, dword [ebp - 0x2b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8348]
addsd xmm1, xmm0
movsd qword [ebp - 0x8348], xmm1
jmp 0x42e11f
xor eax, eax
je 0x42e11b
jmp 0x42e1d7
jmp 0x42e142
cvtsi2sd xmm0, dword [ebp - 0x2b0]
movsd xmm1, qword [ebp - 0x8348]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b4], eax
jmp 0x42e1e1
xor eax, eax
inc eax
je 0x42e14d
jmp 0x42e15c
jmp 0x42dfaf
jmp 0x42dfaf
xor eax, eax
inc eax
je 0x42e1d7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b8], eax
cvtsi2sd xmm0, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8348]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b4], eax
jmp 0x42e1e1
mov dword [ebp - 0x2b4], 7
mov eax, dword [ebp - 0x294]
shl eax, 2
add eax, dword [ebp - 0x290]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b4]
mov ecx, dword [ebp - 0x294]
shl ecx, 2
add ecx, dword [ebp - 0x290]
mov dword [ecx], eax
mov eax, dword [ebp - 0x294]
add eax, 0xffffffa0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8360], xmm0
xor eax, eax
je 0x42e223
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42e25f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8360]
movsd qword [ebp - 0x8368], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42e3f6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42e3f6
and dword [ebp - 0x2bc], 0
jmp 0x42e2d9
cmp dword [ebp - 0x2bc], 0xa
jae 0x42e3f1
cvtsi2sd xmm0, dword [ebp - 0x2bc]
movsd xmm1, qword [ebp - 0x8368]
addsd xmm1, xmm0
movsd qword [ebp - 0x8370], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8370]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e348
mov eax, dword [ebp - 0x2bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8368]
addsd xmm1, xmm0
movsd qword [ebp - 0x8368], xmm1
jmp 0x42e249
cvtsi2sd xmm0, dword [ebp - 0x2bc]
movsd xmm1, qword [ebp - 0x8368]
addsd xmm1, xmm0
movsd qword [ebp - 0x8378], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e3a5
mov eax, dword [ebp - 0x2bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8368]
addsd xmm1, xmm0
movsd qword [ebp - 0x8368], xmm1
jmp 0x42e3b9
xor eax, eax
je 0x42e3b5
jmp 0x42e471
jmp 0x42e3dc
cvtsi2sd xmm0, dword [ebp - 0x2bc]
movsd xmm1, qword [ebp - 0x8368]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c0], eax
jmp 0x42e47b
xor eax, eax
inc eax
je 0x42e3e7
jmp 0x42e3f6
jmp 0x42e249
jmp 0x42e249
xor eax, eax
inc eax
je 0x42e471
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c4], eax
cvtsi2sd xmm0, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x2c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8368]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c0], eax
jmp 0x42e47b
mov dword [ebp - 0x2c0], 7
mov eax, dword [ebp - 0x294]
add eax, 0xffffffa0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8380], xmm0
xor eax, eax
je 0x42e495
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42e4d1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8380]
movsd qword [ebp - 0x8388], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42e668
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42e668
and dword [ebp - 0x2c8], 0
jmp 0x42e54b
cmp dword [ebp - 0x2c8], 0xa
jae 0x42e663
cvtsi2sd xmm0, dword [ebp - 0x2c8]
movsd xmm1, qword [ebp - 0x8388]
addsd xmm1, xmm0
movsd qword [ebp - 0x8390], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e5ba
mov eax, dword [ebp - 0x2c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8388]
addsd xmm1, xmm0
movsd qword [ebp - 0x8388], xmm1
jmp 0x42e4bb
cvtsi2sd xmm0, dword [ebp - 0x2c8]
movsd xmm1, qword [ebp - 0x8388]
addsd xmm1, xmm0
movsd qword [ebp - 0x8398], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e617
mov eax, dword [ebp - 0x2c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8388]
addsd xmm1, xmm0
movsd qword [ebp - 0x8388], xmm1
jmp 0x42e62b
xor eax, eax
je 0x42e627
jmp 0x42e6e3
jmp 0x42e64e
cvtsi2sd xmm0, dword [ebp - 0x2c8]
movsd xmm1, qword [ebp - 0x8388]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2cc], eax
jmp 0x42e6ed
xor eax, eax
inc eax
je 0x42e659
jmp 0x42e668
jmp 0x42e4bb
jmp 0x42e4bb
xor eax, eax
inc eax
je 0x42e6e3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2d0], eax
cvtsi2sd xmm0, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8388]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2cc], eax
jmp 0x42e6ed
mov dword [ebp - 0x2cc], 7
mov eax, dword [ebp - 0x294]
shl eax, 2
add eax, dword [ebp - 0x290]
mov eax, dword [eax]
add eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x294]
shl ecx, 2
add ecx, dword [ebp - 0x290]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2cc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x294]
shl ecx, 2
add ecx, dword [ebp - 0x290]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42e9ed
xor eax, eax
je 0x42e76d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42e7a9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x83a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42e940
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42e940
and dword [ebp - 0x2d4], 0
jmp 0x42e823
cmp dword [ebp - 0x2d4], 0xa
jae 0x42e93b
cvtsi2sd xmm0, dword [ebp - 0x2d4]
movsd xmm1, qword [ebp - 0x83a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e892
mov eax, dword [ebp - 0x2d4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83a0], xmm1
jmp 0x42e793
cvtsi2sd xmm0, dword [ebp - 0x2d4]
movsd xmm1, qword [ebp - 0x83a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e8ef
mov eax, dword [ebp - 0x2d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83a0], xmm1
jmp 0x42e903
xor eax, eax
je 0x42e8ff
jmp 0x42e9bb
jmp 0x42e926
cvtsi2sd xmm0, dword [ebp - 0x2d4]
movsd xmm1, qword [ebp - 0x83a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2d8], eax
jmp 0x42e9c5
xor eax, eax
inc eax
je 0x42e931
jmp 0x42e940
jmp 0x42e793
jmp 0x42e793
xor eax, eax
inc eax
je 0x42e9bb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2dc], eax
cvtsi2sd xmm0, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x2dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x83a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2d8], eax
jmp 0x42e9c5
mov dword [ebp - 0x2d8], 7
mov eax, dword [ebp - 0x294]
shl eax, 2
add eax, dword [ebp - 0x290]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x294]
shl ecx, 2
add ecx, dword [ebp - 0x290]
mov dword [ecx], eax
jmp 0x42d973
mov eax, dword [ebp - 0x28c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2e0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2e0]
mov eax, dword [eax]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2e4], eax
xor eax, eax
mov byte [ebp - 5], al
lea ecx, [ebp - 5]
call fcn.004154c4
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x42fade
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2ec], eax
and dword [ebp - 0x2f0], 0
jmp 0x42ea6c
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 1
jae 0x42fade
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ed36
xor eax, eax
je 0x42eab6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42eaf2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f38]
movsd qword [ebp - 0x83b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42ec89
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ec89
and dword [ebp - 0x2f4], 0
jmp 0x42eb6c
cmp dword [ebp - 0x2f4], 0xa
jae 0x42ec84
cvtsi2sd xmm0, dword [ebp - 0x2f4]
movsd xmm1, qword [ebp - 0x83b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ebdb
mov eax, dword [ebp - 0x2f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83b8], xmm1
jmp 0x42eadc
cvtsi2sd xmm0, dword [ebp - 0x2f4]
movsd xmm1, qword [ebp - 0x83b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ec38
mov eax, dword [ebp - 0x2f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83b8], xmm1
jmp 0x42ec4c
xor eax, eax
je 0x42ec48
jmp 0x42ed04
jmp 0x42ec6f
cvtsi2sd xmm0, dword [ebp - 0x2f4]
movsd xmm1, qword [ebp - 0x83b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2f8], eax
jmp 0x42ed0e
xor eax, eax
inc eax
je 0x42ec7a
jmp 0x42ec89
jmp 0x42eadc
jmp 0x42eadc
xor eax, eax
inc eax
je 0x42ed04
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2fc], eax
cvtsi2sd xmm0, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x2fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x83b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2f8], eax
jmp 0x42ed0e
mov dword [ebp - 0x2f8], 7
mov eax, dword [ebp - 0x2f0]
shl eax, 2
add eax, dword [ebp - 0x2ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f0]
shl ecx, 2
add ecx, dword [ebp - 0x2ec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42f81c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42f038
xor eax, eax
je 0x42edb8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42edf4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x83d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42ef8b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42ef8b
and dword [ebp - 0x300], 0
jmp 0x42ee6e
cmp dword [ebp - 0x300], 0xa
jae 0x42ef86
cvtsi2sd xmm0, dword [ebp - 0x300]
movsd xmm1, qword [ebp - 0x83d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42eedd
mov eax, dword [ebp - 0x300]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83d0], xmm1
jmp 0x42edde
cvtsi2sd xmm0, dword [ebp - 0x300]
movsd xmm1, qword [ebp - 0x83d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ef3a
mov eax, dword [ebp - 0x300]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x83d0], xmm1
jmp 0x42ef4e
xor eax, eax
je 0x42ef4a
jmp 0x42f006
jmp 0x42ef71
cvtsi2sd xmm0, dword [ebp - 0x300]
movsd xmm1, qword [ebp - 0x83d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x304], eax
jmp 0x42f010
xor eax, eax
inc eax
je 0x42ef7c
jmp 0x42ef8b
jmp 0x42edde
jmp 0x42edde
xor eax, eax
inc eax
je 0x42f006
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x308], eax
cvtsi2sd xmm0, dword [ebp - 0x308]
mov eax, dword [ebp - 0x308]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x83d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x304], eax
jmp 0x42f010
mov dword [ebp - 0x304], 7
mov eax, dword [ebp - 0x2f0]
shl eax, 2
add eax, dword [ebp - 0x2ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x2f0]
shl ecx, 2
add ecx, dword [ebp - 0x2ec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42f2f5
xor eax, eax
je 0x42f075
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42f0b1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x83e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42f248
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42f248
and dword [ebp - 0x30c], 0
jmp 0x42f12b
cmp dword [ebp - 0x30c], 0xa
jae 0x42f243
cvtsi2sd xmm0, dword [ebp - 0x30c]
movsd xmm1, qword [ebp - 0x83e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f19a
mov eax, dword [ebp - 0x30c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83e8], xmm1
jmp 0x42f09b
cvtsi2sd xmm0, dword [ebp - 0x30c]
movsd xmm1, qword [ebp - 0x83e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f1f7
mov eax, dword [ebp - 0x30c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x83e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x83e8], xmm1
jmp 0x42f20b
xor eax, eax
je 0x42f207
jmp 0x42f2c3
jmp 0x42f22e
cvtsi2sd xmm0, dword [ebp - 0x30c]
movsd xmm1, qword [ebp - 0x83e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x310], eax
jmp 0x42f2cd
xor eax, eax
inc eax
je 0x42f239
jmp 0x42f248
jmp 0x42f09b
jmp 0x42f09b
xor eax, eax
inc eax
je 0x42f2c3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x314], eax
cvtsi2sd xmm0, dword [ebp - 0x314]
mov eax, dword [ebp - 0x314]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x83e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x310], eax
jmp 0x42f2cd
mov dword [ebp - 0x310], 7
mov eax, dword [ebp - 0x2f0]
shl eax, 2
add eax, dword [ebp - 0x2ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x2f0]
shl ecx, 2
add ecx, dword [ebp - 0x2ec]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2f0]
add eax, 0xffffffa0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8400], xmm0
xor eax, eax
je 0x42f30f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42f34b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8400]
movsd qword [ebp - 0x8408], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42f4e2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42f4e2
and dword [ebp - 0x318], 0
jmp 0x42f3c5
cmp dword [ebp - 0x318], 0xa
jae 0x42f4dd
cvtsi2sd xmm0, dword [ebp - 0x318]
movsd xmm1, qword [ebp - 0x8408]
addsd xmm1, xmm0
movsd qword [ebp - 0x8410], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8410]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f434
mov eax, dword [ebp - 0x318]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8408]
addsd xmm1, xmm0
movsd qword [ebp - 0x8408], xmm1
jmp 0x42f335
cvtsi2sd xmm0, dword [ebp - 0x318]
movsd xmm1, qword [ebp - 0x8408]
addsd xmm1, xmm0
movsd qword [ebp - 0x8418], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f491
mov eax, dword [ebp - 0x318]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8408]
addsd xmm1, xmm0
movsd qword [ebp - 0x8408], xmm1
jmp 0x42f4a5
xor eax, eax
je 0x42f4a1
jmp 0x42f55d
jmp 0x42f4c8
cvtsi2sd xmm0, dword [ebp - 0x318]
movsd xmm1, qword [ebp - 0x8408]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x31c], eax
jmp 0x42f567
xor eax, eax
inc eax
je 0x42f4d3
jmp 0x42f4e2
jmp 0x42f335
jmp 0x42f335
xor eax, eax
inc eax
je 0x42f55d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x320], eax
cvtsi2sd xmm0, dword [ebp - 0x320]
mov eax, dword [ebp - 0x320]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8408]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x31c], eax
jmp 0x42f567
mov dword [ebp - 0x31c], 7
mov eax, dword [ebp - 0x2f0]
add eax, 0xffffffa0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8420], xmm0
xor eax, eax
je 0x42f581
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42f5bd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8420]
movsd qword [ebp - 0x8428], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42f754
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42f754
and dword [ebp - 0x324], 0
jmp 0x42f637
cmp dword [ebp - 0x324], 0xa
jae 0x42f74f
cvtsi2sd xmm0, dword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x8428]
addsd xmm1, xmm0
movsd qword [ebp - 0x8430], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8430]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f6a6
mov eax, dword [ebp - 0x324]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8428]
addsd xmm1, xmm0
movsd qword [ebp - 0x8428], xmm1
jmp 0x42f5a7
cvtsi2sd xmm0, dword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x8428]
addsd xmm1, xmm0
movsd qword [ebp - 0x8438], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f703
mov eax, dword [ebp - 0x324]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8428]
addsd xmm1, xmm0
movsd qword [ebp - 0x8428], xmm1
jmp 0x42f717
xor eax, eax
je 0x42f713
jmp 0x42f7cf
jmp 0x42f73a
cvtsi2sd xmm0, dword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x8428]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x328], eax
jmp 0x42f7d9
xor eax, eax
inc eax
je 0x42f745
jmp 0x42f754
jmp 0x42f5a7
jmp 0x42f5a7
xor eax, eax
inc eax
je 0x42f7cf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x32c], eax
cvtsi2sd xmm0, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x32c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8428]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x328], eax
jmp 0x42f7d9
mov dword [ebp - 0x328], 7
mov eax, dword [ebp - 0x2f0]
shl eax, 2
add eax, dword [ebp - 0x2ec]
mov eax, dword [eax]
add eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x2f0]
shl ecx, 2
add ecx, dword [ebp - 0x2ec]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x328]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2f0]
shl ecx, 2
add ecx, dword [ebp - 0x2ec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42fad9
xor eax, eax
je 0x42f859
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42f895
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8440], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42fa2c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42fa2c
and dword [ebp - 0x330], 0
jmp 0x42f90f
cmp dword [ebp - 0x330], 0xa
jae 0x42fa27
cvtsi2sd xmm0, dword [ebp - 0x330]
movsd xmm1, qword [ebp - 0x8440]
addsd xmm1, xmm0
movsd qword [ebp - 0x8448], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8448]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f97e
mov eax, dword [ebp - 0x330]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8440]
addsd xmm1, xmm0
movsd qword [ebp - 0x8440], xmm1
jmp 0x42f87f
cvtsi2sd xmm0, dword [ebp - 0x330]
movsd xmm1, qword [ebp - 0x8440]
addsd xmm1, xmm0
movsd qword [ebp - 0x8450], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8450]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f9db
mov eax, dword [ebp - 0x330]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8440]
addsd xmm1, xmm0
movsd qword [ebp - 0x8440], xmm1
jmp 0x42f9ef
xor eax, eax
je 0x42f9eb
jmp 0x42faa7
jmp 0x42fa12
cvtsi2sd xmm0, dword [ebp - 0x330]
movsd xmm1, qword [ebp - 0x8440]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x334], eax
jmp 0x42fab1
xor eax, eax
inc eax
je 0x42fa1d
jmp 0x42fa2c
jmp 0x42f87f
jmp 0x42f87f
xor eax, eax
inc eax
je 0x42faa7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x338], eax
cvtsi2sd xmm0, dword [ebp - 0x338]
mov eax, dword [ebp - 0x338]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8440]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x334], eax
jmp 0x42fab1
mov dword [ebp - 0x334], 7
mov eax, dword [ebp - 0x2f0]
shl eax, 2
add eax, dword [ebp - 0x2ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0x2f0]
shl ecx, 2
add ecx, dword [ebp - 0x2ec]
mov dword [ecx], eax
jmp 0x42ea5f
mov eax, dword [ebp - 0x2e8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x33c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x33c]
mov eax, dword [eax]
mov dword [ebp - 0x340], eax
xor eax, eax
mov byte [ebp - 6], al
lea ecx, [ebp - 6]
call fcn.00415428
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x430bc1
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x348], eax
and dword [ebp - 0x34c], 0
jmp 0x42fb4f
mov eax, dword [ebp - 0x34c]
inc eax
mov dword [ebp - 0x34c], eax
cmp dword [ebp - 0x34c], 1
jae 0x430bc1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42fe19
xor eax, eax
je 0x42fb99
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42fbd5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x8458], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x42fd6c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x42fd6c
and dword [ebp - 0x350], 0
jmp 0x42fc4f
cmp dword [ebp - 0x350], 0xa
jae 0x42fd67
cvtsi2sd xmm0, dword [ebp - 0x350]
movsd xmm1, qword [ebp - 0x8458]
addsd xmm1, xmm0
movsd qword [ebp - 0x8460], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8460]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42fcbe
mov eax, dword [ebp - 0x350]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8458]
addsd xmm1, xmm0
movsd qword [ebp - 0x8458], xmm1
jmp 0x42fbbf
cvtsi2sd xmm0, dword [ebp - 0x350]
movsd xmm1, qword [ebp - 0x8458]
addsd xmm1, xmm0
movsd qword [ebp - 0x8468], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8468]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42fd1b
mov eax, dword [ebp - 0x350]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8458]
addsd xmm1, xmm0
movsd qword [ebp - 0x8458], xmm1
jmp 0x42fd2f
xor eax, eax
je 0x42fd2b
jmp 0x42fde7
jmp 0x42fd52
cvtsi2sd xmm0, dword [ebp - 0x350]
movsd xmm1, qword [ebp - 0x8458]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x354], eax
jmp 0x42fdf1
xor eax, eax
inc eax
je 0x42fd5d
jmp 0x42fd6c
jmp 0x42fbbf
jmp 0x42fbbf
xor eax, eax
inc eax
je 0x42fde7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x358], eax
cvtsi2sd xmm0, dword [ebp - 0x358]
mov eax, dword [ebp - 0x358]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8458]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x354], eax
jmp 0x42fdf1
mov dword [ebp - 0x354], 7
mov eax, dword [ebp - 0x34c]
shl eax, 2
add eax, dword [ebp - 0x348]
mov eax, dword [eax]
xor eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x34c]
shl ecx, 2
add ecx, dword [ebp - 0x348]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4308ff
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43011b
xor eax, eax
je 0x42fe9b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x42fed7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x8470], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43006e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43006e
and dword [ebp - 0x35c], 0
jmp 0x42ff51
cmp dword [ebp - 0x35c], 0xa
jae 0x430069
cvtsi2sd xmm0, dword [ebp - 0x35c]
movsd xmm1, qword [ebp - 0x8470]
addsd xmm1, xmm0
movsd qword [ebp - 0x8478], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ffc0
mov eax, dword [ebp - 0x35c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8470]
addsd xmm1, xmm0
movsd qword [ebp - 0x8470], xmm1
jmp 0x42fec1
cvtsi2sd xmm0, dword [ebp - 0x35c]
movsd xmm1, qword [ebp - 0x8470]
addsd xmm1, xmm0
movsd qword [ebp - 0x8480], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8480]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43001d
mov eax, dword [ebp - 0x35c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8470]
addsd xmm1, xmm0
movsd qword [ebp - 0x8470], xmm1
jmp 0x430031
xor eax, eax
je 0x43002d
jmp 0x4300e9
jmp 0x430054
cvtsi2sd xmm0, dword [ebp - 0x35c]
movsd xmm1, qword [ebp - 0x8470]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x360], eax
jmp 0x4300f3
xor eax, eax
inc eax
je 0x43005f
jmp 0x43006e
jmp 0x42fec1
jmp 0x42fec1
xor eax, eax
inc eax
je 0x4300e9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x364], eax
cvtsi2sd xmm0, dword [ebp - 0x364]
mov eax, dword [ebp - 0x364]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8470]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x360], eax
jmp 0x4300f3
mov dword [ebp - 0x360], 7
mov eax, dword [ebp - 0x34c]
shl eax, 2
add eax, dword [ebp - 0x348]
mov eax, dword [eax]
xor eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x34c]
shl ecx, 2
add ecx, dword [ebp - 0x348]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4303d8
xor eax, eax
je 0x430158
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x430194
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8488], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43032b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43032b
and dword [ebp - 0x368], 0
jmp 0x43020e
cmp dword [ebp - 0x368], 0xa
jae 0x430326
cvtsi2sd xmm0, dword [ebp - 0x368]
movsd xmm1, qword [ebp - 0x8488]
addsd xmm1, xmm0
movsd qword [ebp - 0x8490], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8490]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43027d
mov eax, dword [ebp - 0x368]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8488]
addsd xmm1, xmm0
movsd qword [ebp - 0x8488], xmm1
jmp 0x43017e
cvtsi2sd xmm0, dword [ebp - 0x368]
movsd xmm1, qword [ebp - 0x8488]
addsd xmm1, xmm0
movsd qword [ebp - 0x8498], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4302da
mov eax, dword [ebp - 0x368]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8488]
addsd xmm1, xmm0
movsd qword [ebp - 0x8488], xmm1
jmp 0x4302ee
xor eax, eax
je 0x4302ea
jmp 0x4303a6
jmp 0x430311
cvtsi2sd xmm0, dword [ebp - 0x368]
movsd xmm1, qword [ebp - 0x8488]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x36c], eax
jmp 0x4303b0
xor eax, eax
inc eax
je 0x43031c
jmp 0x43032b
jmp 0x43017e
jmp 0x43017e
xor eax, eax
inc eax
je 0x4303a6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x370], eax
cvtsi2sd xmm0, dword [ebp - 0x370]
mov eax, dword [ebp - 0x370]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8488]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x36c], eax
jmp 0x4303b0
mov dword [ebp - 0x36c], 7
mov eax, dword [ebp - 0x34c]
shl eax, 2
add eax, dword [ebp - 0x348]
mov eax, dword [eax]
xor eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x34c]
shl ecx, 2
add ecx, dword [ebp - 0x348]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34c]
add eax, 0xffffffa1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x84a0], xmm0
xor eax, eax
je 0x4303f2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43042e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x84a0]
movsd qword [ebp - 0x84a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4305c5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4305c5
and dword [ebp - 0x374], 0
jmp 0x4304a8
cmp dword [ebp - 0x374], 0xa
jae 0x4305c0
cvtsi2sd xmm0, dword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x84a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430517
mov eax, dword [ebp - 0x374]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84a8], xmm1
jmp 0x430418
cvtsi2sd xmm0, dword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x84a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430574
mov eax, dword [ebp - 0x374]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84a8], xmm1
jmp 0x430588
xor eax, eax
je 0x430584
jmp 0x430640
jmp 0x4305ab
cvtsi2sd xmm0, dword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x84a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x378], eax
jmp 0x43064a
xor eax, eax
inc eax
je 0x4305b6
jmp 0x4305c5
jmp 0x430418
jmp 0x430418
xor eax, eax
inc eax
je 0x430640
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x37c], eax
cvtsi2sd xmm0, dword [ebp - 0x37c]
mov eax, dword [ebp - 0x37c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x84a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x378], eax
jmp 0x43064a
mov dword [ebp - 0x378], 7
mov eax, dword [ebp - 0x34c]
add eax, 0xffffffa1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x84c0], xmm0
xor eax, eax
je 0x430664
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4306a0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x84c0]
movsd qword [ebp - 0x84c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x430837
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x430837
and dword [ebp - 0x380], 0
jmp 0x43071a
cmp dword [ebp - 0x380], 0xa
jae 0x430832
cvtsi2sd xmm0, dword [ebp - 0x380]
movsd xmm1, qword [ebp - 0x84c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430789
mov eax, dword [ebp - 0x380]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84c8], xmm1
jmp 0x43068a
cvtsi2sd xmm0, dword [ebp - 0x380]
movsd xmm1, qword [ebp - 0x84c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4307e6
mov eax, dword [ebp - 0x380]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84c8], xmm1
jmp 0x4307fa
xor eax, eax
je 0x4307f6
jmp 0x4308b2
jmp 0x43081d
cvtsi2sd xmm0, dword [ebp - 0x380]
movsd xmm1, qword [ebp - 0x84c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x384], eax
jmp 0x4308bc
xor eax, eax
inc eax
je 0x430828
jmp 0x430837
jmp 0x43068a
jmp 0x43068a
xor eax, eax
inc eax
je 0x4308b2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x388], eax
cvtsi2sd xmm0, dword [ebp - 0x388]
mov eax, dword [ebp - 0x388]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x84c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x384], eax
jmp 0x4308bc
mov dword [ebp - 0x384], 7
mov eax, dword [ebp - 0x34c]
shl eax, 2
add eax, dword [ebp - 0x348]
mov eax, dword [eax]
add eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x34c]
shl ecx, 2
add ecx, dword [ebp - 0x348]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x384]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x34c]
shl ecx, 2
add ecx, dword [ebp - 0x348]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x430bbc
xor eax, eax
je 0x43093c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x430978
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x84e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x430b0f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x430b0f
and dword [ebp - 0x38c], 0
jmp 0x4309f2
cmp dword [ebp - 0x38c], 0xa
jae 0x430b0a
cvtsi2sd xmm0, dword [ebp - 0x38c]
movsd xmm1, qword [ebp - 0x84e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x84e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430a61
mov eax, dword [ebp - 0x38c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x84e0], xmm1
jmp 0x430962
cvtsi2sd xmm0, dword [ebp - 0x38c]
movsd xmm1, qword [ebp - 0x84e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x84f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430abe
mov eax, dword [ebp - 0x38c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x84e0], xmm1
jmp 0x430ad2
xor eax, eax
je 0x430ace
jmp 0x430b8a
jmp 0x430af5
cvtsi2sd xmm0, dword [ebp - 0x38c]
movsd xmm1, qword [ebp - 0x84e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x390], eax
jmp 0x430b94
xor eax, eax
inc eax
je 0x430b00
jmp 0x430b0f
jmp 0x430962
jmp 0x430962
xor eax, eax
inc eax
je 0x430b8a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x394], eax
cvtsi2sd xmm0, dword [ebp - 0x394]
mov eax, dword [ebp - 0x394]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x84e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x390], eax
jmp 0x430b94
mov dword [ebp - 0x390], 7
mov eax, dword [ebp - 0x34c]
shl eax, 2
add eax, dword [ebp - 0x348]
mov eax, dword [eax]
xor eax, dword [ebp - 0x390]
mov ecx, dword [ebp - 0x34c]
shl ecx, 2
add ecx, dword [ebp - 0x348]
mov dword [ecx], eax
jmp 0x42fb42
mov eax, dword [ebp - 0x344]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x398], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x398]
mov eax, dword [eax]
mov dword [ebp - 0x39c], eax
xor eax, eax
mov byte [ebp - 7], al
lea ecx, [ebp - 7]
call fcn.004159a4
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x431ca4
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
and dword [ebp - 0x3a8], 0
jmp 0x430c32
mov eax, dword [ebp - 0x3a8]
inc eax
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 1
jae 0x431ca4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x430efc
xor eax, eax
je 0x430c7c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x430cb8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f30]
movsd qword [ebp - 0x84f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x430e4f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x430e4f
and dword [ebp - 0x3ac], 0
jmp 0x430d32
cmp dword [ebp - 0x3ac], 0xa
jae 0x430e4a
cvtsi2sd xmm0, dword [ebp - 0x3ac]
movsd xmm1, qword [ebp - 0x84f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8500], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8500]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430da1
mov eax, dword [ebp - 0x3ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84f8], xmm1
jmp 0x430ca2
cvtsi2sd xmm0, dword [ebp - 0x3ac]
movsd xmm1, qword [ebp - 0x84f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8508], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8508]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430dfe
mov eax, dword [ebp - 0x3ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x84f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x84f8], xmm1
jmp 0x430e12
xor eax, eax
je 0x430e0e
jmp 0x430eca
jmp 0x430e35
cvtsi2sd xmm0, dword [ebp - 0x3ac]
movsd xmm1, qword [ebp - 0x84f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3b0], eax
jmp 0x430ed4
xor eax, eax
inc eax
je 0x430e40
jmp 0x430e4f
jmp 0x430ca2
jmp 0x430ca2
xor eax, eax
inc eax
je 0x430eca
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x3b4], eax
cvtsi2sd xmm0, dword [ebp - 0x3b4]
mov eax, dword [ebp - 0x3b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x84f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3b0], eax
jmp 0x430ed4
mov dword [ebp - 0x3b0], 7
mov eax, dword [ebp - 0x3a8]
shl eax, 2
add eax, dword [ebp - 0x3a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x3b0]
mov ecx, dword [ebp - 0x3a8]
shl ecx, 2
add ecx, dword [ebp - 0x3a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4319e2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4311fe
xor eax, eax
je 0x430f7e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x430fba
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x8510], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x431151
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x431151
and dword [ebp - 0x3b8], 0
jmp 0x431034
cmp dword [ebp - 0x3b8], 0xa
jae 0x43114c
cvtsi2sd xmm0, dword [ebp - 0x3b8]
movsd xmm1, qword [ebp - 0x8510]
addsd xmm1, xmm0
movsd qword [ebp - 0x8518], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4310a3
mov eax, dword [ebp - 0x3b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8510]
addsd xmm1, xmm0
movsd qword [ebp - 0x8510], xmm1
jmp 0x430fa4
cvtsi2sd xmm0, dword [ebp - 0x3b8]
movsd xmm1, qword [ebp - 0x8510]
addsd xmm1, xmm0
movsd qword [ebp - 0x8520], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8520]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431100
mov eax, dword [ebp - 0x3b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8510]
addsd xmm1, xmm0
movsd qword [ebp - 0x8510], xmm1
jmp 0x431114
xor eax, eax
je 0x431110
jmp 0x4311cc
jmp 0x431137
cvtsi2sd xmm0, dword [ebp - 0x3b8]
movsd xmm1, qword [ebp - 0x8510]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3bc], eax
jmp 0x4311d6
xor eax, eax
inc eax
je 0x431142
jmp 0x431151
jmp 0x430fa4
jmp 0x430fa4
xor eax, eax
inc eax
je 0x4311cc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x3c0], eax
cvtsi2sd xmm0, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8510]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3bc], eax
jmp 0x4311d6
mov dword [ebp - 0x3bc], 7
mov eax, dword [ebp - 0x3a8]
shl eax, 2
add eax, dword [ebp - 0x3a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x3bc]
mov ecx, dword [ebp - 0x3a8]
shl ecx, 2
add ecx, dword [ebp - 0x3a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4314bb
xor eax, eax
je 0x43123b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x431277
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8528], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43140e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43140e
and dword [ebp - 0x3c4], 0
jmp 0x4312f1
cmp dword [ebp - 0x3c4], 0xa
jae 0x431409
cvtsi2sd xmm0, dword [ebp - 0x3c4]
movsd xmm1, qword [ebp - 0x8528]
addsd xmm1, xmm0
movsd qword [ebp - 0x8530], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8530]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431360
mov eax, dword [ebp - 0x3c4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8528]
addsd xmm1, xmm0
movsd qword [ebp - 0x8528], xmm1
jmp 0x431261
cvtsi2sd xmm0, dword [ebp - 0x3c4]
movsd xmm1, qword [ebp - 0x8528]
addsd xmm1, xmm0
movsd qword [ebp - 0x8538], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4313bd
mov eax, dword [ebp - 0x3c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8528]
addsd xmm1, xmm0
movsd qword [ebp - 0x8528], xmm1
jmp 0x4313d1
xor eax, eax
je 0x4313cd
jmp 0x431489
jmp 0x4313f4
cvtsi2sd xmm0, dword [ebp - 0x3c4]
movsd xmm1, qword [ebp - 0x8528]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3c8], eax
jmp 0x431493
xor eax, eax
inc eax
je 0x4313ff
jmp 0x43140e
jmp 0x431261
jmp 0x431261
xor eax, eax
inc eax
je 0x431489
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x3cc], eax
cvtsi2sd xmm0, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x3cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8528]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3c8], eax
jmp 0x431493
mov dword [ebp - 0x3c8], 7
mov eax, dword [ebp - 0x3a8]
shl eax, 2
add eax, dword [ebp - 0x3a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3a8]
shl ecx, 2
add ecx, dword [ebp - 0x3a4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3a8]
add eax, 0xffffffa1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8540], xmm0
xor eax, eax
je 0x4314d5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x431511
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8540]
movsd qword [ebp - 0x8548], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4316a8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4316a8
and dword [ebp - 0x3d0], 0
jmp 0x43158b
cmp dword [ebp - 0x3d0], 0xa
jae 0x4316a3
cvtsi2sd xmm0, dword [ebp - 0x3d0]
movsd xmm1, qword [ebp - 0x8548]
addsd xmm1, xmm0
movsd qword [ebp - 0x8550], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8550]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4315fa
mov eax, dword [ebp - 0x3d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8548]
addsd xmm1, xmm0
movsd qword [ebp - 0x8548], xmm1
jmp 0x4314fb
cvtsi2sd xmm0, dword [ebp - 0x3d0]
movsd xmm1, qword [ebp - 0x8548]
addsd xmm1, xmm0
movsd qword [ebp - 0x8558], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431657
mov eax, dword [ebp - 0x3d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8548]
addsd xmm1, xmm0
movsd qword [ebp - 0x8548], xmm1
jmp 0x43166b
xor eax, eax
je 0x431667
jmp 0x431723
jmp 0x43168e
cvtsi2sd xmm0, dword [ebp - 0x3d0]
movsd xmm1, qword [ebp - 0x8548]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3d4], eax
jmp 0x43172d
xor eax, eax
inc eax
je 0x431699
jmp 0x4316a8
jmp 0x4314fb
jmp 0x4314fb
xor eax, eax
inc eax
je 0x431723
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x3d8], eax
cvtsi2sd xmm0, dword [ebp - 0x3d8]
mov eax, dword [ebp - 0x3d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8548]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3d4], eax
jmp 0x43172d
mov dword [ebp - 0x3d4], 7
mov eax, dword [ebp - 0x3a8]
add eax, 0xffffffa1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8560], xmm0
xor eax, eax
je 0x431747
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x431783
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8560]
movsd qword [ebp - 0x8568], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43191a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43191a
and dword [ebp - 0x3dc], 0
jmp 0x4317fd
cmp dword [ebp - 0x3dc], 0xa
jae 0x431915
cvtsi2sd xmm0, dword [ebp - 0x3dc]
movsd xmm1, qword [ebp - 0x8568]
addsd xmm1, xmm0
movsd qword [ebp - 0x8570], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8570]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43186c
mov eax, dword [ebp - 0x3dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8568]
addsd xmm1, xmm0
movsd qword [ebp - 0x8568], xmm1
jmp 0x43176d
cvtsi2sd xmm0, dword [ebp - 0x3dc]
movsd xmm1, qword [ebp - 0x8568]
addsd xmm1, xmm0
movsd qword [ebp - 0x8578], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4318c9
mov eax, dword [ebp - 0x3dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8568]
addsd xmm1, xmm0
movsd qword [ebp - 0x8568], xmm1
jmp 0x4318dd
xor eax, eax
je 0x4318d9
jmp 0x431995
jmp 0x431900
cvtsi2sd xmm0, dword [ebp - 0x3dc]
movsd xmm1, qword [ebp - 0x8568]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3e0], eax
jmp 0x43199f
xor eax, eax
inc eax
je 0x43190b
jmp 0x43191a
jmp 0x43176d
jmp 0x43176d
xor eax, eax
inc eax
je 0x431995
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x3e4], eax
cvtsi2sd xmm0, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x3e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8568]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3e0], eax
jmp 0x43199f
mov dword [ebp - 0x3e0], 7
mov eax, dword [ebp - 0x3a8]
shl eax, 2
add eax, dword [ebp - 0x3a4]
mov eax, dword [eax]
add eax, dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0x3a8]
shl ecx, 2
add ecx, dword [ebp - 0x3a4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x3e0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x3a8]
shl ecx, 2
add ecx, dword [ebp - 0x3a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x431c9f
xor eax, eax
je 0x431a1f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x431a5b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x8580], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x431bf2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x431bf2
and dword [ebp - 0x3e8], 0
jmp 0x431ad5
cmp dword [ebp - 0x3e8], 0xa
jae 0x431bed
cvtsi2sd xmm0, dword [ebp - 0x3e8]
movsd xmm1, qword [ebp - 0x8580]
addsd xmm1, xmm0
movsd qword [ebp - 0x8588], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8588]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431b44
mov eax, dword [ebp - 0x3e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8580]
addsd xmm1, xmm0
movsd qword [ebp - 0x8580], xmm1
jmp 0x431a45
cvtsi2sd xmm0, dword [ebp - 0x3e8]
movsd xmm1, qword [ebp - 0x8580]
addsd xmm1, xmm0
movsd qword [ebp - 0x8590], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8590]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431ba1
mov eax, dword [ebp - 0x3e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8580]
addsd xmm1, xmm0
movsd qword [ebp - 0x8580], xmm1
jmp 0x431bb5
xor eax, eax
je 0x431bb1
jmp 0x431c6d
jmp 0x431bd8
cvtsi2sd xmm0, dword [ebp - 0x3e8]
movsd xmm1, qword [ebp - 0x8580]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3ec], eax
jmp 0x431c77
xor eax, eax
inc eax
je 0x431be3
jmp 0x431bf2
jmp 0x431a45
jmp 0x431a45
xor eax, eax
inc eax
je 0x431c6d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x3f0], eax
cvtsi2sd xmm0, dword [ebp - 0x3f0]
mov eax, dword [ebp - 0x3f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8580]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x3ec], eax
jmp 0x431c77
mov dword [ebp - 0x3ec], 7
mov eax, dword [ebp - 0x3a8]
shl eax, 2
add eax, dword [ebp - 0x3a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x3ec]
mov ecx, dword [ebp - 0x3a8]
shl ecx, 2
add ecx, dword [ebp - 0x3a4]
mov dword [ecx], eax
jmp 0x430c25
mov eax, dword [ebp - 0x3a0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3f4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x3f4]
mov eax, dword [eax]
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x340], eax
cmp dword [ebp - 0x340], 0
je 0x432dca
xor eax, eax
mov byte [ebp - 8], al
lea ecx, [ebp - 8]
call fcn.004181de
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x3fc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x432da0
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x400], eax
and dword [ebp - 0x404], 0
jmp 0x431d2e
mov eax, dword [ebp - 0x404]
inc eax
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 1
jae 0x432da0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x431ff8
xor eax, eax
je 0x431d78
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x431db4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x8598], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x431f4b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x431f4b
and dword [ebp - 0x408], 0
jmp 0x431e2e
cmp dword [ebp - 0x408], 0xa
jae 0x431f46
cvtsi2sd xmm0, dword [ebp - 0x408]
movsd xmm1, qword [ebp - 0x8598]
addsd xmm1, xmm0
movsd qword [ebp - 0x85a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431e9d
mov eax, dword [ebp - 0x408]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8598]
addsd xmm1, xmm0
movsd qword [ebp - 0x8598], xmm1
jmp 0x431d9e
cvtsi2sd xmm0, dword [ebp - 0x408]
movsd xmm1, qword [ebp - 0x8598]
addsd xmm1, xmm0
movsd qword [ebp - 0x85a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431efa
mov eax, dword [ebp - 0x408]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8598]
addsd xmm1, xmm0
movsd qword [ebp - 0x8598], xmm1
jmp 0x431f0e
xor eax, eax
je 0x431f0a
jmp 0x431fc6
jmp 0x431f31
cvtsi2sd xmm0, dword [ebp - 0x408]
movsd xmm1, qword [ebp - 0x8598]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x40c], eax
jmp 0x431fd0
xor eax, eax
inc eax
je 0x431f3c
jmp 0x431f4b
jmp 0x431d9e
jmp 0x431d9e
xor eax, eax
inc eax
je 0x431fc6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x410], eax
cvtsi2sd xmm0, dword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8598]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x40c], eax
jmp 0x431fd0
mov dword [ebp - 0x40c], 7
mov eax, dword [ebp - 0x404]
shl eax, 2
add eax, dword [ebp - 0x400]
mov eax, dword [eax]
xor eax, dword [ebp - 0x40c]
mov ecx, dword [ebp - 0x404]
shl ecx, 2
add ecx, dword [ebp - 0x400]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x432ade
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4322fa
xor eax, eax
je 0x43207a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4320b6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x85b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43224d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43224d
and dword [ebp - 0x414], 0
jmp 0x432130
cmp dword [ebp - 0x414], 0xa
jae 0x432248
cvtsi2sd xmm0, dword [ebp - 0x414]
movsd xmm1, qword [ebp - 0x85b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x85b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43219f
mov eax, dword [ebp - 0x414]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x85b0], xmm1
jmp 0x4320a0
cvtsi2sd xmm0, dword [ebp - 0x414]
movsd xmm1, qword [ebp - 0x85b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x85c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4321fc
mov eax, dword [ebp - 0x414]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x85b0], xmm1
jmp 0x432210
xor eax, eax
je 0x43220c
jmp 0x4322c8
jmp 0x432233
cvtsi2sd xmm0, dword [ebp - 0x414]
movsd xmm1, qword [ebp - 0x85b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x418], eax
jmp 0x4322d2
xor eax, eax
inc eax
je 0x43223e
jmp 0x43224d
jmp 0x4320a0
jmp 0x4320a0
xor eax, eax
inc eax
je 0x4322c8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x41c], eax
cvtsi2sd xmm0, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x41c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x85b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x418], eax
jmp 0x4322d2
mov dword [ebp - 0x418], 7
mov eax, dword [ebp - 0x404]
shl eax, 2
add eax, dword [ebp - 0x400]
mov eax, dword [eax]
xor eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x404]
shl ecx, 2
add ecx, dword [ebp - 0x400]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4325b7
xor eax, eax
je 0x432337
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x432373
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x85c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43250a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43250a
and dword [ebp - 0x420], 0
jmp 0x4323ed
cmp dword [ebp - 0x420], 0xa
jae 0x432505
cvtsi2sd xmm0, dword [ebp - 0x420]
movsd xmm1, qword [ebp - 0x85c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43245c
mov eax, dword [ebp - 0x420]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85c8], xmm1
jmp 0x43235d
cvtsi2sd xmm0, dword [ebp - 0x420]
movsd xmm1, qword [ebp - 0x85c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4324b9
mov eax, dword [ebp - 0x420]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85c8], xmm1
jmp 0x4324cd
xor eax, eax
je 0x4324c9
jmp 0x432585
jmp 0x4324f0
cvtsi2sd xmm0, dword [ebp - 0x420]
movsd xmm1, qword [ebp - 0x85c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x424], eax
jmp 0x43258f
xor eax, eax
inc eax
je 0x4324fb
jmp 0x43250a
jmp 0x43235d
jmp 0x43235d
xor eax, eax
inc eax
je 0x432585
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x428], eax
cvtsi2sd xmm0, dword [ebp - 0x428]
mov eax, dword [ebp - 0x428]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x85c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x424], eax
jmp 0x43258f
mov dword [ebp - 0x424], 7
mov eax, dword [ebp - 0x404]
shl eax, 2
add eax, dword [ebp - 0x400]
mov eax, dword [eax]
xor eax, dword [ebp - 0x424]
mov ecx, dword [ebp - 0x404]
shl ecx, 2
add ecx, dword [ebp - 0x400]
mov dword [ecx], eax
mov eax, dword [ebp - 0x404]
add eax, 0xffffffa2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x85e0], xmm0
xor eax, eax
je 0x4325d1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43260d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x85e0]
movsd qword [ebp - 0x85e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4327a4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4327a4
and dword [ebp - 0x42c], 0
jmp 0x432687
cmp dword [ebp - 0x42c], 0xa
jae 0x43279f
cvtsi2sd xmm0, dword [ebp - 0x42c]
movsd xmm1, qword [ebp - 0x85e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4326f6
mov eax, dword [ebp - 0x42c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85e8], xmm1
jmp 0x4325f7
cvtsi2sd xmm0, dword [ebp - 0x42c]
movsd xmm1, qword [ebp - 0x85e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432753
mov eax, dword [ebp - 0x42c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x85e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x85e8], xmm1
jmp 0x432767
xor eax, eax
je 0x432763
jmp 0x43281f
jmp 0x43278a
cvtsi2sd xmm0, dword [ebp - 0x42c]
movsd xmm1, qword [ebp - 0x85e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x430], eax
jmp 0x432829
xor eax, eax
inc eax
je 0x432795
jmp 0x4327a4
jmp 0x4325f7
jmp 0x4325f7
xor eax, eax
inc eax
je 0x43281f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x434], eax
cvtsi2sd xmm0, dword [ebp - 0x434]
mov eax, dword [ebp - 0x434]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x85e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x430], eax
jmp 0x432829
mov dword [ebp - 0x430], 7
mov eax, dword [ebp - 0x404]
add eax, 0xffffffa2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8600], xmm0
xor eax, eax
je 0x432843
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43287f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8600]
movsd qword [ebp - 0x8608], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x432a16
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x432a16
and dword [ebp - 0x438], 0
jmp 0x4328f9
cmp dword [ebp - 0x438], 0xa
jae 0x432a11
cvtsi2sd xmm0, dword [ebp - 0x438]
movsd xmm1, qword [ebp - 0x8608]
addsd xmm1, xmm0
movsd qword [ebp - 0x8610], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8610]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432968
mov eax, dword [ebp - 0x438]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8608]
addsd xmm1, xmm0
movsd qword [ebp - 0x8608], xmm1
jmp 0x432869
cvtsi2sd xmm0, dword [ebp - 0x438]
movsd xmm1, qword [ebp - 0x8608]
addsd xmm1, xmm0
movsd qword [ebp - 0x8618], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4329c5
mov eax, dword [ebp - 0x438]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8608]
addsd xmm1, xmm0
movsd qword [ebp - 0x8608], xmm1
jmp 0x4329d9
xor eax, eax
je 0x4329d5
jmp 0x432a91
jmp 0x4329fc
cvtsi2sd xmm0, dword [ebp - 0x438]
movsd xmm1, qword [ebp - 0x8608]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x43c], eax
jmp 0x432a9b
xor eax, eax
inc eax
je 0x432a07
jmp 0x432a16
jmp 0x432869
jmp 0x432869
xor eax, eax
inc eax
je 0x432a91
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x440], eax
cvtsi2sd xmm0, dword [ebp - 0x440]
mov eax, dword [ebp - 0x440]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8608]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x43c], eax
jmp 0x432a9b
mov dword [ebp - 0x43c], 7
mov eax, dword [ebp - 0x404]
shl eax, 2
add eax, dword [ebp - 0x400]
mov eax, dword [eax]
add eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x404]
shl ecx, 2
add ecx, dword [ebp - 0x400]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x43c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x404]
shl ecx, 2
add ecx, dword [ebp - 0x400]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x432d9b
xor eax, eax
je 0x432b1b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x432b57
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8620], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x432cee
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x432cee
and dword [ebp - 0x444], 0
jmp 0x432bd1
cmp dword [ebp - 0x444], 0xa
jae 0x432ce9
cvtsi2sd xmm0, dword [ebp - 0x444]
movsd xmm1, qword [ebp - 0x8620]
addsd xmm1, xmm0
movsd qword [ebp - 0x8628], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8628]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432c40
mov eax, dword [ebp - 0x444]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8620]
addsd xmm1, xmm0
movsd qword [ebp - 0x8620], xmm1
jmp 0x432b41
cvtsi2sd xmm0, dword [ebp - 0x444]
movsd xmm1, qword [ebp - 0x8620]
addsd xmm1, xmm0
movsd qword [ebp - 0x8630], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8630]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432c9d
mov eax, dword [ebp - 0x444]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8620]
addsd xmm1, xmm0
movsd qword [ebp - 0x8620], xmm1
jmp 0x432cb1
xor eax, eax
je 0x432cad
jmp 0x432d69
jmp 0x432cd4
cvtsi2sd xmm0, dword [ebp - 0x444]
movsd xmm1, qword [ebp - 0x8620]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x448], eax
jmp 0x432d73
xor eax, eax
inc eax
je 0x432cdf
jmp 0x432cee
jmp 0x432b41
jmp 0x432b41
xor eax, eax
inc eax
je 0x432d69
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x44c], eax
cvtsi2sd xmm0, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x44c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8620]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x448], eax
jmp 0x432d73
mov dword [ebp - 0x448], 7
mov eax, dword [ebp - 0x404]
shl eax, 2
add eax, dword [ebp - 0x400]
mov eax, dword [eax]
xor eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x404]
shl ecx, 2
add ecx, dword [ebp - 0x400]
mov dword [ecx], eax
jmp 0x431d21
mov eax, dword [ebp - 0x3fc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x450], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x450]
mov eax, dword [eax]
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2e4]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x454], ecx
xor eax, eax
mov byte [ebp - 9], al
lea ecx, [ebp - 9]
call fcn.0041993a
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x458]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x433e98
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x45c], eax
and dword [ebp - 0x460], 0
jmp 0x432e26
mov eax, dword [ebp - 0x460]
inc eax
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 1
jae 0x433e98
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4330f0
xor eax, eax
je 0x432e70
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x432eac
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x8638], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x433043
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x433043
and dword [ebp - 0x464], 0
jmp 0x432f26
cmp dword [ebp - 0x464], 0xa
jae 0x43303e
cvtsi2sd xmm0, dword [ebp - 0x464]
movsd xmm1, qword [ebp - 0x8638]
addsd xmm1, xmm0
movsd qword [ebp - 0x8640], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8640]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432f95
mov eax, dword [ebp - 0x464]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8638]
addsd xmm1, xmm0
movsd qword [ebp - 0x8638], xmm1
jmp 0x432e96
cvtsi2sd xmm0, dword [ebp - 0x464]
movsd xmm1, qword [ebp - 0x8638]
addsd xmm1, xmm0
movsd qword [ebp - 0x8648], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8648]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432ff2
mov eax, dword [ebp - 0x464]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8638]
addsd xmm1, xmm0
movsd qword [ebp - 0x8638], xmm1
jmp 0x433006
xor eax, eax
je 0x433002
jmp 0x4330be
jmp 0x433029
cvtsi2sd xmm0, dword [ebp - 0x464]
movsd xmm1, qword [ebp - 0x8638]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x468], eax
jmp 0x4330c8
xor eax, eax
inc eax
je 0x433034
jmp 0x433043
jmp 0x432e96
jmp 0x432e96
xor eax, eax
inc eax
je 0x4330be
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x46c], eax
cvtsi2sd xmm0, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x46c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8638]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x468], eax
jmp 0x4330c8
mov dword [ebp - 0x468], 7
mov eax, dword [ebp - 0x460]
shl eax, 2
add eax, dword [ebp - 0x45c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x460]
shl ecx, 2
add ecx, dword [ebp - 0x45c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x433bd6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4333f2
xor eax, eax
je 0x433172
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4331ae
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8650], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x433345
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x433345
and dword [ebp - 0x470], 0
jmp 0x433228
cmp dword [ebp - 0x470], 0xa
jae 0x433340
cvtsi2sd xmm0, dword [ebp - 0x470]
movsd xmm1, qword [ebp - 0x8650]
addsd xmm1, xmm0
movsd qword [ebp - 0x8658], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433297
mov eax, dword [ebp - 0x470]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8650]
addsd xmm1, xmm0
movsd qword [ebp - 0x8650], xmm1
jmp 0x433198
cvtsi2sd xmm0, dword [ebp - 0x470]
movsd xmm1, qword [ebp - 0x8650]
addsd xmm1, xmm0
movsd qword [ebp - 0x8660], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8660]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4332f4
mov eax, dword [ebp - 0x470]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8650]
addsd xmm1, xmm0
movsd qword [ebp - 0x8650], xmm1
jmp 0x433308
xor eax, eax
je 0x433304
jmp 0x4333c0
jmp 0x43332b
cvtsi2sd xmm0, dword [ebp - 0x470]
movsd xmm1, qword [ebp - 0x8650]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x474], eax
jmp 0x4333ca
xor eax, eax
inc eax
je 0x433336
jmp 0x433345
jmp 0x433198
jmp 0x433198
xor eax, eax
inc eax
je 0x4333c0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x478], eax
cvtsi2sd xmm0, dword [ebp - 0x478]
mov eax, dword [ebp - 0x478]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8650]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x474], eax
jmp 0x4333ca
mov dword [ebp - 0x474], 7
mov eax, dword [ebp - 0x460]
shl eax, 2
add eax, dword [ebp - 0x45c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0x460]
shl ecx, 2
add ecx, dword [ebp - 0x45c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4336af
xor eax, eax
je 0x43342f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43346b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x8668], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x433602
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x433602
and dword [ebp - 0x47c], 0
jmp 0x4334e5
cmp dword [ebp - 0x47c], 0xa
jae 0x4335fd
cvtsi2sd xmm0, dword [ebp - 0x47c]
movsd xmm1, qword [ebp - 0x8668]
addsd xmm1, xmm0
movsd qword [ebp - 0x8670], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8670]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433554
mov eax, dword [ebp - 0x47c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8668]
addsd xmm1, xmm0
movsd qword [ebp - 0x8668], xmm1
jmp 0x433455
cvtsi2sd xmm0, dword [ebp - 0x47c]
movsd xmm1, qword [ebp - 0x8668]
addsd xmm1, xmm0
movsd qword [ebp - 0x8678], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4335b1
mov eax, dword [ebp - 0x47c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8668]
addsd xmm1, xmm0
movsd qword [ebp - 0x8668], xmm1
jmp 0x4335c5
xor eax, eax
je 0x4335c1
jmp 0x43367d
jmp 0x4335e8
cvtsi2sd xmm0, dword [ebp - 0x47c]
movsd xmm1, qword [ebp - 0x8668]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x480], eax
jmp 0x433687
xor eax, eax
inc eax
je 0x4335f3
jmp 0x433602
jmp 0x433455
jmp 0x433455
xor eax, eax
inc eax
je 0x43367d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x484], eax
cvtsi2sd xmm0, dword [ebp - 0x484]
mov eax, dword [ebp - 0x484]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8668]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x480], eax
jmp 0x433687
mov dword [ebp - 0x480], 7
mov eax, dword [ebp - 0x460]
shl eax, 2
add eax, dword [ebp - 0x45c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x460]
shl ecx, 2
add ecx, dword [ebp - 0x45c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x460]
add eax, 0xffffffa2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8680], xmm0
xor eax, eax
je 0x4336c9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x433705
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8680]
movsd qword [ebp - 0x8688], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43389c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43389c
and dword [ebp - 0x488], 0
jmp 0x43377f
cmp dword [ebp - 0x488], 0xa
jae 0x433897
cvtsi2sd xmm0, dword [ebp - 0x488]
movsd xmm1, qword [ebp - 0x8688]
addsd xmm1, xmm0
movsd qword [ebp - 0x8690], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8690]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4337ee
mov eax, dword [ebp - 0x488]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8688]
addsd xmm1, xmm0
movsd qword [ebp - 0x8688], xmm1
jmp 0x4336ef
cvtsi2sd xmm0, dword [ebp - 0x488]
movsd xmm1, qword [ebp - 0x8688]
addsd xmm1, xmm0
movsd qword [ebp - 0x8698], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43384b
mov eax, dword [ebp - 0x488]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8688]
addsd xmm1, xmm0
movsd qword [ebp - 0x8688], xmm1
jmp 0x43385f
xor eax, eax
je 0x43385b
jmp 0x433917
jmp 0x433882
cvtsi2sd xmm0, dword [ebp - 0x488]
movsd xmm1, qword [ebp - 0x8688]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x48c], eax
jmp 0x433921
xor eax, eax
inc eax
je 0x43388d
jmp 0x43389c
jmp 0x4336ef
jmp 0x4336ef
xor eax, eax
inc eax
je 0x433917
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x490], eax
cvtsi2sd xmm0, dword [ebp - 0x490]
mov eax, dword [ebp - 0x490]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8688]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x48c], eax
jmp 0x433921
mov dword [ebp - 0x48c], 7
mov eax, dword [ebp - 0x460]
add eax, 0xffffffa2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x86a0], xmm0
xor eax, eax
je 0x43393b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x433977
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x86a0]
movsd qword [ebp - 0x86a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x433b0e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x433b0e
and dword [ebp - 0x494], 0
jmp 0x4339f1
cmp dword [ebp - 0x494], 0xa
jae 0x433b09
cvtsi2sd xmm0, dword [ebp - 0x494]
movsd xmm1, qword [ebp - 0x86a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433a60
mov eax, dword [ebp - 0x494]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86a8], xmm1
jmp 0x433961
cvtsi2sd xmm0, dword [ebp - 0x494]
movsd xmm1, qword [ebp - 0x86a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433abd
mov eax, dword [ebp - 0x494]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86a8], xmm1
jmp 0x433ad1
xor eax, eax
je 0x433acd
jmp 0x433b89
jmp 0x433af4
cvtsi2sd xmm0, dword [ebp - 0x494]
movsd xmm1, qword [ebp - 0x86a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x498], eax
jmp 0x433b93
xor eax, eax
inc eax
je 0x433aff
jmp 0x433b0e
jmp 0x433961
jmp 0x433961
xor eax, eax
inc eax
je 0x433b89
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x49c], eax
cvtsi2sd xmm0, dword [ebp - 0x49c]
mov eax, dword [ebp - 0x49c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x86a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x498], eax
jmp 0x433b93
mov dword [ebp - 0x498], 7
mov eax, dword [ebp - 0x460]
shl eax, 2
add eax, dword [ebp - 0x45c]
mov eax, dword [eax]
add eax, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0x460]
shl ecx, 2
add ecx, dword [ebp - 0x45c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x498]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x460]
shl ecx, 2
add ecx, dword [ebp - 0x45c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x433e93
xor eax, eax
je 0x433c13
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x433c4f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x86c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x433de6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x433de6
and dword [ebp - 0x4a0], 0
jmp 0x433cc9
cmp dword [ebp - 0x4a0], 0xa
jae 0x433de1
cvtsi2sd xmm0, dword [ebp - 0x4a0]
movsd xmm1, qword [ebp - 0x86c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433d38
mov eax, dword [ebp - 0x4a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86c0], xmm1
jmp 0x433c39
cvtsi2sd xmm0, dword [ebp - 0x4a0]
movsd xmm1, qword [ebp - 0x86c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433d95
mov eax, dword [ebp - 0x4a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86c0], xmm1
jmp 0x433da9
xor eax, eax
je 0x433da5
jmp 0x433e61
jmp 0x433dcc
cvtsi2sd xmm0, dword [ebp - 0x4a0]
movsd xmm1, qword [ebp - 0x86c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4a4], eax
jmp 0x433e6b
xor eax, eax
inc eax
je 0x433dd7
jmp 0x433de6
jmp 0x433c39
jmp 0x433c39
xor eax, eax
inc eax
je 0x433e61
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x4a8], eax
cvtsi2sd xmm0, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x4a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x86c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4a4], eax
jmp 0x433e6b
mov dword [ebp - 0x4a4], 7
mov eax, dword [ebp - 0x460]
shl eax, 2
add eax, dword [ebp - 0x45c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x4a4]
mov ecx, dword [ebp - 0x460]
shl ecx, 2
add ecx, dword [ebp - 0x45c]
mov dword [ecx], eax
jmp 0x432e19
mov eax, dword [ebp - 0x458]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x4ac], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x4ac]
mov eax, dword [eax]
mov dword [ebp - 0x4b0], eax
xor eax, eax
mov byte [ebp - 0xa], al
lea ecx, [ebp - 0xa]
call fcn.00419a3e
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x4b4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x434f7b
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x4b8], eax
and dword [ebp - 0x4bc], 0
jmp 0x433f09
mov eax, dword [ebp - 0x4bc]
inc eax
mov dword [ebp - 0x4bc], eax
cmp dword [ebp - 0x4bc], 1
jae 0x434f7b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4341d3
xor eax, eax
je 0x433f53
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x433f8f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f28]
movsd qword [ebp - 0x86d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x434126
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x434126
and dword [ebp - 0x4c0], 0
jmp 0x434009
cmp dword [ebp - 0x4c0], 0xa
jae 0x434121
cvtsi2sd xmm0, dword [ebp - 0x4c0]
movsd xmm1, qword [ebp - 0x86d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434078
mov eax, dword [ebp - 0x4c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86d8], xmm1
jmp 0x433f79
cvtsi2sd xmm0, dword [ebp - 0x4c0]
movsd xmm1, qword [ebp - 0x86d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4340d5
mov eax, dword [ebp - 0x4c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86d8], xmm1
jmp 0x4340e9
xor eax, eax
je 0x4340e5
jmp 0x4341a1
jmp 0x43410c
cvtsi2sd xmm0, dword [ebp - 0x4c0]
movsd xmm1, qword [ebp - 0x86d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4c4], eax
jmp 0x4341ab
xor eax, eax
inc eax
je 0x434117
jmp 0x434126
jmp 0x433f79
jmp 0x433f79
xor eax, eax
inc eax
je 0x4341a1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x4c8], eax
cvtsi2sd xmm0, dword [ebp - 0x4c8]
mov eax, dword [ebp - 0x4c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x86d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4c4], eax
jmp 0x4341ab
mov dword [ebp - 0x4c4], 7
mov eax, dword [ebp - 0x4bc]
shl eax, 2
add eax, dword [ebp - 0x4b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x4bc]
shl ecx, 2
add ecx, dword [ebp - 0x4b8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x434cb9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4344d5
xor eax, eax
je 0x434255
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x434291
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x86f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x434428
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x434428
and dword [ebp - 0x4cc], 0
jmp 0x43430b
cmp dword [ebp - 0x4cc], 0xa
jae 0x434423
cvtsi2sd xmm0, dword [ebp - 0x4cc]
movsd xmm1, qword [ebp - 0x86f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43437a
mov eax, dword [ebp - 0x4cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86f0], xmm1
jmp 0x43427b
cvtsi2sd xmm0, dword [ebp - 0x4cc]
movsd xmm1, qword [ebp - 0x86f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8700], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8700]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4343d7
mov eax, dword [ebp - 0x4cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86f0], xmm1
jmp 0x4343eb
xor eax, eax
je 0x4343e7
jmp 0x4344a3
jmp 0x43440e
cvtsi2sd xmm0, dword [ebp - 0x4cc]
movsd xmm1, qword [ebp - 0x86f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4d0], eax
jmp 0x4344ad
xor eax, eax
inc eax
je 0x434419
jmp 0x434428
jmp 0x43427b
jmp 0x43427b
xor eax, eax
inc eax
je 0x4344a3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x4d4], eax
cvtsi2sd xmm0, dword [ebp - 0x4d4]
mov eax, dword [ebp - 0x4d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x86f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4d0], eax
jmp 0x4344ad
mov dword [ebp - 0x4d0], 7
mov eax, dword [ebp - 0x4bc]
shl eax, 2
add eax, dword [ebp - 0x4b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x4d0]
mov ecx, dword [ebp - 0x4bc]
shl ecx, 2
add ecx, dword [ebp - 0x4b8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x434792
xor eax, eax
je 0x434512
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43454e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x8708], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4346e5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4346e5
and dword [ebp - 0x4d8], 0
jmp 0x4345c8
cmp dword [ebp - 0x4d8], 0xa
jae 0x4346e0
cvtsi2sd xmm0, dword [ebp - 0x4d8]
movsd xmm1, qword [ebp - 0x8708]
addsd xmm1, xmm0
movsd qword [ebp - 0x8710], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8710]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434637
mov eax, dword [ebp - 0x4d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8708]
addsd xmm1, xmm0
movsd qword [ebp - 0x8708], xmm1
jmp 0x434538
cvtsi2sd xmm0, dword [ebp - 0x4d8]
movsd xmm1, qword [ebp - 0x8708]
addsd xmm1, xmm0
movsd qword [ebp - 0x8718], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434694
mov eax, dword [ebp - 0x4d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8708]
addsd xmm1, xmm0
movsd qword [ebp - 0x8708], xmm1
jmp 0x4346a8
xor eax, eax
je 0x4346a4
jmp 0x434760
jmp 0x4346cb
cvtsi2sd xmm0, dword [ebp - 0x4d8]
movsd xmm1, qword [ebp - 0x8708]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4dc], eax
jmp 0x43476a
xor eax, eax
inc eax
je 0x4346d6
jmp 0x4346e5
jmp 0x434538
jmp 0x434538
xor eax, eax
inc eax
je 0x434760
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x4e0], eax
cvtsi2sd xmm0, dword [ebp - 0x4e0]
mov eax, dword [ebp - 0x4e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8708]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4dc], eax
jmp 0x43476a
mov dword [ebp - 0x4dc], 7
mov eax, dword [ebp - 0x4bc]
shl eax, 2
add eax, dword [ebp - 0x4b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x4dc]
mov ecx, dword [ebp - 0x4bc]
shl ecx, 2
add ecx, dword [ebp - 0x4b8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4bc]
add eax, 0xffffffa2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8720], xmm0
xor eax, eax
je 0x4347ac
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4347e8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8720]
movsd qword [ebp - 0x8728], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43497f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43497f
and dword [ebp - 0x4e4], 0
jmp 0x434862
cmp dword [ebp - 0x4e4], 0xa
jae 0x43497a
cvtsi2sd xmm0, dword [ebp - 0x4e4]
movsd xmm1, qword [ebp - 0x8728]
addsd xmm1, xmm0
movsd qword [ebp - 0x8730], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8730]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4348d1
mov eax, dword [ebp - 0x4e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8728]
addsd xmm1, xmm0
movsd qword [ebp - 0x8728], xmm1
jmp 0x4347d2
cvtsi2sd xmm0, dword [ebp - 0x4e4]
movsd xmm1, qword [ebp - 0x8728]
addsd xmm1, xmm0
movsd qword [ebp - 0x8738], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43492e
mov eax, dword [ebp - 0x4e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8728]
addsd xmm1, xmm0
movsd qword [ebp - 0x8728], xmm1
jmp 0x434942
xor eax, eax
je 0x43493e
jmp 0x4349fa
jmp 0x434965
cvtsi2sd xmm0, dword [ebp - 0x4e4]
movsd xmm1, qword [ebp - 0x8728]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4e8], eax
jmp 0x434a04
xor eax, eax
inc eax
je 0x434970
jmp 0x43497f
jmp 0x4347d2
jmp 0x4347d2
xor eax, eax
inc eax
je 0x4349fa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x4ec], eax
cvtsi2sd xmm0, dword [ebp - 0x4ec]
mov eax, dword [ebp - 0x4ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8728]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4e8], eax
jmp 0x434a04
mov dword [ebp - 0x4e8], 7
mov eax, dword [ebp - 0x4bc]
add eax, 0xffffffa2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8740], xmm0
xor eax, eax
je 0x434a1e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x434a5a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8740]
movsd qword [ebp - 0x8748], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x434bf1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x434bf1
and dword [ebp - 0x4f0], 0
jmp 0x434ad4
cmp dword [ebp - 0x4f0], 0xa
jae 0x434bec
cvtsi2sd xmm0, dword [ebp - 0x4f0]
movsd xmm1, qword [ebp - 0x8748]
addsd xmm1, xmm0
movsd qword [ebp - 0x8750], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8750]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434b43
mov eax, dword [ebp - 0x4f0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8748]
addsd xmm1, xmm0
movsd qword [ebp - 0x8748], xmm1
jmp 0x434a44
cvtsi2sd xmm0, dword [ebp - 0x4f0]
movsd xmm1, qword [ebp - 0x8748]
addsd xmm1, xmm0
movsd qword [ebp - 0x8758], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434ba0
mov eax, dword [ebp - 0x4f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8748]
addsd xmm1, xmm0
movsd qword [ebp - 0x8748], xmm1
jmp 0x434bb4
xor eax, eax
je 0x434bb0
jmp 0x434c6c
jmp 0x434bd7
cvtsi2sd xmm0, dword [ebp - 0x4f0]
movsd xmm1, qword [ebp - 0x8748]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4f4], eax
jmp 0x434c76
xor eax, eax
inc eax
je 0x434be2
jmp 0x434bf1
jmp 0x434a44
jmp 0x434a44
xor eax, eax
inc eax
je 0x434c6c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x4f8], eax
cvtsi2sd xmm0, dword [ebp - 0x4f8]
mov eax, dword [ebp - 0x4f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8748]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x4f4], eax
jmp 0x434c76
mov dword [ebp - 0x4f4], 7
mov eax, dword [ebp - 0x4bc]
shl eax, 2
add eax, dword [ebp - 0x4b8]
mov eax, dword [eax]
add eax, dword [ebp - 0x4e8]
mov ecx, dword [ebp - 0x4bc]
shl ecx, 2
add ecx, dword [ebp - 0x4b8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x4f4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x4bc]
shl ecx, 2
add ecx, dword [ebp - 0x4b8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x434f76
xor eax, eax
je 0x434cf6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x434d32
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8760], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x434ec9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x434ec9
and dword [ebp - 0x4fc], 0
jmp 0x434dac
cmp dword [ebp - 0x4fc], 0xa
jae 0x434ec4
cvtsi2sd xmm0, dword [ebp - 0x4fc]
movsd xmm1, qword [ebp - 0x8760]
addsd xmm1, xmm0
movsd qword [ebp - 0x8768], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8768]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434e1b
mov eax, dword [ebp - 0x4fc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8760]
addsd xmm1, xmm0
movsd qword [ebp - 0x8760], xmm1
jmp 0x434d1c
cvtsi2sd xmm0, dword [ebp - 0x4fc]
movsd xmm1, qword [ebp - 0x8760]
addsd xmm1, xmm0
movsd qword [ebp - 0x8770], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8770]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434e78
mov eax, dword [ebp - 0x4fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8760]
addsd xmm1, xmm0
movsd qword [ebp - 0x8760], xmm1
jmp 0x434e8c
xor eax, eax
je 0x434e88
jmp 0x434f44
jmp 0x434eaf
cvtsi2sd xmm0, dword [ebp - 0x4fc]
movsd xmm1, qword [ebp - 0x8760]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x500], eax
jmp 0x434f4e
xor eax, eax
inc eax
je 0x434eba
jmp 0x434ec9
jmp 0x434d1c
jmp 0x434d1c
xor eax, eax
inc eax
je 0x434f44
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x504], eax
cvtsi2sd xmm0, dword [ebp - 0x504]
mov eax, dword [ebp - 0x504]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8760]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x500], eax
jmp 0x434f4e
mov dword [ebp - 0x500], 7
mov eax, dword [ebp - 0x4bc]
shl eax, 2
add eax, dword [ebp - 0x4b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x500]
mov ecx, dword [ebp - 0x4bc]
shl ecx, 2
add ecx, dword [ebp - 0x4b8]
mov dword [ecx], eax
jmp 0x433efc
mov eax, dword [ebp - 0x4b4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x508], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x508]
mov eax, dword [eax]
mov dword [ebp - 0x50c], eax
xor eax, eax
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.0041697c
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x510]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43605e
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x514], eax
and dword [ebp - 0x518], 0
jmp 0x434fec
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
cmp dword [ebp - 0x518], 1
jae 0x43605e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4352b6
xor eax, eax
je 0x435036
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x435072
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8778], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x435209
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x435209
and dword [ebp - 0x51c], 0
jmp 0x4350ec
cmp dword [ebp - 0x51c], 0xa
jae 0x435204
cvtsi2sd xmm0, dword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x8778]
addsd xmm1, xmm0
movsd qword [ebp - 0x8780], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8780]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43515b
mov eax, dword [ebp - 0x51c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8778]
addsd xmm1, xmm0
movsd qword [ebp - 0x8778], xmm1
jmp 0x43505c
cvtsi2sd xmm0, dword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x8778]
addsd xmm1, xmm0
movsd qword [ebp - 0x8788], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8788]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4351b8
mov eax, dword [ebp - 0x51c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8778]
addsd xmm1, xmm0
movsd qword [ebp - 0x8778], xmm1
jmp 0x4351cc
xor eax, eax
je 0x4351c8
jmp 0x435284
jmp 0x4351ef
cvtsi2sd xmm0, dword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x8778]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x520], eax
jmp 0x43528e
xor eax, eax
inc eax
je 0x4351fa
jmp 0x435209
jmp 0x43505c
jmp 0x43505c
xor eax, eax
inc eax
je 0x435284
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x524], eax
cvtsi2sd xmm0, dword [ebp - 0x524]
mov eax, dword [ebp - 0x524]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8778]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x520], eax
jmp 0x43528e
mov dword [ebp - 0x520], 7
mov eax, dword [ebp - 0x518]
shl eax, 2
add eax, dword [ebp - 0x514]
mov eax, dword [eax]
xor eax, dword [ebp - 0x520]
mov ecx, dword [ebp - 0x518]
shl ecx, 2
add ecx, dword [ebp - 0x514]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x435d9c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4355b8
xor eax, eax
je 0x435338
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x435374
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x8790], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43550b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43550b
and dword [ebp - 0x528], 0
jmp 0x4353ee
cmp dword [ebp - 0x528], 0xa
jae 0x435506
cvtsi2sd xmm0, dword [ebp - 0x528]
movsd xmm1, qword [ebp - 0x8790]
addsd xmm1, xmm0
movsd qword [ebp - 0x8798], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43545d
mov eax, dword [ebp - 0x528]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8790]
addsd xmm1, xmm0
movsd qword [ebp - 0x8790], xmm1
jmp 0x43535e
cvtsi2sd xmm0, dword [ebp - 0x528]
movsd xmm1, qword [ebp - 0x8790]
addsd xmm1, xmm0
movsd qword [ebp - 0x87a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4354ba
mov eax, dword [ebp - 0x528]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8790]
addsd xmm1, xmm0
movsd qword [ebp - 0x8790], xmm1
jmp 0x4354ce
xor eax, eax
je 0x4354ca
jmp 0x435586
jmp 0x4354f1
cvtsi2sd xmm0, dword [ebp - 0x528]
movsd xmm1, qword [ebp - 0x8790]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x52c], eax
jmp 0x435590
xor eax, eax
inc eax
je 0x4354fc
jmp 0x43550b
jmp 0x43535e
jmp 0x43535e
xor eax, eax
inc eax
je 0x435586
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x530], eax
cvtsi2sd xmm0, dword [ebp - 0x530]
mov eax, dword [ebp - 0x530]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8790]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x52c], eax
jmp 0x435590
mov dword [ebp - 0x52c], 7
mov eax, dword [ebp - 0x518]
shl eax, 2
add eax, dword [ebp - 0x514]
mov eax, dword [eax]
xor eax, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x518]
shl ecx, 2
add ecx, dword [ebp - 0x514]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x435875
xor eax, eax
je 0x4355f5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x435631
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x87a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4357c8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4357c8
and dword [ebp - 0x534], 0
jmp 0x4356ab
cmp dword [ebp - 0x534], 0xa
jae 0x4357c3
cvtsi2sd xmm0, dword [ebp - 0x534]
movsd xmm1, qword [ebp - 0x87a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43571a
mov eax, dword [ebp - 0x534]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87a8], xmm1
jmp 0x43561b
cvtsi2sd xmm0, dword [ebp - 0x534]
movsd xmm1, qword [ebp - 0x87a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435777
mov eax, dword [ebp - 0x534]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87a8], xmm1
jmp 0x43578b
xor eax, eax
je 0x435787
jmp 0x435843
jmp 0x4357ae
cvtsi2sd xmm0, dword [ebp - 0x534]
movsd xmm1, qword [ebp - 0x87a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x538], eax
jmp 0x43584d
xor eax, eax
inc eax
je 0x4357b9
jmp 0x4357c8
jmp 0x43561b
jmp 0x43561b
xor eax, eax
inc eax
je 0x435843
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x53c], eax
cvtsi2sd xmm0, dword [ebp - 0x53c]
mov eax, dword [ebp - 0x53c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x87a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x538], eax
jmp 0x43584d
mov dword [ebp - 0x538], 7
mov eax, dword [ebp - 0x518]
shl eax, 2
add eax, dword [ebp - 0x514]
mov eax, dword [eax]
xor eax, dword [ebp - 0x538]
mov ecx, dword [ebp - 0x518]
shl ecx, 2
add ecx, dword [ebp - 0x514]
mov dword [ecx], eax
mov eax, dword [ebp - 0x518]
add eax, 0xffffffa3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x87c0], xmm0
xor eax, eax
je 0x43588f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4358cb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x87c0]
movsd qword [ebp - 0x87c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x435a62
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x435a62
and dword [ebp - 0x540], 0
jmp 0x435945
cmp dword [ebp - 0x540], 0xa
jae 0x435a5d
cvtsi2sd xmm0, dword [ebp - 0x540]
movsd xmm1, qword [ebp - 0x87c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4359b4
mov eax, dword [ebp - 0x540]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87c8], xmm1
jmp 0x4358b5
cvtsi2sd xmm0, dword [ebp - 0x540]
movsd xmm1, qword [ebp - 0x87c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435a11
mov eax, dword [ebp - 0x540]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87c8], xmm1
jmp 0x435a25
xor eax, eax
je 0x435a21
jmp 0x435add
jmp 0x435a48
cvtsi2sd xmm0, dword [ebp - 0x540]
movsd xmm1, qword [ebp - 0x87c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x544], eax
jmp 0x435ae7
xor eax, eax
inc eax
je 0x435a53
jmp 0x435a62
jmp 0x4358b5
jmp 0x4358b5
xor eax, eax
inc eax
je 0x435add
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x548], eax
cvtsi2sd xmm0, dword [ebp - 0x548]
mov eax, dword [ebp - 0x548]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x87c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x544], eax
jmp 0x435ae7
mov dword [ebp - 0x544], 7
mov eax, dword [ebp - 0x518]
add eax, 0xffffffa3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x87e0], xmm0
xor eax, eax
je 0x435b01
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x435b3d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x87e0]
movsd qword [ebp - 0x87e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x435cd4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x435cd4
and dword [ebp - 0x54c], 0
jmp 0x435bb7
cmp dword [ebp - 0x54c], 0xa
jae 0x435ccf
cvtsi2sd xmm0, dword [ebp - 0x54c]
movsd xmm1, qword [ebp - 0x87e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435c26
mov eax, dword [ebp - 0x54c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87e8], xmm1
jmp 0x435b27
cvtsi2sd xmm0, dword [ebp - 0x54c]
movsd xmm1, qword [ebp - 0x87e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435c83
mov eax, dword [ebp - 0x54c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x87e8], xmm1
jmp 0x435c97
xor eax, eax
je 0x435c93
jmp 0x435d4f
jmp 0x435cba
cvtsi2sd xmm0, dword [ebp - 0x54c]
movsd xmm1, qword [ebp - 0x87e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x550], eax
jmp 0x435d59
xor eax, eax
inc eax
je 0x435cc5
jmp 0x435cd4
jmp 0x435b27
jmp 0x435b27
xor eax, eax
inc eax
je 0x435d4f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x554], eax
cvtsi2sd xmm0, dword [ebp - 0x554]
mov eax, dword [ebp - 0x554]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x87e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x550], eax
jmp 0x435d59
mov dword [ebp - 0x550], 7
mov eax, dword [ebp - 0x518]
shl eax, 2
add eax, dword [ebp - 0x514]
mov eax, dword [eax]
add eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x518]
shl ecx, 2
add ecx, dword [ebp - 0x514]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x550]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x518]
shl ecx, 2
add ecx, dword [ebp - 0x514]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x436059
xor eax, eax
je 0x435dd9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x435e15
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8800], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x435fac
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x435fac
and dword [ebp - 0x558], 0
jmp 0x435e8f
cmp dword [ebp - 0x558], 0xa
jae 0x435fa7
cvtsi2sd xmm0, dword [ebp - 0x558]
movsd xmm1, qword [ebp - 0x8800]
addsd xmm1, xmm0
movsd qword [ebp - 0x8808], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8808]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435efe
mov eax, dword [ebp - 0x558]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8800]
addsd xmm1, xmm0
movsd qword [ebp - 0x8800], xmm1
jmp 0x435dff
cvtsi2sd xmm0, dword [ebp - 0x558]
movsd xmm1, qword [ebp - 0x8800]
addsd xmm1, xmm0
movsd qword [ebp - 0x8810], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8810]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435f5b
mov eax, dword [ebp - 0x558]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8800]
addsd xmm1, xmm0
movsd qword [ebp - 0x8800], xmm1
jmp 0x435f6f
xor eax, eax
je 0x435f6b
jmp 0x436027
jmp 0x435f92
cvtsi2sd xmm0, dword [ebp - 0x558]
movsd xmm1, qword [ebp - 0x8800]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x55c], eax
jmp 0x436031
xor eax, eax
inc eax
je 0x435f9d
jmp 0x435fac
jmp 0x435dff
jmp 0x435dff
xor eax, eax
inc eax
je 0x436027
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x560], eax
cvtsi2sd xmm0, dword [ebp - 0x560]
mov eax, dword [ebp - 0x560]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8800]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x55c], eax
jmp 0x436031
mov dword [ebp - 0x55c], 7
mov eax, dword [ebp - 0x518]
shl eax, 2
add eax, dword [ebp - 0x514]
mov eax, dword [eax]
xor eax, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x518]
shl ecx, 2
add ecx, dword [ebp - 0x514]
mov dword [ecx], eax
jmp 0x434fdf
mov eax, dword [ebp - 0x510]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x564], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x564]
mov eax, dword [eax]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x4b0], 0
je 0x437184
xor eax, eax
mov byte [ebp - 0xc], al
lea ecx, [ebp - 0xc]
call fcn.00418c3a
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x56c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43715a
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x570], eax
and dword [ebp - 0x574], 0
jmp 0x4360e8
mov eax, dword [ebp - 0x574]
inc eax
mov dword [ebp - 0x574], eax
cmp dword [ebp - 0x574], 1
jae 0x43715a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4363b2
xor eax, eax
je 0x436132
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43616e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x8818], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x436305
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x436305
and dword [ebp - 0x578], 0
jmp 0x4361e8
cmp dword [ebp - 0x578], 0xa
jae 0x436300
cvtsi2sd xmm0, dword [ebp - 0x578]
movsd xmm1, qword [ebp - 0x8818]
addsd xmm1, xmm0
movsd qword [ebp - 0x8820], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8820]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436257
mov eax, dword [ebp - 0x578]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8818]
addsd xmm1, xmm0
movsd qword [ebp - 0x8818], xmm1
jmp 0x436158
cvtsi2sd xmm0, dword [ebp - 0x578]
movsd xmm1, qword [ebp - 0x8818]
addsd xmm1, xmm0
movsd qword [ebp - 0x8828], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8828]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4362b4
mov eax, dword [ebp - 0x578]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8818]
addsd xmm1, xmm0
movsd qword [ebp - 0x8818], xmm1
jmp 0x4362c8
xor eax, eax
je 0x4362c4
jmp 0x436380
jmp 0x4362eb
cvtsi2sd xmm0, dword [ebp - 0x578]
movsd xmm1, qword [ebp - 0x8818]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x57c], eax
jmp 0x43638a
xor eax, eax
inc eax
je 0x4362f6
jmp 0x436305
jmp 0x436158
jmp 0x436158
xor eax, eax
inc eax
je 0x436380
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x580], eax
cvtsi2sd xmm0, dword [ebp - 0x580]
mov eax, dword [ebp - 0x580]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8818]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x57c], eax
jmp 0x43638a
mov dword [ebp - 0x57c], 7
mov eax, dword [ebp - 0x574]
shl eax, 2
add eax, dword [ebp - 0x570]
mov eax, dword [eax]
xor eax, dword [ebp - 0x57c]
mov ecx, dword [ebp - 0x574]
shl ecx, 2
add ecx, dword [ebp - 0x570]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x436e98
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4366b4
xor eax, eax
je 0x436434
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x436470
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x8830], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x436607
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x436607
and dword [ebp - 0x584], 0
jmp 0x4364ea
cmp dword [ebp - 0x584], 0xa
jae 0x436602
cvtsi2sd xmm0, dword [ebp - 0x584]
movsd xmm1, qword [ebp - 0x8830]
addsd xmm1, xmm0
movsd qword [ebp - 0x8838], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436559
mov eax, dword [ebp - 0x584]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8830]
addsd xmm1, xmm0
movsd qword [ebp - 0x8830], xmm1
jmp 0x43645a
cvtsi2sd xmm0, dword [ebp - 0x584]
movsd xmm1, qword [ebp - 0x8830]
addsd xmm1, xmm0
movsd qword [ebp - 0x8840], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8840]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4365b6
mov eax, dword [ebp - 0x584]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8830]
addsd xmm1, xmm0
movsd qword [ebp - 0x8830], xmm1
jmp 0x4365ca
xor eax, eax
je 0x4365c6
jmp 0x436682
jmp 0x4365ed
cvtsi2sd xmm0, dword [ebp - 0x584]
movsd xmm1, qword [ebp - 0x8830]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x588], eax
jmp 0x43668c
xor eax, eax
inc eax
je 0x4365f8
jmp 0x436607
jmp 0x43645a
jmp 0x43645a
xor eax, eax
inc eax
je 0x436682
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x58c], eax
cvtsi2sd xmm0, dword [ebp - 0x58c]
mov eax, dword [ebp - 0x58c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8830]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x588], eax
jmp 0x43668c
mov dword [ebp - 0x588], 7
mov eax, dword [ebp - 0x574]
shl eax, 2
add eax, dword [ebp - 0x570]
mov eax, dword [eax]
xor eax, dword [ebp - 0x588]
mov ecx, dword [ebp - 0x574]
shl ecx, 2
add ecx, dword [ebp - 0x570]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x436971
xor eax, eax
je 0x4366f1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43672d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8848], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4368c4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4368c4
and dword [ebp - 0x590], 0
jmp 0x4367a7
cmp dword [ebp - 0x590], 0xa
jae 0x4368bf
cvtsi2sd xmm0, dword [ebp - 0x590]
movsd xmm1, qword [ebp - 0x8848]
addsd xmm1, xmm0
movsd qword [ebp - 0x8850], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8850]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436816
mov eax, dword [ebp - 0x590]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8848]
addsd xmm1, xmm0
movsd qword [ebp - 0x8848], xmm1
jmp 0x436717
cvtsi2sd xmm0, dword [ebp - 0x590]
movsd xmm1, qword [ebp - 0x8848]
addsd xmm1, xmm0
movsd qword [ebp - 0x8858], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436873
mov eax, dword [ebp - 0x590]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8848]
addsd xmm1, xmm0
movsd qword [ebp - 0x8848], xmm1
jmp 0x436887
xor eax, eax
je 0x436883
jmp 0x43693f
jmp 0x4368aa
cvtsi2sd xmm0, dword [ebp - 0x590]
movsd xmm1, qword [ebp - 0x8848]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x594], eax
jmp 0x436949
xor eax, eax
inc eax
je 0x4368b5
jmp 0x4368c4
jmp 0x436717
jmp 0x436717
xor eax, eax
inc eax
je 0x43693f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x598], eax
cvtsi2sd xmm0, dword [ebp - 0x598]
mov eax, dword [ebp - 0x598]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8848]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x594], eax
jmp 0x436949
mov dword [ebp - 0x594], 7
mov eax, dword [ebp - 0x574]
shl eax, 2
add eax, dword [ebp - 0x570]
mov eax, dword [eax]
xor eax, dword [ebp - 0x594]
mov ecx, dword [ebp - 0x574]
shl ecx, 2
add ecx, dword [ebp - 0x570]
mov dword [ecx], eax
mov eax, dword [ebp - 0x574]
add eax, 0xffffffa3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8860], xmm0
xor eax, eax
je 0x43698b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4369c7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8860]
movsd qword [ebp - 0x8868], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x436b5e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x436b5e
and dword [ebp - 0x59c], 0
jmp 0x436a41
cmp dword [ebp - 0x59c], 0xa
jae 0x436b59
cvtsi2sd xmm0, dword [ebp - 0x59c]
movsd xmm1, qword [ebp - 0x8868]
addsd xmm1, xmm0
movsd qword [ebp - 0x8870], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8870]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436ab0
mov eax, dword [ebp - 0x59c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8868]
addsd xmm1, xmm0
movsd qword [ebp - 0x8868], xmm1
jmp 0x4369b1
cvtsi2sd xmm0, dword [ebp - 0x59c]
movsd xmm1, qword [ebp - 0x8868]
addsd xmm1, xmm0
movsd qword [ebp - 0x8878], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436b0d
mov eax, dword [ebp - 0x59c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8868]
addsd xmm1, xmm0
movsd qword [ebp - 0x8868], xmm1
jmp 0x436b21
xor eax, eax
je 0x436b1d
jmp 0x436bd9
jmp 0x436b44
cvtsi2sd xmm0, dword [ebp - 0x59c]
movsd xmm1, qword [ebp - 0x8868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5a0], eax
jmp 0x436be3
xor eax, eax
inc eax
je 0x436b4f
jmp 0x436b5e
jmp 0x4369b1
jmp 0x4369b1
xor eax, eax
inc eax
je 0x436bd9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x5a4], eax
cvtsi2sd xmm0, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8868]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5a0], eax
jmp 0x436be3
mov dword [ebp - 0x5a0], 7
mov eax, dword [ebp - 0x574]
add eax, 0xffffffa3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8880], xmm0
xor eax, eax
je 0x436bfd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x436c39
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8880]
movsd qword [ebp - 0x8888], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x436dd0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x436dd0
and dword [ebp - 0x5a8], 0
jmp 0x436cb3
cmp dword [ebp - 0x5a8], 0xa
jae 0x436dcb
cvtsi2sd xmm0, dword [ebp - 0x5a8]
movsd xmm1, qword [ebp - 0x8888]
addsd xmm1, xmm0
movsd qword [ebp - 0x8890], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8890]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436d22
mov eax, dword [ebp - 0x5a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8888]
addsd xmm1, xmm0
movsd qword [ebp - 0x8888], xmm1
jmp 0x436c23
cvtsi2sd xmm0, dword [ebp - 0x5a8]
movsd xmm1, qword [ebp - 0x8888]
addsd xmm1, xmm0
movsd qword [ebp - 0x8898], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436d7f
mov eax, dword [ebp - 0x5a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8888]
addsd xmm1, xmm0
movsd qword [ebp - 0x8888], xmm1
jmp 0x436d93
xor eax, eax
je 0x436d8f
jmp 0x436e4b
jmp 0x436db6
cvtsi2sd xmm0, dword [ebp - 0x5a8]
movsd xmm1, qword [ebp - 0x8888]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5ac], eax
jmp 0x436e55
xor eax, eax
inc eax
je 0x436dc1
jmp 0x436dd0
jmp 0x436c23
jmp 0x436c23
xor eax, eax
inc eax
je 0x436e4b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x5b0], eax
cvtsi2sd xmm0, dword [ebp - 0x5b0]
mov eax, dword [ebp - 0x5b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8888]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5ac], eax
jmp 0x436e55
mov dword [ebp - 0x5ac], 7
mov eax, dword [ebp - 0x574]
shl eax, 2
add eax, dword [ebp - 0x570]
mov eax, dword [eax]
add eax, dword [ebp - 0x5a0]
mov ecx, dword [ebp - 0x574]
shl ecx, 2
add ecx, dword [ebp - 0x570]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x5ac]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x574]
shl ecx, 2
add ecx, dword [ebp - 0x570]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x437155
xor eax, eax
je 0x436ed5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x436f11
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x88a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4370a8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4370a8
and dword [ebp - 0x5b4], 0
jmp 0x436f8b
cmp dword [ebp - 0x5b4], 0xa
jae 0x4370a3
cvtsi2sd xmm0, dword [ebp - 0x5b4]
movsd xmm1, qword [ebp - 0x88a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436ffa
mov eax, dword [ebp - 0x5b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88a0], xmm1
jmp 0x436efb
cvtsi2sd xmm0, dword [ebp - 0x5b4]
movsd xmm1, qword [ebp - 0x88a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437057
mov eax, dword [ebp - 0x5b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88a0], xmm1
jmp 0x43706b
xor eax, eax
je 0x437067
jmp 0x437123
jmp 0x43708e
cvtsi2sd xmm0, dword [ebp - 0x5b4]
movsd xmm1, qword [ebp - 0x88a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5b8], eax
jmp 0x43712d
xor eax, eax
inc eax
je 0x437099
jmp 0x4370a8
jmp 0x436efb
jmp 0x436efb
xor eax, eax
inc eax
je 0x437123
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x5bc], eax
cvtsi2sd xmm0, dword [ebp - 0x5bc]
mov eax, dword [ebp - 0x5bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x88a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5b8], eax
jmp 0x43712d
mov dword [ebp - 0x5b8], 7
mov eax, dword [ebp - 0x574]
shl eax, 2
add eax, dword [ebp - 0x570]
mov eax, dword [eax]
xor eax, dword [ebp - 0x5b8]
mov ecx, dword [ebp - 0x574]
shl ecx, 2
add ecx, dword [ebp - 0x570]
mov dword [ecx], eax
jmp 0x4360db
mov eax, dword [ebp - 0x56c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x5c0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x5c0]
mov eax, dword [eax]
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2e4]
add ecx, dword [eax + 0x3c]
add ecx, 0xf8
mov dword [ebp - 0x5c4], ecx
xor eax, eax
mov byte [ebp - 0xd], al
lea ecx, [ebp - 0xd]
call fcn.004198d2
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x5c8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x438258
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x5cc], eax
and dword [ebp - 0x5d0], 0
jmp 0x4371e6
mov eax, dword [ebp - 0x5d0]
inc eax
mov dword [ebp - 0x5d0], eax
cmp dword [ebp - 0x5d0], 1
jae 0x438258
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4374b0
xor eax, eax
je 0x437230
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43726c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f20]
movsd qword [ebp - 0x88b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x437403
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x437403
and dword [ebp - 0x5d4], 0
jmp 0x4372e6
cmp dword [ebp - 0x5d4], 0xa
jae 0x4373fe
cvtsi2sd xmm0, dword [ebp - 0x5d4]
movsd xmm1, qword [ebp - 0x88b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437355
mov eax, dword [ebp - 0x5d4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88b8], xmm1
jmp 0x437256
cvtsi2sd xmm0, dword [ebp - 0x5d4]
movsd xmm1, qword [ebp - 0x88b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4373b2
mov eax, dword [ebp - 0x5d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88b8], xmm1
jmp 0x4373c6
xor eax, eax
je 0x4373c2
jmp 0x43747e
jmp 0x4373e9
cvtsi2sd xmm0, dword [ebp - 0x5d4]
movsd xmm1, qword [ebp - 0x88b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5d8], eax
jmp 0x437488
xor eax, eax
inc eax
je 0x4373f4
jmp 0x437403
jmp 0x437256
jmp 0x437256
xor eax, eax
inc eax
je 0x43747e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x5dc], eax
cvtsi2sd xmm0, dword [ebp - 0x5dc]
mov eax, dword [ebp - 0x5dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x88b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5d8], eax
jmp 0x437488
mov dword [ebp - 0x5d8], 7
mov eax, dword [ebp - 0x5d0]
shl eax, 2
add eax, dword [ebp - 0x5cc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x5d8]
mov ecx, dword [ebp - 0x5d0]
shl ecx, 2
add ecx, dword [ebp - 0x5cc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x437f96
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4377b2
xor eax, eax
je 0x437532
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43756e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x88d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x437705
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x437705
and dword [ebp - 0x5e0], 0
jmp 0x4375e8
cmp dword [ebp - 0x5e0], 0xa
jae 0x437700
cvtsi2sd xmm0, dword [ebp - 0x5e0]
movsd xmm1, qword [ebp - 0x88d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437657
mov eax, dword [ebp - 0x5e0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88d0], xmm1
jmp 0x437558
cvtsi2sd xmm0, dword [ebp - 0x5e0]
movsd xmm1, qword [ebp - 0x88d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4376b4
mov eax, dword [ebp - 0x5e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88d0], xmm1
jmp 0x4376c8
xor eax, eax
je 0x4376c4
jmp 0x437780
jmp 0x4376eb
cvtsi2sd xmm0, dword [ebp - 0x5e0]
movsd xmm1, qword [ebp - 0x88d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5e4], eax
jmp 0x43778a
xor eax, eax
inc eax
je 0x4376f6
jmp 0x437705
jmp 0x437558
jmp 0x437558
xor eax, eax
inc eax
je 0x437780
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x5e8], eax
cvtsi2sd xmm0, dword [ebp - 0x5e8]
mov eax, dword [ebp - 0x5e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x88d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5e4], eax
jmp 0x43778a
mov dword [ebp - 0x5e4], 7
mov eax, dword [ebp - 0x5d0]
shl eax, 2
add eax, dword [ebp - 0x5cc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x5e4]
mov ecx, dword [ebp - 0x5d0]
shl ecx, 2
add ecx, dword [ebp - 0x5cc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x437a6f
xor eax, eax
je 0x4377ef
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43782b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x88e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4379c2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4379c2
and dword [ebp - 0x5ec], 0
jmp 0x4378a5
cmp dword [ebp - 0x5ec], 0xa
jae 0x4379bd
cvtsi2sd xmm0, dword [ebp - 0x5ec]
movsd xmm1, qword [ebp - 0x88e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437914
mov eax, dword [ebp - 0x5ec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88e8], xmm1
jmp 0x437815
cvtsi2sd xmm0, dword [ebp - 0x5ec]
movsd xmm1, qword [ebp - 0x88e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437971
mov eax, dword [ebp - 0x5ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88e8], xmm1
jmp 0x437985
xor eax, eax
je 0x437981
jmp 0x437a3d
jmp 0x4379a8
cvtsi2sd xmm0, dword [ebp - 0x5ec]
movsd xmm1, qword [ebp - 0x88e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5f0], eax
jmp 0x437a47
xor eax, eax
inc eax
je 0x4379b3
jmp 0x4379c2
jmp 0x437815
jmp 0x437815
xor eax, eax
inc eax
je 0x437a3d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x5f4], eax
cvtsi2sd xmm0, dword [ebp - 0x5f4]
mov eax, dword [ebp - 0x5f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x88e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5f0], eax
jmp 0x437a47
mov dword [ebp - 0x5f0], 7
mov eax, dword [ebp - 0x5d0]
shl eax, 2
add eax, dword [ebp - 0x5cc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x5f0]
mov ecx, dword [ebp - 0x5d0]
shl ecx, 2
add ecx, dword [ebp - 0x5cc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x5d0]
add eax, 0xffffffa3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8900], xmm0
xor eax, eax
je 0x437a89
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x437ac5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8900]
movsd qword [ebp - 0x8908], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x437c5c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x437c5c
and dword [ebp - 0x5f8], 0
jmp 0x437b3f
cmp dword [ebp - 0x5f8], 0xa
jae 0x437c57
cvtsi2sd xmm0, dword [ebp - 0x5f8]
movsd xmm1, qword [ebp - 0x8908]
addsd xmm1, xmm0
movsd qword [ebp - 0x8910], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8910]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437bae
mov eax, dword [ebp - 0x5f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8908]
addsd xmm1, xmm0
movsd qword [ebp - 0x8908], xmm1
jmp 0x437aaf
cvtsi2sd xmm0, dword [ebp - 0x5f8]
movsd xmm1, qword [ebp - 0x8908]
addsd xmm1, xmm0
movsd qword [ebp - 0x8918], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437c0b
mov eax, dword [ebp - 0x5f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8908]
addsd xmm1, xmm0
movsd qword [ebp - 0x8908], xmm1
jmp 0x437c1f
xor eax, eax
je 0x437c1b
jmp 0x437cd7
jmp 0x437c42
cvtsi2sd xmm0, dword [ebp - 0x5f8]
movsd xmm1, qword [ebp - 0x8908]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5fc], eax
jmp 0x437ce1
xor eax, eax
inc eax
je 0x437c4d
jmp 0x437c5c
jmp 0x437aaf
jmp 0x437aaf
xor eax, eax
inc eax
je 0x437cd7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x600], eax
cvtsi2sd xmm0, dword [ebp - 0x600]
mov eax, dword [ebp - 0x600]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8908]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x5fc], eax
jmp 0x437ce1
mov dword [ebp - 0x5fc], 7
mov eax, dword [ebp - 0x5d0]
add eax, 0xffffffa3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8920], xmm0
xor eax, eax
je 0x437cfb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x437d37
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8920]
movsd qword [ebp - 0x8928], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x437ece
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x437ece
and dword [ebp - 0x604], 0
jmp 0x437db1
cmp dword [ebp - 0x604], 0xa
jae 0x437ec9
cvtsi2sd xmm0, dword [ebp - 0x604]
movsd xmm1, qword [ebp - 0x8928]
addsd xmm1, xmm0
movsd qword [ebp - 0x8930], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8930]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437e20
mov eax, dword [ebp - 0x604]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8928]
addsd xmm1, xmm0
movsd qword [ebp - 0x8928], xmm1
jmp 0x437d21
cvtsi2sd xmm0, dword [ebp - 0x604]
movsd xmm1, qword [ebp - 0x8928]
addsd xmm1, xmm0
movsd qword [ebp - 0x8938], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437e7d
mov eax, dword [ebp - 0x604]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8928]
addsd xmm1, xmm0
movsd qword [ebp - 0x8928], xmm1
jmp 0x437e91
xor eax, eax
je 0x437e8d
jmp 0x437f49
jmp 0x437eb4
cvtsi2sd xmm0, dword [ebp - 0x604]
movsd xmm1, qword [ebp - 0x8928]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x608], eax
jmp 0x437f53
xor eax, eax
inc eax
je 0x437ebf
jmp 0x437ece
jmp 0x437d21
jmp 0x437d21
xor eax, eax
inc eax
je 0x437f49
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x60c], eax
cvtsi2sd xmm0, dword [ebp - 0x60c]
mov eax, dword [ebp - 0x60c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8928]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x608], eax
jmp 0x437f53
mov dword [ebp - 0x608], 7
mov eax, dword [ebp - 0x5d0]
shl eax, 2
add eax, dword [ebp - 0x5cc]
mov eax, dword [eax]
add eax, dword [ebp - 0x5fc]
mov ecx, dword [ebp - 0x5d0]
shl ecx, 2
add ecx, dword [ebp - 0x5cc]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x608]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x5d0]
shl ecx, 2
add ecx, dword [ebp - 0x5cc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438253
xor eax, eax
je 0x437fd3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43800f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8940], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4381a6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4381a6
and dword [ebp - 0x610], 0
jmp 0x438089
cmp dword [ebp - 0x610], 0xa
jae 0x4381a1
cvtsi2sd xmm0, dword [ebp - 0x610]
movsd xmm1, qword [ebp - 0x8940]
addsd xmm1, xmm0
movsd qword [ebp - 0x8948], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8948]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4380f8
mov eax, dword [ebp - 0x610]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8940]
addsd xmm1, xmm0
movsd qword [ebp - 0x8940], xmm1
jmp 0x437ff9
cvtsi2sd xmm0, dword [ebp - 0x610]
movsd xmm1, qword [ebp - 0x8940]
addsd xmm1, xmm0
movsd qword [ebp - 0x8950], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8950]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438155
mov eax, dword [ebp - 0x610]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8940]
addsd xmm1, xmm0
movsd qword [ebp - 0x8940], xmm1
jmp 0x438169
xor eax, eax
je 0x438165
jmp 0x438221
jmp 0x43818c
cvtsi2sd xmm0, dword [ebp - 0x610]
movsd xmm1, qword [ebp - 0x8940]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x614], eax
jmp 0x43822b
xor eax, eax
inc eax
je 0x438197
jmp 0x4381a6
jmp 0x437ff9
jmp 0x437ff9
xor eax, eax
inc eax
je 0x438221
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x618], eax
cvtsi2sd xmm0, dword [ebp - 0x618]
mov eax, dword [ebp - 0x618]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8940]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x614], eax
jmp 0x43822b
mov dword [ebp - 0x614], 7
mov eax, dword [ebp - 0x5d0]
shl eax, 2
add eax, dword [ebp - 0x5cc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x614]
mov ecx, dword [ebp - 0x5d0]
shl ecx, 2
add ecx, dword [ebp - 0x5cc]
mov dword [ecx], eax
jmp 0x4371d9
mov eax, dword [ebp - 0x5c8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x61c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x61c]
mov eax, dword [eax]
mov dword [ebp - 0x620], eax
xor eax, eax
mov byte [ebp - 0xe], al
lea ecx, [ebp - 0xe]
call fcn.00417d9a
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x624]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43933b
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x628], eax
and dword [ebp - 0x62c], 0
jmp 0x4382c9
mov eax, dword [ebp - 0x62c]
inc eax
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 1
jae 0x43933b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438593
xor eax, eax
je 0x438313
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43834f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x8958], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4384e6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4384e6
and dword [ebp - 0x630], 0
jmp 0x4383c9
cmp dword [ebp - 0x630], 0xa
jae 0x4384e1
cvtsi2sd xmm0, dword [ebp - 0x630]
movsd xmm1, qword [ebp - 0x8958]
addsd xmm1, xmm0
movsd qword [ebp - 0x8960], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8960]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438438
mov eax, dword [ebp - 0x630]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8958]
addsd xmm1, xmm0
movsd qword [ebp - 0x8958], xmm1
jmp 0x438339
cvtsi2sd xmm0, dword [ebp - 0x630]
movsd xmm1, qword [ebp - 0x8958]
addsd xmm1, xmm0
movsd qword [ebp - 0x8968], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8968]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438495
mov eax, dword [ebp - 0x630]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8958]
addsd xmm1, xmm0
movsd qword [ebp - 0x8958], xmm1
jmp 0x4384a9
xor eax, eax
je 0x4384a5
jmp 0x438561
jmp 0x4384cc
cvtsi2sd xmm0, dword [ebp - 0x630]
movsd xmm1, qword [ebp - 0x8958]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x634], eax
jmp 0x43856b
xor eax, eax
inc eax
je 0x4384d7
jmp 0x4384e6
jmp 0x438339
jmp 0x438339
xor eax, eax
inc eax
je 0x438561
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x638], eax
cvtsi2sd xmm0, dword [ebp - 0x638]
mov eax, dword [ebp - 0x638]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8958]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x634], eax
jmp 0x43856b
mov dword [ebp - 0x634], 7
mov eax, dword [ebp - 0x62c]
shl eax, 2
add eax, dword [ebp - 0x628]
mov eax, dword [eax]
xor eax, dword [ebp - 0x634]
mov ecx, dword [ebp - 0x62c]
shl ecx, 2
add ecx, dword [ebp - 0x628]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x439079
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438895
xor eax, eax
je 0x438615
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x438651
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8970], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4387e8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4387e8
and dword [ebp - 0x63c], 0
jmp 0x4386cb
cmp dword [ebp - 0x63c], 0xa
jae 0x4387e3
cvtsi2sd xmm0, dword [ebp - 0x63c]
movsd xmm1, qword [ebp - 0x8970]
addsd xmm1, xmm0
movsd qword [ebp - 0x8978], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43873a
mov eax, dword [ebp - 0x63c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8970]
addsd xmm1, xmm0
movsd qword [ebp - 0x8970], xmm1
jmp 0x43863b
cvtsi2sd xmm0, dword [ebp - 0x63c]
movsd xmm1, qword [ebp - 0x8970]
addsd xmm1, xmm0
movsd qword [ebp - 0x8980], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8980]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438797
mov eax, dword [ebp - 0x63c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8970]
addsd xmm1, xmm0
movsd qword [ebp - 0x8970], xmm1
jmp 0x4387ab
xor eax, eax
je 0x4387a7
jmp 0x438863
jmp 0x4387ce
cvtsi2sd xmm0, dword [ebp - 0x63c]
movsd xmm1, qword [ebp - 0x8970]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x640], eax
jmp 0x43886d
xor eax, eax
inc eax
je 0x4387d9
jmp 0x4387e8
jmp 0x43863b
jmp 0x43863b
xor eax, eax
inc eax
je 0x438863
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x644], eax
cvtsi2sd xmm0, dword [ebp - 0x644]
mov eax, dword [ebp - 0x644]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8970]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x640], eax
jmp 0x43886d
mov dword [ebp - 0x640], 7
mov eax, dword [ebp - 0x62c]
shl eax, 2
add eax, dword [ebp - 0x628]
mov eax, dword [eax]
xor eax, dword [ebp - 0x640]
mov ecx, dword [ebp - 0x62c]
shl ecx, 2
add ecx, dword [ebp - 0x628]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438b52
xor eax, eax
je 0x4388d2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43890e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8988], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x438aa5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438aa5
and dword [ebp - 0x648], 0
jmp 0x438988
cmp dword [ebp - 0x648], 0xa
jae 0x438aa0
cvtsi2sd xmm0, dword [ebp - 0x648]
movsd xmm1, qword [ebp - 0x8988]
addsd xmm1, xmm0
movsd qword [ebp - 0x8990], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8990]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4389f7
mov eax, dword [ebp - 0x648]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8988]
addsd xmm1, xmm0
movsd qword [ebp - 0x8988], xmm1
jmp 0x4388f8
cvtsi2sd xmm0, dword [ebp - 0x648]
movsd xmm1, qword [ebp - 0x8988]
addsd xmm1, xmm0
movsd qword [ebp - 0x8998], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438a54
mov eax, dword [ebp - 0x648]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8988]
addsd xmm1, xmm0
movsd qword [ebp - 0x8988], xmm1
jmp 0x438a68
xor eax, eax
je 0x438a64
jmp 0x438b20
jmp 0x438a8b
cvtsi2sd xmm0, dword [ebp - 0x648]
movsd xmm1, qword [ebp - 0x8988]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x64c], eax
jmp 0x438b2a
xor eax, eax
inc eax
je 0x438a96
jmp 0x438aa5
jmp 0x4388f8
jmp 0x4388f8
xor eax, eax
inc eax
je 0x438b20
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x650], eax
cvtsi2sd xmm0, dword [ebp - 0x650]
mov eax, dword [ebp - 0x650]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8988]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x64c], eax
jmp 0x438b2a
mov dword [ebp - 0x64c], 7
mov eax, dword [ebp - 0x62c]
shl eax, 2
add eax, dword [ebp - 0x628]
mov eax, dword [eax]
xor eax, dword [ebp - 0x64c]
mov ecx, dword [ebp - 0x62c]
shl ecx, 2
add ecx, dword [ebp - 0x628]
mov dword [ecx], eax
mov eax, dword [ebp - 0x62c]
add eax, 0xffffffa4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x89a0], xmm0
xor eax, eax
je 0x438b6c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x438ba8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x89a0]
movsd qword [ebp - 0x89a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x438d3f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438d3f
and dword [ebp - 0x654], 0
jmp 0x438c22
cmp dword [ebp - 0x654], 0xa
jae 0x438d3a
cvtsi2sd xmm0, dword [ebp - 0x654]
movsd xmm1, qword [ebp - 0x89a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438c91
mov eax, dword [ebp - 0x654]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89a8], xmm1
jmp 0x438b92
cvtsi2sd xmm0, dword [ebp - 0x654]
movsd xmm1, qword [ebp - 0x89a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438cee
mov eax, dword [ebp - 0x654]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89a8], xmm1
jmp 0x438d02
xor eax, eax
je 0x438cfe
jmp 0x438dba
jmp 0x438d25
cvtsi2sd xmm0, dword [ebp - 0x654]
movsd xmm1, qword [ebp - 0x89a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jmp 0x438dc4
xor eax, eax
inc eax
je 0x438d30
jmp 0x438d3f
jmp 0x438b92
jmp 0x438b92
xor eax, eax
inc eax
je 0x438dba
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x65c], eax
cvtsi2sd xmm0, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x65c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x89a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x658], eax
jmp 0x438dc4
mov dword [ebp - 0x658], 7
mov eax, dword [ebp - 0x62c]
add eax, 0xffffffa4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x89c0], xmm0
xor eax, eax
je 0x438dde
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x438e1a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x89c0]
movsd qword [ebp - 0x89c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x438fb1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x438fb1
and dword [ebp - 0x660], 0
jmp 0x438e94
cmp dword [ebp - 0x660], 0xa
jae 0x438fac
cvtsi2sd xmm0, dword [ebp - 0x660]
movsd xmm1, qword [ebp - 0x89c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438f03
mov eax, dword [ebp - 0x660]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89c8], xmm1
jmp 0x438e04
cvtsi2sd xmm0, dword [ebp - 0x660]
movsd xmm1, qword [ebp - 0x89c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438f60
mov eax, dword [ebp - 0x660]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89c8], xmm1
jmp 0x438f74
xor eax, eax
je 0x438f70
jmp 0x43902c
jmp 0x438f97
cvtsi2sd xmm0, dword [ebp - 0x660]
movsd xmm1, qword [ebp - 0x89c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x664], eax
jmp 0x439036
xor eax, eax
inc eax
je 0x438fa2
jmp 0x438fb1
jmp 0x438e04
jmp 0x438e04
xor eax, eax
inc eax
je 0x43902c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x668], eax
cvtsi2sd xmm0, dword [ebp - 0x668]
mov eax, dword [ebp - 0x668]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x89c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x664], eax
jmp 0x439036
mov dword [ebp - 0x664], 7
mov eax, dword [ebp - 0x62c]
shl eax, 2
add eax, dword [ebp - 0x628]
mov eax, dword [eax]
add eax, dword [ebp - 0x658]
mov ecx, dword [ebp - 0x62c]
shl ecx, 2
add ecx, dword [ebp - 0x628]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x664]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x62c]
shl ecx, 2
add ecx, dword [ebp - 0x628]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439336
xor eax, eax
je 0x4390b6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4390f2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x89e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x439289
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439289
and dword [ebp - 0x66c], 0
jmp 0x43916c
cmp dword [ebp - 0x66c], 0xa
jae 0x439284
cvtsi2sd xmm0, dword [ebp - 0x66c]
movsd xmm1, qword [ebp - 0x89e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4391db
mov eax, dword [ebp - 0x66c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89e0], xmm1
jmp 0x4390dc
cvtsi2sd xmm0, dword [ebp - 0x66c]
movsd xmm1, qword [ebp - 0x89e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439238
mov eax, dword [ebp - 0x66c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89e0], xmm1
jmp 0x43924c
xor eax, eax
je 0x439248
jmp 0x439304
jmp 0x43926f
cvtsi2sd xmm0, dword [ebp - 0x66c]
movsd xmm1, qword [ebp - 0x89e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x670], eax
jmp 0x43930e
xor eax, eax
inc eax
je 0x43927a
jmp 0x439289
jmp 0x4390dc
jmp 0x4390dc
xor eax, eax
inc eax
je 0x439304
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x674], eax
cvtsi2sd xmm0, dword [ebp - 0x674]
mov eax, dword [ebp - 0x674]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x89e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x670], eax
jmp 0x43930e
mov dword [ebp - 0x670], 7
mov eax, dword [ebp - 0x62c]
shl eax, 2
add eax, dword [ebp - 0x628]
mov eax, dword [eax]
xor eax, dword [ebp - 0x670]
mov ecx, dword [ebp - 0x62c]
shl ecx, 2
add ecx, dword [ebp - 0x628]
mov dword [ecx], eax
jmp 0x4382bc
mov eax, dword [ebp - 0x624]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x678], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x678]
mov eax, dword [eax]
mov dword [ebp - 0x67c], eax
xor eax, eax
mov byte [ebp - 0xf], al
lea ecx, [ebp - 0xf]
call fcn.004173a6
mov dword [ebp - 0x680], eax
mov eax, dword [ebp - 0x680]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43a41e
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0x684], eax
and dword [ebp - 0x688], 0
jmp 0x4393ac
mov eax, dword [ebp - 0x688]
inc eax
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x688], 1
jae 0x43a41e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439676
xor eax, eax
je 0x4393f6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x439432
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f18]
movsd qword [ebp - 0x89f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4395c9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4395c9
and dword [ebp - 0x68c], 0
jmp 0x4394ac
cmp dword [ebp - 0x68c], 0xa
jae 0x4395c4
cvtsi2sd xmm0, dword [ebp - 0x68c]
movsd xmm1, qword [ebp - 0x89f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a00], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43951b
mov eax, dword [ebp - 0x68c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89f8], xmm1
jmp 0x43941c
cvtsi2sd xmm0, dword [ebp - 0x68c]
movsd xmm1, qword [ebp - 0x89f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a08], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439578
mov eax, dword [ebp - 0x68c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89f8], xmm1
jmp 0x43958c
xor eax, eax
je 0x439588
jmp 0x439644
jmp 0x4395af
cvtsi2sd xmm0, dword [ebp - 0x68c]
movsd xmm1, qword [ebp - 0x89f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x690], eax
jmp 0x43964e
xor eax, eax
inc eax
je 0x4395ba
jmp 0x4395c9
jmp 0x43941c
jmp 0x43941c
xor eax, eax
inc eax
je 0x439644
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x694], eax
cvtsi2sd xmm0, dword [ebp - 0x694]
mov eax, dword [ebp - 0x694]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x89f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x690], eax
jmp 0x43964e
mov dword [ebp - 0x690], 7
mov eax, dword [ebp - 0x688]
shl eax, 2
add eax, dword [ebp - 0x684]
mov eax, dword [eax]
xor eax, dword [ebp - 0x690]
mov ecx, dword [ebp - 0x688]
shl ecx, 2
add ecx, dword [ebp - 0x684]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43a15c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439978
xor eax, eax
je 0x4396f8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x439734
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8a10], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4398cb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4398cb
and dword [ebp - 0x698], 0
jmp 0x4397ae
cmp dword [ebp - 0x698], 0xa
jae 0x4398c6
cvtsi2sd xmm0, dword [ebp - 0x698]
movsd xmm1, qword [ebp - 0x8a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a18], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43981d
mov eax, dword [ebp - 0x698]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a10], xmm1
jmp 0x43971e
cvtsi2sd xmm0, dword [ebp - 0x698]
movsd xmm1, qword [ebp - 0x8a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a20], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43987a
mov eax, dword [ebp - 0x698]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a10], xmm1
jmp 0x43988e
xor eax, eax
je 0x43988a
jmp 0x439946
jmp 0x4398b1
cvtsi2sd xmm0, dword [ebp - 0x698]
movsd xmm1, qword [ebp - 0x8a10]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x69c], eax
jmp 0x439950
xor eax, eax
inc eax
je 0x4398bc
jmp 0x4398cb
jmp 0x43971e
jmp 0x43971e
xor eax, eax
inc eax
je 0x439946
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6a0], eax
cvtsi2sd xmm0, dword [ebp - 0x6a0]
mov eax, dword [ebp - 0x6a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8a10]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x69c], eax
jmp 0x439950
mov dword [ebp - 0x69c], 7
mov eax, dword [ebp - 0x688]
shl eax, 2
add eax, dword [ebp - 0x684]
mov eax, dword [eax]
xor eax, dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x688]
shl ecx, 2
add ecx, dword [ebp - 0x684]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439c35
xor eax, eax
je 0x4399b5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4399f1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8a28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x439b88
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439b88
and dword [ebp - 0x6a4], 0
jmp 0x439a6b
cmp dword [ebp - 0x6a4], 0xa
jae 0x439b83
cvtsi2sd xmm0, dword [ebp - 0x6a4]
movsd xmm1, qword [ebp - 0x8a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439ada
mov eax, dword [ebp - 0x6a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a28], xmm1
jmp 0x4399db
cvtsi2sd xmm0, dword [ebp - 0x6a4]
movsd xmm1, qword [ebp - 0x8a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439b37
mov eax, dword [ebp - 0x6a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a28], xmm1
jmp 0x439b4b
xor eax, eax
je 0x439b47
jmp 0x439c03
jmp 0x439b6e
cvtsi2sd xmm0, dword [ebp - 0x6a4]
movsd xmm1, qword [ebp - 0x8a28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6a8], eax
jmp 0x439c0d
xor eax, eax
inc eax
je 0x439b79
jmp 0x439b88
jmp 0x4399db
jmp 0x4399db
xor eax, eax
inc eax
je 0x439c03
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6ac], eax
cvtsi2sd xmm0, dword [ebp - 0x6ac]
mov eax, dword [ebp - 0x6ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8a28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6a8], eax
jmp 0x439c0d
mov dword [ebp - 0x6a8], 7
mov eax, dword [ebp - 0x688]
shl eax, 2
add eax, dword [ebp - 0x684]
mov eax, dword [eax]
xor eax, dword [ebp - 0x6a8]
mov ecx, dword [ebp - 0x688]
shl ecx, 2
add ecx, dword [ebp - 0x684]
mov dword [ecx], eax
mov eax, dword [ebp - 0x688]
add eax, 0xffffffa4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8a40], xmm0
xor eax, eax
je 0x439c4f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x439c8b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8a40]
movsd qword [ebp - 0x8a48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x439e22
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x439e22
and dword [ebp - 0x6b0], 0
jmp 0x439d05
cmp dword [ebp - 0x6b0], 0xa
jae 0x439e1d
cvtsi2sd xmm0, dword [ebp - 0x6b0]
movsd xmm1, qword [ebp - 0x8a48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439d74
mov eax, dword [ebp - 0x6b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a48], xmm1
jmp 0x439c75
cvtsi2sd xmm0, dword [ebp - 0x6b0]
movsd xmm1, qword [ebp - 0x8a48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439dd1
mov eax, dword [ebp - 0x6b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a48], xmm1
jmp 0x439de5
xor eax, eax
je 0x439de1
jmp 0x439e9d
jmp 0x439e08
cvtsi2sd xmm0, dword [ebp - 0x6b0]
movsd xmm1, qword [ebp - 0x8a48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
jmp 0x439ea7
xor eax, eax
inc eax
je 0x439e13
jmp 0x439e22
jmp 0x439c75
jmp 0x439c75
xor eax, eax
inc eax
je 0x439e9d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6b8], eax
cvtsi2sd xmm0, dword [ebp - 0x6b8]
mov eax, dword [ebp - 0x6b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8a48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6b4], eax
jmp 0x439ea7
mov dword [ebp - 0x6b4], 7
mov eax, dword [ebp - 0x688]
add eax, 0xffffffa4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8a60], xmm0
xor eax, eax
je 0x439ec1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x439efd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8a60]
movsd qword [ebp - 0x8a68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43a094
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43a094
and dword [ebp - 0x6bc], 0
jmp 0x439f77
cmp dword [ebp - 0x6bc], 0xa
jae 0x43a08f
cvtsi2sd xmm0, dword [ebp - 0x6bc]
movsd xmm1, qword [ebp - 0x8a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439fe6
mov eax, dword [ebp - 0x6bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a68], xmm1
jmp 0x439ee7
cvtsi2sd xmm0, dword [ebp - 0x6bc]
movsd xmm1, qword [ebp - 0x8a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a043
mov eax, dword [ebp - 0x6bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a68], xmm1
jmp 0x43a057
xor eax, eax
je 0x43a053
jmp 0x43a10f
jmp 0x43a07a
cvtsi2sd xmm0, dword [ebp - 0x6bc]
movsd xmm1, qword [ebp - 0x8a68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6c0], eax
jmp 0x43a119
xor eax, eax
inc eax
je 0x43a085
jmp 0x43a094
jmp 0x439ee7
jmp 0x439ee7
xor eax, eax
inc eax
je 0x43a10f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6c4], eax
cvtsi2sd xmm0, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x6c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8a68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6c0], eax
jmp 0x43a119
mov dword [ebp - 0x6c0], 7
mov eax, dword [ebp - 0x688]
shl eax, 2
add eax, dword [ebp - 0x684]
mov eax, dword [eax]
add eax, dword [ebp - 0x6b4]
mov ecx, dword [ebp - 0x688]
shl ecx, 2
add ecx, dword [ebp - 0x684]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x6c0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x688]
shl ecx, 2
add ecx, dword [ebp - 0x684]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43a419
xor eax, eax
je 0x43a199
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43a1d5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8a80], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43a36c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43a36c
and dword [ebp - 0x6c8], 0
jmp 0x43a24f
cmp dword [ebp - 0x6c8], 0xa
jae 0x43a367
cvtsi2sd xmm0, dword [ebp - 0x6c8]
movsd xmm1, qword [ebp - 0x8a80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a88], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a2be
mov eax, dword [ebp - 0x6c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a80], xmm1
jmp 0x43a1bf
cvtsi2sd xmm0, dword [ebp - 0x6c8]
movsd xmm1, qword [ebp - 0x8a80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a90], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a31b
mov eax, dword [ebp - 0x6c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a80], xmm1
jmp 0x43a32f
xor eax, eax
je 0x43a32b
jmp 0x43a3e7
jmp 0x43a352
cvtsi2sd xmm0, dword [ebp - 0x6c8]
movsd xmm1, qword [ebp - 0x8a80]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6cc], eax
jmp 0x43a3f1
xor eax, eax
inc eax
je 0x43a35d
jmp 0x43a36c
jmp 0x43a1bf
jmp 0x43a1bf
xor eax, eax
inc eax
je 0x43a3e7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6d0], eax
cvtsi2sd xmm0, dword [ebp - 0x6d0]
mov eax, dword [ebp - 0x6d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8a80]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6cc], eax
jmp 0x43a3f1
mov dword [ebp - 0x6cc], 7
mov eax, dword [ebp - 0x688]
shl eax, 2
add eax, dword [ebp - 0x684]
mov eax, dword [eax]
xor eax, dword [ebp - 0x6cc]
mov ecx, dword [ebp - 0x688]
shl ecx, 2
add ecx, dword [ebp - 0x684]
mov dword [ecx], eax
jmp 0x43939f
mov eax, dword [ebp - 0x680]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0x6d4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x6d4]
mov eax, dword [eax]
mov dword [ebp - 0x6d8], eax
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x620], eax
cmp dword [ebp - 0x620], 0
je 0x43b544
xor eax, eax
mov byte [ebp - 0x10], al
lea ecx, [ebp - 0x10]
call fcn.00418726
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebp - 0x6dc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43b51a
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], eax
and dword [ebp - 0x6e4], 0
jmp 0x43a4a8
mov eax, dword [ebp - 0x6e4]
inc eax
mov dword [ebp - 0x6e4], eax
cmp dword [ebp - 0x6e4], 1
jae 0x43b51a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43a772
xor eax, eax
je 0x43a4f2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43a52e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8a98], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43a6c5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43a6c5
and dword [ebp - 0x6e8], 0
jmp 0x43a5a8
cmp dword [ebp - 0x6e8], 0xa
jae 0x43a6c0
cvtsi2sd xmm0, dword [ebp - 0x6e8]
movsd xmm1, qword [ebp - 0x8a98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8aa0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8aa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a617
mov eax, dword [ebp - 0x6e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a98], xmm1
jmp 0x43a518
cvtsi2sd xmm0, dword [ebp - 0x6e8]
movsd xmm1, qword [ebp - 0x8a98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8aa8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8aa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a674
mov eax, dword [ebp - 0x6e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a98], xmm1
jmp 0x43a688
xor eax, eax
je 0x43a684
jmp 0x43a740
jmp 0x43a6ab
cvtsi2sd xmm0, dword [ebp - 0x6e8]
movsd xmm1, qword [ebp - 0x8a98]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6ec], eax
jmp 0x43a74a
xor eax, eax
inc eax
je 0x43a6b6
jmp 0x43a6c5
jmp 0x43a518
jmp 0x43a518
xor eax, eax
inc eax
je 0x43a740
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6f0], eax
cvtsi2sd xmm0, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x6f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8a98]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6ec], eax
jmp 0x43a74a
mov dword [ebp - 0x6ec], 7
mov eax, dword [ebp - 0x6e4]
shl eax, 2
add eax, dword [ebp - 0x6e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x6ec]
mov ecx, dword [ebp - 0x6e4]
shl ecx, 2
add ecx, dword [ebp - 0x6e0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43b258
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43aa74
xor eax, eax
je 0x43a7f4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43a830
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8ab0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43a9c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43a9c7
and dword [ebp - 0x6f4], 0
jmp 0x43a8aa
cmp dword [ebp - 0x6f4], 0xa
jae 0x43a9c2
cvtsi2sd xmm0, dword [ebp - 0x6f4]
movsd xmm1, qword [ebp - 0x8ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ab8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a919
mov eax, dword [ebp - 0x6f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ab0], xmm1
jmp 0x43a81a
cvtsi2sd xmm0, dword [ebp - 0x6f4]
movsd xmm1, qword [ebp - 0x8ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ac0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ac0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a976
mov eax, dword [ebp - 0x6f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ab0], xmm1
jmp 0x43a98a
xor eax, eax
je 0x43a986
jmp 0x43aa42
jmp 0x43a9ad
cvtsi2sd xmm0, dword [ebp - 0x6f4]
movsd xmm1, qword [ebp - 0x8ab0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6f8], eax
jmp 0x43aa4c
xor eax, eax
inc eax
je 0x43a9b8
jmp 0x43a9c7
jmp 0x43a81a
jmp 0x43a81a
xor eax, eax
inc eax
je 0x43aa42
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x6fc], eax
cvtsi2sd xmm0, dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x6fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ab0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x6f8], eax
jmp 0x43aa4c
mov dword [ebp - 0x6f8], 7
mov eax, dword [ebp - 0x6e4]
shl eax, 2
add eax, dword [ebp - 0x6e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x6e4]
shl ecx, 2
add ecx, dword [ebp - 0x6e0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ad31
xor eax, eax
je 0x43aab1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43aaed
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8ac8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43ac84
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ac84
and dword [ebp - 0x700], 0
jmp 0x43ab67
cmp dword [ebp - 0x700], 0xa
jae 0x43ac7f
cvtsi2sd xmm0, dword [ebp - 0x700]
movsd xmm1, qword [ebp - 0x8ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ad0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ad0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43abd6
mov eax, dword [ebp - 0x700]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ac8], xmm1
jmp 0x43aad7
cvtsi2sd xmm0, dword [ebp - 0x700]
movsd xmm1, qword [ebp - 0x8ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ad8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ac33
mov eax, dword [ebp - 0x700]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ac8], xmm1
jmp 0x43ac47
xor eax, eax
je 0x43ac43
jmp 0x43acff
jmp 0x43ac6a
cvtsi2sd xmm0, dword [ebp - 0x700]
movsd xmm1, qword [ebp - 0x8ac8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x704], eax
jmp 0x43ad09
xor eax, eax
inc eax
je 0x43ac75
jmp 0x43ac84
jmp 0x43aad7
jmp 0x43aad7
xor eax, eax
inc eax
je 0x43acff
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x708], eax
cvtsi2sd xmm0, dword [ebp - 0x708]
mov eax, dword [ebp - 0x708]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ac8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x704], eax
jmp 0x43ad09
mov dword [ebp - 0x704], 7
mov eax, dword [ebp - 0x6e4]
shl eax, 2
add eax, dword [ebp - 0x6e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x704]
mov ecx, dword [ebp - 0x6e4]
shl ecx, 2
add ecx, dword [ebp - 0x6e0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x6e4]
add eax, 0xffffffa5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8ae0], xmm0
xor eax, eax
je 0x43ad4b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43ad87
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ae0]
movsd qword [ebp - 0x8ae8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43af1e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43af1e
and dword [ebp - 0x70c], 0
jmp 0x43ae01
cmp dword [ebp - 0x70c], 0xa
jae 0x43af19
cvtsi2sd xmm0, dword [ebp - 0x70c]
movsd xmm1, qword [ebp - 0x8ae8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8af0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8af0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ae70
mov eax, dword [ebp - 0x70c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ae8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ae8], xmm1
jmp 0x43ad71
cvtsi2sd xmm0, dword [ebp - 0x70c]
movsd xmm1, qword [ebp - 0x8ae8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8af8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8af8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43aecd
mov eax, dword [ebp - 0x70c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ae8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ae8], xmm1
jmp 0x43aee1
xor eax, eax
je 0x43aedd
jmp 0x43af99
jmp 0x43af04
cvtsi2sd xmm0, dword [ebp - 0x70c]
movsd xmm1, qword [ebp - 0x8ae8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x710], eax
jmp 0x43afa3
xor eax, eax
inc eax
je 0x43af0f
jmp 0x43af1e
jmp 0x43ad71
jmp 0x43ad71
xor eax, eax
inc eax
je 0x43af99
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x714], eax
cvtsi2sd xmm0, dword [ebp - 0x714]
mov eax, dword [ebp - 0x714]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ae8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x710], eax
jmp 0x43afa3
mov dword [ebp - 0x710], 7
mov eax, dword [ebp - 0x6e4]
add eax, 0xffffffa5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8b00], xmm0
xor eax, eax
je 0x43afbd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43aff9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8b00]
movsd qword [ebp - 0x8b08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43b190
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43b190
and dword [ebp - 0x718], 0
jmp 0x43b073
cmp dword [ebp - 0x718], 0xa
jae 0x43b18b
cvtsi2sd xmm0, dword [ebp - 0x718]
movsd xmm1, qword [ebp - 0x8b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b0e2
mov eax, dword [ebp - 0x718]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b08], xmm1
jmp 0x43afe3
cvtsi2sd xmm0, dword [ebp - 0x718]
movsd xmm1, qword [ebp - 0x8b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b13f
mov eax, dword [ebp - 0x718]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b08], xmm1
jmp 0x43b153
xor eax, eax
je 0x43b14f
jmp 0x43b20b
jmp 0x43b176
cvtsi2sd xmm0, dword [ebp - 0x718]
movsd xmm1, qword [ebp - 0x8b08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x71c], eax
jmp 0x43b215
xor eax, eax
inc eax
je 0x43b181
jmp 0x43b190
jmp 0x43afe3
jmp 0x43afe3
xor eax, eax
inc eax
je 0x43b20b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x720], eax
cvtsi2sd xmm0, dword [ebp - 0x720]
mov eax, dword [ebp - 0x720]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8b08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x71c], eax
jmp 0x43b215
mov dword [ebp - 0x71c], 7
mov eax, dword [ebp - 0x6e4]
shl eax, 2
add eax, dword [ebp - 0x6e0]
mov eax, dword [eax]
add eax, dword [ebp - 0x710]
mov ecx, dword [ebp - 0x6e4]
shl ecx, 2
add ecx, dword [ebp - 0x6e0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x71c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x6e4]
shl ecx, 2
add ecx, dword [ebp - 0x6e0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43b515
xor eax, eax
je 0x43b295
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43b2d1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8b20], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43b468
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43b468
and dword [ebp - 0x724], 0
jmp 0x43b34b
cmp dword [ebp - 0x724], 0xa
jae 0x43b463
cvtsi2sd xmm0, dword [ebp - 0x724]
movsd xmm1, qword [ebp - 0x8b20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b28], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b3ba
mov eax, dword [ebp - 0x724]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b20], xmm1
jmp 0x43b2bb
cvtsi2sd xmm0, dword [ebp - 0x724]
movsd xmm1, qword [ebp - 0x8b20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b30], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b417
mov eax, dword [ebp - 0x724]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b20], xmm1
jmp 0x43b42b
xor eax, eax
je 0x43b427
jmp 0x43b4e3
jmp 0x43b44e
cvtsi2sd xmm0, dword [ebp - 0x724]
movsd xmm1, qword [ebp - 0x8b20]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x728], eax
jmp 0x43b4ed
xor eax, eax
inc eax
je 0x43b459
jmp 0x43b468
jmp 0x43b2bb
jmp 0x43b2bb
xor eax, eax
inc eax
je 0x43b4e3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x72c], eax
cvtsi2sd xmm0, dword [ebp - 0x72c]
mov eax, dword [ebp - 0x72c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8b20]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x728], eax
jmp 0x43b4ed
mov dword [ebp - 0x728], 7
mov eax, dword [ebp - 0x6e4]
shl eax, 2
add eax, dword [ebp - 0x6e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x6e4]
shl ecx, 2
add ecx, dword [ebp - 0x6e0]
mov dword [ecx], eax
jmp 0x43a49b
mov eax, dword [ebp - 0x6dc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x730], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x730]
mov eax, dword [eax]
mov dword [ebp - 0x6d8], eax
cmp dword [ebp - 0x2e4], 0
je 0x43b55f
cmp dword [ebp - 0x454], 0
je 0x43b55f
cmp dword [ebp - 0x5c4], 0
jne 0x43b566
xor al, al
jmp 0x5a5114
xor eax, eax
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x11]
call fcn.0041952a
mov dword [ebp - 0x734], eax
mov eax, dword [ebp - 0x734]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43c61f
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x738], eax
and dword [ebp - 0x73c], 0
jmp 0x43b5ad
mov eax, dword [ebp - 0x73c]
inc eax
mov dword [ebp - 0x73c], eax
cmp dword [ebp - 0x73c], 1
jae 0x43c61f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43b877
xor eax, eax
je 0x43b5f7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43b633
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8b38], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43b7ca
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43b7ca
and dword [ebp - 0x740], 0
jmp 0x43b6ad
cmp dword [ebp - 0x740], 0xa
jae 0x43b7c5
cvtsi2sd xmm0, dword [ebp - 0x740]
movsd xmm1, qword [ebp - 0x8b38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b40], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b71c
mov eax, dword [ebp - 0x740]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b38], xmm1
jmp 0x43b61d
cvtsi2sd xmm0, dword [ebp - 0x740]
movsd xmm1, qword [ebp - 0x8b38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b48], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b779
mov eax, dword [ebp - 0x740]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b38], xmm1
jmp 0x43b78d
xor eax, eax
je 0x43b789
jmp 0x43b845
jmp 0x43b7b0
cvtsi2sd xmm0, dword [ebp - 0x740]
movsd xmm1, qword [ebp - 0x8b38]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x744], eax
jmp 0x43b84f
xor eax, eax
inc eax
je 0x43b7bb
jmp 0x43b7ca
jmp 0x43b61d
jmp 0x43b61d
xor eax, eax
inc eax
je 0x43b845
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x748], eax
cvtsi2sd xmm0, dword [ebp - 0x748]
mov eax, dword [ebp - 0x748]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8b38]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x744], eax
jmp 0x43b84f
mov dword [ebp - 0x744], 7
mov eax, dword [ebp - 0x73c]
shl eax, 2
add eax, dword [ebp - 0x738]
mov eax, dword [eax]
xor eax, dword [ebp - 0x744]
mov ecx, dword [ebp - 0x73c]
shl ecx, 2
add ecx, dword [ebp - 0x738]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43c35d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43bb79
xor eax, eax
je 0x43b8f9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43b935
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8b50], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43bacc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43bacc
and dword [ebp - 0x74c], 0
jmp 0x43b9af
cmp dword [ebp - 0x74c], 0xa
jae 0x43bac7
cvtsi2sd xmm0, dword [ebp - 0x74c]
movsd xmm1, qword [ebp - 0x8b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b58], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ba1e
mov eax, dword [ebp - 0x74c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b50], xmm1
jmp 0x43b91f
cvtsi2sd xmm0, dword [ebp - 0x74c]
movsd xmm1, qword [ebp - 0x8b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b60], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ba7b
mov eax, dword [ebp - 0x74c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b50], xmm1
jmp 0x43ba8f
xor eax, eax
je 0x43ba8b
jmp 0x43bb47
jmp 0x43bab2
cvtsi2sd xmm0, dword [ebp - 0x74c]
movsd xmm1, qword [ebp - 0x8b50]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x750], eax
jmp 0x43bb51
xor eax, eax
inc eax
je 0x43babd
jmp 0x43bacc
jmp 0x43b91f
jmp 0x43b91f
xor eax, eax
inc eax
je 0x43bb47
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x754], eax
cvtsi2sd xmm0, dword [ebp - 0x754]
mov eax, dword [ebp - 0x754]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8b50]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x750], eax
jmp 0x43bb51
mov dword [ebp - 0x750], 7
mov eax, dword [ebp - 0x73c]
shl eax, 2
add eax, dword [ebp - 0x738]
mov eax, dword [eax]
xor eax, dword [ebp - 0x750]
mov ecx, dword [ebp - 0x73c]
shl ecx, 2
add ecx, dword [ebp - 0x738]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43be36
xor eax, eax
je 0x43bbb6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43bbf2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8b68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43bd89
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43bd89
and dword [ebp - 0x758], 0
jmp 0x43bc6c
cmp dword [ebp - 0x758], 0xa
jae 0x43bd84
cvtsi2sd xmm0, dword [ebp - 0x758]
movsd xmm1, qword [ebp - 0x8b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43bcdb
mov eax, dword [ebp - 0x758]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b68], xmm1
jmp 0x43bbdc
cvtsi2sd xmm0, dword [ebp - 0x758]
movsd xmm1, qword [ebp - 0x8b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43bd38
mov eax, dword [ebp - 0x758]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b68], xmm1
jmp 0x43bd4c
xor eax, eax
je 0x43bd48
jmp 0x43be04
jmp 0x43bd6f
cvtsi2sd xmm0, dword [ebp - 0x758]
movsd xmm1, qword [ebp - 0x8b68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x75c], eax
jmp 0x43be0e
xor eax, eax
inc eax
je 0x43bd7a
jmp 0x43bd89
jmp 0x43bbdc
jmp 0x43bbdc
xor eax, eax
inc eax
je 0x43be04
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x760], eax
cvtsi2sd xmm0, dword [ebp - 0x760]
mov eax, dword [ebp - 0x760]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8b68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x75c], eax
jmp 0x43be0e
mov dword [ebp - 0x75c], 7
mov eax, dword [ebp - 0x73c]
shl eax, 2
add eax, dword [ebp - 0x738]
mov eax, dword [eax]
xor eax, dword [ebp - 0x75c]
mov ecx, dword [ebp - 0x73c]
shl ecx, 2
add ecx, dword [ebp - 0x738]
mov dword [ecx], eax
mov eax, dword [ebp - 0x73c]
add eax, 0xffffffa5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8b80], xmm0
xor eax, eax
je 0x43be50
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43be8c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8b80]
movsd qword [ebp - 0x8b88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43c023
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43c023
and dword [ebp - 0x764], 0
jmp 0x43bf06
cmp dword [ebp - 0x764], 0xa
jae 0x43c01e
cvtsi2sd xmm0, dword [ebp - 0x764]
movsd xmm1, qword [ebp - 0x8b88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43bf75
mov eax, dword [ebp - 0x764]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b88], xmm1
jmp 0x43be76
cvtsi2sd xmm0, dword [ebp - 0x764]
movsd xmm1, qword [ebp - 0x8b88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43bfd2
mov eax, dword [ebp - 0x764]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b88], xmm1
jmp 0x43bfe6
xor eax, eax
je 0x43bfe2
jmp 0x43c09e
jmp 0x43c009
cvtsi2sd xmm0, dword [ebp - 0x764]
movsd xmm1, qword [ebp - 0x8b88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x768], eax
jmp 0x43c0a8
xor eax, eax
inc eax
je 0x43c014
jmp 0x43c023
jmp 0x43be76
jmp 0x43be76
xor eax, eax
inc eax
je 0x43c09e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x76c], eax
cvtsi2sd xmm0, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x76c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8b88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x768], eax
jmp 0x43c0a8
mov dword [ebp - 0x768], 7
mov eax, dword [ebp - 0x73c]
add eax, 0xffffffa5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8ba0], xmm0
xor eax, eax
je 0x43c0c2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43c0fe
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ba0]
movsd qword [ebp - 0x8ba8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43c295
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43c295
and dword [ebp - 0x770], 0
jmp 0x43c178
cmp dword [ebp - 0x770], 0xa
jae 0x43c290
cvtsi2sd xmm0, dword [ebp - 0x770]
movsd xmm1, qword [ebp - 0x8ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c1e7
mov eax, dword [ebp - 0x770]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ba8], xmm1
jmp 0x43c0e8
cvtsi2sd xmm0, dword [ebp - 0x770]
movsd xmm1, qword [ebp - 0x8ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c244
mov eax, dword [ebp - 0x770]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ba8], xmm1
jmp 0x43c258
xor eax, eax
je 0x43c254
jmp 0x43c310
jmp 0x43c27b
cvtsi2sd xmm0, dword [ebp - 0x770]
movsd xmm1, qword [ebp - 0x8ba8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x774], eax
jmp 0x43c31a
xor eax, eax
inc eax
je 0x43c286
jmp 0x43c295
jmp 0x43c0e8
jmp 0x43c0e8
xor eax, eax
inc eax
je 0x43c310
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x778], eax
cvtsi2sd xmm0, dword [ebp - 0x778]
mov eax, dword [ebp - 0x778]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ba8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x774], eax
jmp 0x43c31a
mov dword [ebp - 0x774], 7
mov eax, dword [ebp - 0x73c]
shl eax, 2
add eax, dword [ebp - 0x738]
mov eax, dword [eax]
add eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x73c]
shl ecx, 2
add ecx, dword [ebp - 0x738]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x774]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x73c]
shl ecx, 2
add ecx, dword [ebp - 0x738]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43c61a
xor eax, eax
je 0x43c39a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43c3d6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8bc0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43c56d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43c56d
and dword [ebp - 0x77c], 0
jmp 0x43c450
cmp dword [ebp - 0x77c], 0xa
jae 0x43c568
cvtsi2sd xmm0, dword [ebp - 0x77c]
movsd xmm1, qword [ebp - 0x8bc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bc8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c4bf
mov eax, dword [ebp - 0x77c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bc0], xmm1
jmp 0x43c3c0
cvtsi2sd xmm0, dword [ebp - 0x77c]
movsd xmm1, qword [ebp - 0x8bc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bd0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c51c
mov eax, dword [ebp - 0x77c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bc0], xmm1
jmp 0x43c530
xor eax, eax
je 0x43c52c
jmp 0x43c5e8
jmp 0x43c553
cvtsi2sd xmm0, dword [ebp - 0x77c]
movsd xmm1, qword [ebp - 0x8bc0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x780], eax
jmp 0x43c5f2
xor eax, eax
inc eax
je 0x43c55e
jmp 0x43c56d
jmp 0x43c3c0
jmp 0x43c3c0
xor eax, eax
inc eax
je 0x43c5e8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x784], eax
cvtsi2sd xmm0, dword [ebp - 0x784]
mov eax, dword [ebp - 0x784]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8bc0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x780], eax
jmp 0x43c5f2
mov dword [ebp - 0x780], 7
mov eax, dword [ebp - 0x73c]
shl eax, 2
add eax, dword [ebp - 0x738]
mov eax, dword [eax]
xor eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x73c]
shl ecx, 2
add ecx, dword [ebp - 0x738]
mov dword [ecx], eax
jmp 0x43b5a0
mov eax, dword [ebp - 0x734]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x788], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x788]
mov eax, dword [eax]
mov dword [ebp - 0x78c], eax
xor eax, eax
mov byte [ebp - 0x12], al
lea ecx, [ebp - 0x12]
call fcn.00415594
mov dword [ebp - 0x790], eax
mov eax, dword [ebp - 0x790]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43d702
mov eax, dword [ebp - 0x790]
mov dword [ebp - 0x794], eax
and dword [ebp - 0x798], 0
jmp 0x43c690
mov eax, dword [ebp - 0x798]
inc eax
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x798], 1
jae 0x43d702
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43c95a
xor eax, eax
je 0x43c6da
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43c716
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f10]
movsd qword [ebp - 0x8bd8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43c8ad
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43c8ad
and dword [ebp - 0x79c], 0
jmp 0x43c790
cmp dword [ebp - 0x79c], 0xa
jae 0x43c8a8
cvtsi2sd xmm0, dword [ebp - 0x79c]
movsd xmm1, qword [ebp - 0x8bd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8be0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8be0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c7ff
mov eax, dword [ebp - 0x79c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bd8], xmm1
jmp 0x43c700
cvtsi2sd xmm0, dword [ebp - 0x79c]
movsd xmm1, qword [ebp - 0x8bd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8be8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8be8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c85c
mov eax, dword [ebp - 0x79c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bd8], xmm1
jmp 0x43c870
xor eax, eax
je 0x43c86c
jmp 0x43c928
jmp 0x43c893
cvtsi2sd xmm0, dword [ebp - 0x79c]
movsd xmm1, qword [ebp - 0x8bd8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7a0], eax
jmp 0x43c932
xor eax, eax
inc eax
je 0x43c89e
jmp 0x43c8ad
jmp 0x43c700
jmp 0x43c700
xor eax, eax
inc eax
je 0x43c928
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x7a4], eax
cvtsi2sd xmm0, dword [ebp - 0x7a4]
mov eax, dword [ebp - 0x7a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8bd8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7a0], eax
jmp 0x43c932
mov dword [ebp - 0x7a0], 7
mov eax, dword [ebp - 0x798]
shl eax, 2
add eax, dword [ebp - 0x794]
mov eax, dword [eax]
xor eax, dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x798]
shl ecx, 2
add ecx, dword [ebp - 0x794]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43d440
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43cc5c
xor eax, eax
je 0x43c9dc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43ca18
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8bf0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43cbaf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43cbaf
and dword [ebp - 0x7a8], 0
jmp 0x43ca92
cmp dword [ebp - 0x7a8], 0xa
jae 0x43cbaa
cvtsi2sd xmm0, dword [ebp - 0x7a8]
movsd xmm1, qword [ebp - 0x8bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bf8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43cb01
mov eax, dword [ebp - 0x7a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bf0], xmm1
jmp 0x43ca02
cvtsi2sd xmm0, dword [ebp - 0x7a8]
movsd xmm1, qword [ebp - 0x8bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c00], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43cb5e
mov eax, dword [ebp - 0x7a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bf0], xmm1
jmp 0x43cb72
xor eax, eax
je 0x43cb6e
jmp 0x43cc2a
jmp 0x43cb95
cvtsi2sd xmm0, dword [ebp - 0x7a8]
movsd xmm1, qword [ebp - 0x8bf0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7ac], eax
jmp 0x43cc34
xor eax, eax
inc eax
je 0x43cba0
jmp 0x43cbaf
jmp 0x43ca02
jmp 0x43ca02
xor eax, eax
inc eax
je 0x43cc2a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x7b0], eax
cvtsi2sd xmm0, dword [ebp - 0x7b0]
mov eax, dword [ebp - 0x7b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8bf0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7ac], eax
jmp 0x43cc34
mov dword [ebp - 0x7ac], 7
mov eax, dword [ebp - 0x798]
shl eax, 2
add eax, dword [ebp - 0x794]
mov eax, dword [eax]
xor eax, dword [ebp - 0x7ac]
mov ecx, dword [ebp - 0x798]
shl ecx, 2
add ecx, dword [ebp - 0x794]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43cf19
xor eax, eax
je 0x43cc99
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43ccd5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8c08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43ce6c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ce6c
and dword [ebp - 0x7b4], 0
jmp 0x43cd4f
cmp dword [ebp - 0x7b4], 0xa
jae 0x43ce67
cvtsi2sd xmm0, dword [ebp - 0x7b4]
movsd xmm1, qword [ebp - 0x8c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43cdbe
mov eax, dword [ebp - 0x7b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c08], xmm1
jmp 0x43ccbf
cvtsi2sd xmm0, dword [ebp - 0x7b4]
movsd xmm1, qword [ebp - 0x8c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ce1b
mov eax, dword [ebp - 0x7b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c08], xmm1
jmp 0x43ce2f
xor eax, eax
je 0x43ce2b
jmp 0x43cee7
jmp 0x43ce52
cvtsi2sd xmm0, dword [ebp - 0x7b4]
movsd xmm1, qword [ebp - 0x8c08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7b8], eax
jmp 0x43cef1
xor eax, eax
inc eax
je 0x43ce5d
jmp 0x43ce6c
jmp 0x43ccbf
jmp 0x43ccbf
xor eax, eax
inc eax
je 0x43cee7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x7bc], eax
cvtsi2sd xmm0, dword [ebp - 0x7bc]
mov eax, dword [ebp - 0x7bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8c08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7b8], eax
jmp 0x43cef1
mov dword [ebp - 0x7b8], 7
mov eax, dword [ebp - 0x798]
shl eax, 2
add eax, dword [ebp - 0x794]
mov eax, dword [eax]
xor eax, dword [ebp - 0x7b8]
mov ecx, dword [ebp - 0x798]
shl ecx, 2
add ecx, dword [ebp - 0x794]
mov dword [ecx], eax
mov eax, dword [ebp - 0x798]
add eax, 0xffffffa5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8c20], xmm0
xor eax, eax
je 0x43cf33
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43cf6f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8c20]
movsd qword [ebp - 0x8c28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43d106
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43d106
and dword [ebp - 0x7c0], 0
jmp 0x43cfe9
cmp dword [ebp - 0x7c0], 0xa
jae 0x43d101
cvtsi2sd xmm0, dword [ebp - 0x7c0]
movsd xmm1, qword [ebp - 0x8c28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d058
mov eax, dword [ebp - 0x7c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c28], xmm1
jmp 0x43cf59
cvtsi2sd xmm0, dword [ebp - 0x7c0]
movsd xmm1, qword [ebp - 0x8c28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d0b5
mov eax, dword [ebp - 0x7c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c28], xmm1
jmp 0x43d0c9
xor eax, eax
je 0x43d0c5
jmp 0x43d181
jmp 0x43d0ec
cvtsi2sd xmm0, dword [ebp - 0x7c0]
movsd xmm1, qword [ebp - 0x8c28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7c4], eax
jmp 0x43d18b
xor eax, eax
inc eax
je 0x43d0f7
jmp 0x43d106
jmp 0x43cf59
jmp 0x43cf59
xor eax, eax
inc eax
je 0x43d181
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x7c8], eax
cvtsi2sd xmm0, dword [ebp - 0x7c8]
mov eax, dword [ebp - 0x7c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8c28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7c4], eax
jmp 0x43d18b
mov dword [ebp - 0x7c4], 7
mov eax, dword [ebp - 0x798]
add eax, 0xffffffa5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8c40], xmm0
xor eax, eax
je 0x43d1a5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43d1e1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8c40]
movsd qword [ebp - 0x8c48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43d378
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43d378
and dword [ebp - 0x7cc], 0
jmp 0x43d25b
cmp dword [ebp - 0x7cc], 0xa
jae 0x43d373
cvtsi2sd xmm0, dword [ebp - 0x7cc]
movsd xmm1, qword [ebp - 0x8c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d2ca
mov eax, dword [ebp - 0x7cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c48], xmm1
jmp 0x43d1cb
cvtsi2sd xmm0, dword [ebp - 0x7cc]
movsd xmm1, qword [ebp - 0x8c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d327
mov eax, dword [ebp - 0x7cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c48], xmm1
jmp 0x43d33b
xor eax, eax
je 0x43d337
jmp 0x43d3f3
jmp 0x43d35e
cvtsi2sd xmm0, dword [ebp - 0x7cc]
movsd xmm1, qword [ebp - 0x8c48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7d0], eax
jmp 0x43d3fd
xor eax, eax
inc eax
je 0x43d369
jmp 0x43d378
jmp 0x43d1cb
jmp 0x43d1cb
xor eax, eax
inc eax
je 0x43d3f3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x7d4], eax
cvtsi2sd xmm0, dword [ebp - 0x7d4]
mov eax, dword [ebp - 0x7d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8c48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7d0], eax
jmp 0x43d3fd
mov dword [ebp - 0x7d0], 7
mov eax, dword [ebp - 0x798]
shl eax, 2
add eax, dword [ebp - 0x794]
mov eax, dword [eax]
add eax, dword [ebp - 0x7c4]
mov ecx, dword [ebp - 0x798]
shl ecx, 2
add ecx, dword [ebp - 0x794]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x7d0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x798]
shl ecx, 2
add ecx, dword [ebp - 0x794]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43d6fd
xor eax, eax
je 0x43d47d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43d4b9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8c60], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43d650
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43d650
and dword [ebp - 0x7d8], 0
jmp 0x43d533
cmp dword [ebp - 0x7d8], 0xa
jae 0x43d64b
cvtsi2sd xmm0, dword [ebp - 0x7d8]
movsd xmm1, qword [ebp - 0x8c60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c68], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d5a2
mov eax, dword [ebp - 0x7d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c60], xmm1
jmp 0x43d4a3
cvtsi2sd xmm0, dword [ebp - 0x7d8]
movsd xmm1, qword [ebp - 0x8c60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c70], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d5ff
mov eax, dword [ebp - 0x7d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c60], xmm1
jmp 0x43d613
xor eax, eax
je 0x43d60f
jmp 0x43d6cb
jmp 0x43d636
cvtsi2sd xmm0, dword [ebp - 0x7d8]
movsd xmm1, qword [ebp - 0x8c60]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7dc], eax
jmp 0x43d6d5
xor eax, eax
inc eax
je 0x43d641
jmp 0x43d650
jmp 0x43d4a3
jmp 0x43d4a3
xor eax, eax
inc eax
je 0x43d6cb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x7e0], eax
cvtsi2sd xmm0, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8c60]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7dc], eax
jmp 0x43d6d5
mov dword [ebp - 0x7dc], 7
mov eax, dword [ebp - 0x798]
shl eax, 2
add eax, dword [ebp - 0x794]
mov eax, dword [eax]
xor eax, dword [ebp - 0x7dc]
mov ecx, dword [ebp - 0x798]
shl ecx, 2
add ecx, dword [ebp - 0x794]
mov dword [ecx], eax
jmp 0x43c683
mov eax, dword [ebp - 0x790]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x790]
mov dword [ebp - 0x7e4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x7e4]
mov eax, dword [eax]
mov dword [ebp - 0x7e8], eax
xor eax, eax
mov byte [ebp - 0x13], al
lea ecx, [ebp - 0x13]
call fcn.0041740e
mov dword [ebp - 0x7ec], eax
mov eax, dword [ebp - 0x7ec]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43e7e5
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x7f0], eax
and dword [ebp - 0x7f4], 0
jmp 0x43d773
mov eax, dword [ebp - 0x7f4]
inc eax
mov dword [ebp - 0x7f4], eax
cmp dword [ebp - 0x7f4], 1
jae 0x43e7e5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43da3d
xor eax, eax
je 0x43d7bd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43d7f9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8c78], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43d990
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43d990
and dword [ebp - 0x7f8], 0
jmp 0x43d873
cmp dword [ebp - 0x7f8], 0xa
jae 0x43d98b
cvtsi2sd xmm0, dword [ebp - 0x7f8]
movsd xmm1, qword [ebp - 0x8c78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c80], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d8e2
mov eax, dword [ebp - 0x7f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c78], xmm1
jmp 0x43d7e3
cvtsi2sd xmm0, dword [ebp - 0x7f8]
movsd xmm1, qword [ebp - 0x8c78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c88], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d93f
mov eax, dword [ebp - 0x7f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c78], xmm1
jmp 0x43d953
xor eax, eax
je 0x43d94f
jmp 0x43da0b
jmp 0x43d976
cvtsi2sd xmm0, dword [ebp - 0x7f8]
movsd xmm1, qword [ebp - 0x8c78]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7fc], eax
jmp 0x43da15
xor eax, eax
inc eax
je 0x43d981
jmp 0x43d990
jmp 0x43d7e3
jmp 0x43d7e3
xor eax, eax
inc eax
je 0x43da0b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x800], eax
cvtsi2sd xmm0, dword [ebp - 0x800]
mov eax, dword [ebp - 0x800]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8c78]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x7fc], eax
jmp 0x43da15
mov dword [ebp - 0x7fc], 7
mov eax, dword [ebp - 0x7f4]
shl eax, 2
add eax, dword [ebp - 0x7f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x7fc]
mov ecx, dword [ebp - 0x7f4]
shl ecx, 2
add ecx, dword [ebp - 0x7f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43e523
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43dd3f
xor eax, eax
je 0x43dabf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43dafb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8c90], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43dc92
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43dc92
and dword [ebp - 0x804], 0
jmp 0x43db75
cmp dword [ebp - 0x804], 0xa
jae 0x43dc8d
cvtsi2sd xmm0, dword [ebp - 0x804]
movsd xmm1, qword [ebp - 0x8c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c98], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43dbe4
mov eax, dword [ebp - 0x804]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c90], xmm1
jmp 0x43dae5
cvtsi2sd xmm0, dword [ebp - 0x804]
movsd xmm1, qword [ebp - 0x8c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ca0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ca0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43dc41
mov eax, dword [ebp - 0x804]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c90], xmm1
jmp 0x43dc55
xor eax, eax
je 0x43dc51
jmp 0x43dd0d
jmp 0x43dc78
cvtsi2sd xmm0, dword [ebp - 0x804]
movsd xmm1, qword [ebp - 0x8c90]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x808], eax
jmp 0x43dd17
xor eax, eax
inc eax
je 0x43dc83
jmp 0x43dc92
jmp 0x43dae5
jmp 0x43dae5
xor eax, eax
inc eax
je 0x43dd0d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x80c], eax
cvtsi2sd xmm0, dword [ebp - 0x80c]
mov eax, dword [ebp - 0x80c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8c90]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x808], eax
jmp 0x43dd17
mov dword [ebp - 0x808], 7
mov eax, dword [ebp - 0x7f4]
shl eax, 2
add eax, dword [ebp - 0x7f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x808]
mov ecx, dword [ebp - 0x7f4]
shl ecx, 2
add ecx, dword [ebp - 0x7f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43dffc
xor eax, eax
je 0x43dd7c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43ddb8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8ca8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43df4f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43df4f
and dword [ebp - 0x810], 0
jmp 0x43de32
cmp dword [ebp - 0x810], 0xa
jae 0x43df4a
cvtsi2sd xmm0, dword [ebp - 0x810]
movsd xmm1, qword [ebp - 0x8ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43dea1
mov eax, dword [ebp - 0x810]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ca8], xmm1
jmp 0x43dda2
cvtsi2sd xmm0, dword [ebp - 0x810]
movsd xmm1, qword [ebp - 0x8ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43defe
mov eax, dword [ebp - 0x810]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ca8], xmm1
jmp 0x43df12
xor eax, eax
je 0x43df0e
jmp 0x43dfca
jmp 0x43df35
cvtsi2sd xmm0, dword [ebp - 0x810]
movsd xmm1, qword [ebp - 0x8ca8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x814], eax
jmp 0x43dfd4
xor eax, eax
inc eax
je 0x43df40
jmp 0x43df4f
jmp 0x43dda2
jmp 0x43dda2
xor eax, eax
inc eax
je 0x43dfca
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x818], eax
cvtsi2sd xmm0, dword [ebp - 0x818]
mov eax, dword [ebp - 0x818]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ca8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x814], eax
jmp 0x43dfd4
mov dword [ebp - 0x814], 7
mov eax, dword [ebp - 0x7f4]
shl eax, 2
add eax, dword [ebp - 0x7f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x814]
mov ecx, dword [ebp - 0x7f4]
shl ecx, 2
add ecx, dword [ebp - 0x7f0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x7f4]
add eax, 0xffffffa6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8cc0], xmm0
xor eax, eax
je 0x43e016
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43e052
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8cc0]
movsd qword [ebp - 0x8cc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43e1e9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43e1e9
and dword [ebp - 0x81c], 0
jmp 0x43e0cc
cmp dword [ebp - 0x81c], 0xa
jae 0x43e1e4
cvtsi2sd xmm0, dword [ebp - 0x81c]
movsd xmm1, qword [ebp - 0x8cc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e13b
mov eax, dword [ebp - 0x81c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cc8], xmm1
jmp 0x43e03c
cvtsi2sd xmm0, dword [ebp - 0x81c]
movsd xmm1, qword [ebp - 0x8cc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e198
mov eax, dword [ebp - 0x81c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cc8], xmm1
jmp 0x43e1ac
xor eax, eax
je 0x43e1a8
jmp 0x43e264
jmp 0x43e1cf
cvtsi2sd xmm0, dword [ebp - 0x81c]
movsd xmm1, qword [ebp - 0x8cc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x820], eax
jmp 0x43e26e
xor eax, eax
inc eax
je 0x43e1da
jmp 0x43e1e9
jmp 0x43e03c
jmp 0x43e03c
xor eax, eax
inc eax
je 0x43e264
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x824], eax
cvtsi2sd xmm0, dword [ebp - 0x824]
mov eax, dword [ebp - 0x824]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8cc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x820], eax
jmp 0x43e26e
mov dword [ebp - 0x820], 7
mov eax, dword [ebp - 0x7f4]
add eax, 0xffffffa6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8ce0], xmm0
xor eax, eax
je 0x43e288
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43e2c4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ce0]
movsd qword [ebp - 0x8ce8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43e45b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43e45b
and dword [ebp - 0x828], 0
jmp 0x43e33e
cmp dword [ebp - 0x828], 0xa
jae 0x43e456
cvtsi2sd xmm0, dword [ebp - 0x828]
movsd xmm1, qword [ebp - 0x8ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e3ad
mov eax, dword [ebp - 0x828]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ce8], xmm1
jmp 0x43e2ae
cvtsi2sd xmm0, dword [ebp - 0x828]
movsd xmm1, qword [ebp - 0x8ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e40a
mov eax, dword [ebp - 0x828]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ce8], xmm1
jmp 0x43e41e
xor eax, eax
je 0x43e41a
jmp 0x43e4d6
jmp 0x43e441
cvtsi2sd xmm0, dword [ebp - 0x828]
movsd xmm1, qword [ebp - 0x8ce8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x82c], eax
jmp 0x43e4e0
xor eax, eax
inc eax
je 0x43e44c
jmp 0x43e45b
jmp 0x43e2ae
jmp 0x43e2ae
xor eax, eax
inc eax
je 0x43e4d6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x830], eax
cvtsi2sd xmm0, dword [ebp - 0x830]
mov eax, dword [ebp - 0x830]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ce8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x82c], eax
jmp 0x43e4e0
mov dword [ebp - 0x82c], 7
mov eax, dword [ebp - 0x7f4]
shl eax, 2
add eax, dword [ebp - 0x7f0]
mov eax, dword [eax]
add eax, dword [ebp - 0x820]
mov ecx, dword [ebp - 0x7f4]
shl ecx, 2
add ecx, dword [ebp - 0x7f0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x82c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x7f4]
shl ecx, 2
add ecx, dword [ebp - 0x7f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43e7e0
xor eax, eax
je 0x43e560
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43e59c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x8d00], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43e733
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43e733
and dword [ebp - 0x834], 0
jmp 0x43e616
cmp dword [ebp - 0x834], 0xa
jae 0x43e72e
cvtsi2sd xmm0, dword [ebp - 0x834]
movsd xmm1, qword [ebp - 0x8d00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d08], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e685
mov eax, dword [ebp - 0x834]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d00], xmm1
jmp 0x43e586
cvtsi2sd xmm0, dword [ebp - 0x834]
movsd xmm1, qword [ebp - 0x8d00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d10], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e6e2
mov eax, dword [ebp - 0x834]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d00], xmm1
jmp 0x43e6f6
xor eax, eax
je 0x43e6f2
jmp 0x43e7ae
jmp 0x43e719
cvtsi2sd xmm0, dword [ebp - 0x834]
movsd xmm1, qword [ebp - 0x8d00]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x838], eax
jmp 0x43e7b8
xor eax, eax
inc eax
je 0x43e724
jmp 0x43e733
jmp 0x43e586
jmp 0x43e586
xor eax, eax
inc eax
je 0x43e7ae
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x83c], eax
cvtsi2sd xmm0, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x83c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8d00]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x838], eax
jmp 0x43e7b8
mov dword [ebp - 0x838], 7
mov eax, dword [ebp - 0x7f4]
shl eax, 2
add eax, dword [ebp - 0x7f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0x7f4]
shl ecx, 2
add ecx, dword [ebp - 0x7f0]
mov dword [ecx], eax
jmp 0x43d766
mov eax, dword [ebp - 0x7ec]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x840], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x840]
mov eax, dword [eax]
mov dword [ebp - 0x844], eax
mov eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 0
je 0x43f90b
xor eax, eax
mov byte [ebp - 0x14], al
lea ecx, [ebp - 0x14]
call fcn.00414c70
mov dword [ebp - 0x848], eax
mov eax, dword [ebp - 0x848]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x43f8e1
mov eax, dword [ebp - 0x848]
mov dword [ebp - 0x84c], eax
and dword [ebp - 0x850], 0
jmp 0x43e86f
mov eax, dword [ebp - 0x850]
inc eax
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 1
jae 0x43f8e1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43eb39
xor eax, eax
je 0x43e8b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43e8f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f08]
movsd qword [ebp - 0x8d18], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43ea8c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ea8c
and dword [ebp - 0x854], 0
jmp 0x43e96f
cmp dword [ebp - 0x854], 0xa
jae 0x43ea87
cvtsi2sd xmm0, dword [ebp - 0x854]
movsd xmm1, qword [ebp - 0x8d18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d20], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e9de
mov eax, dword [ebp - 0x854]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d18], xmm1
jmp 0x43e8df
cvtsi2sd xmm0, dword [ebp - 0x854]
movsd xmm1, qword [ebp - 0x8d18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d28], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ea3b
mov eax, dword [ebp - 0x854]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d18], xmm1
jmp 0x43ea4f
xor eax, eax
je 0x43ea4b
jmp 0x43eb07
jmp 0x43ea72
cvtsi2sd xmm0, dword [ebp - 0x854]
movsd xmm1, qword [ebp - 0x8d18]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x858], eax
jmp 0x43eb11
xor eax, eax
inc eax
je 0x43ea7d
jmp 0x43ea8c
jmp 0x43e8df
jmp 0x43e8df
xor eax, eax
inc eax
je 0x43eb07
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x85c], eax
cvtsi2sd xmm0, dword [ebp - 0x85c]
mov eax, dword [ebp - 0x85c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8d18]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x858], eax
jmp 0x43eb11
mov dword [ebp - 0x858], 7
mov eax, dword [ebp - 0x850]
shl eax, 2
add eax, dword [ebp - 0x84c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x858]
mov ecx, dword [ebp - 0x850]
shl ecx, 2
add ecx, dword [ebp - 0x84c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43f61f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ee3b
xor eax, eax
je 0x43ebbb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43ebf7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8d30], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43ed8e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ed8e
and dword [ebp - 0x860], 0
jmp 0x43ec71
cmp dword [ebp - 0x860], 0xa
jae 0x43ed89
cvtsi2sd xmm0, dword [ebp - 0x860]
movsd xmm1, qword [ebp - 0x8d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d38], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ece0
mov eax, dword [ebp - 0x860]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d30], xmm1
jmp 0x43ebe1
cvtsi2sd xmm0, dword [ebp - 0x860]
movsd xmm1, qword [ebp - 0x8d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d40], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ed3d
mov eax, dword [ebp - 0x860]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d30], xmm1
jmp 0x43ed51
xor eax, eax
je 0x43ed4d
jmp 0x43ee09
jmp 0x43ed74
cvtsi2sd xmm0, dword [ebp - 0x860]
movsd xmm1, qword [ebp - 0x8d30]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x864], eax
jmp 0x43ee13
xor eax, eax
inc eax
je 0x43ed7f
jmp 0x43ed8e
jmp 0x43ebe1
jmp 0x43ebe1
xor eax, eax
inc eax
je 0x43ee09
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x868], eax
cvtsi2sd xmm0, dword [ebp - 0x868]
mov eax, dword [ebp - 0x868]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8d30]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x864], eax
jmp 0x43ee13
mov dword [ebp - 0x864], 7
mov eax, dword [ebp - 0x850]
shl eax, 2
add eax, dword [ebp - 0x84c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x864]
mov ecx, dword [ebp - 0x850]
shl ecx, 2
add ecx, dword [ebp - 0x84c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43f0f8
xor eax, eax
je 0x43ee78
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43eeb4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8d48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43f04b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43f04b
and dword [ebp - 0x86c], 0
jmp 0x43ef2e
cmp dword [ebp - 0x86c], 0xa
jae 0x43f046
cvtsi2sd xmm0, dword [ebp - 0x86c]
movsd xmm1, qword [ebp - 0x8d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ef9d
mov eax, dword [ebp - 0x86c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d48], xmm1
jmp 0x43ee9e
cvtsi2sd xmm0, dword [ebp - 0x86c]
movsd xmm1, qword [ebp - 0x8d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43effa
mov eax, dword [ebp - 0x86c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d48], xmm1
jmp 0x43f00e
xor eax, eax
je 0x43f00a
jmp 0x43f0c6
jmp 0x43f031
cvtsi2sd xmm0, dword [ebp - 0x86c]
movsd xmm1, qword [ebp - 0x8d48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x870], eax
jmp 0x43f0d0
xor eax, eax
inc eax
je 0x43f03c
jmp 0x43f04b
jmp 0x43ee9e
jmp 0x43ee9e
xor eax, eax
inc eax
je 0x43f0c6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x874], eax
cvtsi2sd xmm0, dword [ebp - 0x874]
mov eax, dword [ebp - 0x874]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8d48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x870], eax
jmp 0x43f0d0
mov dword [ebp - 0x870], 7
mov eax, dword [ebp - 0x850]
shl eax, 2
add eax, dword [ebp - 0x84c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x870]
mov ecx, dword [ebp - 0x850]
shl ecx, 2
add ecx, dword [ebp - 0x84c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x850]
add eax, 0xffffffa6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8d60], xmm0
xor eax, eax
je 0x43f112
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43f14e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8d60]
movsd qword [ebp - 0x8d68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43f2e5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43f2e5
and dword [ebp - 0x878], 0
jmp 0x43f1c8
cmp dword [ebp - 0x878], 0xa
jae 0x43f2e0
cvtsi2sd xmm0, dword [ebp - 0x878]
movsd xmm1, qword [ebp - 0x8d68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f237
mov eax, dword [ebp - 0x878]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d68], xmm1
jmp 0x43f138
cvtsi2sd xmm0, dword [ebp - 0x878]
movsd xmm1, qword [ebp - 0x8d68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f294
mov eax, dword [ebp - 0x878]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d68], xmm1
jmp 0x43f2a8
xor eax, eax
je 0x43f2a4
jmp 0x43f360
jmp 0x43f2cb
cvtsi2sd xmm0, dword [ebp - 0x878]
movsd xmm1, qword [ebp - 0x8d68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x87c], eax
jmp 0x43f36a
xor eax, eax
inc eax
je 0x43f2d6
jmp 0x43f2e5
jmp 0x43f138
jmp 0x43f138
xor eax, eax
inc eax
je 0x43f360
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x880], eax
cvtsi2sd xmm0, dword [ebp - 0x880]
mov eax, dword [ebp - 0x880]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8d68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x87c], eax
jmp 0x43f36a
mov dword [ebp - 0x87c], 7
mov eax, dword [ebp - 0x850]
add eax, 0xffffffa6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8d80], xmm0
xor eax, eax
je 0x43f384
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43f3c0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8d80]
movsd qword [ebp - 0x8d88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43f557
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43f557
and dword [ebp - 0x884], 0
jmp 0x43f43a
cmp dword [ebp - 0x884], 0xa
jae 0x43f552
cvtsi2sd xmm0, dword [ebp - 0x884]
movsd xmm1, qword [ebp - 0x8d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f4a9
mov eax, dword [ebp - 0x884]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d88], xmm1
jmp 0x43f3aa
cvtsi2sd xmm0, dword [ebp - 0x884]
movsd xmm1, qword [ebp - 0x8d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f506
mov eax, dword [ebp - 0x884]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d88], xmm1
jmp 0x43f51a
xor eax, eax
je 0x43f516
jmp 0x43f5d2
jmp 0x43f53d
cvtsi2sd xmm0, dword [ebp - 0x884]
movsd xmm1, qword [ebp - 0x8d88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x888], eax
jmp 0x43f5dc
xor eax, eax
inc eax
je 0x43f548
jmp 0x43f557
jmp 0x43f3aa
jmp 0x43f3aa
xor eax, eax
inc eax
je 0x43f5d2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x88c], eax
cvtsi2sd xmm0, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x88c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8d88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x888], eax
jmp 0x43f5dc
mov dword [ebp - 0x888], 7
mov eax, dword [ebp - 0x850]
shl eax, 2
add eax, dword [ebp - 0x84c]
mov eax, dword [eax]
add eax, dword [ebp - 0x87c]
mov ecx, dword [ebp - 0x850]
shl ecx, 2
add ecx, dword [ebp - 0x84c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x888]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x850]
shl ecx, 2
add ecx, dword [ebp - 0x84c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43f8dc
xor eax, eax
je 0x43f65c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43f698
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x8da0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43f82f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43f82f
and dword [ebp - 0x890], 0
jmp 0x43f712
cmp dword [ebp - 0x890], 0xa
jae 0x43f82a
cvtsi2sd xmm0, dword [ebp - 0x890]
movsd xmm1, qword [ebp - 0x8da0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8da8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8da8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f781
mov eax, dword [ebp - 0x890]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8da0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8da0], xmm1
jmp 0x43f682
cvtsi2sd xmm0, dword [ebp - 0x890]
movsd xmm1, qword [ebp - 0x8da0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8db0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8db0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f7de
mov eax, dword [ebp - 0x890]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8da0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8da0], xmm1
jmp 0x43f7f2
xor eax, eax
je 0x43f7ee
jmp 0x43f8aa
jmp 0x43f815
cvtsi2sd xmm0, dword [ebp - 0x890]
movsd xmm1, qword [ebp - 0x8da0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x894], eax
jmp 0x43f8b4
xor eax, eax
inc eax
je 0x43f820
jmp 0x43f82f
jmp 0x43f682
jmp 0x43f682
xor eax, eax
inc eax
je 0x43f8aa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x898], eax
cvtsi2sd xmm0, dword [ebp - 0x898]
mov eax, dword [ebp - 0x898]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8da0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x894], eax
jmp 0x43f8b4
mov dword [ebp - 0x894], 7
mov eax, dword [ebp - 0x850]
shl eax, 2
add eax, dword [ebp - 0x84c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0x850]
shl ecx, 2
add ecx, dword [ebp - 0x84c]
mov dword [ecx], eax
jmp 0x43e862
mov eax, dword [ebp - 0x848]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x848]
mov dword [ebp - 0x89c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x89c]
mov eax, dword [eax]
mov dword [ebp - 0x844], eax
xor eax, eax
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x15]
call fcn.0041907e
mov dword [ebp - 0x8a0], eax
mov eax, dword [ebp - 0x8a0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4409c4
mov eax, dword [ebp - 0x8a0]
mov dword [ebp - 0x8a4], eax
and dword [ebp - 0x8a8], 0
jmp 0x43f952
mov eax, dword [ebp - 0x8a8]
inc eax
mov dword [ebp - 0x8a8], eax
cmp dword [ebp - 0x8a8], 1
jae 0x4409c4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43fc1c
xor eax, eax
je 0x43f99c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43f9d8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8db8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43fb6f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43fb6f
and dword [ebp - 0x8ac], 0
jmp 0x43fa52
cmp dword [ebp - 0x8ac], 0xa
jae 0x43fb6a
cvtsi2sd xmm0, dword [ebp - 0x8ac]
movsd xmm1, qword [ebp - 0x8db8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dc0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fac1
mov eax, dword [ebp - 0x8ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8db8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8db8], xmm1
jmp 0x43f9c2
cvtsi2sd xmm0, dword [ebp - 0x8ac]
movsd xmm1, qword [ebp - 0x8db8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dc8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fb1e
mov eax, dword [ebp - 0x8ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8db8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8db8], xmm1
jmp 0x43fb32
xor eax, eax
je 0x43fb2e
jmp 0x43fbea
jmp 0x43fb55
cvtsi2sd xmm0, dword [ebp - 0x8ac]
movsd xmm1, qword [ebp - 0x8db8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8b0], eax
jmp 0x43fbf4
xor eax, eax
inc eax
je 0x43fb60
jmp 0x43fb6f
jmp 0x43f9c2
jmp 0x43f9c2
xor eax, eax
inc eax
je 0x43fbea
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x8b4], eax
cvtsi2sd xmm0, dword [ebp - 0x8b4]
mov eax, dword [ebp - 0x8b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8db8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8b0], eax
jmp 0x43fbf4
mov dword [ebp - 0x8b0], 7
mov eax, dword [ebp - 0x8a8]
shl eax, 2
add eax, dword [ebp - 0x8a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x8b0]
mov ecx, dword [ebp - 0x8a8]
shl ecx, 2
add ecx, dword [ebp - 0x8a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x440702
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43ff1e
xor eax, eax
je 0x43fc9e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43fcda
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8dd0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x43fe71
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x43fe71
and dword [ebp - 0x8b8], 0
jmp 0x43fd54
cmp dword [ebp - 0x8b8], 0xa
jae 0x43fe6c
cvtsi2sd xmm0, dword [ebp - 0x8b8]
movsd xmm1, qword [ebp - 0x8dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dd8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fdc3
mov eax, dword [ebp - 0x8b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dd0], xmm1
jmp 0x43fcc4
cvtsi2sd xmm0, dword [ebp - 0x8b8]
movsd xmm1, qword [ebp - 0x8dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8de0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8de0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fe20
mov eax, dword [ebp - 0x8b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dd0], xmm1
jmp 0x43fe34
xor eax, eax
je 0x43fe30
jmp 0x43feec
jmp 0x43fe57
cvtsi2sd xmm0, dword [ebp - 0x8b8]
movsd xmm1, qword [ebp - 0x8dd0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8bc], eax
jmp 0x43fef6
xor eax, eax
inc eax
je 0x43fe62
jmp 0x43fe71
jmp 0x43fcc4
jmp 0x43fcc4
xor eax, eax
inc eax
je 0x43feec
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x8c0], eax
cvtsi2sd xmm0, dword [ebp - 0x8c0]
mov eax, dword [ebp - 0x8c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8dd0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8bc], eax
jmp 0x43fef6
mov dword [ebp - 0x8bc], 7
mov eax, dword [ebp - 0x8a8]
shl eax, 2
add eax, dword [ebp - 0x8a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x8bc]
mov ecx, dword [ebp - 0x8a8]
shl ecx, 2
add ecx, dword [ebp - 0x8a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4401db
xor eax, eax
je 0x43ff5b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x43ff97
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x8de8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44012e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44012e
and dword [ebp - 0x8c4], 0
jmp 0x440011
cmp dword [ebp - 0x8c4], 0xa
jae 0x440129
cvtsi2sd xmm0, dword [ebp - 0x8c4]
movsd xmm1, qword [ebp - 0x8de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8df0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8df0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440080
mov eax, dword [ebp - 0x8c4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8de8], xmm1
jmp 0x43ff81
cvtsi2sd xmm0, dword [ebp - 0x8c4]
movsd xmm1, qword [ebp - 0x8de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8df8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8df8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4400dd
mov eax, dword [ebp - 0x8c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8de8], xmm1
jmp 0x4400f1
xor eax, eax
je 0x4400ed
jmp 0x4401a9
jmp 0x440114
cvtsi2sd xmm0, dword [ebp - 0x8c4]
movsd xmm1, qword [ebp - 0x8de8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8c8], eax
jmp 0x4401b3
xor eax, eax
inc eax
je 0x44011f
jmp 0x44012e
jmp 0x43ff81
jmp 0x43ff81
xor eax, eax
inc eax
je 0x4401a9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x8cc], eax
cvtsi2sd xmm0, dword [ebp - 0x8cc]
mov eax, dword [ebp - 0x8cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8de8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8c8], eax
jmp 0x4401b3
mov dword [ebp - 0x8c8], 7
mov eax, dword [ebp - 0x8a8]
shl eax, 2
add eax, dword [ebp - 0x8a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x8c8]
mov ecx, dword [ebp - 0x8a8]
shl ecx, 2
add ecx, dword [ebp - 0x8a4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x8a8]
add eax, 0xffffffa7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8e00], xmm0
xor eax, eax
je 0x4401f5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x440231
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8e00]
movsd qword [ebp - 0x8e08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4403c8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4403c8
and dword [ebp - 0x8d0], 0
jmp 0x4402ab
cmp dword [ebp - 0x8d0], 0xa
jae 0x4403c3
cvtsi2sd xmm0, dword [ebp - 0x8d0]
movsd xmm1, qword [ebp - 0x8e08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44031a
mov eax, dword [ebp - 0x8d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e08], xmm1
jmp 0x44021b
cvtsi2sd xmm0, dword [ebp - 0x8d0]
movsd xmm1, qword [ebp - 0x8e08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440377
mov eax, dword [ebp - 0x8d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e08], xmm1
jmp 0x44038b
xor eax, eax
je 0x440387
jmp 0x440443
jmp 0x4403ae
cvtsi2sd xmm0, dword [ebp - 0x8d0]
movsd xmm1, qword [ebp - 0x8e08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8d4], eax
jmp 0x44044d
xor eax, eax
inc eax
je 0x4403b9
jmp 0x4403c8
jmp 0x44021b
jmp 0x44021b
xor eax, eax
inc eax
je 0x440443
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x8d8], eax
cvtsi2sd xmm0, dword [ebp - 0x8d8]
mov eax, dword [ebp - 0x8d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8e08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8d4], eax
jmp 0x44044d
mov dword [ebp - 0x8d4], 7
mov eax, dword [ebp - 0x8a8]
add eax, 0xffffffa7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8e20], xmm0
xor eax, eax
je 0x440467
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4404a3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8e20]
movsd qword [ebp - 0x8e28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44063a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44063a
and dword [ebp - 0x8dc], 0
jmp 0x44051d
cmp dword [ebp - 0x8dc], 0xa
jae 0x440635
cvtsi2sd xmm0, dword [ebp - 0x8dc]
movsd xmm1, qword [ebp - 0x8e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44058c
mov eax, dword [ebp - 0x8dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e28], xmm1
jmp 0x44048d
cvtsi2sd xmm0, dword [ebp - 0x8dc]
movsd xmm1, qword [ebp - 0x8e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4405e9
mov eax, dword [ebp - 0x8dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e28], xmm1
jmp 0x4405fd
xor eax, eax
je 0x4405f9
jmp 0x4406b5
jmp 0x440620
cvtsi2sd xmm0, dword [ebp - 0x8dc]
movsd xmm1, qword [ebp - 0x8e28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8e0], eax
jmp 0x4406bf
xor eax, eax
inc eax
je 0x44062b
jmp 0x44063a
jmp 0x44048d
jmp 0x44048d
xor eax, eax
inc eax
je 0x4406b5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x8e4], eax
cvtsi2sd xmm0, dword [ebp - 0x8e4]
mov eax, dword [ebp - 0x8e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8e28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8e0], eax
jmp 0x4406bf
mov dword [ebp - 0x8e0], 7
mov eax, dword [ebp - 0x8a8]
shl eax, 2
add eax, dword [ebp - 0x8a4]
mov eax, dword [eax]
add eax, dword [ebp - 0x8d4]
mov ecx, dword [ebp - 0x8a8]
shl ecx, 2
add ecx, dword [ebp - 0x8a4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x8e0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x8a8]
shl ecx, 2
add ecx, dword [ebp - 0x8a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4409bf
xor eax, eax
je 0x44073f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44077b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x8e40], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x440912
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x440912
and dword [ebp - 0x8e8], 0
jmp 0x4407f5
cmp dword [ebp - 0x8e8], 0xa
jae 0x44090d
cvtsi2sd xmm0, dword [ebp - 0x8e8]
movsd xmm1, qword [ebp - 0x8e40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e48], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440864
mov eax, dword [ebp - 0x8e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e40], xmm1
jmp 0x440765
cvtsi2sd xmm0, dword [ebp - 0x8e8]
movsd xmm1, qword [ebp - 0x8e40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e50], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4408c1
mov eax, dword [ebp - 0x8e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e40], xmm1
jmp 0x4408d5
xor eax, eax
je 0x4408d1
jmp 0x44098d
jmp 0x4408f8
cvtsi2sd xmm0, dword [ebp - 0x8e8]
movsd xmm1, qword [ebp - 0x8e40]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8ec], eax
jmp 0x440997
xor eax, eax
inc eax
je 0x440903
jmp 0x440912
jmp 0x440765
jmp 0x440765
xor eax, eax
inc eax
je 0x44098d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x8f0], eax
cvtsi2sd xmm0, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8e40]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x8ec], eax
jmp 0x440997
mov dword [ebp - 0x8ec], 7
mov eax, dword [ebp - 0x8a8]
shl eax, 2
add eax, dword [ebp - 0x8a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x8ec]
mov ecx, dword [ebp - 0x8a8]
shl ecx, 2
add ecx, dword [ebp - 0x8a4]
mov dword [ecx], eax
jmp 0x43f945
mov eax, dword [ebp - 0x8a0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x8a0]
mov dword [ebp - 0x8f4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x8f4]
mov eax, dword [eax]
mov dword [ebp - 0x8f8], eax
xor eax, eax
mov byte [ebp - 0x16], al
lea ecx, [ebp - 0x16]
call fcn.00417bc6
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebp - 0x8fc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x441aa7
mov eax, dword [ebp - 0x8fc]
mov dword [ebp - 0x900], eax
and dword [ebp - 0x904], 0
jmp 0x440a35
mov eax, dword [ebp - 0x904]
inc eax
mov dword [ebp - 0x904], eax
cmp dword [ebp - 0x904], 1
jae 0x441aa7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x440cff
xor eax, eax
je 0x440a7f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x440abb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8e58], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x440c52
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x440c52
and dword [ebp - 0x908], 0
jmp 0x440b35
cmp dword [ebp - 0x908], 0xa
jae 0x440c4d
cvtsi2sd xmm0, dword [ebp - 0x908]
movsd xmm1, qword [ebp - 0x8e58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e60], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440ba4
mov eax, dword [ebp - 0x908]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e58], xmm1
jmp 0x440aa5
cvtsi2sd xmm0, dword [ebp - 0x908]
movsd xmm1, qword [ebp - 0x8e58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e68], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440c01
mov eax, dword [ebp - 0x908]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e58], xmm1
jmp 0x440c15
xor eax, eax
je 0x440c11
jmp 0x440ccd
jmp 0x440c38
cvtsi2sd xmm0, dword [ebp - 0x908]
movsd xmm1, qword [ebp - 0x8e58]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x90c], eax
jmp 0x440cd7
xor eax, eax
inc eax
je 0x440c43
jmp 0x440c52
jmp 0x440aa5
jmp 0x440aa5
xor eax, eax
inc eax
je 0x440ccd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x910], eax
cvtsi2sd xmm0, dword [ebp - 0x910]
mov eax, dword [ebp - 0x910]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8e58]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x90c], eax
jmp 0x440cd7
mov dword [ebp - 0x90c], 7
mov eax, dword [ebp - 0x904]
shl eax, 2
add eax, dword [ebp - 0x900]
mov eax, dword [eax]
xor eax, dword [ebp - 0x90c]
mov ecx, dword [ebp - 0x904]
shl ecx, 2
add ecx, dword [ebp - 0x900]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4417e5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x441001
xor eax, eax
je 0x440d81
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x440dbd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8e70], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x440f54
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x440f54
and dword [ebp - 0x914], 0
jmp 0x440e37
cmp dword [ebp - 0x914], 0xa
jae 0x440f4f
cvtsi2sd xmm0, dword [ebp - 0x914]
movsd xmm1, qword [ebp - 0x8e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e78], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440ea6
mov eax, dword [ebp - 0x914]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e70], xmm1
jmp 0x440da7
cvtsi2sd xmm0, dword [ebp - 0x914]
movsd xmm1, qword [ebp - 0x8e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e80], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440f03
mov eax, dword [ebp - 0x914]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e70], xmm1
jmp 0x440f17
xor eax, eax
je 0x440f13
jmp 0x440fcf
jmp 0x440f3a
cvtsi2sd xmm0, dword [ebp - 0x914]
movsd xmm1, qword [ebp - 0x8e70]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x918], eax
jmp 0x440fd9
xor eax, eax
inc eax
je 0x440f45
jmp 0x440f54
jmp 0x440da7
jmp 0x440da7
xor eax, eax
inc eax
je 0x440fcf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x91c], eax
cvtsi2sd xmm0, dword [ebp - 0x91c]
mov eax, dword [ebp - 0x91c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8e70]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x918], eax
jmp 0x440fd9
mov dword [ebp - 0x918], 7
mov eax, dword [ebp - 0x904]
shl eax, 2
add eax, dword [ebp - 0x900]
mov eax, dword [eax]
xor eax, dword [ebp - 0x918]
mov ecx, dword [ebp - 0x904]
shl ecx, 2
add ecx, dword [ebp - 0x900]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4412be
xor eax, eax
je 0x44103e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44107a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x8e88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x441211
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x441211
and dword [ebp - 0x920], 0
jmp 0x4410f4
cmp dword [ebp - 0x920], 0xa
jae 0x44120c
cvtsi2sd xmm0, dword [ebp - 0x920]
movsd xmm1, qword [ebp - 0x8e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441163
mov eax, dword [ebp - 0x920]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e88], xmm1
jmp 0x441064
cvtsi2sd xmm0, dword [ebp - 0x920]
movsd xmm1, qword [ebp - 0x8e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4411c0
mov eax, dword [ebp - 0x920]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e88], xmm1
jmp 0x4411d4
xor eax, eax
je 0x4411d0
jmp 0x44128c
jmp 0x4411f7
cvtsi2sd xmm0, dword [ebp - 0x920]
movsd xmm1, qword [ebp - 0x8e88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x924], eax
jmp 0x441296
xor eax, eax
inc eax
je 0x441202
jmp 0x441211
jmp 0x441064
jmp 0x441064
xor eax, eax
inc eax
je 0x44128c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x928], eax
cvtsi2sd xmm0, dword [ebp - 0x928]
mov eax, dword [ebp - 0x928]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8e88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x924], eax
jmp 0x441296
mov dword [ebp - 0x924], 7
mov eax, dword [ebp - 0x904]
shl eax, 2
add eax, dword [ebp - 0x900]
mov eax, dword [eax]
xor eax, dword [ebp - 0x924]
mov ecx, dword [ebp - 0x904]
shl ecx, 2
add ecx, dword [ebp - 0x900]
mov dword [ecx], eax
mov eax, dword [ebp - 0x904]
add eax, 0xffffffa7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8ea0], xmm0
xor eax, eax
je 0x4412d8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x441314
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ea0]
movsd qword [ebp - 0x8ea8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4414ab
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4414ab
and dword [ebp - 0x92c], 0
jmp 0x44138e
cmp dword [ebp - 0x92c], 0xa
jae 0x4414a6
cvtsi2sd xmm0, dword [ebp - 0x92c]
movsd xmm1, qword [ebp - 0x8ea8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8eb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8eb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4413fd
mov eax, dword [ebp - 0x92c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ea8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ea8], xmm1
jmp 0x4412fe
cvtsi2sd xmm0, dword [ebp - 0x92c]
movsd xmm1, qword [ebp - 0x8ea8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8eb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8eb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44145a
mov eax, dword [ebp - 0x92c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ea8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ea8], xmm1
jmp 0x44146e
xor eax, eax
je 0x44146a
jmp 0x441526
jmp 0x441491
cvtsi2sd xmm0, dword [ebp - 0x92c]
movsd xmm1, qword [ebp - 0x8ea8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x930], eax
jmp 0x441530
xor eax, eax
inc eax
je 0x44149c
jmp 0x4414ab
jmp 0x4412fe
jmp 0x4412fe
xor eax, eax
inc eax
je 0x441526
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x934], eax
cvtsi2sd xmm0, dword [ebp - 0x934]
mov eax, dword [ebp - 0x934]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ea8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x930], eax
jmp 0x441530
mov dword [ebp - 0x930], 7
mov eax, dword [ebp - 0x904]
add eax, 0xffffffa7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8ec0], xmm0
xor eax, eax
je 0x44154a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x441586
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ec0]
movsd qword [ebp - 0x8ec8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44171d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44171d
and dword [ebp - 0x938], 0
jmp 0x441600
cmp dword [ebp - 0x938], 0xa
jae 0x441718
cvtsi2sd xmm0, dword [ebp - 0x938]
movsd xmm1, qword [ebp - 0x8ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ed0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ed0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44166f
mov eax, dword [ebp - 0x938]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ec8], xmm1
jmp 0x441570
cvtsi2sd xmm0, dword [ebp - 0x938]
movsd xmm1, qword [ebp - 0x8ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ed8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4416cc
mov eax, dword [ebp - 0x938]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ec8], xmm1
jmp 0x4416e0
xor eax, eax
je 0x4416dc
jmp 0x441798
jmp 0x441703
cvtsi2sd xmm0, dword [ebp - 0x938]
movsd xmm1, qword [ebp - 0x8ec8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x93c], eax
jmp 0x4417a2
xor eax, eax
inc eax
je 0x44170e
jmp 0x44171d
jmp 0x441570
jmp 0x441570
xor eax, eax
inc eax
je 0x441798
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x940], eax
cvtsi2sd xmm0, dword [ebp - 0x940]
mov eax, dword [ebp - 0x940]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ec8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x93c], eax
jmp 0x4417a2
mov dword [ebp - 0x93c], 7
mov eax, dword [ebp - 0x904]
shl eax, 2
add eax, dword [ebp - 0x900]
mov eax, dword [eax]
add eax, dword [ebp - 0x930]
mov ecx, dword [ebp - 0x904]
shl ecx, 2
add ecx, dword [ebp - 0x900]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x93c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x904]
shl ecx, 2
add ecx, dword [ebp - 0x900]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x441aa2
xor eax, eax
je 0x441822
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44185e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x8ee0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4419f5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4419f5
and dword [ebp - 0x944], 0
jmp 0x4418d8
cmp dword [ebp - 0x944], 0xa
jae 0x4419f0
cvtsi2sd xmm0, dword [ebp - 0x944]
movsd xmm1, qword [ebp - 0x8ee0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ee8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ee8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441947
mov eax, dword [ebp - 0x944]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ee0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ee0], xmm1
jmp 0x441848
cvtsi2sd xmm0, dword [ebp - 0x944]
movsd xmm1, qword [ebp - 0x8ee0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ef0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ef0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4419a4
mov eax, dword [ebp - 0x944]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ee0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ee0], xmm1
jmp 0x4419b8
xor eax, eax
je 0x4419b4
jmp 0x441a70
jmp 0x4419db
cvtsi2sd xmm0, dword [ebp - 0x944]
movsd xmm1, qword [ebp - 0x8ee0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x948], eax
jmp 0x441a7a
xor eax, eax
inc eax
je 0x4419e6
jmp 0x4419f5
jmp 0x441848
jmp 0x441848
xor eax, eax
inc eax
je 0x441a70
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x94c], eax
cvtsi2sd xmm0, dword [ebp - 0x94c]
mov eax, dword [ebp - 0x94c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ee0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x948], eax
jmp 0x441a7a
mov dword [ebp - 0x948], 7
mov eax, dword [ebp - 0x904]
shl eax, 2
add eax, dword [ebp - 0x900]
mov eax, dword [eax]
xor eax, dword [ebp - 0x948]
mov ecx, dword [ebp - 0x904]
shl ecx, 2
add ecx, dword [ebp - 0x900]
mov dword [ecx], eax
jmp 0x440a28
mov eax, dword [ebp - 0x8fc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x8fc]
mov dword [ebp - 0x950], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x950]
mov eax, dword [eax]
mov dword [ebp - 0x954], eax
xor eax, eax
mov byte [ebp - 0x17], al
lea ecx, [ebp - 0x17]
call fcn.0041986a
mov dword [ebp - 0x958], eax
mov eax, dword [ebp - 0x958]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x442b8a
mov eax, dword [ebp - 0x958]
mov dword [ebp - 0x95c], eax
and dword [ebp - 0x960], 0
jmp 0x441b18
mov eax, dword [ebp - 0x960]
inc eax
mov dword [ebp - 0x960], eax
cmp dword [ebp - 0x960], 1
jae 0x442b8a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x441de2
xor eax, eax
je 0x441b62
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x441b9e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706f00]
movsd qword [ebp - 0x8ef8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x441d35
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x441d35
and dword [ebp - 0x964], 0
jmp 0x441c18
cmp dword [ebp - 0x964], 0xa
jae 0x441d30
cvtsi2sd xmm0, dword [ebp - 0x964]
movsd xmm1, qword [ebp - 0x8ef8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f00], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441c87
mov eax, dword [ebp - 0x964]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ef8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ef8], xmm1
jmp 0x441b88
cvtsi2sd xmm0, dword [ebp - 0x964]
movsd xmm1, qword [ebp - 0x8ef8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f08], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441ce4
mov eax, dword [ebp - 0x964]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ef8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ef8], xmm1
jmp 0x441cf8
xor eax, eax
je 0x441cf4
jmp 0x441db0
jmp 0x441d1b
cvtsi2sd xmm0, dword [ebp - 0x964]
movsd xmm1, qword [ebp - 0x8ef8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x968], eax
jmp 0x441dba
xor eax, eax
inc eax
je 0x441d26
jmp 0x441d35
jmp 0x441b88
jmp 0x441b88
xor eax, eax
inc eax
je 0x441db0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x96c], eax
cvtsi2sd xmm0, dword [ebp - 0x96c]
mov eax, dword [ebp - 0x96c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8ef8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x968], eax
jmp 0x441dba
mov dword [ebp - 0x968], 7
mov eax, dword [ebp - 0x960]
shl eax, 2
add eax, dword [ebp - 0x95c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x968]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4428c8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4420e4
xor eax, eax
je 0x441e64
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x441ea0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8f10], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x442037
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x442037
and dword [ebp - 0x970], 0
jmp 0x441f1a
cmp dword [ebp - 0x970], 0xa
jae 0x442032
cvtsi2sd xmm0, dword [ebp - 0x970]
movsd xmm1, qword [ebp - 0x8f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f18], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441f89
mov eax, dword [ebp - 0x970]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f10], xmm1
jmp 0x441e8a
cvtsi2sd xmm0, dword [ebp - 0x970]
movsd xmm1, qword [ebp - 0x8f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f20], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441fe6
mov eax, dword [ebp - 0x970]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f10], xmm1
jmp 0x441ffa
xor eax, eax
je 0x441ff6
jmp 0x4420b2
jmp 0x44201d
cvtsi2sd xmm0, dword [ebp - 0x970]
movsd xmm1, qword [ebp - 0x8f10]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x974], eax
jmp 0x4420bc
xor eax, eax
inc eax
je 0x442028
jmp 0x442037
jmp 0x441e8a
jmp 0x441e8a
xor eax, eax
inc eax
je 0x4420b2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x978], eax
cvtsi2sd xmm0, dword [ebp - 0x978]
mov eax, dword [ebp - 0x978]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8f10]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x974], eax
jmp 0x4420bc
mov dword [ebp - 0x974], 7
mov eax, dword [ebp - 0x960]
shl eax, 2
add eax, dword [ebp - 0x95c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x974]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4423a1
xor eax, eax
je 0x442121
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44215d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x8f28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4422f4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4422f4
and dword [ebp - 0x97c], 0
jmp 0x4421d7
cmp dword [ebp - 0x97c], 0xa
jae 0x4422ef
cvtsi2sd xmm0, dword [ebp - 0x97c]
movsd xmm1, qword [ebp - 0x8f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442246
mov eax, dword [ebp - 0x97c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f28], xmm1
jmp 0x442147
cvtsi2sd xmm0, dword [ebp - 0x97c]
movsd xmm1, qword [ebp - 0x8f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4422a3
mov eax, dword [ebp - 0x97c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f28], xmm1
jmp 0x4422b7
xor eax, eax
je 0x4422b3
jmp 0x44236f
jmp 0x4422da
cvtsi2sd xmm0, dword [ebp - 0x97c]
movsd xmm1, qword [ebp - 0x8f28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x980], eax
jmp 0x442379
xor eax, eax
inc eax
je 0x4422e5
jmp 0x4422f4
jmp 0x442147
jmp 0x442147
xor eax, eax
inc eax
je 0x44236f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x984], eax
cvtsi2sd xmm0, dword [ebp - 0x984]
mov eax, dword [ebp - 0x984]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8f28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x980], eax
jmp 0x442379
mov dword [ebp - 0x980], 7
mov eax, dword [ebp - 0x960]
shl eax, 2
add eax, dword [ebp - 0x95c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x980]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x960]
add eax, 0xffffffa7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8f40], xmm0
xor eax, eax
je 0x4423bb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4423f7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8f40]
movsd qword [ebp - 0x8f48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44258e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44258e
and dword [ebp - 0x988], 0
jmp 0x442471
cmp dword [ebp - 0x988], 0xa
jae 0x442589
cvtsi2sd xmm0, dword [ebp - 0x988]
movsd xmm1, qword [ebp - 0x8f48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4424e0
mov eax, dword [ebp - 0x988]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f48], xmm1
jmp 0x4423e1
cvtsi2sd xmm0, dword [ebp - 0x988]
movsd xmm1, qword [ebp - 0x8f48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44253d
mov eax, dword [ebp - 0x988]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f48], xmm1
jmp 0x442551
xor eax, eax
je 0x44254d
jmp 0x442609
jmp 0x442574
cvtsi2sd xmm0, dword [ebp - 0x988]
movsd xmm1, qword [ebp - 0x8f48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x98c], eax
jmp 0x442613
xor eax, eax
inc eax
je 0x44257f
jmp 0x44258e
jmp 0x4423e1
jmp 0x4423e1
xor eax, eax
inc eax
je 0x442609
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x990], eax
cvtsi2sd xmm0, dword [ebp - 0x990]
mov eax, dword [ebp - 0x990]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8f48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x98c], eax
jmp 0x442613
mov dword [ebp - 0x98c], 7
mov eax, dword [ebp - 0x960]
add eax, 0xffffffa7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8f60], xmm0
xor eax, eax
je 0x44262d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x442669
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8f60]
movsd qword [ebp - 0x8f68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x442800
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x442800
and dword [ebp - 0x994], 0
jmp 0x4426e3
cmp dword [ebp - 0x994], 0xa
jae 0x4427fb
cvtsi2sd xmm0, dword [ebp - 0x994]
movsd xmm1, qword [ebp - 0x8f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442752
mov eax, dword [ebp - 0x994]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f68], xmm1
jmp 0x442653
cvtsi2sd xmm0, dword [ebp - 0x994]
movsd xmm1, qword [ebp - 0x8f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4427af
mov eax, dword [ebp - 0x994]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f68], xmm1
jmp 0x4427c3
xor eax, eax
je 0x4427bf
jmp 0x44287b
jmp 0x4427e6
cvtsi2sd xmm0, dword [ebp - 0x994]
movsd xmm1, qword [ebp - 0x8f68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x998], eax
jmp 0x442885
xor eax, eax
inc eax
je 0x4427f1
jmp 0x442800
jmp 0x442653
jmp 0x442653
xor eax, eax
inc eax
je 0x44287b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x99c], eax
cvtsi2sd xmm0, dword [ebp - 0x99c]
mov eax, dword [ebp - 0x99c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8f68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x998], eax
jmp 0x442885
mov dword [ebp - 0x998], 7
mov eax, dword [ebp - 0x960]
shl eax, 2
add eax, dword [ebp - 0x95c]
mov eax, dword [eax]
add eax, dword [ebp - 0x98c]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x998]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x442b85
xor eax, eax
je 0x442905
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x442941
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x8f80], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x442ad8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x442ad8
and dword [ebp - 0x9a0], 0
jmp 0x4429bb
cmp dword [ebp - 0x9a0], 0xa
jae 0x442ad3
cvtsi2sd xmm0, dword [ebp - 0x9a0]
movsd xmm1, qword [ebp - 0x8f80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f88], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442a2a
mov eax, dword [ebp - 0x9a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f80], xmm1
jmp 0x44292b
cvtsi2sd xmm0, dword [ebp - 0x9a0]
movsd xmm1, qword [ebp - 0x8f80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f90], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442a87
mov eax, dword [ebp - 0x9a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f80], xmm1
jmp 0x442a9b
xor eax, eax
je 0x442a97
jmp 0x442b53
jmp 0x442abe
cvtsi2sd xmm0, dword [ebp - 0x9a0]
movsd xmm1, qword [ebp - 0x8f80]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9a4], eax
jmp 0x442b5d
xor eax, eax
inc eax
je 0x442ac9
jmp 0x442ad8
jmp 0x44292b
jmp 0x44292b
xor eax, eax
inc eax
je 0x442b53
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x9a8], eax
cvtsi2sd xmm0, dword [ebp - 0x9a8]
mov eax, dword [ebp - 0x9a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8f80]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9a4], eax
jmp 0x442b5d
mov dword [ebp - 0x9a4], 7
mov eax, dword [ebp - 0x960]
shl eax, 2
add eax, dword [ebp - 0x95c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x9a4]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
jmp 0x441b0b
mov eax, dword [ebp - 0x958]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x958]
mov dword [ebp - 0x9ac], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x9ac]
mov eax, dword [eax]
mov dword [ebp - 0x9b0], eax
mov eax, dword [ebp - 0x954]
mov dword [ebp - 0x8f8], eax
cmp dword [ebp - 0x8f8], 0
je 0x443cb0
xor eax, eax
mov byte [ebp - 0x18], al
lea ecx, [ebp - 0x18]
call fcn.00418a66
mov dword [ebp - 0x9b4], eax
mov eax, dword [ebp - 0x9b4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x443c86
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x9b8], eax
and dword [ebp - 0x9bc], 0
jmp 0x442c14
mov eax, dword [ebp - 0x9bc]
inc eax
mov dword [ebp - 0x9bc], eax
cmp dword [ebp - 0x9bc], 1
jae 0x443c86
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x442ede
xor eax, eax
je 0x442c5e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x442c9a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x8f98], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x442e31
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x442e31
and dword [ebp - 0x9c0], 0
jmp 0x442d14
cmp dword [ebp - 0x9c0], 0xa
jae 0x442e2c
cvtsi2sd xmm0, dword [ebp - 0x9c0]
movsd xmm1, qword [ebp - 0x8f98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fa0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442d83
mov eax, dword [ebp - 0x9c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f98], xmm1
jmp 0x442c84
cvtsi2sd xmm0, dword [ebp - 0x9c0]
movsd xmm1, qword [ebp - 0x8f98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fa8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442de0
mov eax, dword [ebp - 0x9c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f98], xmm1
jmp 0x442df4
xor eax, eax
je 0x442df0
jmp 0x442eac
jmp 0x442e17
cvtsi2sd xmm0, dword [ebp - 0x9c0]
movsd xmm1, qword [ebp - 0x8f98]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9c4], eax
jmp 0x442eb6
xor eax, eax
inc eax
je 0x442e22
jmp 0x442e31
jmp 0x442c84
jmp 0x442c84
xor eax, eax
inc eax
je 0x442eac
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x9c8], eax
cvtsi2sd xmm0, dword [ebp - 0x9c8]
mov eax, dword [ebp - 0x9c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8f98]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9c4], eax
jmp 0x442eb6
mov dword [ebp - 0x9c4], 7
mov eax, dword [ebp - 0x9bc]
shl eax, 2
add eax, dword [ebp - 0x9b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x9c4]
mov ecx, dword [ebp - 0x9bc]
shl ecx, 2
add ecx, dword [ebp - 0x9b8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4439c4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4431e0
xor eax, eax
je 0x442f60
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x442f9c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x8fb0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x443133
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x443133
and dword [ebp - 0x9cc], 0
jmp 0x443016
cmp dword [ebp - 0x9cc], 0xa
jae 0x44312e
cvtsi2sd xmm0, dword [ebp - 0x9cc]
movsd xmm1, qword [ebp - 0x8fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fb8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443085
mov eax, dword [ebp - 0x9cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fb0], xmm1
jmp 0x442f86
cvtsi2sd xmm0, dword [ebp - 0x9cc]
movsd xmm1, qword [ebp - 0x8fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fc0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4430e2
mov eax, dword [ebp - 0x9cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fb0], xmm1
jmp 0x4430f6
xor eax, eax
je 0x4430f2
jmp 0x4431ae
jmp 0x443119
cvtsi2sd xmm0, dword [ebp - 0x9cc]
movsd xmm1, qword [ebp - 0x8fb0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9d0], eax
jmp 0x4431b8
xor eax, eax
inc eax
je 0x443124
jmp 0x443133
jmp 0x442f86
jmp 0x442f86
xor eax, eax
inc eax
je 0x4431ae
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x9d4], eax
cvtsi2sd xmm0, dword [ebp - 0x9d4]
mov eax, dword [ebp - 0x9d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8fb0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9d0], eax
jmp 0x4431b8
mov dword [ebp - 0x9d0], 7
mov eax, dword [ebp - 0x9bc]
shl eax, 2
add eax, dword [ebp - 0x9b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x9d0]
mov ecx, dword [ebp - 0x9bc]
shl ecx, 2
add ecx, dword [ebp - 0x9b8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44349d
xor eax, eax
je 0x44321d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x443259
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x8fc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4433f0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4433f0
and dword [ebp - 0x9d8], 0
jmp 0x4432d3
cmp dword [ebp - 0x9d8], 0xa
jae 0x4433eb
cvtsi2sd xmm0, dword [ebp - 0x9d8]
movsd xmm1, qword [ebp - 0x8fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443342
mov eax, dword [ebp - 0x9d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fc8], xmm1
jmp 0x443243
cvtsi2sd xmm0, dword [ebp - 0x9d8]
movsd xmm1, qword [ebp - 0x8fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44339f
mov eax, dword [ebp - 0x9d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fc8], xmm1
jmp 0x4433b3
xor eax, eax
je 0x4433af
jmp 0x44346b
jmp 0x4433d6
cvtsi2sd xmm0, dword [ebp - 0x9d8]
movsd xmm1, qword [ebp - 0x8fc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9dc], eax
jmp 0x443475
xor eax, eax
inc eax
je 0x4433e1
jmp 0x4433f0
jmp 0x443243
jmp 0x443243
xor eax, eax
inc eax
je 0x44346b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x9e0], eax
cvtsi2sd xmm0, dword [ebp - 0x9e0]
mov eax, dword [ebp - 0x9e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8fc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9dc], eax
jmp 0x443475
mov dword [ebp - 0x9dc], 7
mov eax, dword [ebp - 0x9bc]
shl eax, 2
add eax, dword [ebp - 0x9b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x9dc]
mov ecx, dword [ebp - 0x9bc]
shl ecx, 2
add ecx, dword [ebp - 0x9b8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9bc]
add eax, 0xffffffa8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x8fe0], xmm0
xor eax, eax
je 0x4434b7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4434f3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8fe0]
movsd qword [ebp - 0x8fe8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44368a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44368a
and dword [ebp - 0x9e4], 0
jmp 0x44356d
cmp dword [ebp - 0x9e4], 0xa
jae 0x443685
cvtsi2sd xmm0, dword [ebp - 0x9e4]
movsd xmm1, qword [ebp - 0x8fe8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ff0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ff0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4435dc
mov eax, dword [ebp - 0x9e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fe8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fe8], xmm1
jmp 0x4434dd
cvtsi2sd xmm0, dword [ebp - 0x9e4]
movsd xmm1, qword [ebp - 0x8fe8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ff8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443639
mov eax, dword [ebp - 0x9e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fe8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fe8], xmm1
jmp 0x44364d
xor eax, eax
je 0x443649
jmp 0x443705
jmp 0x443670
cvtsi2sd xmm0, dword [ebp - 0x9e4]
movsd xmm1, qword [ebp - 0x8fe8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9e8], eax
jmp 0x44370f
xor eax, eax
inc eax
je 0x44367b
jmp 0x44368a
jmp 0x4434dd
jmp 0x4434dd
xor eax, eax
inc eax
je 0x443705
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x9ec], eax
cvtsi2sd xmm0, dword [ebp - 0x9ec]
mov eax, dword [ebp - 0x9ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x8fe8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9e8], eax
jmp 0x44370f
mov dword [ebp - 0x9e8], 7
mov eax, dword [ebp - 0x9bc]
add eax, 0xffffffa8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9000], xmm0
xor eax, eax
je 0x443729
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x443765
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9000]
movsd qword [ebp - 0x9008], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4438fc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4438fc
and dword [ebp - 0x9f0], 0
jmp 0x4437df
cmp dword [ebp - 0x9f0], 0xa
jae 0x4438f7
cvtsi2sd xmm0, dword [ebp - 0x9f0]
movsd xmm1, qword [ebp - 0x9008]
addsd xmm1, xmm0
movsd qword [ebp - 0x9010], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9010]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44384e
mov eax, dword [ebp - 0x9f0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9008]
addsd xmm1, xmm0
movsd qword [ebp - 0x9008], xmm1
jmp 0x44374f
cvtsi2sd xmm0, dword [ebp - 0x9f0]
movsd xmm1, qword [ebp - 0x9008]
addsd xmm1, xmm0
movsd qword [ebp - 0x9018], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4438ab
mov eax, dword [ebp - 0x9f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9008]
addsd xmm1, xmm0
movsd qword [ebp - 0x9008], xmm1
jmp 0x4438bf
xor eax, eax
je 0x4438bb
jmp 0x443977
jmp 0x4438e2
cvtsi2sd xmm0, dword [ebp - 0x9f0]
movsd xmm1, qword [ebp - 0x9008]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9f4], eax
jmp 0x443981
xor eax, eax
inc eax
je 0x4438ed
jmp 0x4438fc
jmp 0x44374f
jmp 0x44374f
xor eax, eax
inc eax
je 0x443977
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x9f8], eax
cvtsi2sd xmm0, dword [ebp - 0x9f8]
mov eax, dword [ebp - 0x9f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9008]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x9f4], eax
jmp 0x443981
mov dword [ebp - 0x9f4], 7
mov eax, dword [ebp - 0x9bc]
shl eax, 2
add eax, dword [ebp - 0x9b8]
mov eax, dword [eax]
add eax, dword [ebp - 0x9e8]
mov ecx, dword [ebp - 0x9bc]
shl ecx, 2
add ecx, dword [ebp - 0x9b8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x9f4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x9bc]
shl ecx, 2
add ecx, dword [ebp - 0x9b8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x443c81
xor eax, eax
je 0x443a01
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x443a3d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x9020], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x443bd4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x443bd4
and dword [ebp - 0x9fc], 0
jmp 0x443ab7
cmp dword [ebp - 0x9fc], 0xa
jae 0x443bcf
cvtsi2sd xmm0, dword [ebp - 0x9fc]
movsd xmm1, qword [ebp - 0x9020]
addsd xmm1, xmm0
movsd qword [ebp - 0x9028], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9028]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443b26
mov eax, dword [ebp - 0x9fc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9020]
addsd xmm1, xmm0
movsd qword [ebp - 0x9020], xmm1
jmp 0x443a27
cvtsi2sd xmm0, dword [ebp - 0x9fc]
movsd xmm1, qword [ebp - 0x9020]
addsd xmm1, xmm0
movsd qword [ebp - 0x9030], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9030]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443b83
mov eax, dword [ebp - 0x9fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9020]
addsd xmm1, xmm0
movsd qword [ebp - 0x9020], xmm1
jmp 0x443b97
xor eax, eax
je 0x443b93
jmp 0x443c4f
jmp 0x443bba
cvtsi2sd xmm0, dword [ebp - 0x9fc]
movsd xmm1, qword [ebp - 0x9020]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa00], eax
jmp 0x443c59
xor eax, eax
inc eax
je 0x443bc5
jmp 0x443bd4
jmp 0x443a27
jmp 0x443a27
xor eax, eax
inc eax
je 0x443c4f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa04], eax
cvtsi2sd xmm0, dword [ebp - 0xa04]
mov eax, dword [ebp - 0xa04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9020]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa00], eax
jmp 0x443c59
mov dword [ebp - 0xa00], 7
mov eax, dword [ebp - 0x9bc]
shl eax, 2
add eax, dword [ebp - 0x9b8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa00]
mov ecx, dword [ebp - 0x9bc]
shl ecx, 2
add ecx, dword [ebp - 0x9b8]
mov dword [ecx], eax
jmp 0x442c07
mov eax, dword [ebp - 0x9b4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0xa08], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xa08]
mov eax, dword [eax]
mov dword [ebp - 0x9b0], eax
xor eax, eax
mov byte [ebp - 0x19], al
lea ecx, [ebp - 0x19]
call fcn.00417e36
mov dword [ebp - 0xa0c], eax
mov eax, dword [ebp - 0xa0c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x444d69
mov eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa10], eax
and dword [ebp - 0xa14], 0
jmp 0x443cf7
mov eax, dword [ebp - 0xa14]
inc eax
mov dword [ebp - 0xa14], eax
cmp dword [ebp - 0xa14], 1
jae 0x444d69
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x443fc1
xor eax, eax
je 0x443d41
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x443d7d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef8]
movsd qword [ebp - 0x9038], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x443f14
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x443f14
and dword [ebp - 0xa18], 0
jmp 0x443df7
cmp dword [ebp - 0xa18], 0xa
jae 0x443f0f
cvtsi2sd xmm0, dword [ebp - 0xa18]
movsd xmm1, qword [ebp - 0x9038]
addsd xmm1, xmm0
movsd qword [ebp - 0x9040], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9040]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443e66
mov eax, dword [ebp - 0xa18]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9038]
addsd xmm1, xmm0
movsd qword [ebp - 0x9038], xmm1
jmp 0x443d67
cvtsi2sd xmm0, dword [ebp - 0xa18]
movsd xmm1, qword [ebp - 0x9038]
addsd xmm1, xmm0
movsd qword [ebp - 0x9048], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9048]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443ec3
mov eax, dword [ebp - 0xa18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9038]
addsd xmm1, xmm0
movsd qword [ebp - 0x9038], xmm1
jmp 0x443ed7
xor eax, eax
je 0x443ed3
jmp 0x443f8f
jmp 0x443efa
cvtsi2sd xmm0, dword [ebp - 0xa18]
movsd xmm1, qword [ebp - 0x9038]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa1c], eax
jmp 0x443f99
xor eax, eax
inc eax
je 0x443f05
jmp 0x443f14
jmp 0x443d67
jmp 0x443d67
xor eax, eax
inc eax
je 0x443f8f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa20], eax
cvtsi2sd xmm0, dword [ebp - 0xa20]
mov eax, dword [ebp - 0xa20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9038]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa1c], eax
jmp 0x443f99
mov dword [ebp - 0xa1c], 7
mov eax, dword [ebp - 0xa14]
shl eax, 2
add eax, dword [ebp - 0xa10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xa14]
shl ecx, 2
add ecx, dword [ebp - 0xa10]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x444aa7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4442c3
xor eax, eax
je 0x444043
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44407f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x9050], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x444216
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x444216
and dword [ebp - 0xa24], 0
jmp 0x4440f9
cmp dword [ebp - 0xa24], 0xa
jae 0x444211
cvtsi2sd xmm0, dword [ebp - 0xa24]
movsd xmm1, qword [ebp - 0x9050]
addsd xmm1, xmm0
movsd qword [ebp - 0x9058], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444168
mov eax, dword [ebp - 0xa24]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9050]
addsd xmm1, xmm0
movsd qword [ebp - 0x9050], xmm1
jmp 0x444069
cvtsi2sd xmm0, dword [ebp - 0xa24]
movsd xmm1, qword [ebp - 0x9050]
addsd xmm1, xmm0
movsd qword [ebp - 0x9060], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9060]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4441c5
mov eax, dword [ebp - 0xa24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9050]
addsd xmm1, xmm0
movsd qword [ebp - 0x9050], xmm1
jmp 0x4441d9
xor eax, eax
je 0x4441d5
jmp 0x444291
jmp 0x4441fc
cvtsi2sd xmm0, dword [ebp - 0xa24]
movsd xmm1, qword [ebp - 0x9050]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa28], eax
jmp 0x44429b
xor eax, eax
inc eax
je 0x444207
jmp 0x444216
jmp 0x444069
jmp 0x444069
xor eax, eax
inc eax
je 0x444291
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa2c], eax
cvtsi2sd xmm0, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0xa2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9050]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa28], eax
jmp 0x44429b
mov dword [ebp - 0xa28], 7
mov eax, dword [ebp - 0xa14]
shl eax, 2
add eax, dword [ebp - 0xa10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa28]
mov ecx, dword [ebp - 0xa14]
shl ecx, 2
add ecx, dword [ebp - 0xa10]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x444580
xor eax, eax
je 0x444300
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44433c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x9068], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4444d3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4444d3
and dword [ebp - 0xa30], 0
jmp 0x4443b6
cmp dword [ebp - 0xa30], 0xa
jae 0x4444ce
cvtsi2sd xmm0, dword [ebp - 0xa30]
movsd xmm1, qword [ebp - 0x9068]
addsd xmm1, xmm0
movsd qword [ebp - 0x9070], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9070]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444425
mov eax, dword [ebp - 0xa30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9068]
addsd xmm1, xmm0
movsd qword [ebp - 0x9068], xmm1
jmp 0x444326
cvtsi2sd xmm0, dword [ebp - 0xa30]
movsd xmm1, qword [ebp - 0x9068]
addsd xmm1, xmm0
movsd qword [ebp - 0x9078], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9078]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444482
mov eax, dword [ebp - 0xa30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9068]
addsd xmm1, xmm0
movsd qword [ebp - 0x9068], xmm1
jmp 0x444496
xor eax, eax
je 0x444492
jmp 0x44454e
jmp 0x4444b9
cvtsi2sd xmm0, dword [ebp - 0xa30]
movsd xmm1, qword [ebp - 0x9068]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa34], eax
jmp 0x444558
xor eax, eax
inc eax
je 0x4444c4
jmp 0x4444d3
jmp 0x444326
jmp 0x444326
xor eax, eax
inc eax
je 0x44454e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa38], eax
cvtsi2sd xmm0, dword [ebp - 0xa38]
mov eax, dword [ebp - 0xa38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9068]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa34], eax
jmp 0x444558
mov dword [ebp - 0xa34], 7
mov eax, dword [ebp - 0xa14]
shl eax, 2
add eax, dword [ebp - 0xa10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa34]
mov ecx, dword [ebp - 0xa14]
shl ecx, 2
add ecx, dword [ebp - 0xa10]
mov dword [ecx], eax
mov eax, dword [ebp - 0xa14]
add eax, 0xffffffa8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9080], xmm0
xor eax, eax
je 0x44459a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4445d6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9080]
movsd qword [ebp - 0x9088], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44476d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44476d
and dword [ebp - 0xa3c], 0
jmp 0x444650
cmp dword [ebp - 0xa3c], 0xa
jae 0x444768
cvtsi2sd xmm0, dword [ebp - 0xa3c]
movsd xmm1, qword [ebp - 0x9088]
addsd xmm1, xmm0
movsd qword [ebp - 0x9090], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9090]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4446bf
mov eax, dword [ebp - 0xa3c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9088]
addsd xmm1, xmm0
movsd qword [ebp - 0x9088], xmm1
jmp 0x4445c0
cvtsi2sd xmm0, dword [ebp - 0xa3c]
movsd xmm1, qword [ebp - 0x9088]
addsd xmm1, xmm0
movsd qword [ebp - 0x9098], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44471c
mov eax, dword [ebp - 0xa3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9088]
addsd xmm1, xmm0
movsd qword [ebp - 0x9088], xmm1
jmp 0x444730
xor eax, eax
je 0x44472c
jmp 0x4447e8
jmp 0x444753
cvtsi2sd xmm0, dword [ebp - 0xa3c]
movsd xmm1, qword [ebp - 0x9088]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa40], eax
jmp 0x4447f2
xor eax, eax
inc eax
je 0x44475e
jmp 0x44476d
jmp 0x4445c0
jmp 0x4445c0
xor eax, eax
inc eax
je 0x4447e8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa44], eax
cvtsi2sd xmm0, dword [ebp - 0xa44]
mov eax, dword [ebp - 0xa44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9088]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa40], eax
jmp 0x4447f2
mov dword [ebp - 0xa40], 7
mov eax, dword [ebp - 0xa14]
add eax, 0xffffffa8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x90a0], xmm0
xor eax, eax
je 0x44480c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x444848
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x90a0]
movsd qword [ebp - 0x90a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4449df
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4449df
and dword [ebp - 0xa48], 0
jmp 0x4448c2
cmp dword [ebp - 0xa48], 0xa
jae 0x4449da
cvtsi2sd xmm0, dword [ebp - 0xa48]
movsd xmm1, qword [ebp - 0x90a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444931
mov eax, dword [ebp - 0xa48]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90a8], xmm1
jmp 0x444832
cvtsi2sd xmm0, dword [ebp - 0xa48]
movsd xmm1, qword [ebp - 0x90a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44498e
mov eax, dword [ebp - 0xa48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90a8], xmm1
jmp 0x4449a2
xor eax, eax
je 0x44499e
jmp 0x444a5a
jmp 0x4449c5
cvtsi2sd xmm0, dword [ebp - 0xa48]
movsd xmm1, qword [ebp - 0x90a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa4c], eax
jmp 0x444a64
xor eax, eax
inc eax
je 0x4449d0
jmp 0x4449df
jmp 0x444832
jmp 0x444832
xor eax, eax
inc eax
je 0x444a5a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa50], eax
cvtsi2sd xmm0, dword [ebp - 0xa50]
mov eax, dword [ebp - 0xa50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x90a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa4c], eax
jmp 0x444a64
mov dword [ebp - 0xa4c], 7
mov eax, dword [ebp - 0xa14]
shl eax, 2
add eax, dword [ebp - 0xa10]
mov eax, dword [eax]
add eax, dword [ebp - 0xa40]
mov ecx, dword [ebp - 0xa14]
shl ecx, 2
add ecx, dword [ebp - 0xa10]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xa4c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xa14]
shl ecx, 2
add ecx, dword [ebp - 0xa10]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x444d64
xor eax, eax
je 0x444ae4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x444b20
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x90c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x444cb7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x444cb7
and dword [ebp - 0xa54], 0
jmp 0x444b9a
cmp dword [ebp - 0xa54], 0xa
jae 0x444cb2
cvtsi2sd xmm0, dword [ebp - 0xa54]
movsd xmm1, qword [ebp - 0x90c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444c09
mov eax, dword [ebp - 0xa54]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90c0], xmm1
jmp 0x444b0a
cvtsi2sd xmm0, dword [ebp - 0xa54]
movsd xmm1, qword [ebp - 0x90c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444c66
mov eax, dword [ebp - 0xa54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90c0], xmm1
jmp 0x444c7a
xor eax, eax
je 0x444c76
jmp 0x444d32
jmp 0x444c9d
cvtsi2sd xmm0, dword [ebp - 0xa54]
movsd xmm1, qword [ebp - 0x90c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa58], eax
jmp 0x444d3c
xor eax, eax
inc eax
je 0x444ca8
jmp 0x444cb7
jmp 0x444b0a
jmp 0x444b0a
xor eax, eax
inc eax
je 0x444d32
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa5c], eax
cvtsi2sd xmm0, dword [ebp - 0xa5c]
mov eax, dword [ebp - 0xa5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x90c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa58], eax
jmp 0x444d3c
mov dword [ebp - 0xa58], 7
mov eax, dword [ebp - 0xa14]
shl eax, 2
add eax, dword [ebp - 0xa10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa58]
mov ecx, dword [ebp - 0xa14]
shl ecx, 2
add ecx, dword [ebp - 0xa10]
mov dword [ecx], eax
jmp 0x443cea
mov eax, dword [ebp - 0xa0c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa60], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xa60]
mov eax, dword [eax]
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa64]
shl eax, 2
add eax, 0x7cbcc8
call dword [eax]
test eax, eax
jne 0x44f78d
mov eax, dword [sym.imp.SHELL32.dll_SHGetDiskFreeSpaceExW]
mov dword [ebp - 0x161f8], eax
mov eax, dword [sym.imp.USER32.dll_GetScrollPos]
mov dword [ebp - 0x161f4], eax
mov eax, dword [sym.imp.USER32.dll_AppendMenuW]
mov dword [ebp - 0x161f0], eax
mov eax, dword [sym.imp.KERNEL32.dll_LocalSize]
mov dword [ebp - 0x161ec], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
mov dword [ebp - 0x161e8], eax
mov eax, dword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [ebp - 0x161e4], eax
mov eax, dword [sym.imp.GDI32.dll_Escape]
mov dword [ebp - 0x161e0], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetCommState]
mov dword [ebp - 0x161dc], eax
mov eax, dword [sym.imp.USER32.dll_SetDoubleClickTime]
mov dword [ebp - 0x161d8], eax
mov eax, dword [sym.imp.KERNEL32.dll_CreateEventExW]
mov dword [ebp - 0x161d4], eax
mov eax, dword [sym.imp.GDI32.dll_DPtoLP]
mov dword [ebp - 0x161d0], eax
mov eax, dword [sym.imp.KERNEL32.dll_BeginUpdateResourceW]
mov dword [ebp - 0x161cc], eax
mov eax, dword [sym.imp.USER32.dll_EnumChildWindows]
mov dword [ebp - 0x161c8], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetTapeParameters]
mov dword [ebp - 0x161c4], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
mov dword [ebp - 0x161c0], eax
mov eax, dword [sym.imp.GDI32.dll_EnumFontFamiliesExW]
mov dword [ebp - 0x161bc], eax
mov eax, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x161b8], eax
xor eax, eax
mov byte [ebp - 0x1a], al
lea ecx, [ebp - 0x1a]
call fcn.00415018
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa68]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x445f1f
mov eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], eax
and dword [ebp - 0xa70], 0
jmp 0x444ead
mov eax, dword [ebp - 0xa70]
inc eax
mov dword [ebp - 0xa70], eax
cmp dword [ebp - 0xa70], 1
jae 0x445f1f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445177
xor eax, eax
je 0x444ef7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x444f33
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x90d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4450ca
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4450ca
and dword [ebp - 0xa74], 0
jmp 0x444fad
cmp dword [ebp - 0xa74], 0xa
jae 0x4450c5
cvtsi2sd xmm0, dword [ebp - 0xa74]
movsd xmm1, qword [ebp - 0x90d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44501c
mov eax, dword [ebp - 0xa74]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90d8], xmm1
jmp 0x444f1d
cvtsi2sd xmm0, dword [ebp - 0xa74]
movsd xmm1, qword [ebp - 0x90d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445079
mov eax, dword [ebp - 0xa74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90d8], xmm1
jmp 0x44508d
xor eax, eax
je 0x445089
jmp 0x445145
jmp 0x4450b0
cvtsi2sd xmm0, dword [ebp - 0xa74]
movsd xmm1, qword [ebp - 0x90d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa78], eax
jmp 0x44514f
xor eax, eax
inc eax
je 0x4450bb
jmp 0x4450ca
jmp 0x444f1d
jmp 0x444f1d
xor eax, eax
inc eax
je 0x445145
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa7c], eax
cvtsi2sd xmm0, dword [ebp - 0xa7c]
mov eax, dword [ebp - 0xa7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x90d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa78], eax
jmp 0x44514f
mov dword [ebp - 0xa78], 7
mov eax, dword [ebp - 0xa70]
shl eax, 2
add eax, dword [ebp - 0xa6c]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa78]
mov ecx, dword [ebp - 0xa70]
shl ecx, 2
add ecx, dword [ebp - 0xa6c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x445c5d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445479
xor eax, eax
je 0x4451f9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x445235
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x90f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4453cc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4453cc
and dword [ebp - 0xa80], 0
jmp 0x4452af
cmp dword [ebp - 0xa80], 0xa
jae 0x4453c7
cvtsi2sd xmm0, dword [ebp - 0xa80]
movsd xmm1, qword [ebp - 0x90f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44531e
mov eax, dword [ebp - 0xa80]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90f0], xmm1
jmp 0x44521f
cvtsi2sd xmm0, dword [ebp - 0xa80]
movsd xmm1, qword [ebp - 0x90f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9100], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9100]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44537b
mov eax, dword [ebp - 0xa80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90f0], xmm1
jmp 0x44538f
xor eax, eax
je 0x44538b
jmp 0x445447
jmp 0x4453b2
cvtsi2sd xmm0, dword [ebp - 0xa80]
movsd xmm1, qword [ebp - 0x90f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa84], eax
jmp 0x445451
xor eax, eax
inc eax
je 0x4453bd
jmp 0x4453cc
jmp 0x44521f
jmp 0x44521f
xor eax, eax
inc eax
je 0x445447
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa88], eax
cvtsi2sd xmm0, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xa88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x90f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa84], eax
jmp 0x445451
mov dword [ebp - 0xa84], 7
mov eax, dword [ebp - 0xa70]
shl eax, 2
add eax, dword [ebp - 0xa6c]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa84]
mov ecx, dword [ebp - 0xa70]
shl ecx, 2
add ecx, dword [ebp - 0xa6c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445736
xor eax, eax
je 0x4454b6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4454f2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x9108], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x445689
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445689
and dword [ebp - 0xa8c], 0
jmp 0x44556c
cmp dword [ebp - 0xa8c], 0xa
jae 0x445684
cvtsi2sd xmm0, dword [ebp - 0xa8c]
movsd xmm1, qword [ebp - 0x9108]
addsd xmm1, xmm0
movsd qword [ebp - 0x9110], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9110]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4455db
mov eax, dword [ebp - 0xa8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9108]
addsd xmm1, xmm0
movsd qword [ebp - 0x9108], xmm1
jmp 0x4454dc
cvtsi2sd xmm0, dword [ebp - 0xa8c]
movsd xmm1, qword [ebp - 0x9108]
addsd xmm1, xmm0
movsd qword [ebp - 0x9118], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9118]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445638
mov eax, dword [ebp - 0xa8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9108]
addsd xmm1, xmm0
movsd qword [ebp - 0x9108], xmm1
jmp 0x44564c
xor eax, eax
je 0x445648
jmp 0x445704
jmp 0x44566f
cvtsi2sd xmm0, dword [ebp - 0xa8c]
movsd xmm1, qword [ebp - 0x9108]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa90], eax
jmp 0x44570e
xor eax, eax
inc eax
je 0x44567a
jmp 0x445689
jmp 0x4454dc
jmp 0x4454dc
xor eax, eax
inc eax
je 0x445704
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xa94], eax
cvtsi2sd xmm0, dword [ebp - 0xa94]
mov eax, dword [ebp - 0xa94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9108]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa90], eax
jmp 0x44570e
mov dword [ebp - 0xa90], 7
mov eax, dword [ebp - 0xa70]
shl eax, 2
add eax, dword [ebp - 0xa6c]
mov eax, dword [eax]
xor eax, dword [ebp - 0xa90]
mov ecx, dword [ebp - 0xa70]
shl ecx, 2
add ecx, dword [ebp - 0xa6c]
mov dword [ecx], eax
mov eax, dword [ebp - 0xa70]
add eax, 0xffffffa9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9120], xmm0
xor eax, eax
je 0x445750
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44578c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9120]
movsd qword [ebp - 0x9128], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x445923
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445923
and dword [ebp - 0xa98], 0
jmp 0x445806
cmp dword [ebp - 0xa98], 0xa
jae 0x44591e
cvtsi2sd xmm0, dword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0x9128]
addsd xmm1, xmm0
movsd qword [ebp - 0x9130], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9130]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445875
mov eax, dword [ebp - 0xa98]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9128]
addsd xmm1, xmm0
movsd qword [ebp - 0x9128], xmm1
jmp 0x445776
cvtsi2sd xmm0, dword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0x9128]
addsd xmm1, xmm0
movsd qword [ebp - 0x9138], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4458d2
mov eax, dword [ebp - 0xa98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9128]
addsd xmm1, xmm0
movsd qword [ebp - 0x9128], xmm1
jmp 0x4458e6
xor eax, eax
je 0x4458e2
jmp 0x44599e
jmp 0x445909
cvtsi2sd xmm0, dword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0x9128]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa9c], eax
jmp 0x4459a8
xor eax, eax
inc eax
je 0x445914
jmp 0x445923
jmp 0x445776
jmp 0x445776
xor eax, eax
inc eax
je 0x44599e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xaa0], eax
cvtsi2sd xmm0, dword [ebp - 0xaa0]
mov eax, dword [ebp - 0xaa0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9128]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xa9c], eax
jmp 0x4459a8
mov dword [ebp - 0xa9c], 7
mov eax, dword [ebp - 0xa70]
add eax, 0xffffffa9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9140], xmm0
xor eax, eax
je 0x4459c2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4459fe
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9140]
movsd qword [ebp - 0x9148], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x445b95
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445b95
and dword [ebp - 0xaa4], 0
jmp 0x445a78
cmp dword [ebp - 0xaa4], 0xa
jae 0x445b90
cvtsi2sd xmm0, dword [ebp - 0xaa4]
movsd xmm1, qword [ebp - 0x9148]
addsd xmm1, xmm0
movsd qword [ebp - 0x9150], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9150]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445ae7
mov eax, dword [ebp - 0xaa4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9148]
addsd xmm1, xmm0
movsd qword [ebp - 0x9148], xmm1
jmp 0x4459e8
cvtsi2sd xmm0, dword [ebp - 0xaa4]
movsd xmm1, qword [ebp - 0x9148]
addsd xmm1, xmm0
movsd qword [ebp - 0x9158], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445b44
mov eax, dword [ebp - 0xaa4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9148]
addsd xmm1, xmm0
movsd qword [ebp - 0x9148], xmm1
jmp 0x445b58
xor eax, eax
je 0x445b54
jmp 0x445c10
jmp 0x445b7b
cvtsi2sd xmm0, dword [ebp - 0xaa4]
movsd xmm1, qword [ebp - 0x9148]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xaa8], eax
jmp 0x445c1a
xor eax, eax
inc eax
je 0x445b86
jmp 0x445b95
jmp 0x4459e8
jmp 0x4459e8
xor eax, eax
inc eax
je 0x445c10
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xaac], eax
cvtsi2sd xmm0, dword [ebp - 0xaac]
mov eax, dword [ebp - 0xaac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9148]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xaa8], eax
jmp 0x445c1a
mov dword [ebp - 0xaa8], 7
mov eax, dword [ebp - 0xa70]
shl eax, 2
add eax, dword [ebp - 0xa6c]
mov eax, dword [eax]
add eax, dword [ebp - 0xa9c]
mov ecx, dword [ebp - 0xa70]
shl ecx, 2
add ecx, dword [ebp - 0xa6c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xaa8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xa70]
shl ecx, 2
add ecx, dword [ebp - 0xa6c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445f1a
xor eax, eax
je 0x445c9a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x445cd6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9160], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x445e6d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x445e6d
and dword [ebp - 0xab0], 0
jmp 0x445d50
cmp dword [ebp - 0xab0], 0xa
jae 0x445e68
cvtsi2sd xmm0, dword [ebp - 0xab0]
movsd xmm1, qword [ebp - 0x9160]
addsd xmm1, xmm0
movsd qword [ebp - 0x9168], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9168]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445dbf
mov eax, dword [ebp - 0xab0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9160]
addsd xmm1, xmm0
movsd qword [ebp - 0x9160], xmm1
jmp 0x445cc0
cvtsi2sd xmm0, dword [ebp - 0xab0]
movsd xmm1, qword [ebp - 0x9160]
addsd xmm1, xmm0
movsd qword [ebp - 0x9170], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9170]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445e1c
mov eax, dword [ebp - 0xab0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9160]
addsd xmm1, xmm0
movsd qword [ebp - 0x9160], xmm1
jmp 0x445e30
xor eax, eax
je 0x445e2c
jmp 0x445ee8
jmp 0x445e53
cvtsi2sd xmm0, dword [ebp - 0xab0]
movsd xmm1, qword [ebp - 0x9160]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xab4], eax
jmp 0x445ef2
xor eax, eax
inc eax
je 0x445e5e
jmp 0x445e6d
jmp 0x445cc0
jmp 0x445cc0
xor eax, eax
inc eax
je 0x445ee8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xab8], eax
cvtsi2sd xmm0, dword [ebp - 0xab8]
mov eax, dword [ebp - 0xab8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9160]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xab4], eax
jmp 0x445ef2
mov dword [ebp - 0xab4], 7
mov eax, dword [ebp - 0xa70]
shl eax, 2
add eax, dword [ebp - 0xa6c]
mov eax, dword [eax]
xor eax, dword [ebp - 0xab4]
mov ecx, dword [ebp - 0xa70]
shl ecx, 2
add ecx, dword [ebp - 0xa6c]
mov dword [ecx], eax
jmp 0x444ea0
mov eax, dword [ebp - 0xa68]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xa68]
mov dword [ebp - 0xabc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xabc]
mov eax, dword [eax]
mov dword [ebp - 0xac0], eax
xor eax, eax
mov byte [ebp - 0x1b], al
lea ecx, [ebp - 0x1b]
call fcn.0041593c
mov dword [ebp - 0xac4], eax
mov eax, dword [ebp - 0xac4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x447002
mov eax, dword [ebp - 0xac4]
mov dword [ebp - 0xac8], eax
and dword [ebp - 0xacc], 0
jmp 0x445f90
mov eax, dword [ebp - 0xacc]
inc eax
mov dword [ebp - 0xacc], eax
cmp dword [ebp - 0xacc], 1
jae 0x447002
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44625a
xor eax, eax
je 0x445fda
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x446016
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ef0]
movsd qword [ebp - 0x9178], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4461ad
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4461ad
and dword [ebp - 0xad0], 0
jmp 0x446090
cmp dword [ebp - 0xad0], 0xa
jae 0x4461a8
cvtsi2sd xmm0, dword [ebp - 0xad0]
movsd xmm1, qword [ebp - 0x9178]
addsd xmm1, xmm0
movsd qword [ebp - 0x9180], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9180]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4460ff
mov eax, dword [ebp - 0xad0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9178]
addsd xmm1, xmm0
movsd qword [ebp - 0x9178], xmm1
jmp 0x446000
cvtsi2sd xmm0, dword [ebp - 0xad0]
movsd xmm1, qword [ebp - 0x9178]
addsd xmm1, xmm0
movsd qword [ebp - 0x9188], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9188]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44615c
mov eax, dword [ebp - 0xad0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9178]
addsd xmm1, xmm0
movsd qword [ebp - 0x9178], xmm1
jmp 0x446170
xor eax, eax
je 0x44616c
jmp 0x446228
jmp 0x446193
cvtsi2sd xmm0, dword [ebp - 0xad0]
movsd xmm1, qword [ebp - 0x9178]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xad4], eax
jmp 0x446232
xor eax, eax
inc eax
je 0x44619e
jmp 0x4461ad
jmp 0x446000
jmp 0x446000
xor eax, eax
inc eax
je 0x446228
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xad8], eax
cvtsi2sd xmm0, dword [ebp - 0xad8]
mov eax, dword [ebp - 0xad8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9178]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xad4], eax
jmp 0x446232
mov dword [ebp - 0xad4], 7
mov eax, dword [ebp - 0xacc]
shl eax, 2
add eax, dword [ebp - 0xac8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xad4]
mov ecx, dword [ebp - 0xacc]
shl ecx, 2
add ecx, dword [ebp - 0xac8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x446d40
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44655c
xor eax, eax
je 0x4462dc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x446318
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x9190], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4464af
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4464af
and dword [ebp - 0xadc], 0
jmp 0x446392
cmp dword [ebp - 0xadc], 0xa
jae 0x4464aa
cvtsi2sd xmm0, dword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0x9190]
addsd xmm1, xmm0
movsd qword [ebp - 0x9198], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446401
mov eax, dword [ebp - 0xadc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9190]
addsd xmm1, xmm0
movsd qword [ebp - 0x9190], xmm1
jmp 0x446302
cvtsi2sd xmm0, dword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0x9190]
addsd xmm1, xmm0
movsd qword [ebp - 0x91a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44645e
mov eax, dword [ebp - 0xadc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9190]
addsd xmm1, xmm0
movsd qword [ebp - 0x9190], xmm1
jmp 0x446472
xor eax, eax
je 0x44646e
jmp 0x44652a
jmp 0x446495
cvtsi2sd xmm0, dword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0x9190]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xae0], eax
jmp 0x446534
xor eax, eax
inc eax
je 0x4464a0
jmp 0x4464af
jmp 0x446302
jmp 0x446302
xor eax, eax
inc eax
je 0x44652a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xae4], eax
cvtsi2sd xmm0, dword [ebp - 0xae4]
mov eax, dword [ebp - 0xae4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9190]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xae0], eax
jmp 0x446534
mov dword [ebp - 0xae0], 7
mov eax, dword [ebp - 0xacc]
shl eax, 2
add eax, dword [ebp - 0xac8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xae0]
mov ecx, dword [ebp - 0xacc]
shl ecx, 2
add ecx, dword [ebp - 0xac8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x446819
xor eax, eax
je 0x446599
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4465d5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x91a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44676c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44676c
and dword [ebp - 0xae8], 0
jmp 0x44664f
cmp dword [ebp - 0xae8], 0xa
jae 0x446767
cvtsi2sd xmm0, dword [ebp - 0xae8]
movsd xmm1, qword [ebp - 0x91a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4466be
mov eax, dword [ebp - 0xae8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91a8], xmm1
jmp 0x4465bf
cvtsi2sd xmm0, dword [ebp - 0xae8]
movsd xmm1, qword [ebp - 0x91a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44671b
mov eax, dword [ebp - 0xae8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91a8], xmm1
jmp 0x44672f
xor eax, eax
je 0x44672b
jmp 0x4467e7
jmp 0x446752
cvtsi2sd xmm0, dword [ebp - 0xae8]
movsd xmm1, qword [ebp - 0x91a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xaec], eax
jmp 0x4467f1
xor eax, eax
inc eax
je 0x44675d
jmp 0x44676c
jmp 0x4465bf
jmp 0x4465bf
xor eax, eax
inc eax
je 0x4467e7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xaf0], eax
cvtsi2sd xmm0, dword [ebp - 0xaf0]
mov eax, dword [ebp - 0xaf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x91a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xaec], eax
jmp 0x4467f1
mov dword [ebp - 0xaec], 7
mov eax, dword [ebp - 0xacc]
shl eax, 2
add eax, dword [ebp - 0xac8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xaec]
mov ecx, dword [ebp - 0xacc]
shl ecx, 2
add ecx, dword [ebp - 0xac8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xacc]
add eax, 0xffffffa9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x91c0], xmm0
xor eax, eax
je 0x446833
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44686f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x91c0]
movsd qword [ebp - 0x91c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x446a06
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x446a06
and dword [ebp - 0xaf4], 0
jmp 0x4468e9
cmp dword [ebp - 0xaf4], 0xa
jae 0x446a01
cvtsi2sd xmm0, dword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0x91c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446958
mov eax, dword [ebp - 0xaf4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91c8], xmm1
jmp 0x446859
cvtsi2sd xmm0, dword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0x91c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4469b5
mov eax, dword [ebp - 0xaf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91c8], xmm1
jmp 0x4469c9
xor eax, eax
je 0x4469c5
jmp 0x446a81
jmp 0x4469ec
cvtsi2sd xmm0, dword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0x91c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xaf8], eax
jmp 0x446a8b
xor eax, eax
inc eax
je 0x4469f7
jmp 0x446a06
jmp 0x446859
jmp 0x446859
xor eax, eax
inc eax
je 0x446a81
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xafc], eax
cvtsi2sd xmm0, dword [ebp - 0xafc]
mov eax, dword [ebp - 0xafc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x91c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xaf8], eax
jmp 0x446a8b
mov dword [ebp - 0xaf8], 7
mov eax, dword [ebp - 0xacc]
add eax, 0xffffffa9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x91e0], xmm0
xor eax, eax
je 0x446aa5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x446ae1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x91e0]
movsd qword [ebp - 0x91e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x446c78
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x446c78
and dword [ebp - 0xb00], 0
jmp 0x446b5b
cmp dword [ebp - 0xb00], 0xa
jae 0x446c73
cvtsi2sd xmm0, dword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0x91e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446bca
mov eax, dword [ebp - 0xb00]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91e8], xmm1
jmp 0x446acb
cvtsi2sd xmm0, dword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0x91e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446c27
mov eax, dword [ebp - 0xb00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x91e8], xmm1
jmp 0x446c3b
xor eax, eax
je 0x446c37
jmp 0x446cf3
jmp 0x446c5e
cvtsi2sd xmm0, dword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0x91e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb04], eax
jmp 0x446cfd
xor eax, eax
inc eax
je 0x446c69
jmp 0x446c78
jmp 0x446acb
jmp 0x446acb
xor eax, eax
inc eax
je 0x446cf3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb08], eax
cvtsi2sd xmm0, dword [ebp - 0xb08]
mov eax, dword [ebp - 0xb08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x91e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb04], eax
jmp 0x446cfd
mov dword [ebp - 0xb04], 7
mov eax, dword [ebp - 0xacc]
shl eax, 2
add eax, dword [ebp - 0xac8]
mov eax, dword [eax]
add eax, dword [ebp - 0xaf8]
mov ecx, dword [ebp - 0xacc]
shl ecx, 2
add ecx, dword [ebp - 0xac8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xb04]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xacc]
shl ecx, 2
add ecx, dword [ebp - 0xac8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x446ffd
xor eax, eax
je 0x446d7d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x446db9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9200], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x446f50
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x446f50
and dword [ebp - 0xb0c], 0
jmp 0x446e33
cmp dword [ebp - 0xb0c], 0xa
jae 0x446f4b
cvtsi2sd xmm0, dword [ebp - 0xb0c]
movsd xmm1, qword [ebp - 0x9200]
addsd xmm1, xmm0
movsd qword [ebp - 0x9208], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9208]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446ea2
mov eax, dword [ebp - 0xb0c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9200]
addsd xmm1, xmm0
movsd qword [ebp - 0x9200], xmm1
jmp 0x446da3
cvtsi2sd xmm0, dword [ebp - 0xb0c]
movsd xmm1, qword [ebp - 0x9200]
addsd xmm1, xmm0
movsd qword [ebp - 0x9210], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9210]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446eff
mov eax, dword [ebp - 0xb0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9200]
addsd xmm1, xmm0
movsd qword [ebp - 0x9200], xmm1
jmp 0x446f13
xor eax, eax
je 0x446f0f
jmp 0x446fcb
jmp 0x446f36
cvtsi2sd xmm0, dword [ebp - 0xb0c]
movsd xmm1, qword [ebp - 0x9200]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb10], eax
jmp 0x446fd5
xor eax, eax
inc eax
je 0x446f41
jmp 0x446f50
jmp 0x446da3
jmp 0x446da3
xor eax, eax
inc eax
je 0x446fcb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb14], eax
cvtsi2sd xmm0, dword [ebp - 0xb14]
mov eax, dword [ebp - 0xb14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9200]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb10], eax
jmp 0x446fd5
mov dword [ebp - 0xb10], 7
mov eax, dword [ebp - 0xacc]
shl eax, 2
add eax, dword [ebp - 0xac8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb10]
mov ecx, dword [ebp - 0xacc]
shl ecx, 2
add ecx, dword [ebp - 0xac8]
mov dword [ecx], eax
jmp 0x445f83
mov eax, dword [ebp - 0xac4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xac4]
mov dword [ebp - 0xb18], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xb18]
mov eax, dword [eax]
mov dword [ebp - 0xb1c], eax
xor eax, eax
mov byte [ebp - 0x1c], al
lea ecx, [ebp - 0x1c]
call fcn.004171d2
mov dword [ebp - 0xb20], eax
mov eax, dword [ebp - 0xb20]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4480e5
mov eax, dword [ebp - 0xb20]
mov dword [ebp - 0xb24], eax
and dword [ebp - 0xb28], 0
jmp 0x447073
mov eax, dword [ebp - 0xb28]
inc eax
mov dword [ebp - 0xb28], eax
cmp dword [ebp - 0xb28], 1
jae 0x4480e5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44733d
xor eax, eax
je 0x4470bd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4470f9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x9218], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x447290
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x447290
and dword [ebp - 0xb2c], 0
jmp 0x447173
cmp dword [ebp - 0xb2c], 0xa
jae 0x44728b
cvtsi2sd xmm0, dword [ebp - 0xb2c]
movsd xmm1, qword [ebp - 0x9218]
addsd xmm1, xmm0
movsd qword [ebp - 0x9220], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9220]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4471e2
mov eax, dword [ebp - 0xb2c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9218]
addsd xmm1, xmm0
movsd qword [ebp - 0x9218], xmm1
jmp 0x4470e3
cvtsi2sd xmm0, dword [ebp - 0xb2c]
movsd xmm1, qword [ebp - 0x9218]
addsd xmm1, xmm0
movsd qword [ebp - 0x9228], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9228]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44723f
mov eax, dword [ebp - 0xb2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9218]
addsd xmm1, xmm0
movsd qword [ebp - 0x9218], xmm1
jmp 0x447253
xor eax, eax
je 0x44724f
jmp 0x44730b
jmp 0x447276
cvtsi2sd xmm0, dword [ebp - 0xb2c]
movsd xmm1, qword [ebp - 0x9218]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb30], eax
jmp 0x447315
xor eax, eax
inc eax
je 0x447281
jmp 0x447290
jmp 0x4470e3
jmp 0x4470e3
xor eax, eax
inc eax
je 0x44730b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb34], eax
cvtsi2sd xmm0, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9218]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb30], eax
jmp 0x447315
mov dword [ebp - 0xb30], 7
mov eax, dword [ebp - 0xb28]
shl eax, 2
add eax, dword [ebp - 0xb24]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb30]
mov ecx, dword [ebp - 0xb28]
shl ecx, 2
add ecx, dword [ebp - 0xb24]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x447e23
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44763f
xor eax, eax
je 0x4473bf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4473fb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x9230], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x447592
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x447592
and dword [ebp - 0xb38], 0
jmp 0x447475
cmp dword [ebp - 0xb38], 0xa
jae 0x44758d
cvtsi2sd xmm0, dword [ebp - 0xb38]
movsd xmm1, qword [ebp - 0x9230]
addsd xmm1, xmm0
movsd qword [ebp - 0x9238], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4474e4
mov eax, dword [ebp - 0xb38]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9230]
addsd xmm1, xmm0
movsd qword [ebp - 0x9230], xmm1
jmp 0x4473e5
cvtsi2sd xmm0, dword [ebp - 0xb38]
movsd xmm1, qword [ebp - 0x9230]
addsd xmm1, xmm0
movsd qword [ebp - 0x9240], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9240]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447541
mov eax, dword [ebp - 0xb38]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9230]
addsd xmm1, xmm0
movsd qword [ebp - 0x9230], xmm1
jmp 0x447555
xor eax, eax
je 0x447551
jmp 0x44760d
jmp 0x447578
cvtsi2sd xmm0, dword [ebp - 0xb38]
movsd xmm1, qword [ebp - 0x9230]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb3c], eax
jmp 0x447617
xor eax, eax
inc eax
je 0x447583
jmp 0x447592
jmp 0x4473e5
jmp 0x4473e5
xor eax, eax
inc eax
je 0x44760d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb40], eax
cvtsi2sd xmm0, dword [ebp - 0xb40]
mov eax, dword [ebp - 0xb40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9230]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb3c], eax
jmp 0x447617
mov dword [ebp - 0xb3c], 7
mov eax, dword [ebp - 0xb28]
shl eax, 2
add eax, dword [ebp - 0xb24]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb28]
shl ecx, 2
add ecx, dword [ebp - 0xb24]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4478fc
xor eax, eax
je 0x44767c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4476b8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9248], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44784f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44784f
and dword [ebp - 0xb44], 0
jmp 0x447732
cmp dword [ebp - 0xb44], 0xa
jae 0x44784a
cvtsi2sd xmm0, dword [ebp - 0xb44]
movsd xmm1, qword [ebp - 0x9248]
addsd xmm1, xmm0
movsd qword [ebp - 0x9250], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9250]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4477a1
mov eax, dword [ebp - 0xb44]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9248]
addsd xmm1, xmm0
movsd qword [ebp - 0x9248], xmm1
jmp 0x4476a2
cvtsi2sd xmm0, dword [ebp - 0xb44]
movsd xmm1, qword [ebp - 0x9248]
addsd xmm1, xmm0
movsd qword [ebp - 0x9258], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4477fe
mov eax, dword [ebp - 0xb44]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9248]
addsd xmm1, xmm0
movsd qword [ebp - 0x9248], xmm1
jmp 0x447812
xor eax, eax
je 0x44780e
jmp 0x4478ca
jmp 0x447835
cvtsi2sd xmm0, dword [ebp - 0xb44]
movsd xmm1, qword [ebp - 0x9248]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb48], eax
jmp 0x4478d4
xor eax, eax
inc eax
je 0x447840
jmp 0x44784f
jmp 0x4476a2
jmp 0x4476a2
xor eax, eax
inc eax
je 0x4478ca
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb4c], eax
cvtsi2sd xmm0, dword [ebp - 0xb4c]
mov eax, dword [ebp - 0xb4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9248]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb48], eax
jmp 0x4478d4
mov dword [ebp - 0xb48], 7
mov eax, dword [ebp - 0xb28]
shl eax, 2
add eax, dword [ebp - 0xb24]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb48]
mov ecx, dword [ebp - 0xb28]
shl ecx, 2
add ecx, dword [ebp - 0xb24]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb28]
add eax, 0xffffffaa
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9260], xmm0
xor eax, eax
je 0x447916
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x447952
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9260]
movsd qword [ebp - 0x9268], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x447ae9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x447ae9
and dword [ebp - 0xb50], 0
jmp 0x4479cc
cmp dword [ebp - 0xb50], 0xa
jae 0x447ae4
cvtsi2sd xmm0, dword [ebp - 0xb50]
movsd xmm1, qword [ebp - 0x9268]
addsd xmm1, xmm0
movsd qword [ebp - 0x9270], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9270]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447a3b
mov eax, dword [ebp - 0xb50]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9268]
addsd xmm1, xmm0
movsd qword [ebp - 0x9268], xmm1
jmp 0x44793c
cvtsi2sd xmm0, dword [ebp - 0xb50]
movsd xmm1, qword [ebp - 0x9268]
addsd xmm1, xmm0
movsd qword [ebp - 0x9278], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447a98
mov eax, dword [ebp - 0xb50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9268]
addsd xmm1, xmm0
movsd qword [ebp - 0x9268], xmm1
jmp 0x447aac
xor eax, eax
je 0x447aa8
jmp 0x447b64
jmp 0x447acf
cvtsi2sd xmm0, dword [ebp - 0xb50]
movsd xmm1, qword [ebp - 0x9268]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb54], eax
jmp 0x447b6e
xor eax, eax
inc eax
je 0x447ada
jmp 0x447ae9
jmp 0x44793c
jmp 0x44793c
xor eax, eax
inc eax
je 0x447b64
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb58], eax
cvtsi2sd xmm0, dword [ebp - 0xb58]
mov eax, dword [ebp - 0xb58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9268]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb54], eax
jmp 0x447b6e
mov dword [ebp - 0xb54], 7
mov eax, dword [ebp - 0xb28]
add eax, 0xffffffaa
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9280], xmm0
xor eax, eax
je 0x447b88
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x447bc4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9280]
movsd qword [ebp - 0x9288], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x447d5b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x447d5b
and dword [ebp - 0xb5c], 0
jmp 0x447c3e
cmp dword [ebp - 0xb5c], 0xa
jae 0x447d56
cvtsi2sd xmm0, dword [ebp - 0xb5c]
movsd xmm1, qword [ebp - 0x9288]
addsd xmm1, xmm0
movsd qword [ebp - 0x9290], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9290]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447cad
mov eax, dword [ebp - 0xb5c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9288]
addsd xmm1, xmm0
movsd qword [ebp - 0x9288], xmm1
jmp 0x447bae
cvtsi2sd xmm0, dword [ebp - 0xb5c]
movsd xmm1, qword [ebp - 0x9288]
addsd xmm1, xmm0
movsd qword [ebp - 0x9298], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447d0a
mov eax, dword [ebp - 0xb5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9288]
addsd xmm1, xmm0
movsd qword [ebp - 0x9288], xmm1
jmp 0x447d1e
xor eax, eax
je 0x447d1a
jmp 0x447dd6
jmp 0x447d41
cvtsi2sd xmm0, dword [ebp - 0xb5c]
movsd xmm1, qword [ebp - 0x9288]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb60], eax
jmp 0x447de0
xor eax, eax
inc eax
je 0x447d4c
jmp 0x447d5b
jmp 0x447bae
jmp 0x447bae
xor eax, eax
inc eax
je 0x447dd6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb64], eax
cvtsi2sd xmm0, dword [ebp - 0xb64]
mov eax, dword [ebp - 0xb64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9288]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb60], eax
jmp 0x447de0
mov dword [ebp - 0xb60], 7
mov eax, dword [ebp - 0xb28]
shl eax, 2
add eax, dword [ebp - 0xb24]
mov eax, dword [eax]
add eax, dword [ebp - 0xb54]
mov ecx, dword [ebp - 0xb28]
shl ecx, 2
add ecx, dword [ebp - 0xb24]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xb60]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xb28]
shl ecx, 2
add ecx, dword [ebp - 0xb24]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4480e0
xor eax, eax
je 0x447e60
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x447e9c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x92a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x448033
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x448033
and dword [ebp - 0xb68], 0
jmp 0x447f16
cmp dword [ebp - 0xb68], 0xa
jae 0x44802e
cvtsi2sd xmm0, dword [ebp - 0xb68]
movsd xmm1, qword [ebp - 0x92a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447f85
mov eax, dword [ebp - 0xb68]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92a0], xmm1
jmp 0x447e86
cvtsi2sd xmm0, dword [ebp - 0xb68]
movsd xmm1, qword [ebp - 0x92a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447fe2
mov eax, dword [ebp - 0xb68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92a0], xmm1
jmp 0x447ff6
xor eax, eax
je 0x447ff2
jmp 0x4480ae
jmp 0x448019
cvtsi2sd xmm0, dword [ebp - 0xb68]
movsd xmm1, qword [ebp - 0x92a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb6c], eax
jmp 0x4480b8
xor eax, eax
inc eax
je 0x448024
jmp 0x448033
jmp 0x447e86
jmp 0x447e86
xor eax, eax
inc eax
je 0x4480ae
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb70], eax
cvtsi2sd xmm0, dword [ebp - 0xb70]
mov eax, dword [ebp - 0xb70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x92a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb6c], eax
jmp 0x4480b8
mov dword [ebp - 0xb6c], 7
mov eax, dword [ebp - 0xb28]
shl eax, 2
add eax, dword [ebp - 0xb24]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb6c]
mov ecx, dword [ebp - 0xb28]
shl ecx, 2
add ecx, dword [ebp - 0xb24]
mov dword [ecx], eax
jmp 0x447066
mov eax, dword [ebp - 0xb20]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xb20]
mov dword [ebp - 0xb74], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xb74]
mov eax, dword [eax]
mov dword [ebp - 0xb78], eax
mov eax, dword [ebp - 0xb1c]
mov dword [ebp - 0xac0], eax
cmp dword [ebp - 0xac0], 0
je 0x44920b
xor eax, eax
mov byte [ebp - 0x1d], al
lea ecx, [ebp - 0x1d]
call fcn.00416400
mov dword [ebp - 0xb7c], eax
mov eax, dword [ebp - 0xb7c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4491e1
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], eax
and dword [ebp - 0xb84], 0
jmp 0x44816f
mov eax, dword [ebp - 0xb84]
inc eax
mov dword [ebp - 0xb84], eax
cmp dword [ebp - 0xb84], 1
jae 0x4491e1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x448439
xor eax, eax
je 0x4481b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4481f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee8]
movsd qword [ebp - 0x92b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44838c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44838c
and dword [ebp - 0xb88], 0
jmp 0x44826f
cmp dword [ebp - 0xb88], 0xa
jae 0x448387
cvtsi2sd xmm0, dword [ebp - 0xb88]
movsd xmm1, qword [ebp - 0x92b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4482de
mov eax, dword [ebp - 0xb88]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92b8], xmm1
jmp 0x4481df
cvtsi2sd xmm0, dword [ebp - 0xb88]
movsd xmm1, qword [ebp - 0x92b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44833b
mov eax, dword [ebp - 0xb88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92b8], xmm1
jmp 0x44834f
xor eax, eax
je 0x44834b
jmp 0x448407
jmp 0x448372
cvtsi2sd xmm0, dword [ebp - 0xb88]
movsd xmm1, qword [ebp - 0x92b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb8c], eax
jmp 0x448411
xor eax, eax
inc eax
je 0x44837d
jmp 0x44838c
jmp 0x4481df
jmp 0x4481df
xor eax, eax
inc eax
je 0x448407
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb90], eax
cvtsi2sd xmm0, dword [ebp - 0xb90]
mov eax, dword [ebp - 0xb90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x92b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb8c], eax
jmp 0x448411
mov dword [ebp - 0xb8c], 7
mov eax, dword [ebp - 0xb84]
shl eax, 2
add eax, dword [ebp - 0xb80]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb8c]
mov ecx, dword [ebp - 0xb84]
shl ecx, 2
add ecx, dword [ebp - 0xb80]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x448f1f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44873b
xor eax, eax
je 0x4484bb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4484f7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x92d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44868e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44868e
and dword [ebp - 0xb94], 0
jmp 0x448571
cmp dword [ebp - 0xb94], 0xa
jae 0x448689
cvtsi2sd xmm0, dword [ebp - 0xb94]
movsd xmm1, qword [ebp - 0x92d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4485e0
mov eax, dword [ebp - 0xb94]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92d0], xmm1
jmp 0x4484e1
cvtsi2sd xmm0, dword [ebp - 0xb94]
movsd xmm1, qword [ebp - 0x92d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44863d
mov eax, dword [ebp - 0xb94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92d0], xmm1
jmp 0x448651
xor eax, eax
je 0x44864d
jmp 0x448709
jmp 0x448674
cvtsi2sd xmm0, dword [ebp - 0xb94]
movsd xmm1, qword [ebp - 0x92d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb98], eax
jmp 0x448713
xor eax, eax
inc eax
je 0x44867f
jmp 0x44868e
jmp 0x4484e1
jmp 0x4484e1
xor eax, eax
inc eax
je 0x448709
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xb9c], eax
cvtsi2sd xmm0, dword [ebp - 0xb9c]
mov eax, dword [ebp - 0xb9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x92d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xb98], eax
jmp 0x448713
mov dword [ebp - 0xb98], 7
mov eax, dword [ebp - 0xb84]
shl eax, 2
add eax, dword [ebp - 0xb80]
mov eax, dword [eax]
xor eax, dword [ebp - 0xb98]
mov ecx, dword [ebp - 0xb84]
shl ecx, 2
add ecx, dword [ebp - 0xb80]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4489f8
xor eax, eax
je 0x448778
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4487b4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x92e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44894b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44894b
and dword [ebp - 0xba0], 0
jmp 0x44882e
cmp dword [ebp - 0xba0], 0xa
jae 0x448946
cvtsi2sd xmm0, dword [ebp - 0xba0]
movsd xmm1, qword [ebp - 0x92e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44889d
mov eax, dword [ebp - 0xba0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92e8], xmm1
jmp 0x44879e
cvtsi2sd xmm0, dword [ebp - 0xba0]
movsd xmm1, qword [ebp - 0x92e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4488fa
mov eax, dword [ebp - 0xba0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92e8], xmm1
jmp 0x44890e
xor eax, eax
je 0x44890a
jmp 0x4489c6
jmp 0x448931
cvtsi2sd xmm0, dword [ebp - 0xba0]
movsd xmm1, qword [ebp - 0x92e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xba4], eax
jmp 0x4489d0
xor eax, eax
inc eax
je 0x44893c
jmp 0x44894b
jmp 0x44879e
jmp 0x44879e
xor eax, eax
inc eax
je 0x4489c6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xba8], eax
cvtsi2sd xmm0, dword [ebp - 0xba8]
mov eax, dword [ebp - 0xba8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x92e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xba4], eax
jmp 0x4489d0
mov dword [ebp - 0xba4], 7
mov eax, dword [ebp - 0xb84]
shl eax, 2
add eax, dword [ebp - 0xb80]
mov eax, dword [eax]
xor eax, dword [ebp - 0xba4]
mov ecx, dword [ebp - 0xb84]
shl ecx, 2
add ecx, dword [ebp - 0xb80]
mov dword [ecx], eax
mov eax, dword [ebp - 0xb84]
add eax, 0xffffffaa
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9300], xmm0
xor eax, eax
je 0x448a12
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x448a4e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9300]
movsd qword [ebp - 0x9308], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x448be5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x448be5
and dword [ebp - 0xbac], 0
jmp 0x448ac8
cmp dword [ebp - 0xbac], 0xa
jae 0x448be0
cvtsi2sd xmm0, dword [ebp - 0xbac]
movsd xmm1, qword [ebp - 0x9308]
addsd xmm1, xmm0
movsd qword [ebp - 0x9310], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9310]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448b37
mov eax, dword [ebp - 0xbac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9308]
addsd xmm1, xmm0
movsd qword [ebp - 0x9308], xmm1
jmp 0x448a38
cvtsi2sd xmm0, dword [ebp - 0xbac]
movsd xmm1, qword [ebp - 0x9308]
addsd xmm1, xmm0
movsd qword [ebp - 0x9318], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448b94
mov eax, dword [ebp - 0xbac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9308]
addsd xmm1, xmm0
movsd qword [ebp - 0x9308], xmm1
jmp 0x448ba8
xor eax, eax
je 0x448ba4
jmp 0x448c60
jmp 0x448bcb
cvtsi2sd xmm0, dword [ebp - 0xbac]
movsd xmm1, qword [ebp - 0x9308]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbb0], eax
jmp 0x448c6a
xor eax, eax
inc eax
je 0x448bd6
jmp 0x448be5
jmp 0x448a38
jmp 0x448a38
xor eax, eax
inc eax
je 0x448c60
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xbb4], eax
cvtsi2sd xmm0, dword [ebp - 0xbb4]
mov eax, dword [ebp - 0xbb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9308]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbb0], eax
jmp 0x448c6a
mov dword [ebp - 0xbb0], 7
mov eax, dword [ebp - 0xb84]
add eax, 0xffffffaa
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9320], xmm0
xor eax, eax
je 0x448c84
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x448cc0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9320]
movsd qword [ebp - 0x9328], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x448e57
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x448e57
and dword [ebp - 0xbb8], 0
jmp 0x448d3a
cmp dword [ebp - 0xbb8], 0xa
jae 0x448e52
cvtsi2sd xmm0, dword [ebp - 0xbb8]
movsd xmm1, qword [ebp - 0x9328]
addsd xmm1, xmm0
movsd qword [ebp - 0x9330], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9330]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448da9
mov eax, dword [ebp - 0xbb8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9328]
addsd xmm1, xmm0
movsd qword [ebp - 0x9328], xmm1
jmp 0x448caa
cvtsi2sd xmm0, dword [ebp - 0xbb8]
movsd xmm1, qword [ebp - 0x9328]
addsd xmm1, xmm0
movsd qword [ebp - 0x9338], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448e06
mov eax, dword [ebp - 0xbb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9328]
addsd xmm1, xmm0
movsd qword [ebp - 0x9328], xmm1
jmp 0x448e1a
xor eax, eax
je 0x448e16
jmp 0x448ed2
jmp 0x448e3d
cvtsi2sd xmm0, dword [ebp - 0xbb8]
movsd xmm1, qword [ebp - 0x9328]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbbc], eax
jmp 0x448edc
xor eax, eax
inc eax
je 0x448e48
jmp 0x448e57
jmp 0x448caa
jmp 0x448caa
xor eax, eax
inc eax
je 0x448ed2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xbc0], eax
cvtsi2sd xmm0, dword [ebp - 0xbc0]
mov eax, dword [ebp - 0xbc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9328]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbbc], eax
jmp 0x448edc
mov dword [ebp - 0xbbc], 7
mov eax, dword [ebp - 0xb84]
shl eax, 2
add eax, dword [ebp - 0xb80]
mov eax, dword [eax]
add eax, dword [ebp - 0xbb0]
mov ecx, dword [ebp - 0xb84]
shl ecx, 2
add ecx, dword [ebp - 0xb80]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xbbc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xb84]
shl ecx, 2
add ecx, dword [ebp - 0xb80]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4491dc
xor eax, eax
je 0x448f5c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x448f98
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x9340], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44912f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44912f
and dword [ebp - 0xbc4], 0
jmp 0x449012
cmp dword [ebp - 0xbc4], 0xa
jae 0x44912a
cvtsi2sd xmm0, dword [ebp - 0xbc4]
movsd xmm1, qword [ebp - 0x9340]
addsd xmm1, xmm0
movsd qword [ebp - 0x9348], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9348]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449081
mov eax, dword [ebp - 0xbc4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9340]
addsd xmm1, xmm0
movsd qword [ebp - 0x9340], xmm1
jmp 0x448f82
cvtsi2sd xmm0, dword [ebp - 0xbc4]
movsd xmm1, qword [ebp - 0x9340]
addsd xmm1, xmm0
movsd qword [ebp - 0x9350], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9350]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4490de
mov eax, dword [ebp - 0xbc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9340]
addsd xmm1, xmm0
movsd qword [ebp - 0x9340], xmm1
jmp 0x4490f2
xor eax, eax
je 0x4490ee
jmp 0x4491aa
jmp 0x449115
cvtsi2sd xmm0, dword [ebp - 0xbc4]
movsd xmm1, qword [ebp - 0x9340]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbc8], eax
jmp 0x4491b4
xor eax, eax
inc eax
je 0x449120
jmp 0x44912f
jmp 0x448f82
jmp 0x448f82
xor eax, eax
inc eax
je 0x4491aa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xbcc], eax
cvtsi2sd xmm0, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xbcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9340]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbc8], eax
jmp 0x4491b4
mov dword [ebp - 0xbc8], 7
mov eax, dword [ebp - 0xb84]
shl eax, 2
add eax, dword [ebp - 0xb80]
mov eax, dword [eax]
xor eax, dword [ebp - 0xbc8]
mov ecx, dword [ebp - 0xb84]
shl ecx, 2
add ecx, dword [ebp - 0xb80]
mov dword [ecx], eax
jmp 0x448162
mov eax, dword [ebp - 0xb7c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0xbd0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xbd0]
mov eax, dword [eax]
mov dword [ebp - 0xb78], eax
xor eax, eax
mov byte [ebp - 0x1e], al
xor eax, eax
mov byte [ebp - 0x1f], al
lea ecx, [ebp - 0x1e]
call fcn.004153c0
mov dword [ebp - 0xbd4], eax
mov eax, dword [ebp - 0xbd4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x44a2c9
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xbd8], eax
and dword [ebp - 0xbdc], 0
jmp 0x449257
mov eax, dword [ebp - 0xbdc]
inc eax
mov dword [ebp - 0xbdc], eax
cmp dword [ebp - 0xbdc], 1
jae 0x44a2c9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449521
xor eax, eax
je 0x4492a1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4492dd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x9358], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x449474
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449474
and dword [ebp - 0xbe0], 0
jmp 0x449357
cmp dword [ebp - 0xbe0], 0xa
jae 0x44946f
cvtsi2sd xmm0, dword [ebp - 0xbe0]
movsd xmm1, qword [ebp - 0x9358]
addsd xmm1, xmm0
movsd qword [ebp - 0x9360], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9360]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4493c6
mov eax, dword [ebp - 0xbe0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9358]
addsd xmm1, xmm0
movsd qword [ebp - 0x9358], xmm1
jmp 0x4492c7
cvtsi2sd xmm0, dword [ebp - 0xbe0]
movsd xmm1, qword [ebp - 0x9358]
addsd xmm1, xmm0
movsd qword [ebp - 0x9368], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9368]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449423
mov eax, dword [ebp - 0xbe0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9358]
addsd xmm1, xmm0
movsd qword [ebp - 0x9358], xmm1
jmp 0x449437
xor eax, eax
je 0x449433
jmp 0x4494ef
jmp 0x44945a
cvtsi2sd xmm0, dword [ebp - 0xbe0]
movsd xmm1, qword [ebp - 0x9358]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbe4], eax
jmp 0x4494f9
xor eax, eax
inc eax
je 0x449465
jmp 0x449474
jmp 0x4492c7
jmp 0x4492c7
xor eax, eax
inc eax
je 0x4494ef
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xbe8], eax
cvtsi2sd xmm0, dword [ebp - 0xbe8]
mov eax, dword [ebp - 0xbe8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9358]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbe4], eax
jmp 0x4494f9
mov dword [ebp - 0xbe4], 7
mov eax, dword [ebp - 0xbdc]
shl eax, 2
add eax, dword [ebp - 0xbd8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xbe4]
mov ecx, dword [ebp - 0xbdc]
shl ecx, 2
add ecx, dword [ebp - 0xbd8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44a007
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449823
xor eax, eax
je 0x4495a3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4495df
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9370], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x449776
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449776
and dword [ebp - 0xbec], 0
jmp 0x449659
cmp dword [ebp - 0xbec], 0xa
jae 0x449771
cvtsi2sd xmm0, dword [ebp - 0xbec]
movsd xmm1, qword [ebp - 0x9370]
addsd xmm1, xmm0
movsd qword [ebp - 0x9378], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4496c8
mov eax, dword [ebp - 0xbec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9370]
addsd xmm1, xmm0
movsd qword [ebp - 0x9370], xmm1
jmp 0x4495c9
cvtsi2sd xmm0, dword [ebp - 0xbec]
movsd xmm1, qword [ebp - 0x9370]
addsd xmm1, xmm0
movsd qword [ebp - 0x9380], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9380]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449725
mov eax, dword [ebp - 0xbec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9370]
addsd xmm1, xmm0
movsd qword [ebp - 0x9370], xmm1
jmp 0x449739
xor eax, eax
je 0x449735
jmp 0x4497f1
jmp 0x44975c
cvtsi2sd xmm0, dword [ebp - 0xbec]
movsd xmm1, qword [ebp - 0x9370]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbf0], eax
jmp 0x4497fb
xor eax, eax
inc eax
je 0x449767
jmp 0x449776
jmp 0x4495c9
jmp 0x4495c9
xor eax, eax
inc eax
je 0x4497f1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xbf4], eax
cvtsi2sd xmm0, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xbf4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9370]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbf0], eax
jmp 0x4497fb
mov dword [ebp - 0xbf0], 7
mov eax, dword [ebp - 0xbdc]
shl eax, 2
add eax, dword [ebp - 0xbd8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xbf0]
mov ecx, dword [ebp - 0xbdc]
shl ecx, 2
add ecx, dword [ebp - 0xbd8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449ae0
xor eax, eax
je 0x449860
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44989c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x9388], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x449a33
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449a33
and dword [ebp - 0xbf8], 0
jmp 0x449916
cmp dword [ebp - 0xbf8], 0xa
jae 0x449a2e
cvtsi2sd xmm0, dword [ebp - 0xbf8]
movsd xmm1, qword [ebp - 0x9388]
addsd xmm1, xmm0
movsd qword [ebp - 0x9390], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449985
mov eax, dword [ebp - 0xbf8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9388]
addsd xmm1, xmm0
movsd qword [ebp - 0x9388], xmm1
jmp 0x449886
cvtsi2sd xmm0, dword [ebp - 0xbf8]
movsd xmm1, qword [ebp - 0x9388]
addsd xmm1, xmm0
movsd qword [ebp - 0x9398], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4499e2
mov eax, dword [ebp - 0xbf8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9388]
addsd xmm1, xmm0
movsd qword [ebp - 0x9388], xmm1
jmp 0x4499f6
xor eax, eax
je 0x4499f2
jmp 0x449aae
jmp 0x449a19
cvtsi2sd xmm0, dword [ebp - 0xbf8]
movsd xmm1, qword [ebp - 0x9388]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbfc], eax
jmp 0x449ab8
xor eax, eax
inc eax
je 0x449a24
jmp 0x449a33
jmp 0x449886
jmp 0x449886
xor eax, eax
inc eax
je 0x449aae
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc00], eax
cvtsi2sd xmm0, dword [ebp - 0xc00]
mov eax, dword [ebp - 0xc00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9388]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xbfc], eax
jmp 0x449ab8
mov dword [ebp - 0xbfc], 7
mov eax, dword [ebp - 0xbdc]
shl eax, 2
add eax, dword [ebp - 0xbd8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xbfc]
mov ecx, dword [ebp - 0xbdc]
shl ecx, 2
add ecx, dword [ebp - 0xbd8]
mov dword [ecx], eax
mov eax, dword [ebp - 0xbdc]
add eax, 0xffffffab
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x93a0], xmm0
xor eax, eax
je 0x449afa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x449b36
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x93a0]
movsd qword [ebp - 0x93a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x449ccd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449ccd
and dword [ebp - 0xc04], 0
jmp 0x449bb0
cmp dword [ebp - 0xc04], 0xa
jae 0x449cc8
cvtsi2sd xmm0, dword [ebp - 0xc04]
movsd xmm1, qword [ebp - 0x93a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449c1f
mov eax, dword [ebp - 0xc04]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93a8], xmm1
jmp 0x449b20
cvtsi2sd xmm0, dword [ebp - 0xc04]
movsd xmm1, qword [ebp - 0x93a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449c7c
mov eax, dword [ebp - 0xc04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93a8], xmm1
jmp 0x449c90
xor eax, eax
je 0x449c8c
jmp 0x449d48
jmp 0x449cb3
cvtsi2sd xmm0, dword [ebp - 0xc04]
movsd xmm1, qword [ebp - 0x93a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc08], eax
jmp 0x449d52
xor eax, eax
inc eax
je 0x449cbe
jmp 0x449ccd
jmp 0x449b20
jmp 0x449b20
xor eax, eax
inc eax
je 0x449d48
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc0c], eax
cvtsi2sd xmm0, dword [ebp - 0xc0c]
mov eax, dword [ebp - 0xc0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x93a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc08], eax
jmp 0x449d52
mov dword [ebp - 0xc08], 7
mov eax, dword [ebp - 0xbdc]
add eax, 0xffffffab
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x93c0], xmm0
xor eax, eax
je 0x449d6c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x449da8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x93c0]
movsd qword [ebp - 0x93c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x449f3f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x449f3f
and dword [ebp - 0xc10], 0
jmp 0x449e22
cmp dword [ebp - 0xc10], 0xa
jae 0x449f3a
cvtsi2sd xmm0, dword [ebp - 0xc10]
movsd xmm1, qword [ebp - 0x93c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449e91
mov eax, dword [ebp - 0xc10]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93c8], xmm1
jmp 0x449d92
cvtsi2sd xmm0, dword [ebp - 0xc10]
movsd xmm1, qword [ebp - 0x93c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449eee
mov eax, dword [ebp - 0xc10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93c8], xmm1
jmp 0x449f02
xor eax, eax
je 0x449efe
jmp 0x449fba
jmp 0x449f25
cvtsi2sd xmm0, dword [ebp - 0xc10]
movsd xmm1, qword [ebp - 0x93c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc14], eax
jmp 0x449fc4
xor eax, eax
inc eax
je 0x449f30
jmp 0x449f3f
jmp 0x449d92
jmp 0x449d92
xor eax, eax
inc eax
je 0x449fba
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc18], eax
cvtsi2sd xmm0, dword [ebp - 0xc18]
mov eax, dword [ebp - 0xc18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x93c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc14], eax
jmp 0x449fc4
mov dword [ebp - 0xc14], 7
mov eax, dword [ebp - 0xbdc]
shl eax, 2
add eax, dword [ebp - 0xbd8]
mov eax, dword [eax]
add eax, dword [ebp - 0xc08]
mov ecx, dword [ebp - 0xbdc]
shl ecx, 2
add ecx, dword [ebp - 0xbd8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xc14]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xbdc]
shl ecx, 2
add ecx, dword [ebp - 0xbd8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44a2c4
xor eax, eax
je 0x44a044
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44a080
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x93e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44a217
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44a217
and dword [ebp - 0xc1c], 0
jmp 0x44a0fa
cmp dword [ebp - 0xc1c], 0xa
jae 0x44a212
cvtsi2sd xmm0, dword [ebp - 0xc1c]
movsd xmm1, qword [ebp - 0x93e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a169
mov eax, dword [ebp - 0xc1c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93e0], xmm1
jmp 0x44a06a
cvtsi2sd xmm0, dword [ebp - 0xc1c]
movsd xmm1, qword [ebp - 0x93e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a1c6
mov eax, dword [ebp - 0xc1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93e0], xmm1
jmp 0x44a1da
xor eax, eax
je 0x44a1d6
jmp 0x44a292
jmp 0x44a1fd
cvtsi2sd xmm0, dword [ebp - 0xc1c]
movsd xmm1, qword [ebp - 0x93e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc20], eax
jmp 0x44a29c
xor eax, eax
inc eax
je 0x44a208
jmp 0x44a217
jmp 0x44a06a
jmp 0x44a06a
xor eax, eax
inc eax
je 0x44a292
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc24], eax
cvtsi2sd xmm0, dword [ebp - 0xc24]
mov eax, dword [ebp - 0xc24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x93e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc20], eax
jmp 0x44a29c
mov dword [ebp - 0xc20], 7
mov eax, dword [ebp - 0xbdc]
shl eax, 2
add eax, dword [ebp - 0xbd8]
mov eax, dword [eax]
xor eax, dword [ebp - 0xc20]
mov ecx, dword [ebp - 0xbdc]
shl ecx, 2
add ecx, dword [ebp - 0xbd8]
mov dword [ecx], eax
jmp 0x44924a
mov eax, dword [ebp - 0xbd4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xc28], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xc28]
mov eax, dword [eax]
mov dword [ebp - 0xc2c], eax
lea ecx, [ebp - 0x1f]
call fcn.00417b5e
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0xc30]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x44b3a7
mov eax, dword [ebp - 0xc30]
mov dword [ebp - 0xc34], eax
and dword [ebp - 0xc38], 0
jmp 0x44a335
mov eax, dword [ebp - 0xc38]
inc eax
mov dword [ebp - 0xc38], eax
cmp dword [ebp - 0xc38], 1
jae 0x44b3a7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44a5ff
xor eax, eax
je 0x44a37f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44a3bb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ee0]
movsd qword [ebp - 0x93f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44a552
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44a552
and dword [ebp - 0xc3c], 0
jmp 0x44a435
cmp dword [ebp - 0xc3c], 0xa
jae 0x44a54d
cvtsi2sd xmm0, dword [ebp - 0xc3c]
movsd xmm1, qword [ebp - 0x93f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9400], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9400]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a4a4
mov eax, dword [ebp - 0xc3c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93f8], xmm1
jmp 0x44a3a5
cvtsi2sd xmm0, dword [ebp - 0xc3c]
movsd xmm1, qword [ebp - 0x93f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9408], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9408]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a501
mov eax, dword [ebp - 0xc3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93f8], xmm1
jmp 0x44a515
xor eax, eax
je 0x44a511
jmp 0x44a5cd
jmp 0x44a538
cvtsi2sd xmm0, dword [ebp - 0xc3c]
movsd xmm1, qword [ebp - 0x93f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc40], eax
jmp 0x44a5d7
xor eax, eax
inc eax
je 0x44a543
jmp 0x44a552
jmp 0x44a3a5
jmp 0x44a3a5
xor eax, eax
inc eax
je 0x44a5cd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc44], eax
cvtsi2sd xmm0, dword [ebp - 0xc44]
mov eax, dword [ebp - 0xc44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x93f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc40], eax
jmp 0x44a5d7
mov dword [ebp - 0xc40], 7
mov eax, dword [ebp - 0xc38]
shl eax, 2
add eax, dword [ebp - 0xc34]
mov eax, dword [eax]
xor eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc38]
shl ecx, 2
add ecx, dword [ebp - 0xc34]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44b0e5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44a901
xor eax, eax
je 0x44a681
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44a6bd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9410], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44a854
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44a854
and dword [ebp - 0xc48], 0
jmp 0x44a737
cmp dword [ebp - 0xc48], 0xa
jae 0x44a84f
cvtsi2sd xmm0, dword [ebp - 0xc48]
movsd xmm1, qword [ebp - 0x9410]
addsd xmm1, xmm0
movsd qword [ebp - 0x9418], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a7a6
mov eax, dword [ebp - 0xc48]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9410]
addsd xmm1, xmm0
movsd qword [ebp - 0x9410], xmm1
jmp 0x44a6a7
cvtsi2sd xmm0, dword [ebp - 0xc48]
movsd xmm1, qword [ebp - 0x9410]
addsd xmm1, xmm0
movsd qword [ebp - 0x9420], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9420]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a803
mov eax, dword [ebp - 0xc48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9410]
addsd xmm1, xmm0
movsd qword [ebp - 0x9410], xmm1
jmp 0x44a817
xor eax, eax
je 0x44a813
jmp 0x44a8cf
jmp 0x44a83a
cvtsi2sd xmm0, dword [ebp - 0xc48]
movsd xmm1, qword [ebp - 0x9410]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc4c], eax
jmp 0x44a8d9
xor eax, eax
inc eax
je 0x44a845
jmp 0x44a854
jmp 0x44a6a7
jmp 0x44a6a7
xor eax, eax
inc eax
je 0x44a8cf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc50], eax
cvtsi2sd xmm0, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9410]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc4c], eax
jmp 0x44a8d9
mov dword [ebp - 0xc4c], 7
mov eax, dword [ebp - 0xc38]
shl eax, 2
add eax, dword [ebp - 0xc34]
mov eax, dword [eax]
xor eax, dword [ebp - 0xc4c]
mov ecx, dword [ebp - 0xc38]
shl ecx, 2
add ecx, dword [ebp - 0xc34]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44abbe
xor eax, eax
je 0x44a93e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44a97a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x9428], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44ab11
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ab11
and dword [ebp - 0xc54], 0
jmp 0x44a9f4
cmp dword [ebp - 0xc54], 0xa
jae 0x44ab0c
cvtsi2sd xmm0, dword [ebp - 0xc54]
movsd xmm1, qword [ebp - 0x9428]
addsd xmm1, xmm0
movsd qword [ebp - 0x9430], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9430]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44aa63
mov eax, dword [ebp - 0xc54]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9428]
addsd xmm1, xmm0
movsd qword [ebp - 0x9428], xmm1
jmp 0x44a964
cvtsi2sd xmm0, dword [ebp - 0xc54]
movsd xmm1, qword [ebp - 0x9428]
addsd xmm1, xmm0
movsd qword [ebp - 0x9438], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44aac0
mov eax, dword [ebp - 0xc54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9428]
addsd xmm1, xmm0
movsd qword [ebp - 0x9428], xmm1
jmp 0x44aad4
xor eax, eax
je 0x44aad0
jmp 0x44ab8c
jmp 0x44aaf7
cvtsi2sd xmm0, dword [ebp - 0xc54]
movsd xmm1, qword [ebp - 0x9428]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc58], eax
jmp 0x44ab96
xor eax, eax
inc eax
je 0x44ab02
jmp 0x44ab11
jmp 0x44a964
jmp 0x44a964
xor eax, eax
inc eax
je 0x44ab8c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc5c], eax
cvtsi2sd xmm0, dword [ebp - 0xc5c]
mov eax, dword [ebp - 0xc5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9428]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc58], eax
jmp 0x44ab96
mov dword [ebp - 0xc58], 7
mov eax, dword [ebp - 0xc38]
shl eax, 2
add eax, dword [ebp - 0xc34]
mov eax, dword [eax]
xor eax, dword [ebp - 0xc58]
mov ecx, dword [ebp - 0xc38]
shl ecx, 2
add ecx, dword [ebp - 0xc34]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc38]
add eax, 0xffffffab
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9440], xmm0
xor eax, eax
je 0x44abd8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44ac14
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9440]
movsd qword [ebp - 0x9448], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44adab
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44adab
and dword [ebp - 0xc60], 0
jmp 0x44ac8e
cmp dword [ebp - 0xc60], 0xa
jae 0x44ada6
cvtsi2sd xmm0, dword [ebp - 0xc60]
movsd xmm1, qword [ebp - 0x9448]
addsd xmm1, xmm0
movsd qword [ebp - 0x9450], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9450]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44acfd
mov eax, dword [ebp - 0xc60]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9448]
addsd xmm1, xmm0
movsd qword [ebp - 0x9448], xmm1
jmp 0x44abfe
cvtsi2sd xmm0, dword [ebp - 0xc60]
movsd xmm1, qword [ebp - 0x9448]
addsd xmm1, xmm0
movsd qword [ebp - 0x9458], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ad5a
mov eax, dword [ebp - 0xc60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9448]
addsd xmm1, xmm0
movsd qword [ebp - 0x9448], xmm1
jmp 0x44ad6e
xor eax, eax
je 0x44ad6a
jmp 0x44ae26
jmp 0x44ad91
cvtsi2sd xmm0, dword [ebp - 0xc60]
movsd xmm1, qword [ebp - 0x9448]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc64], eax
jmp 0x44ae30
xor eax, eax
inc eax
je 0x44ad9c
jmp 0x44adab
jmp 0x44abfe
jmp 0x44abfe
xor eax, eax
inc eax
je 0x44ae26
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc68], eax
cvtsi2sd xmm0, dword [ebp - 0xc68]
mov eax, dword [ebp - 0xc68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9448]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc64], eax
jmp 0x44ae30
mov dword [ebp - 0xc64], 7
mov eax, dword [ebp - 0xc38]
add eax, 0xffffffab
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9460], xmm0
xor eax, eax
je 0x44ae4a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44ae86
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9460]
movsd qword [ebp - 0x9468], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44b01d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b01d
and dword [ebp - 0xc6c], 0
jmp 0x44af00
cmp dword [ebp - 0xc6c], 0xa
jae 0x44b018
cvtsi2sd xmm0, dword [ebp - 0xc6c]
movsd xmm1, qword [ebp - 0x9468]
addsd xmm1, xmm0
movsd qword [ebp - 0x9470], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9470]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44af6f
mov eax, dword [ebp - 0xc6c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9468]
addsd xmm1, xmm0
movsd qword [ebp - 0x9468], xmm1
jmp 0x44ae70
cvtsi2sd xmm0, dword [ebp - 0xc6c]
movsd xmm1, qword [ebp - 0x9468]
addsd xmm1, xmm0
movsd qword [ebp - 0x9478], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44afcc
mov eax, dword [ebp - 0xc6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9468]
addsd xmm1, xmm0
movsd qword [ebp - 0x9468], xmm1
jmp 0x44afe0
xor eax, eax
je 0x44afdc
jmp 0x44b098
jmp 0x44b003
cvtsi2sd xmm0, dword [ebp - 0xc6c]
movsd xmm1, qword [ebp - 0x9468]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc70], eax
jmp 0x44b0a2
xor eax, eax
inc eax
je 0x44b00e
jmp 0x44b01d
jmp 0x44ae70
jmp 0x44ae70
xor eax, eax
inc eax
je 0x44b098
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc74], eax
cvtsi2sd xmm0, dword [ebp - 0xc74]
mov eax, dword [ebp - 0xc74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9468]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc70], eax
jmp 0x44b0a2
mov dword [ebp - 0xc70], 7
mov eax, dword [ebp - 0xc38]
shl eax, 2
add eax, dword [ebp - 0xc34]
mov eax, dword [eax]
add eax, dword [ebp - 0xc64]
mov ecx, dword [ebp - 0xc38]
shl ecx, 2
add ecx, dword [ebp - 0xc34]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xc70]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xc38]
shl ecx, 2
add ecx, dword [ebp - 0xc34]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b3a2
xor eax, eax
je 0x44b122
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44b15e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x9480], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44b2f5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b2f5
and dword [ebp - 0xc78], 0
jmp 0x44b1d8
cmp dword [ebp - 0xc78], 0xa
jae 0x44b2f0
cvtsi2sd xmm0, dword [ebp - 0xc78]
movsd xmm1, qword [ebp - 0x9480]
addsd xmm1, xmm0
movsd qword [ebp - 0x9488], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9488]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b247
mov eax, dword [ebp - 0xc78]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9480]
addsd xmm1, xmm0
movsd qword [ebp - 0x9480], xmm1
jmp 0x44b148
cvtsi2sd xmm0, dword [ebp - 0xc78]
movsd xmm1, qword [ebp - 0x9480]
addsd xmm1, xmm0
movsd qword [ebp - 0x9490], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9490]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b2a4
mov eax, dword [ebp - 0xc78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9480]
addsd xmm1, xmm0
movsd qword [ebp - 0x9480], xmm1
jmp 0x44b2b8
xor eax, eax
je 0x44b2b4
jmp 0x44b370
jmp 0x44b2db
cvtsi2sd xmm0, dword [ebp - 0xc78]
movsd xmm1, qword [ebp - 0x9480]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc7c], eax
jmp 0x44b37a
xor eax, eax
inc eax
je 0x44b2e6
jmp 0x44b2f5
jmp 0x44b148
jmp 0x44b148
xor eax, eax
inc eax
je 0x44b370
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xc80], eax
cvtsi2sd xmm0, dword [ebp - 0xc80]
mov eax, dword [ebp - 0xc80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9480]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc7c], eax
jmp 0x44b37a
mov dword [ebp - 0xc7c], 7
mov eax, dword [ebp - 0xc38]
shl eax, 2
add eax, dword [ebp - 0xc34]
mov eax, dword [eax]
xor eax, dword [ebp - 0xc7c]
mov ecx, dword [ebp - 0xc38]
shl ecx, 2
add ecx, dword [ebp - 0xc34]
mov dword [ecx], eax
jmp 0x44a328
mov eax, dword [ebp - 0xc30]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xc30]
mov dword [ebp - 0xc84], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xc84]
mov eax, dword [eax]
mov dword [ebp - 0xc88], eax
push dword [ebp - 0xc2c]
mov eax, dword [ebp - 0xc88]
shl eax, 2
add eax, 0x7cbcf0
call dword [eax]
pop ecx
xor eax, eax
mov byte [ebp - 0x20], al
lea ecx, [ebp - 0x20]
call fcn.00414bd4
mov dword [ebp - 0xc8c], eax
mov eax, dword [ebp - 0xc8c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x44c4a1
mov eax, dword [ebp - 0xc8c]
mov dword [ebp - 0xc90], eax
and dword [ebp - 0xc94], 0
jmp 0x44b42f
mov eax, dword [ebp - 0xc94]
inc eax
mov dword [ebp - 0xc94], eax
cmp dword [ebp - 0xc94], 1
jae 0x44c4a1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b6f9
xor eax, eax
je 0x44b479
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44b4b5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9498], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44b64c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b64c
and dword [ebp - 0xc98], 0
jmp 0x44b52f
cmp dword [ebp - 0xc98], 0xa
jae 0x44b647
cvtsi2sd xmm0, dword [ebp - 0xc98]
movsd xmm1, qword [ebp - 0x9498]
addsd xmm1, xmm0
movsd qword [ebp - 0x94a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b59e
mov eax, dword [ebp - 0xc98]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9498]
addsd xmm1, xmm0
movsd qword [ebp - 0x9498], xmm1
jmp 0x44b49f
cvtsi2sd xmm0, dword [ebp - 0xc98]
movsd xmm1, qword [ebp - 0x9498]
addsd xmm1, xmm0
movsd qword [ebp - 0x94a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b5fb
mov eax, dword [ebp - 0xc98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9498]
addsd xmm1, xmm0
movsd qword [ebp - 0x9498], xmm1
jmp 0x44b60f
xor eax, eax
je 0x44b60b
jmp 0x44b6c7
jmp 0x44b632
cvtsi2sd xmm0, dword [ebp - 0xc98]
movsd xmm1, qword [ebp - 0x9498]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc9c], eax
jmp 0x44b6d1
xor eax, eax
inc eax
je 0x44b63d
jmp 0x44b64c
jmp 0x44b49f
jmp 0x44b49f
xor eax, eax
inc eax
je 0x44b6c7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xca0], eax
cvtsi2sd xmm0, dword [ebp - 0xca0]
mov eax, dword [ebp - 0xca0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9498]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xc9c], eax
jmp 0x44b6d1
mov dword [ebp - 0xc9c], 7
mov eax, dword [ebp - 0xc94]
shl eax, 2
add eax, dword [ebp - 0xc90]
mov eax, dword [eax]
xor eax, dword [ebp - 0xc9c]
mov ecx, dword [ebp - 0xc94]
shl ecx, 2
add ecx, dword [ebp - 0xc90]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44c1df
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b9fb
xor eax, eax
je 0x44b77b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44b7b7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x94b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44b94e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44b94e
and dword [ebp - 0xca4], 0
jmp 0x44b831
cmp dword [ebp - 0xca4], 0xa
jae 0x44b949
cvtsi2sd xmm0, dword [ebp - 0xca4]
movsd xmm1, qword [ebp - 0x94b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b8a0
mov eax, dword [ebp - 0xca4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94b0], xmm1
jmp 0x44b7a1
cvtsi2sd xmm0, dword [ebp - 0xca4]
movsd xmm1, qword [ebp - 0x94b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b8fd
mov eax, dword [ebp - 0xca4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94b0], xmm1
jmp 0x44b911
xor eax, eax
je 0x44b90d
jmp 0x44b9c9
jmp 0x44b934
cvtsi2sd xmm0, dword [ebp - 0xca4]
movsd xmm1, qword [ebp - 0x94b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xca8], eax
jmp 0x44b9d3
xor eax, eax
inc eax
je 0x44b93f
jmp 0x44b94e
jmp 0x44b7a1
jmp 0x44b7a1
xor eax, eax
inc eax
je 0x44b9c9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xcac], eax
cvtsi2sd xmm0, dword [ebp - 0xcac]
mov eax, dword [ebp - 0xcac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x94b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xca8], eax
jmp 0x44b9d3
mov dword [ebp - 0xca8], 7
mov eax, dword [ebp - 0xc94]
shl eax, 2
add eax, dword [ebp - 0xc90]
mov eax, dword [eax]
xor eax, dword [ebp - 0xca8]
mov ecx, dword [ebp - 0xc94]
shl ecx, 2
add ecx, dword [ebp - 0xc90]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44bcb8
xor eax, eax
je 0x44ba38
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44ba74
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x94c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44bc0b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44bc0b
and dword [ebp - 0xcb0], 0
jmp 0x44baee
cmp dword [ebp - 0xcb0], 0xa
jae 0x44bc06
cvtsi2sd xmm0, dword [ebp - 0xcb0]
movsd xmm1, qword [ebp - 0x94c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44bb5d
mov eax, dword [ebp - 0xcb0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94c8], xmm1
jmp 0x44ba5e
cvtsi2sd xmm0, dword [ebp - 0xcb0]
movsd xmm1, qword [ebp - 0x94c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44bbba
mov eax, dword [ebp - 0xcb0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94c8], xmm1
jmp 0x44bbce
xor eax, eax
je 0x44bbca
jmp 0x44bc86
jmp 0x44bbf1
cvtsi2sd xmm0, dword [ebp - 0xcb0]
movsd xmm1, qword [ebp - 0x94c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcb4], eax
jmp 0x44bc90
xor eax, eax
inc eax
je 0x44bbfc
jmp 0x44bc0b
jmp 0x44ba5e
jmp 0x44ba5e
xor eax, eax
inc eax
je 0x44bc86
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xcb8], eax
cvtsi2sd xmm0, dword [ebp - 0xcb8]
mov eax, dword [ebp - 0xcb8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x94c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcb4], eax
jmp 0x44bc90
mov dword [ebp - 0xcb4], 7
mov eax, dword [ebp - 0xc94]
shl eax, 2
add eax, dword [ebp - 0xc90]
mov eax, dword [eax]
xor eax, dword [ebp - 0xcb4]
mov ecx, dword [ebp - 0xc94]
shl ecx, 2
add ecx, dword [ebp - 0xc90]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc94]
add eax, 0xffffffac
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x94e0], xmm0
xor eax, eax
je 0x44bcd2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44bd0e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x94e0]
movsd qword [ebp - 0x94e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44bea5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44bea5
and dword [ebp - 0xcbc], 0
jmp 0x44bd88
cmp dword [ebp - 0xcbc], 0xa
jae 0x44bea0
cvtsi2sd xmm0, dword [ebp - 0xcbc]
movsd xmm1, qword [ebp - 0x94e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44bdf7
mov eax, dword [ebp - 0xcbc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94e8], xmm1
jmp 0x44bcf8
cvtsi2sd xmm0, dword [ebp - 0xcbc]
movsd xmm1, qword [ebp - 0x94e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44be54
mov eax, dword [ebp - 0xcbc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94e8], xmm1
jmp 0x44be68
xor eax, eax
je 0x44be64
jmp 0x44bf20
jmp 0x44be8b
cvtsi2sd xmm0, dword [ebp - 0xcbc]
movsd xmm1, qword [ebp - 0x94e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcc0], eax
jmp 0x44bf2a
xor eax, eax
inc eax
je 0x44be96
jmp 0x44bea5
jmp 0x44bcf8
jmp 0x44bcf8
xor eax, eax
inc eax
je 0x44bf20
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xcc4], eax
cvtsi2sd xmm0, dword [ebp - 0xcc4]
mov eax, dword [ebp - 0xcc4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x94e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcc0], eax
jmp 0x44bf2a
mov dword [ebp - 0xcc0], 7
mov eax, dword [ebp - 0xc94]
add eax, 0xffffffac
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9500], xmm0
xor eax, eax
je 0x44bf44
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44bf80
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9500]
movsd qword [ebp - 0x9508], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44c117
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44c117
and dword [ebp - 0xcc8], 0
jmp 0x44bffa
cmp dword [ebp - 0xcc8], 0xa
jae 0x44c112
cvtsi2sd xmm0, dword [ebp - 0xcc8]
movsd xmm1, qword [ebp - 0x9508]
addsd xmm1, xmm0
movsd qword [ebp - 0x9510], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9510]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c069
mov eax, dword [ebp - 0xcc8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9508]
addsd xmm1, xmm0
movsd qword [ebp - 0x9508], xmm1
jmp 0x44bf6a
cvtsi2sd xmm0, dword [ebp - 0xcc8]
movsd xmm1, qword [ebp - 0x9508]
addsd xmm1, xmm0
movsd qword [ebp - 0x9518], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c0c6
mov eax, dword [ebp - 0xcc8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9508]
addsd xmm1, xmm0
movsd qword [ebp - 0x9508], xmm1
jmp 0x44c0da
xor eax, eax
je 0x44c0d6
jmp 0x44c192
jmp 0x44c0fd
cvtsi2sd xmm0, dword [ebp - 0xcc8]
movsd xmm1, qword [ebp - 0x9508]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xccc], eax
jmp 0x44c19c
xor eax, eax
inc eax
je 0x44c108
jmp 0x44c117
jmp 0x44bf6a
jmp 0x44bf6a
xor eax, eax
inc eax
je 0x44c192
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xcd0], eax
cvtsi2sd xmm0, dword [ebp - 0xcd0]
mov eax, dword [ebp - 0xcd0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9508]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xccc], eax
jmp 0x44c19c
mov dword [ebp - 0xccc], 7
mov eax, dword [ebp - 0xc94]
shl eax, 2
add eax, dword [ebp - 0xc90]
mov eax, dword [eax]
add eax, dword [ebp - 0xcc0]
mov ecx, dword [ebp - 0xc94]
shl ecx, 2
add ecx, dword [ebp - 0xc90]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xccc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xc94]
shl ecx, 2
add ecx, dword [ebp - 0xc90]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44c49c
xor eax, eax
je 0x44c21c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44c258
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x9520], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44c3ef
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44c3ef
and dword [ebp - 0xcd4], 0
jmp 0x44c2d2
cmp dword [ebp - 0xcd4], 0xa
jae 0x44c3ea
cvtsi2sd xmm0, dword [ebp - 0xcd4]
movsd xmm1, qword [ebp - 0x9520]
addsd xmm1, xmm0
movsd qword [ebp - 0x9528], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9528]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c341
mov eax, dword [ebp - 0xcd4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9520]
addsd xmm1, xmm0
movsd qword [ebp - 0x9520], xmm1
jmp 0x44c242
cvtsi2sd xmm0, dword [ebp - 0xcd4]
movsd xmm1, qword [ebp - 0x9520]
addsd xmm1, xmm0
movsd qword [ebp - 0x9530], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9530]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c39e
mov eax, dword [ebp - 0xcd4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9520]
addsd xmm1, xmm0
movsd qword [ebp - 0x9520], xmm1
jmp 0x44c3b2
xor eax, eax
je 0x44c3ae
jmp 0x44c46a
jmp 0x44c3d5
cvtsi2sd xmm0, dword [ebp - 0xcd4]
movsd xmm1, qword [ebp - 0x9520]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcd8], eax
jmp 0x44c474
xor eax, eax
inc eax
je 0x44c3e0
jmp 0x44c3ef
jmp 0x44c242
jmp 0x44c242
xor eax, eax
inc eax
je 0x44c46a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xcdc], eax
cvtsi2sd xmm0, dword [ebp - 0xcdc]
mov eax, dword [ebp - 0xcdc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9520]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcd8], eax
jmp 0x44c474
mov dword [ebp - 0xcd8], 7
mov eax, dword [ebp - 0xc94]
shl eax, 2
add eax, dword [ebp - 0xc90]
mov eax, dword [eax]
xor eax, dword [ebp - 0xcd8]
mov ecx, dword [ebp - 0xc94]
shl ecx, 2
add ecx, dword [ebp - 0xc90]
mov dword [ecx], eax
jmp 0x44b422
mov eax, dword [ebp - 0xc8c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xc8c]
mov dword [ebp - 0xce0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xce0]
mov eax, dword [eax]
mov dword [ebp - 0xce4], eax
xor eax, eax
mov byte [ebp - 0x21], al
lea ecx, [ebp - 0x21]
call fcn.004177ea
mov dword [ebp - 0xce8], eax
mov eax, dword [ebp - 0xce8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x44d584
mov eax, dword [ebp - 0xce8]
mov dword [ebp - 0xcec], eax
and dword [ebp - 0xcf0], 0
jmp 0x44c512
mov eax, dword [ebp - 0xcf0]
inc eax
mov dword [ebp - 0xcf0], eax
cmp dword [ebp - 0xcf0], 1
jae 0x44d584
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44c7dc
xor eax, eax
je 0x44c55c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44c598
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed8]
movsd qword [ebp - 0x9538], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44c72f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44c72f
and dword [ebp - 0xcf4], 0
jmp 0x44c612
cmp dword [ebp - 0xcf4], 0xa
jae 0x44c72a
cvtsi2sd xmm0, dword [ebp - 0xcf4]
movsd xmm1, qword [ebp - 0x9538]
addsd xmm1, xmm0
movsd qword [ebp - 0x9540], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9540]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c681
mov eax, dword [ebp - 0xcf4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9538]
addsd xmm1, xmm0
movsd qword [ebp - 0x9538], xmm1
jmp 0x44c582
cvtsi2sd xmm0, dword [ebp - 0xcf4]
movsd xmm1, qword [ebp - 0x9538]
addsd xmm1, xmm0
movsd qword [ebp - 0x9548], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9548]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c6de
mov eax, dword [ebp - 0xcf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9538]
addsd xmm1, xmm0
movsd qword [ebp - 0x9538], xmm1
jmp 0x44c6f2
xor eax, eax
je 0x44c6ee
jmp 0x44c7aa
jmp 0x44c715
cvtsi2sd xmm0, dword [ebp - 0xcf4]
movsd xmm1, qword [ebp - 0x9538]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcf8], eax
jmp 0x44c7b4
xor eax, eax
inc eax
je 0x44c720
jmp 0x44c72f
jmp 0x44c582
jmp 0x44c582
xor eax, eax
inc eax
je 0x44c7aa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xcfc], eax
cvtsi2sd xmm0, dword [ebp - 0xcfc]
mov eax, dword [ebp - 0xcfc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9538]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xcf8], eax
jmp 0x44c7b4
mov dword [ebp - 0xcf8], 7
mov eax, dword [ebp - 0xcf0]
shl eax, 2
add eax, dword [ebp - 0xcec]
mov eax, dword [eax]
xor eax, dword [ebp - 0xcf8]
mov ecx, dword [ebp - 0xcf0]
shl ecx, 2
add ecx, dword [ebp - 0xcec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44d2c2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44cade
xor eax, eax
je 0x44c85e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44c89a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x9550], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44ca31
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ca31
and dword [ebp - 0xd00], 0
jmp 0x44c914
cmp dword [ebp - 0xd00], 0xa
jae 0x44ca2c
cvtsi2sd xmm0, dword [ebp - 0xd00]
movsd xmm1, qword [ebp - 0x9550]
addsd xmm1, xmm0
movsd qword [ebp - 0x9558], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c983
mov eax, dword [ebp - 0xd00]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9550]
addsd xmm1, xmm0
movsd qword [ebp - 0x9550], xmm1
jmp 0x44c884
cvtsi2sd xmm0, dword [ebp - 0xd00]
movsd xmm1, qword [ebp - 0x9550]
addsd xmm1, xmm0
movsd qword [ebp - 0x9560], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9560]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c9e0
mov eax, dword [ebp - 0xd00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9550]
addsd xmm1, xmm0
movsd qword [ebp - 0x9550], xmm1
jmp 0x44c9f4
xor eax, eax
je 0x44c9f0
jmp 0x44caac
jmp 0x44ca17
cvtsi2sd xmm0, dword [ebp - 0xd00]
movsd xmm1, qword [ebp - 0x9550]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd04], eax
jmp 0x44cab6
xor eax, eax
inc eax
je 0x44ca22
jmp 0x44ca31
jmp 0x44c884
jmp 0x44c884
xor eax, eax
inc eax
je 0x44caac
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd08], eax
cvtsi2sd xmm0, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9550]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd04], eax
jmp 0x44cab6
mov dword [ebp - 0xd04], 7
mov eax, dword [ebp - 0xcf0]
shl eax, 2
add eax, dword [ebp - 0xcec]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd04]
mov ecx, dword [ebp - 0xcf0]
shl ecx, 2
add ecx, dword [ebp - 0xcec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44cd9b
xor eax, eax
je 0x44cb1b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44cb57
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x9568], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44ccee
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ccee
and dword [ebp - 0xd0c], 0
jmp 0x44cbd1
cmp dword [ebp - 0xd0c], 0xa
jae 0x44cce9
cvtsi2sd xmm0, dword [ebp - 0xd0c]
movsd xmm1, qword [ebp - 0x9568]
addsd xmm1, xmm0
movsd qword [ebp - 0x9570], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9570]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44cc40
mov eax, dword [ebp - 0xd0c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9568]
addsd xmm1, xmm0
movsd qword [ebp - 0x9568], xmm1
jmp 0x44cb41
cvtsi2sd xmm0, dword [ebp - 0xd0c]
movsd xmm1, qword [ebp - 0x9568]
addsd xmm1, xmm0
movsd qword [ebp - 0x9578], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44cc9d
mov eax, dword [ebp - 0xd0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9568]
addsd xmm1, xmm0
movsd qword [ebp - 0x9568], xmm1
jmp 0x44ccb1
xor eax, eax
je 0x44ccad
jmp 0x44cd69
jmp 0x44ccd4
cvtsi2sd xmm0, dword [ebp - 0xd0c]
movsd xmm1, qword [ebp - 0x9568]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd10], eax
jmp 0x44cd73
xor eax, eax
inc eax
je 0x44ccdf
jmp 0x44ccee
jmp 0x44cb41
jmp 0x44cb41
xor eax, eax
inc eax
je 0x44cd69
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd14], eax
cvtsi2sd xmm0, dword [ebp - 0xd14]
mov eax, dword [ebp - 0xd14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9568]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd10], eax
jmp 0x44cd73
mov dword [ebp - 0xd10], 7
mov eax, dword [ebp - 0xcf0]
shl eax, 2
add eax, dword [ebp - 0xcec]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd10]
mov ecx, dword [ebp - 0xcf0]
shl ecx, 2
add ecx, dword [ebp - 0xcec]
mov dword [ecx], eax
mov eax, dword [ebp - 0xcf0]
add eax, 0xffffffac
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9580], xmm0
xor eax, eax
je 0x44cdb5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44cdf1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9580]
movsd qword [ebp - 0x9588], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44cf88
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44cf88
and dword [ebp - 0xd18], 0
jmp 0x44ce6b
cmp dword [ebp - 0xd18], 0xa
jae 0x44cf83
cvtsi2sd xmm0, dword [ebp - 0xd18]
movsd xmm1, qword [ebp - 0x9588]
addsd xmm1, xmm0
movsd qword [ebp - 0x9590], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9590]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ceda
mov eax, dword [ebp - 0xd18]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9588]
addsd xmm1, xmm0
movsd qword [ebp - 0x9588], xmm1
jmp 0x44cddb
cvtsi2sd xmm0, dword [ebp - 0xd18]
movsd xmm1, qword [ebp - 0x9588]
addsd xmm1, xmm0
movsd qword [ebp - 0x9598], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44cf37
mov eax, dword [ebp - 0xd18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9588]
addsd xmm1, xmm0
movsd qword [ebp - 0x9588], xmm1
jmp 0x44cf4b
xor eax, eax
je 0x44cf47
jmp 0x44d003
jmp 0x44cf6e
cvtsi2sd xmm0, dword [ebp - 0xd18]
movsd xmm1, qword [ebp - 0x9588]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd1c], eax
jmp 0x44d00d
xor eax, eax
inc eax
je 0x44cf79
jmp 0x44cf88
jmp 0x44cddb
jmp 0x44cddb
xor eax, eax
inc eax
je 0x44d003
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd20], eax
cvtsi2sd xmm0, dword [ebp - 0xd20]
mov eax, dword [ebp - 0xd20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9588]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd1c], eax
jmp 0x44d00d
mov dword [ebp - 0xd1c], 7
mov eax, dword [ebp - 0xcf0]
add eax, 0xffffffac
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x95a0], xmm0
xor eax, eax
je 0x44d027
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44d063
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x95a0]
movsd qword [ebp - 0x95a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44d1fa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44d1fa
and dword [ebp - 0xd24], 0
jmp 0x44d0dd
cmp dword [ebp - 0xd24], 0xa
jae 0x44d1f5
cvtsi2sd xmm0, dword [ebp - 0xd24]
movsd xmm1, qword [ebp - 0x95a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d14c
mov eax, dword [ebp - 0xd24]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95a8], xmm1
jmp 0x44d04d
cvtsi2sd xmm0, dword [ebp - 0xd24]
movsd xmm1, qword [ebp - 0x95a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d1a9
mov eax, dword [ebp - 0xd24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95a8], xmm1
jmp 0x44d1bd
xor eax, eax
je 0x44d1b9
jmp 0x44d275
jmp 0x44d1e0
cvtsi2sd xmm0, dword [ebp - 0xd24]
movsd xmm1, qword [ebp - 0x95a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd28], eax
jmp 0x44d27f
xor eax, eax
inc eax
je 0x44d1eb
jmp 0x44d1fa
jmp 0x44d04d
jmp 0x44d04d
xor eax, eax
inc eax
je 0x44d275
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd2c], eax
cvtsi2sd xmm0, dword [ebp - 0xd2c]
mov eax, dword [ebp - 0xd2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x95a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd28], eax
jmp 0x44d27f
mov dword [ebp - 0xd28], 7
mov eax, dword [ebp - 0xcf0]
shl eax, 2
add eax, dword [ebp - 0xcec]
mov eax, dword [eax]
add eax, dword [ebp - 0xd1c]
mov ecx, dword [ebp - 0xcf0]
shl ecx, 2
add ecx, dword [ebp - 0xcec]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xd28]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xcf0]
shl ecx, 2
add ecx, dword [ebp - 0xcec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44d57f
xor eax, eax
je 0x44d2ff
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44d33b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x95c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44d4d2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44d4d2
and dword [ebp - 0xd30], 0
jmp 0x44d3b5
cmp dword [ebp - 0xd30], 0xa
jae 0x44d4cd
cvtsi2sd xmm0, dword [ebp - 0xd30]
movsd xmm1, qword [ebp - 0x95c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d424
mov eax, dword [ebp - 0xd30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95c0], xmm1
jmp 0x44d325
cvtsi2sd xmm0, dword [ebp - 0xd30]
movsd xmm1, qword [ebp - 0x95c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d481
mov eax, dword [ebp - 0xd30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95c0], xmm1
jmp 0x44d495
xor eax, eax
je 0x44d491
jmp 0x44d54d
jmp 0x44d4b8
cvtsi2sd xmm0, dword [ebp - 0xd30]
movsd xmm1, qword [ebp - 0x95c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd34], eax
jmp 0x44d557
xor eax, eax
inc eax
je 0x44d4c3
jmp 0x44d4d2
jmp 0x44d325
jmp 0x44d325
xor eax, eax
inc eax
je 0x44d54d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd38], eax
cvtsi2sd xmm0, dword [ebp - 0xd38]
mov eax, dword [ebp - 0xd38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x95c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd34], eax
jmp 0x44d557
mov dword [ebp - 0xd34], 7
mov eax, dword [ebp - 0xcf0]
shl eax, 2
add eax, dword [ebp - 0xcec]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd34]
mov ecx, dword [ebp - 0xcf0]
shl ecx, 2
add ecx, dword [ebp - 0xcec]
mov dword [ecx], eax
jmp 0x44c505
mov eax, dword [ebp - 0xce8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xce8]
mov dword [ebp - 0xd3c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xd3c]
mov eax, dword [eax]
mov dword [ebp - 0xd40], eax
xor eax, eax
mov byte [ebp - 0x22], al
lea ecx, [ebp - 0x22]
call fcn.00414eac
mov dword [ebp - 0xd44], eax
mov eax, dword [ebp - 0xd44]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x44e667
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0xd48], eax
and dword [ebp - 0xd4c], 0
jmp 0x44d5f5
mov eax, dword [ebp - 0xd4c]
inc eax
mov dword [ebp - 0xd4c], eax
cmp dword [ebp - 0xd4c], 1
jae 0x44e667
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44d8bf
xor eax, eax
je 0x44d63f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44d67b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x95d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44d812
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44d812
and dword [ebp - 0xd50], 0
jmp 0x44d6f5
cmp dword [ebp - 0xd50], 0xa
jae 0x44d80d
cvtsi2sd xmm0, dword [ebp - 0xd50]
movsd xmm1, qword [ebp - 0x95d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d764
mov eax, dword [ebp - 0xd50]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95d8], xmm1
jmp 0x44d665
cvtsi2sd xmm0, dword [ebp - 0xd50]
movsd xmm1, qword [ebp - 0x95d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d7c1
mov eax, dword [ebp - 0xd50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95d8], xmm1
jmp 0x44d7d5
xor eax, eax
je 0x44d7d1
jmp 0x44d88d
jmp 0x44d7f8
cvtsi2sd xmm0, dword [ebp - 0xd50]
movsd xmm1, qword [ebp - 0x95d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd54], eax
jmp 0x44d897
xor eax, eax
inc eax
je 0x44d803
jmp 0x44d812
jmp 0x44d665
jmp 0x44d665
xor eax, eax
inc eax
je 0x44d88d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd58], eax
cvtsi2sd xmm0, dword [ebp - 0xd58]
mov eax, dword [ebp - 0xd58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x95d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd54], eax
jmp 0x44d897
mov dword [ebp - 0xd54], 7
mov eax, dword [ebp - 0xd4c]
shl eax, 2
add eax, dword [ebp - 0xd48]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd54]
mov ecx, dword [ebp - 0xd4c]
shl ecx, 2
add ecx, dword [ebp - 0xd48]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44e3a5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44dbc1
xor eax, eax
je 0x44d941
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44d97d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x95f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44db14
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44db14
and dword [ebp - 0xd5c], 0
jmp 0x44d9f7
cmp dword [ebp - 0xd5c], 0xa
jae 0x44db0f
cvtsi2sd xmm0, dword [ebp - 0xd5c]
movsd xmm1, qword [ebp - 0x95f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44da66
mov eax, dword [ebp - 0xd5c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95f0], xmm1
jmp 0x44d967
cvtsi2sd xmm0, dword [ebp - 0xd5c]
movsd xmm1, qword [ebp - 0x95f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9600], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9600]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dac3
mov eax, dword [ebp - 0xd5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95f0], xmm1
jmp 0x44dad7
xor eax, eax
je 0x44dad3
jmp 0x44db8f
jmp 0x44dafa
cvtsi2sd xmm0, dword [ebp - 0xd5c]
movsd xmm1, qword [ebp - 0x95f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd60], eax
jmp 0x44db99
xor eax, eax
inc eax
je 0x44db05
jmp 0x44db14
jmp 0x44d967
jmp 0x44d967
xor eax, eax
inc eax
je 0x44db8f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd64], eax
cvtsi2sd xmm0, dword [ebp - 0xd64]
mov eax, dword [ebp - 0xd64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x95f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd60], eax
jmp 0x44db99
mov dword [ebp - 0xd60], 7
mov eax, dword [ebp - 0xd4c]
shl eax, 2
add eax, dword [ebp - 0xd48]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd60]
mov ecx, dword [ebp - 0xd4c]
shl ecx, 2
add ecx, dword [ebp - 0xd48]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44de7e
xor eax, eax
je 0x44dbfe
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44dc3a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x9608], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44ddd1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ddd1
and dword [ebp - 0xd68], 0
jmp 0x44dcb4
cmp dword [ebp - 0xd68], 0xa
jae 0x44ddcc
cvtsi2sd xmm0, dword [ebp - 0xd68]
movsd xmm1, qword [ebp - 0x9608]
addsd xmm1, xmm0
movsd qword [ebp - 0x9610], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9610]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dd23
mov eax, dword [ebp - 0xd68]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9608]
addsd xmm1, xmm0
movsd qword [ebp - 0x9608], xmm1
jmp 0x44dc24
cvtsi2sd xmm0, dword [ebp - 0xd68]
movsd xmm1, qword [ebp - 0x9608]
addsd xmm1, xmm0
movsd qword [ebp - 0x9618], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dd80
mov eax, dword [ebp - 0xd68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9608]
addsd xmm1, xmm0
movsd qword [ebp - 0x9608], xmm1
jmp 0x44dd94
xor eax, eax
je 0x44dd90
jmp 0x44de4c
jmp 0x44ddb7
cvtsi2sd xmm0, dword [ebp - 0xd68]
movsd xmm1, qword [ebp - 0x9608]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd6c], eax
jmp 0x44de56
xor eax, eax
inc eax
je 0x44ddc2
jmp 0x44ddd1
jmp 0x44dc24
jmp 0x44dc24
xor eax, eax
inc eax
je 0x44de4c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd70], eax
cvtsi2sd xmm0, dword [ebp - 0xd70]
mov eax, dword [ebp - 0xd70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9608]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd6c], eax
jmp 0x44de56
mov dword [ebp - 0xd6c], 7
mov eax, dword [ebp - 0xd4c]
shl eax, 2
add eax, dword [ebp - 0xd48]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd6c]
mov ecx, dword [ebp - 0xd4c]
shl ecx, 2
add ecx, dword [ebp - 0xd48]
mov dword [ecx], eax
mov eax, dword [ebp - 0xd4c]
add eax, 0xffffffad
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9620], xmm0
xor eax, eax
je 0x44de98
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44ded4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9620]
movsd qword [ebp - 0x9628], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44e06b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44e06b
and dword [ebp - 0xd74], 0
jmp 0x44df4e
cmp dword [ebp - 0xd74], 0xa
jae 0x44e066
cvtsi2sd xmm0, dword [ebp - 0xd74]
movsd xmm1, qword [ebp - 0x9628]
addsd xmm1, xmm0
movsd qword [ebp - 0x9630], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9630]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dfbd
mov eax, dword [ebp - 0xd74]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9628]
addsd xmm1, xmm0
movsd qword [ebp - 0x9628], xmm1
jmp 0x44debe
cvtsi2sd xmm0, dword [ebp - 0xd74]
movsd xmm1, qword [ebp - 0x9628]
addsd xmm1, xmm0
movsd qword [ebp - 0x9638], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e01a
mov eax, dword [ebp - 0xd74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9628]
addsd xmm1, xmm0
movsd qword [ebp - 0x9628], xmm1
jmp 0x44e02e
xor eax, eax
je 0x44e02a
jmp 0x44e0e6
jmp 0x44e051
cvtsi2sd xmm0, dword [ebp - 0xd74]
movsd xmm1, qword [ebp - 0x9628]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd78], eax
jmp 0x44e0f0
xor eax, eax
inc eax
je 0x44e05c
jmp 0x44e06b
jmp 0x44debe
jmp 0x44debe
xor eax, eax
inc eax
je 0x44e0e6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd7c], eax
cvtsi2sd xmm0, dword [ebp - 0xd7c]
mov eax, dword [ebp - 0xd7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9628]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd78], eax
jmp 0x44e0f0
mov dword [ebp - 0xd78], 7
mov eax, dword [ebp - 0xd4c]
add eax, 0xffffffad
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9640], xmm0
xor eax, eax
je 0x44e10a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44e146
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9640]
movsd qword [ebp - 0x9648], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44e2dd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44e2dd
and dword [ebp - 0xd80], 0
jmp 0x44e1c0
cmp dword [ebp - 0xd80], 0xa
jae 0x44e2d8
cvtsi2sd xmm0, dword [ebp - 0xd80]
movsd xmm1, qword [ebp - 0x9648]
addsd xmm1, xmm0
movsd qword [ebp - 0x9650], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9650]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e22f
mov eax, dword [ebp - 0xd80]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9648]
addsd xmm1, xmm0
movsd qword [ebp - 0x9648], xmm1
jmp 0x44e130
cvtsi2sd xmm0, dword [ebp - 0xd80]
movsd xmm1, qword [ebp - 0x9648]
addsd xmm1, xmm0
movsd qword [ebp - 0x9658], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e28c
mov eax, dword [ebp - 0xd80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9648]
addsd xmm1, xmm0
movsd qword [ebp - 0x9648], xmm1
jmp 0x44e2a0
xor eax, eax
je 0x44e29c
jmp 0x44e358
jmp 0x44e2c3
cvtsi2sd xmm0, dword [ebp - 0xd80]
movsd xmm1, qword [ebp - 0x9648]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd84], eax
jmp 0x44e362
xor eax, eax
inc eax
je 0x44e2ce
jmp 0x44e2dd
jmp 0x44e130
jmp 0x44e130
xor eax, eax
inc eax
je 0x44e358
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd88], eax
cvtsi2sd xmm0, dword [ebp - 0xd88]
mov eax, dword [ebp - 0xd88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9648]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd84], eax
jmp 0x44e362
mov dword [ebp - 0xd84], 7
mov eax, dword [ebp - 0xd4c]
shl eax, 2
add eax, dword [ebp - 0xd48]
mov eax, dword [eax]
add eax, dword [ebp - 0xd78]
mov ecx, dword [ebp - 0xd4c]
shl ecx, 2
add ecx, dword [ebp - 0xd48]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xd84]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xd4c]
shl ecx, 2
add ecx, dword [ebp - 0xd48]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44e662
xor eax, eax
je 0x44e3e2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44e41e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9660], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44e5b5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44e5b5
and dword [ebp - 0xd8c], 0
jmp 0x44e498
cmp dword [ebp - 0xd8c], 0xa
jae 0x44e5b0
cvtsi2sd xmm0, dword [ebp - 0xd8c]
movsd xmm1, qword [ebp - 0x9660]
addsd xmm1, xmm0
movsd qword [ebp - 0x9668], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9668]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e507
mov eax, dword [ebp - 0xd8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9660]
addsd xmm1, xmm0
movsd qword [ebp - 0x9660], xmm1
jmp 0x44e408
cvtsi2sd xmm0, dword [ebp - 0xd8c]
movsd xmm1, qword [ebp - 0x9660]
addsd xmm1, xmm0
movsd qword [ebp - 0x9670], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9670]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e564
mov eax, dword [ebp - 0xd8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9660]
addsd xmm1, xmm0
movsd qword [ebp - 0x9660], xmm1
jmp 0x44e578
xor eax, eax
je 0x44e574
jmp 0x44e630
jmp 0x44e59b
cvtsi2sd xmm0, dword [ebp - 0xd8c]
movsd xmm1, qword [ebp - 0x9660]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd90], eax
jmp 0x44e63a
xor eax, eax
inc eax
je 0x44e5a6
jmp 0x44e5b5
jmp 0x44e408
jmp 0x44e408
xor eax, eax
inc eax
je 0x44e630
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xd94], eax
cvtsi2sd xmm0, dword [ebp - 0xd94]
mov eax, dword [ebp - 0xd94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9660]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xd90], eax
jmp 0x44e63a
mov dword [ebp - 0xd90], 7
mov eax, dword [ebp - 0xd4c]
shl eax, 2
add eax, dword [ebp - 0xd48]
mov eax, dword [eax]
xor eax, dword [ebp - 0xd90]
mov ecx, dword [ebp - 0xd4c]
shl ecx, 2
add ecx, dword [ebp - 0xd48]
mov dword [ecx], eax
jmp 0x44d5e8
mov eax, dword [ebp - 0xd44]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0xd98], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xd98]
mov eax, dword [eax]
mov dword [ebp - 0xd9c], eax
mov eax, dword [ebp - 0xd40]
mov dword [ebp - 0xce4], eax
cmp dword [ebp - 0xce4], 0
je 0x44f78d
xor eax, eax
mov byte [ebp - 0x23], al
lea ecx, [ebp - 0x23]
call fcn.004195c6
mov dword [ebp - 0xda0], eax
mov eax, dword [ebp - 0xda0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x44f763
mov eax, dword [ebp - 0xda0]
mov dword [ebp - 0xda4], eax
and dword [ebp - 0xda8], 0
jmp 0x44e6f1
mov eax, dword [ebp - 0xda8]
inc eax
mov dword [ebp - 0xda8], eax
cmp dword [ebp - 0xda8], 1
jae 0x44f763
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44e9bb
xor eax, eax
je 0x44e73b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44e777
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x9678], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44e90e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44e90e
and dword [ebp - 0xdac], 0
jmp 0x44e7f1
cmp dword [ebp - 0xdac], 0xa
jae 0x44e909
cvtsi2sd xmm0, dword [ebp - 0xdac]
movsd xmm1, qword [ebp - 0x9678]
addsd xmm1, xmm0
movsd qword [ebp - 0x9680], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9680]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e860
mov eax, dword [ebp - 0xdac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9678]
addsd xmm1, xmm0
movsd qword [ebp - 0x9678], xmm1
jmp 0x44e761
cvtsi2sd xmm0, dword [ebp - 0xdac]
movsd xmm1, qword [ebp - 0x9678]
addsd xmm1, xmm0
movsd qword [ebp - 0x9688], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9688]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e8bd
mov eax, dword [ebp - 0xdac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9678]
addsd xmm1, xmm0
movsd qword [ebp - 0x9678], xmm1
jmp 0x44e8d1
xor eax, eax
je 0x44e8cd
jmp 0x44e989
jmp 0x44e8f4
cvtsi2sd xmm0, dword [ebp - 0xdac]
movsd xmm1, qword [ebp - 0x9678]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdb0], eax
jmp 0x44e993
xor eax, eax
inc eax
je 0x44e8ff
jmp 0x44e90e
jmp 0x44e761
jmp 0x44e761
xor eax, eax
inc eax
je 0x44e989
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xdb4], eax
cvtsi2sd xmm0, dword [ebp - 0xdb4]
mov eax, dword [ebp - 0xdb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9678]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdb0], eax
jmp 0x44e993
mov dword [ebp - 0xdb0], 7
mov eax, dword [ebp - 0xda8]
shl eax, 2
add eax, dword [ebp - 0xda4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xdb0]
mov ecx, dword [ebp - 0xda8]
shl ecx, 2
add ecx, dword [ebp - 0xda4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44f4a1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ecbd
xor eax, eax
je 0x44ea3d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44ea79
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x9690], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44ec10
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ec10
and dword [ebp - 0xdb8], 0
jmp 0x44eaf3
cmp dword [ebp - 0xdb8], 0xa
jae 0x44ec0b
cvtsi2sd xmm0, dword [ebp - 0xdb8]
movsd xmm1, qword [ebp - 0x9690]
addsd xmm1, xmm0
movsd qword [ebp - 0x9698], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44eb62
mov eax, dword [ebp - 0xdb8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9690]
addsd xmm1, xmm0
movsd qword [ebp - 0x9690], xmm1
jmp 0x44ea63
cvtsi2sd xmm0, dword [ebp - 0xdb8]
movsd xmm1, qword [ebp - 0x9690]
addsd xmm1, xmm0
movsd qword [ebp - 0x96a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ebbf
mov eax, dword [ebp - 0xdb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9690]
addsd xmm1, xmm0
movsd qword [ebp - 0x9690], xmm1
jmp 0x44ebd3
xor eax, eax
je 0x44ebcf
jmp 0x44ec8b
jmp 0x44ebf6
cvtsi2sd xmm0, dword [ebp - 0xdb8]
movsd xmm1, qword [ebp - 0x9690]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdbc], eax
jmp 0x44ec95
xor eax, eax
inc eax
je 0x44ec01
jmp 0x44ec10
jmp 0x44ea63
jmp 0x44ea63
xor eax, eax
inc eax
je 0x44ec8b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xdc0], eax
cvtsi2sd xmm0, dword [ebp - 0xdc0]
mov eax, dword [ebp - 0xdc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9690]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdbc], eax
jmp 0x44ec95
mov dword [ebp - 0xdbc], 7
mov eax, dword [ebp - 0xda8]
shl eax, 2
add eax, dword [ebp - 0xda4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xdbc]
mov ecx, dword [ebp - 0xda8]
shl ecx, 2
add ecx, dword [ebp - 0xda4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ef7a
xor eax, eax
je 0x44ecfa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44ed36
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x96a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44eecd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44eecd
and dword [ebp - 0xdc4], 0
jmp 0x44edb0
cmp dword [ebp - 0xdc4], 0xa
jae 0x44eec8
cvtsi2sd xmm0, dword [ebp - 0xdc4]
movsd xmm1, qword [ebp - 0x96a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ee1f
mov eax, dword [ebp - 0xdc4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96a8], xmm1
jmp 0x44ed20
cvtsi2sd xmm0, dword [ebp - 0xdc4]
movsd xmm1, qword [ebp - 0x96a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ee7c
mov eax, dword [ebp - 0xdc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96a8], xmm1
jmp 0x44ee90
xor eax, eax
je 0x44ee8c
jmp 0x44ef48
jmp 0x44eeb3
cvtsi2sd xmm0, dword [ebp - 0xdc4]
movsd xmm1, qword [ebp - 0x96a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdc8], eax
jmp 0x44ef52
xor eax, eax
inc eax
je 0x44eebe
jmp 0x44eecd
jmp 0x44ed20
jmp 0x44ed20
xor eax, eax
inc eax
je 0x44ef48
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xdcc], eax
cvtsi2sd xmm0, dword [ebp - 0xdcc]
mov eax, dword [ebp - 0xdcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x96a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdc8], eax
jmp 0x44ef52
mov dword [ebp - 0xdc8], 7
mov eax, dword [ebp - 0xda8]
shl eax, 2
add eax, dword [ebp - 0xda4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xdc8]
mov ecx, dword [ebp - 0xda8]
shl ecx, 2
add ecx, dword [ebp - 0xda4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xda8]
add eax, 0xffffffad
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x96c0], xmm0
xor eax, eax
je 0x44ef94
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44efd0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x96c0]
movsd qword [ebp - 0x96c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44f167
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44f167
and dword [ebp - 0xdd0], 0
jmp 0x44f04a
cmp dword [ebp - 0xdd0], 0xa
jae 0x44f162
cvtsi2sd xmm0, dword [ebp - 0xdd0]
movsd xmm1, qword [ebp - 0x96c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f0b9
mov eax, dword [ebp - 0xdd0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96c8], xmm1
jmp 0x44efba
cvtsi2sd xmm0, dword [ebp - 0xdd0]
movsd xmm1, qword [ebp - 0x96c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f116
mov eax, dword [ebp - 0xdd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96c8], xmm1
jmp 0x44f12a
xor eax, eax
je 0x44f126
jmp 0x44f1e2
jmp 0x44f14d
cvtsi2sd xmm0, dword [ebp - 0xdd0]
movsd xmm1, qword [ebp - 0x96c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdd4], eax
jmp 0x44f1ec
xor eax, eax
inc eax
je 0x44f158
jmp 0x44f167
jmp 0x44efba
jmp 0x44efba
xor eax, eax
inc eax
je 0x44f1e2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xdd8], eax
cvtsi2sd xmm0, dword [ebp - 0xdd8]
mov eax, dword [ebp - 0xdd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x96c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdd4], eax
jmp 0x44f1ec
mov dword [ebp - 0xdd4], 7
mov eax, dword [ebp - 0xda8]
add eax, 0xffffffad
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x96e0], xmm0
xor eax, eax
je 0x44f206
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44f242
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x96e0]
movsd qword [ebp - 0x96e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44f3d9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44f3d9
and dword [ebp - 0xddc], 0
jmp 0x44f2bc
cmp dword [ebp - 0xddc], 0xa
jae 0x44f3d4
cvtsi2sd xmm0, dword [ebp - 0xddc]
movsd xmm1, qword [ebp - 0x96e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f32b
mov eax, dword [ebp - 0xddc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96e8], xmm1
jmp 0x44f22c
cvtsi2sd xmm0, dword [ebp - 0xddc]
movsd xmm1, qword [ebp - 0x96e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f388
mov eax, dword [ebp - 0xddc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x96e8], xmm1
jmp 0x44f39c
xor eax, eax
je 0x44f398
jmp 0x44f454
jmp 0x44f3bf
cvtsi2sd xmm0, dword [ebp - 0xddc]
movsd xmm1, qword [ebp - 0x96e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xde0], eax
jmp 0x44f45e
xor eax, eax
inc eax
je 0x44f3ca
jmp 0x44f3d9
jmp 0x44f22c
jmp 0x44f22c
xor eax, eax
inc eax
je 0x44f454
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xde4], eax
cvtsi2sd xmm0, dword [ebp - 0xde4]
mov eax, dword [ebp - 0xde4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x96e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xde0], eax
jmp 0x44f45e
mov dword [ebp - 0xde0], 7
mov eax, dword [ebp - 0xda8]
shl eax, 2
add eax, dword [ebp - 0xda4]
mov eax, dword [eax]
add eax, dword [ebp - 0xdd4]
mov ecx, dword [ebp - 0xda8]
shl ecx, 2
add ecx, dword [ebp - 0xda4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xde0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xda8]
shl ecx, 2
add ecx, dword [ebp - 0xda4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44f75e
xor eax, eax
je 0x44f4de
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44f51a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9700], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44f6b1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44f6b1
and dword [ebp - 0xde8], 0
jmp 0x44f594
cmp dword [ebp - 0xde8], 0xa
jae 0x44f6ac
cvtsi2sd xmm0, dword [ebp - 0xde8]
movsd xmm1, qword [ebp - 0x9700]
addsd xmm1, xmm0
movsd qword [ebp - 0x9708], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9708]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f603
mov eax, dword [ebp - 0xde8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9700]
addsd xmm1, xmm0
movsd qword [ebp - 0x9700], xmm1
jmp 0x44f504
cvtsi2sd xmm0, dword [ebp - 0xde8]
movsd xmm1, qword [ebp - 0x9700]
addsd xmm1, xmm0
movsd qword [ebp - 0x9710], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9710]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f660
mov eax, dword [ebp - 0xde8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9700]
addsd xmm1, xmm0
movsd qword [ebp - 0x9700], xmm1
jmp 0x44f674
xor eax, eax
je 0x44f670
jmp 0x44f72c
jmp 0x44f697
cvtsi2sd xmm0, dword [ebp - 0xde8]
movsd xmm1, qword [ebp - 0x9700]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdec], eax
jmp 0x44f736
xor eax, eax
inc eax
je 0x44f6a2
jmp 0x44f6b1
jmp 0x44f504
jmp 0x44f504
xor eax, eax
inc eax
je 0x44f72c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xdf0], eax
cvtsi2sd xmm0, dword [ebp - 0xdf0]
mov eax, dword [ebp - 0xdf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9700]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xdec], eax
jmp 0x44f736
mov dword [ebp - 0xdec], 7
mov eax, dword [ebp - 0xda8]
shl eax, 2
add eax, dword [ebp - 0xda4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xdec]
mov ecx, dword [ebp - 0xda8]
shl ecx, 2
add ecx, dword [ebp - 0xda4]
mov dword [ecx], eax
jmp 0x44e6e4
mov eax, dword [ebp - 0xda0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xda0]
mov dword [ebp - 0xdf4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xdf4]
mov eax, dword [eax]
mov dword [ebp - 0xd9c], eax
xor eax, eax
mov byte [ebp - 0x24], al
lea ecx, [ebp - 0x24]
call fcn.00418b6a
mov dword [ebp - 0xdf8], eax
mov eax, dword [ebp - 0xdf8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x450846
mov eax, dword [ebp - 0xdf8]
mov dword [ebp - 0xdfc], eax
and dword [ebp - 0xe00], 0
jmp 0x44f7d4
mov eax, dword [ebp - 0xe00]
inc eax
mov dword [ebp - 0xe00], eax
cmp dword [ebp - 0xe00], 1
jae 0x450846
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44fa9e
xor eax, eax
je 0x44f81e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44f85a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ed0]
movsd qword [ebp - 0x9718], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44f9f1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44f9f1
and dword [ebp - 0xe04], 0
jmp 0x44f8d4
cmp dword [ebp - 0xe04], 0xa
jae 0x44f9ec
cvtsi2sd xmm0, dword [ebp - 0xe04]
movsd xmm1, qword [ebp - 0x9718]
addsd xmm1, xmm0
movsd qword [ebp - 0x9720], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9720]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f943
mov eax, dword [ebp - 0xe04]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9718]
addsd xmm1, xmm0
movsd qword [ebp - 0x9718], xmm1
jmp 0x44f844
cvtsi2sd xmm0, dword [ebp - 0xe04]
movsd xmm1, qword [ebp - 0x9718]
addsd xmm1, xmm0
movsd qword [ebp - 0x9728], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9728]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f9a0
mov eax, dword [ebp - 0xe04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9718]
addsd xmm1, xmm0
movsd qword [ebp - 0x9718], xmm1
jmp 0x44f9b4
xor eax, eax
je 0x44f9b0
jmp 0x44fa6c
jmp 0x44f9d7
cvtsi2sd xmm0, dword [ebp - 0xe04]
movsd xmm1, qword [ebp - 0x9718]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe08], eax
jmp 0x44fa76
xor eax, eax
inc eax
je 0x44f9e2
jmp 0x44f9f1
jmp 0x44f844
jmp 0x44f844
xor eax, eax
inc eax
je 0x44fa6c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe0c], eax
cvtsi2sd xmm0, dword [ebp - 0xe0c]
mov eax, dword [ebp - 0xe0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9718]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe08], eax
jmp 0x44fa76
mov dword [ebp - 0xe08], 7
mov eax, dword [ebp - 0xe00]
shl eax, 2
add eax, dword [ebp - 0xdfc]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe08]
mov ecx, dword [ebp - 0xe00]
shl ecx, 2
add ecx, dword [ebp - 0xdfc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x450584
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44fda0
xor eax, eax
je 0x44fb20
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44fb5c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x9730], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44fcf3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44fcf3
and dword [ebp - 0xe10], 0
jmp 0x44fbd6
cmp dword [ebp - 0xe10], 0xa
jae 0x44fcee
cvtsi2sd xmm0, dword [ebp - 0xe10]
movsd xmm1, qword [ebp - 0x9730]
addsd xmm1, xmm0
movsd qword [ebp - 0x9738], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44fc45
mov eax, dword [ebp - 0xe10]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9730]
addsd xmm1, xmm0
movsd qword [ebp - 0x9730], xmm1
jmp 0x44fb46
cvtsi2sd xmm0, dword [ebp - 0xe10]
movsd xmm1, qword [ebp - 0x9730]
addsd xmm1, xmm0
movsd qword [ebp - 0x9740], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9740]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44fca2
mov eax, dword [ebp - 0xe10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9730]
addsd xmm1, xmm0
movsd qword [ebp - 0x9730], xmm1
jmp 0x44fcb6
xor eax, eax
je 0x44fcb2
jmp 0x44fd6e
jmp 0x44fcd9
cvtsi2sd xmm0, dword [ebp - 0xe10]
movsd xmm1, qword [ebp - 0x9730]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe14], eax
jmp 0x44fd78
xor eax, eax
inc eax
je 0x44fce4
jmp 0x44fcf3
jmp 0x44fb46
jmp 0x44fb46
xor eax, eax
inc eax
je 0x44fd6e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe18], eax
cvtsi2sd xmm0, dword [ebp - 0xe18]
mov eax, dword [ebp - 0xe18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9730]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe14], eax
jmp 0x44fd78
mov dword [ebp - 0xe14], 7
mov eax, dword [ebp - 0xe00]
shl eax, 2
add eax, dword [ebp - 0xdfc]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe14]
mov ecx, dword [ebp - 0xe00]
shl ecx, 2
add ecx, dword [ebp - 0xdfc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45005d
xor eax, eax
je 0x44fddd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x44fe19
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x9748], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x44ffb0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x44ffb0
and dword [ebp - 0xe1c], 0
jmp 0x44fe93
cmp dword [ebp - 0xe1c], 0xa
jae 0x44ffab
cvtsi2sd xmm0, dword [ebp - 0xe1c]
movsd xmm1, qword [ebp - 0x9748]
addsd xmm1, xmm0
movsd qword [ebp - 0x9750], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9750]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ff02
mov eax, dword [ebp - 0xe1c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9748]
addsd xmm1, xmm0
movsd qword [ebp - 0x9748], xmm1
jmp 0x44fe03
cvtsi2sd xmm0, dword [ebp - 0xe1c]
movsd xmm1, qword [ebp - 0x9748]
addsd xmm1, xmm0
movsd qword [ebp - 0x9758], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ff5f
mov eax, dword [ebp - 0xe1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9748]
addsd xmm1, xmm0
movsd qword [ebp - 0x9748], xmm1
jmp 0x44ff73
xor eax, eax
je 0x44ff6f
jmp 0x45002b
jmp 0x44ff96
cvtsi2sd xmm0, dword [ebp - 0xe1c]
movsd xmm1, qword [ebp - 0x9748]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe20], eax
jmp 0x450035
xor eax, eax
inc eax
je 0x44ffa1
jmp 0x44ffb0
jmp 0x44fe03
jmp 0x44fe03
xor eax, eax
inc eax
je 0x45002b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe24], eax
cvtsi2sd xmm0, dword [ebp - 0xe24]
mov eax, dword [ebp - 0xe24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9748]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe20], eax
jmp 0x450035
mov dword [ebp - 0xe20], 7
mov eax, dword [ebp - 0xe00]
shl eax, 2
add eax, dword [ebp - 0xdfc]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe20]
mov ecx, dword [ebp - 0xe00]
shl ecx, 2
add ecx, dword [ebp - 0xdfc]
mov dword [ecx], eax
mov eax, dword [ebp - 0xe00]
add eax, 0xffffffad
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9760], xmm0
xor eax, eax
je 0x450077
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4500b3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9760]
movsd qword [ebp - 0x9768], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45024a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45024a
and dword [ebp - 0xe28], 0
jmp 0x45012d
cmp dword [ebp - 0xe28], 0xa
jae 0x450245
cvtsi2sd xmm0, dword [ebp - 0xe28]
movsd xmm1, qword [ebp - 0x9768]
addsd xmm1, xmm0
movsd qword [ebp - 0x9770], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9770]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45019c
mov eax, dword [ebp - 0xe28]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9768]
addsd xmm1, xmm0
movsd qword [ebp - 0x9768], xmm1
jmp 0x45009d
cvtsi2sd xmm0, dword [ebp - 0xe28]
movsd xmm1, qword [ebp - 0x9768]
addsd xmm1, xmm0
movsd qword [ebp - 0x9778], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4501f9
mov eax, dword [ebp - 0xe28]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9768]
addsd xmm1, xmm0
movsd qword [ebp - 0x9768], xmm1
jmp 0x45020d
xor eax, eax
je 0x450209
jmp 0x4502c5
jmp 0x450230
cvtsi2sd xmm0, dword [ebp - 0xe28]
movsd xmm1, qword [ebp - 0x9768]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe2c], eax
jmp 0x4502cf
xor eax, eax
inc eax
je 0x45023b
jmp 0x45024a
jmp 0x45009d
jmp 0x45009d
xor eax, eax
inc eax
je 0x4502c5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe30], eax
cvtsi2sd xmm0, dword [ebp - 0xe30]
mov eax, dword [ebp - 0xe30]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9768]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe2c], eax
jmp 0x4502cf
mov dword [ebp - 0xe2c], 7
mov eax, dword [ebp - 0xe00]
add eax, 0xffffffad
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9780], xmm0
xor eax, eax
je 0x4502e9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x450325
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9780]
movsd qword [ebp - 0x9788], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4504bc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4504bc
and dword [ebp - 0xe34], 0
jmp 0x45039f
cmp dword [ebp - 0xe34], 0xa
jae 0x4504b7
cvtsi2sd xmm0, dword [ebp - 0xe34]
movsd xmm1, qword [ebp - 0x9788]
addsd xmm1, xmm0
movsd qword [ebp - 0x9790], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9790]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45040e
mov eax, dword [ebp - 0xe34]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9788]
addsd xmm1, xmm0
movsd qword [ebp - 0x9788], xmm1
jmp 0x45030f
cvtsi2sd xmm0, dword [ebp - 0xe34]
movsd xmm1, qword [ebp - 0x9788]
addsd xmm1, xmm0
movsd qword [ebp - 0x9798], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45046b
mov eax, dword [ebp - 0xe34]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9788]
addsd xmm1, xmm0
movsd qword [ebp - 0x9788], xmm1
jmp 0x45047f
xor eax, eax
je 0x45047b
jmp 0x450537
jmp 0x4504a2
cvtsi2sd xmm0, dword [ebp - 0xe34]
movsd xmm1, qword [ebp - 0x9788]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe38], eax
jmp 0x450541
xor eax, eax
inc eax
je 0x4504ad
jmp 0x4504bc
jmp 0x45030f
jmp 0x45030f
xor eax, eax
inc eax
je 0x450537
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe3c], eax
cvtsi2sd xmm0, dword [ebp - 0xe3c]
mov eax, dword [ebp - 0xe3c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9788]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe38], eax
jmp 0x450541
mov dword [ebp - 0xe38], 7
mov eax, dword [ebp - 0xe00]
shl eax, 2
add eax, dword [ebp - 0xdfc]
mov eax, dword [eax]
add eax, dword [ebp - 0xe2c]
mov ecx, dword [ebp - 0xe00]
shl ecx, 2
add ecx, dword [ebp - 0xdfc]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xe38]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xe00]
shl ecx, 2
add ecx, dword [ebp - 0xdfc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x450841
xor eax, eax
je 0x4505c1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4505fd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x97a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x450794
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x450794
and dword [ebp - 0xe40], 0
jmp 0x450677
cmp dword [ebp - 0xe40], 0xa
jae 0x45078f
cvtsi2sd xmm0, dword [ebp - 0xe40]
movsd xmm1, qword [ebp - 0x97a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4506e6
mov eax, dword [ebp - 0xe40]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97a0], xmm1
jmp 0x4505e7
cvtsi2sd xmm0, dword [ebp - 0xe40]
movsd xmm1, qword [ebp - 0x97a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450743
mov eax, dword [ebp - 0xe40]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97a0], xmm1
jmp 0x450757
xor eax, eax
je 0x450753
jmp 0x45080f
jmp 0x45077a
cvtsi2sd xmm0, dword [ebp - 0xe40]
movsd xmm1, qword [ebp - 0x97a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe44], eax
jmp 0x450819
xor eax, eax
inc eax
je 0x450785
jmp 0x450794
jmp 0x4505e7
jmp 0x4505e7
xor eax, eax
inc eax
je 0x45080f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe48], eax
cvtsi2sd xmm0, dword [ebp - 0xe48]
mov eax, dword [ebp - 0xe48]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x97a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe44], eax
jmp 0x450819
mov dword [ebp - 0xe44], 7
mov eax, dword [ebp - 0xe00]
shl eax, 2
add eax, dword [ebp - 0xdfc]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe44]
mov ecx, dword [ebp - 0xe00]
shl ecx, 2
add ecx, dword [ebp - 0xdfc]
mov dword [ecx], eax
jmp 0x44f7c7
mov eax, dword [ebp - 0xdf8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xdf8]
mov dword [ebp - 0xe4c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xe4c]
mov eax, dword [eax]
mov dword [ebp - 0xe50], eax
xor eax, eax
mov byte [ebp - 0x25], al
lea ecx, [ebp - 0x25]
call fcn.004175e2
mov dword [ebp - 0xe54], eax
mov eax, dword [ebp - 0xe54]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x451929
mov eax, dword [ebp - 0xe54]
mov dword [ebp - 0xe58], eax
and dword [ebp - 0xe5c], 0
jmp 0x4508b7
mov eax, dword [ebp - 0xe5c]
inc eax
mov dword [ebp - 0xe5c], eax
cmp dword [ebp - 0xe5c], 1
jae 0x451929
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x450b81
xor eax, eax
je 0x450901
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45093d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x97b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x450ad4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x450ad4
and dword [ebp - 0xe60], 0
jmp 0x4509b7
cmp dword [ebp - 0xe60], 0xa
jae 0x450acf
cvtsi2sd xmm0, dword [ebp - 0xe60]
movsd xmm1, qword [ebp - 0x97b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450a26
mov eax, dword [ebp - 0xe60]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97b8], xmm1
jmp 0x450927
cvtsi2sd xmm0, dword [ebp - 0xe60]
movsd xmm1, qword [ebp - 0x97b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450a83
mov eax, dword [ebp - 0xe60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97b8], xmm1
jmp 0x450a97
xor eax, eax
je 0x450a93
jmp 0x450b4f
jmp 0x450aba
cvtsi2sd xmm0, dword [ebp - 0xe60]
movsd xmm1, qword [ebp - 0x97b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe64], eax
jmp 0x450b59
xor eax, eax
inc eax
je 0x450ac5
jmp 0x450ad4
jmp 0x450927
jmp 0x450927
xor eax, eax
inc eax
je 0x450b4f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe68], eax
cvtsi2sd xmm0, dword [ebp - 0xe68]
mov eax, dword [ebp - 0xe68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x97b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe64], eax
jmp 0x450b59
mov dword [ebp - 0xe64], 7
mov eax, dword [ebp - 0xe5c]
shl eax, 2
add eax, dword [ebp - 0xe58]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe64]
mov ecx, dword [ebp - 0xe5c]
shl ecx, 2
add ecx, dword [ebp - 0xe58]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x451667
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x450e83
xor eax, eax
je 0x450c03
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x450c3f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x97d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x450dd6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x450dd6
and dword [ebp - 0xe6c], 0
jmp 0x450cb9
cmp dword [ebp - 0xe6c], 0xa
jae 0x450dd1
cvtsi2sd xmm0, dword [ebp - 0xe6c]
movsd xmm1, qword [ebp - 0x97d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450d28
mov eax, dword [ebp - 0xe6c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97d0], xmm1
jmp 0x450c29
cvtsi2sd xmm0, dword [ebp - 0xe6c]
movsd xmm1, qword [ebp - 0x97d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450d85
mov eax, dword [ebp - 0xe6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97d0], xmm1
jmp 0x450d99
xor eax, eax
je 0x450d95
jmp 0x450e51
jmp 0x450dbc
cvtsi2sd xmm0, dword [ebp - 0xe6c]
movsd xmm1, qword [ebp - 0x97d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe70], eax
jmp 0x450e5b
xor eax, eax
inc eax
je 0x450dc7
jmp 0x450dd6
jmp 0x450c29
jmp 0x450c29
xor eax, eax
inc eax
je 0x450e51
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe74], eax
cvtsi2sd xmm0, dword [ebp - 0xe74]
mov eax, dword [ebp - 0xe74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x97d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe70], eax
jmp 0x450e5b
mov dword [ebp - 0xe70], 7
mov eax, dword [ebp - 0xe5c]
shl eax, 2
add eax, dword [ebp - 0xe58]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe70]
mov ecx, dword [ebp - 0xe5c]
shl ecx, 2
add ecx, dword [ebp - 0xe58]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451140
xor eax, eax
je 0x450ec0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x450efc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x97e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x451093
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451093
and dword [ebp - 0xe78], 0
jmp 0x450f76
cmp dword [ebp - 0xe78], 0xa
jae 0x45108e
cvtsi2sd xmm0, dword [ebp - 0xe78]
movsd xmm1, qword [ebp - 0x97e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450fe5
mov eax, dword [ebp - 0xe78]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97e8], xmm1
jmp 0x450ee6
cvtsi2sd xmm0, dword [ebp - 0xe78]
movsd xmm1, qword [ebp - 0x97e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451042
mov eax, dword [ebp - 0xe78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97e8], xmm1
jmp 0x451056
xor eax, eax
je 0x451052
jmp 0x45110e
jmp 0x451079
cvtsi2sd xmm0, dword [ebp - 0xe78]
movsd xmm1, qword [ebp - 0x97e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe7c], eax
jmp 0x451118
xor eax, eax
inc eax
je 0x451084
jmp 0x451093
jmp 0x450ee6
jmp 0x450ee6
xor eax, eax
inc eax
je 0x45110e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe80], eax
cvtsi2sd xmm0, dword [ebp - 0xe80]
mov eax, dword [ebp - 0xe80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x97e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe7c], eax
jmp 0x451118
mov dword [ebp - 0xe7c], 7
mov eax, dword [ebp - 0xe5c]
shl eax, 2
add eax, dword [ebp - 0xe58]
mov eax, dword [eax]
xor eax, dword [ebp - 0xe7c]
mov ecx, dword [ebp - 0xe5c]
shl ecx, 2
add ecx, dword [ebp - 0xe58]
mov dword [ecx], eax
mov eax, dword [ebp - 0xe5c]
add eax, 0xffffffae
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9800], xmm0
xor eax, eax
je 0x45115a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x451196
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9800]
movsd qword [ebp - 0x9808], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45132d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45132d
and dword [ebp - 0xe84], 0
jmp 0x451210
cmp dword [ebp - 0xe84], 0xa
jae 0x451328
cvtsi2sd xmm0, dword [ebp - 0xe84]
movsd xmm1, qword [ebp - 0x9808]
addsd xmm1, xmm0
movsd qword [ebp - 0x9810], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9810]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45127f
mov eax, dword [ebp - 0xe84]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9808]
addsd xmm1, xmm0
movsd qword [ebp - 0x9808], xmm1
jmp 0x451180
cvtsi2sd xmm0, dword [ebp - 0xe84]
movsd xmm1, qword [ebp - 0x9808]
addsd xmm1, xmm0
movsd qword [ebp - 0x9818], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4512dc
mov eax, dword [ebp - 0xe84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9808]
addsd xmm1, xmm0
movsd qword [ebp - 0x9808], xmm1
jmp 0x4512f0
xor eax, eax
je 0x4512ec
jmp 0x4513a8
jmp 0x451313
cvtsi2sd xmm0, dword [ebp - 0xe84]
movsd xmm1, qword [ebp - 0x9808]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe88], eax
jmp 0x4513b2
xor eax, eax
inc eax
je 0x45131e
jmp 0x45132d
jmp 0x451180
jmp 0x451180
xor eax, eax
inc eax
je 0x4513a8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe8c], eax
cvtsi2sd xmm0, dword [ebp - 0xe8c]
mov eax, dword [ebp - 0xe8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9808]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe88], eax
jmp 0x4513b2
mov dword [ebp - 0xe88], 7
mov eax, dword [ebp - 0xe5c]
add eax, 0xffffffae
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9820], xmm0
xor eax, eax
je 0x4513cc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x451408
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9820]
movsd qword [ebp - 0x9828], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45159f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45159f
and dword [ebp - 0xe90], 0
jmp 0x451482
cmp dword [ebp - 0xe90], 0xa
jae 0x45159a
cvtsi2sd xmm0, dword [ebp - 0xe90]
movsd xmm1, qword [ebp - 0x9828]
addsd xmm1, xmm0
movsd qword [ebp - 0x9830], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9830]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4514f1
mov eax, dword [ebp - 0xe90]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9828]
addsd xmm1, xmm0
movsd qword [ebp - 0x9828], xmm1
jmp 0x4513f2
cvtsi2sd xmm0, dword [ebp - 0xe90]
movsd xmm1, qword [ebp - 0x9828]
addsd xmm1, xmm0
movsd qword [ebp - 0x9838], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45154e
mov eax, dword [ebp - 0xe90]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9828]
addsd xmm1, xmm0
movsd qword [ebp - 0x9828], xmm1
jmp 0x451562
xor eax, eax
je 0x45155e
jmp 0x45161a
jmp 0x451585
cvtsi2sd xmm0, dword [ebp - 0xe90]
movsd xmm1, qword [ebp - 0x9828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe94], eax
jmp 0x451624
xor eax, eax
inc eax
je 0x451590
jmp 0x45159f
jmp 0x4513f2
jmp 0x4513f2
xor eax, eax
inc eax
je 0x45161a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xe98], eax
cvtsi2sd xmm0, dword [ebp - 0xe98]
mov eax, dword [ebp - 0xe98]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9828]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xe94], eax
jmp 0x451624
mov dword [ebp - 0xe94], 7
mov eax, dword [ebp - 0xe5c]
shl eax, 2
add eax, dword [ebp - 0xe58]
mov eax, dword [eax]
add eax, dword [ebp - 0xe88]
mov ecx, dword [ebp - 0xe5c]
shl ecx, 2
add ecx, dword [ebp - 0xe58]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xe94]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xe5c]
shl ecx, 2
add ecx, dword [ebp - 0xe58]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451924
xor eax, eax
je 0x4516a4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4516e0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9840], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x451877
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451877
and dword [ebp - 0xe9c], 0
jmp 0x45175a
cmp dword [ebp - 0xe9c], 0xa
jae 0x451872
cvtsi2sd xmm0, dword [ebp - 0xe9c]
movsd xmm1, qword [ebp - 0x9840]
addsd xmm1, xmm0
movsd qword [ebp - 0x9848], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9848]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4517c9
mov eax, dword [ebp - 0xe9c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9840]
addsd xmm1, xmm0
movsd qword [ebp - 0x9840], xmm1
jmp 0x4516ca
cvtsi2sd xmm0, dword [ebp - 0xe9c]
movsd xmm1, qword [ebp - 0x9840]
addsd xmm1, xmm0
movsd qword [ebp - 0x9850], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9850]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451826
mov eax, dword [ebp - 0xe9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9840]
addsd xmm1, xmm0
movsd qword [ebp - 0x9840], xmm1
jmp 0x45183a
xor eax, eax
je 0x451836
jmp 0x4518f2
jmp 0x45185d
cvtsi2sd xmm0, dword [ebp - 0xe9c]
movsd xmm1, qword [ebp - 0x9840]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xea0], eax
jmp 0x4518fc
xor eax, eax
inc eax
je 0x451868
jmp 0x451877
jmp 0x4516ca
jmp 0x4516ca
xor eax, eax
inc eax
je 0x4518f2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xea4], eax
cvtsi2sd xmm0, dword [ebp - 0xea4]
mov eax, dword [ebp - 0xea4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9840]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xea0], eax
jmp 0x4518fc
mov dword [ebp - 0xea0], 7
mov eax, dword [ebp - 0xe5c]
shl eax, 2
add eax, dword [ebp - 0xe58]
mov eax, dword [eax]
xor eax, dword [ebp - 0xea0]
mov ecx, dword [ebp - 0xe5c]
shl ecx, 2
add ecx, dword [ebp - 0xe58]
mov dword [ecx], eax
jmp 0x4508aa
mov eax, dword [ebp - 0xe54]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xe54]
mov dword [ebp - 0xea8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xea8]
mov eax, dword [eax]
mov dword [ebp - 0xeac], eax
xor eax, eax
mov byte [ebp - 0x26], al
lea ecx, [ebp - 0x26]
call fcn.00418e76
mov dword [ebp - 0xeb0], eax
mov eax, dword [ebp - 0xeb0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x452a0c
mov eax, dword [ebp - 0xeb0]
mov dword [ebp - 0xeb4], eax
and dword [ebp - 0xeb8], 0
jmp 0x45199a
mov eax, dword [ebp - 0xeb8]
inc eax
mov dword [ebp - 0xeb8], eax
cmp dword [ebp - 0xeb8], 1
jae 0x452a0c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451c64
xor eax, eax
je 0x4519e4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x451a20
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec8]
movsd qword [ebp - 0x9858], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x451bb7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451bb7
and dword [ebp - 0xebc], 0
jmp 0x451a9a
cmp dword [ebp - 0xebc], 0xa
jae 0x451bb2
cvtsi2sd xmm0, dword [ebp - 0xebc]
movsd xmm1, qword [ebp - 0x9858]
addsd xmm1, xmm0
movsd qword [ebp - 0x9860], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9860]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451b09
mov eax, dword [ebp - 0xebc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9858]
addsd xmm1, xmm0
movsd qword [ebp - 0x9858], xmm1
jmp 0x451a0a
cvtsi2sd xmm0, dword [ebp - 0xebc]
movsd xmm1, qword [ebp - 0x9858]
addsd xmm1, xmm0
movsd qword [ebp - 0x9868], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9868]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451b66
mov eax, dword [ebp - 0xebc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9858]
addsd xmm1, xmm0
movsd qword [ebp - 0x9858], xmm1
jmp 0x451b7a
xor eax, eax
je 0x451b76
jmp 0x451c32
jmp 0x451b9d
cvtsi2sd xmm0, dword [ebp - 0xebc]
movsd xmm1, qword [ebp - 0x9858]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xec0], eax
jmp 0x451c3c
xor eax, eax
inc eax
je 0x451ba8
jmp 0x451bb7
jmp 0x451a0a
jmp 0x451a0a
xor eax, eax
inc eax
je 0x451c32
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xec4], eax
cvtsi2sd xmm0, dword [ebp - 0xec4]
mov eax, dword [ebp - 0xec4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9858]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xec0], eax
jmp 0x451c3c
mov dword [ebp - 0xec0], 7
mov eax, dword [ebp - 0xeb8]
shl eax, 2
add eax, dword [ebp - 0xeb4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xec0]
mov ecx, dword [ebp - 0xeb8]
shl ecx, 2
add ecx, dword [ebp - 0xeb4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45274a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451f66
xor eax, eax
je 0x451ce6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x451d22
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x9870], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x451eb9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x451eb9
and dword [ebp - 0xec8], 0
jmp 0x451d9c
cmp dword [ebp - 0xec8], 0xa
jae 0x451eb4
cvtsi2sd xmm0, dword [ebp - 0xec8]
movsd xmm1, qword [ebp - 0x9870]
addsd xmm1, xmm0
movsd qword [ebp - 0x9878], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451e0b
mov eax, dword [ebp - 0xec8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9870]
addsd xmm1, xmm0
movsd qword [ebp - 0x9870], xmm1
jmp 0x451d0c
cvtsi2sd xmm0, dword [ebp - 0xec8]
movsd xmm1, qword [ebp - 0x9870]
addsd xmm1, xmm0
movsd qword [ebp - 0x9880], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9880]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451e68
mov eax, dword [ebp - 0xec8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9870]
addsd xmm1, xmm0
movsd qword [ebp - 0x9870], xmm1
jmp 0x451e7c
xor eax, eax
je 0x451e78
jmp 0x451f34
jmp 0x451e9f
cvtsi2sd xmm0, dword [ebp - 0xec8]
movsd xmm1, qword [ebp - 0x9870]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xecc], eax
jmp 0x451f3e
xor eax, eax
inc eax
je 0x451eaa
jmp 0x451eb9
jmp 0x451d0c
jmp 0x451d0c
xor eax, eax
inc eax
je 0x451f34
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xed0], eax
cvtsi2sd xmm0, dword [ebp - 0xed0]
mov eax, dword [ebp - 0xed0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9870]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xecc], eax
jmp 0x451f3e
mov dword [ebp - 0xecc], 7
mov eax, dword [ebp - 0xeb8]
shl eax, 2
add eax, dword [ebp - 0xeb4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xecc]
mov ecx, dword [ebp - 0xeb8]
shl ecx, 2
add ecx, dword [ebp - 0xeb4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452223
xor eax, eax
je 0x451fa3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x451fdf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9888], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x452176
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452176
and dword [ebp - 0xed4], 0
jmp 0x452059
cmp dword [ebp - 0xed4], 0xa
jae 0x452171
cvtsi2sd xmm0, dword [ebp - 0xed4]
movsd xmm1, qword [ebp - 0x9888]
addsd xmm1, xmm0
movsd qword [ebp - 0x9890], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9890]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4520c8
mov eax, dword [ebp - 0xed4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9888]
addsd xmm1, xmm0
movsd qword [ebp - 0x9888], xmm1
jmp 0x451fc9
cvtsi2sd xmm0, dword [ebp - 0xed4]
movsd xmm1, qword [ebp - 0x9888]
addsd xmm1, xmm0
movsd qword [ebp - 0x9898], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452125
mov eax, dword [ebp - 0xed4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9888]
addsd xmm1, xmm0
movsd qword [ebp - 0x9888], xmm1
jmp 0x452139
xor eax, eax
je 0x452135
jmp 0x4521f1
jmp 0x45215c
cvtsi2sd xmm0, dword [ebp - 0xed4]
movsd xmm1, qword [ebp - 0x9888]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xed8], eax
jmp 0x4521fb
xor eax, eax
inc eax
je 0x452167
jmp 0x452176
jmp 0x451fc9
jmp 0x451fc9
xor eax, eax
inc eax
je 0x4521f1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xedc], eax
cvtsi2sd xmm0, dword [ebp - 0xedc]
mov eax, dword [ebp - 0xedc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9888]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xed8], eax
jmp 0x4521fb
mov dword [ebp - 0xed8], 7
mov eax, dword [ebp - 0xeb8]
shl eax, 2
add eax, dword [ebp - 0xeb4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xed8]
mov ecx, dword [ebp - 0xeb8]
shl ecx, 2
add ecx, dword [ebp - 0xeb4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xeb8]
add eax, 0xffffffae
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x98a0], xmm0
xor eax, eax
je 0x45223d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x452279
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x98a0]
movsd qword [ebp - 0x98a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x452410
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452410
and dword [ebp - 0xee0], 0
jmp 0x4522f3
cmp dword [ebp - 0xee0], 0xa
jae 0x45240b
cvtsi2sd xmm0, dword [ebp - 0xee0]
movsd xmm1, qword [ebp - 0x98a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452362
mov eax, dword [ebp - 0xee0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98a8], xmm1
jmp 0x452263
cvtsi2sd xmm0, dword [ebp - 0xee0]
movsd xmm1, qword [ebp - 0x98a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4523bf
mov eax, dword [ebp - 0xee0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98a8], xmm1
jmp 0x4523d3
xor eax, eax
je 0x4523cf
jmp 0x45248b
jmp 0x4523f6
cvtsi2sd xmm0, dword [ebp - 0xee0]
movsd xmm1, qword [ebp - 0x98a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xee4], eax
jmp 0x452495
xor eax, eax
inc eax
je 0x452401
jmp 0x452410
jmp 0x452263
jmp 0x452263
xor eax, eax
inc eax
je 0x45248b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xee8], eax
cvtsi2sd xmm0, dword [ebp - 0xee8]
mov eax, dword [ebp - 0xee8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x98a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xee4], eax
jmp 0x452495
mov dword [ebp - 0xee4], 7
mov eax, dword [ebp - 0xeb8]
add eax, 0xffffffae
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x98c0], xmm0
xor eax, eax
je 0x4524af
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4524eb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x98c0]
movsd qword [ebp - 0x98c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x452682
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452682
and dword [ebp - 0xeec], 0
jmp 0x452565
cmp dword [ebp - 0xeec], 0xa
jae 0x45267d
cvtsi2sd xmm0, dword [ebp - 0xeec]
movsd xmm1, qword [ebp - 0x98c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4525d4
mov eax, dword [ebp - 0xeec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98c8], xmm1
jmp 0x4524d5
cvtsi2sd xmm0, dword [ebp - 0xeec]
movsd xmm1, qword [ebp - 0x98c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452631
mov eax, dword [ebp - 0xeec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98c8], xmm1
jmp 0x452645
xor eax, eax
je 0x452641
jmp 0x4526fd
jmp 0x452668
cvtsi2sd xmm0, dword [ebp - 0xeec]
movsd xmm1, qword [ebp - 0x98c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xef0], eax
jmp 0x452707
xor eax, eax
inc eax
je 0x452673
jmp 0x452682
jmp 0x4524d5
jmp 0x4524d5
xor eax, eax
inc eax
je 0x4526fd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xef4], eax
cvtsi2sd xmm0, dword [ebp - 0xef4]
mov eax, dword [ebp - 0xef4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x98c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xef0], eax
jmp 0x452707
mov dword [ebp - 0xef0], 7
mov eax, dword [ebp - 0xeb8]
shl eax, 2
add eax, dword [ebp - 0xeb4]
mov eax, dword [eax]
add eax, dword [ebp - 0xee4]
mov ecx, dword [ebp - 0xeb8]
shl ecx, 2
add ecx, dword [ebp - 0xeb4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xef0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xeb8]
shl ecx, 2
add ecx, dword [ebp - 0xeb4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452a07
xor eax, eax
je 0x452787
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4527c3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x98e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45295a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45295a
and dword [ebp - 0xef8], 0
jmp 0x45283d
cmp dword [ebp - 0xef8], 0xa
jae 0x452955
cvtsi2sd xmm0, dword [ebp - 0xef8]
movsd xmm1, qword [ebp - 0x98e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4528ac
mov eax, dword [ebp - 0xef8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98e0], xmm1
jmp 0x4527ad
cvtsi2sd xmm0, dword [ebp - 0xef8]
movsd xmm1, qword [ebp - 0x98e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452909
mov eax, dword [ebp - 0xef8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98e0], xmm1
jmp 0x45291d
xor eax, eax
je 0x452919
jmp 0x4529d5
jmp 0x452940
cvtsi2sd xmm0, dword [ebp - 0xef8]
movsd xmm1, qword [ebp - 0x98e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xefc], eax
jmp 0x4529df
xor eax, eax
inc eax
je 0x45294b
jmp 0x45295a
jmp 0x4527ad
jmp 0x4527ad
xor eax, eax
inc eax
je 0x4529d5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf00], eax
cvtsi2sd xmm0, dword [ebp - 0xf00]
mov eax, dword [ebp - 0xf00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x98e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xefc], eax
jmp 0x4529df
mov dword [ebp - 0xefc], 7
mov eax, dword [ebp - 0xeb8]
shl eax, 2
add eax, dword [ebp - 0xeb4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xefc]
mov ecx, dword [ebp - 0xeb8]
shl ecx, 2
add ecx, dword [ebp - 0xeb4]
mov dword [ecx], eax
jmp 0x45198d
mov eax, dword [ebp - 0xeb0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xeb0]
mov dword [ebp - 0xf04], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xf04]
mov eax, dword [eax]
mov dword [ebp - 0xf08], eax
mov eax, dword [ebp - 0xeac]
mov dword [ebp - 0xe50], eax
cmp dword [ebp - 0xe50], 0
je 0x453b32
xor eax, eax
mov byte [ebp - 0x27], al
lea ecx, [ebp - 0x27]
call fcn.004182e2
mov dword [ebp - 0xf0c], eax
mov eax, dword [ebp - 0xf0c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x453b08
mov eax, dword [ebp - 0xf0c]
mov dword [ebp - 0xf10], eax
and dword [ebp - 0xf14], 0
jmp 0x452a96
mov eax, dword [ebp - 0xf14]
inc eax
mov dword [ebp - 0xf14], eax
cmp dword [ebp - 0xf14], 1
jae 0x453b08
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452d60
xor eax, eax
je 0x452ae0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x452b1c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x98f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x452cb3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452cb3
and dword [ebp - 0xf18], 0
jmp 0x452b96
cmp dword [ebp - 0xf18], 0xa
jae 0x452cae
cvtsi2sd xmm0, dword [ebp - 0xf18]
movsd xmm1, qword [ebp - 0x98f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9900], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9900]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452c05
mov eax, dword [ebp - 0xf18]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98f8], xmm1
jmp 0x452b06
cvtsi2sd xmm0, dword [ebp - 0xf18]
movsd xmm1, qword [ebp - 0x98f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9908], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9908]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452c62
mov eax, dword [ebp - 0xf18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98f8], xmm1
jmp 0x452c76
xor eax, eax
je 0x452c72
jmp 0x452d2e
jmp 0x452c99
cvtsi2sd xmm0, dword [ebp - 0xf18]
movsd xmm1, qword [ebp - 0x98f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf1c], eax
jmp 0x452d38
xor eax, eax
inc eax
je 0x452ca4
jmp 0x452cb3
jmp 0x452b06
jmp 0x452b06
xor eax, eax
inc eax
je 0x452d2e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf20], eax
cvtsi2sd xmm0, dword [ebp - 0xf20]
mov eax, dword [ebp - 0xf20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x98f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf1c], eax
jmp 0x452d38
mov dword [ebp - 0xf1c], 7
mov eax, dword [ebp - 0xf14]
shl eax, 2
add eax, dword [ebp - 0xf10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf1c]
mov ecx, dword [ebp - 0xf14]
shl ecx, 2
add ecx, dword [ebp - 0xf10]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x453846
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x453062
xor eax, eax
je 0x452de2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x452e1e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9910], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x452fb5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x452fb5
and dword [ebp - 0xf24], 0
jmp 0x452e98
cmp dword [ebp - 0xf24], 0xa
jae 0x452fb0
cvtsi2sd xmm0, dword [ebp - 0xf24]
movsd xmm1, qword [ebp - 0x9910]
addsd xmm1, xmm0
movsd qword [ebp - 0x9918], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452f07
mov eax, dword [ebp - 0xf24]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9910]
addsd xmm1, xmm0
movsd qword [ebp - 0x9910], xmm1
jmp 0x452e08
cvtsi2sd xmm0, dword [ebp - 0xf24]
movsd xmm1, qword [ebp - 0x9910]
addsd xmm1, xmm0
movsd qword [ebp - 0x9920], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9920]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452f64
mov eax, dword [ebp - 0xf24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9910]
addsd xmm1, xmm0
movsd qword [ebp - 0x9910], xmm1
jmp 0x452f78
xor eax, eax
je 0x452f74
jmp 0x453030
jmp 0x452f9b
cvtsi2sd xmm0, dword [ebp - 0xf24]
movsd xmm1, qword [ebp - 0x9910]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf28], eax
jmp 0x45303a
xor eax, eax
inc eax
je 0x452fa6
jmp 0x452fb5
jmp 0x452e08
jmp 0x452e08
xor eax, eax
inc eax
je 0x453030
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf2c], eax
cvtsi2sd xmm0, dword [ebp - 0xf2c]
mov eax, dword [ebp - 0xf2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9910]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf28], eax
jmp 0x45303a
mov dword [ebp - 0xf28], 7
mov eax, dword [ebp - 0xf14]
shl eax, 2
add eax, dword [ebp - 0xf10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf28]
mov ecx, dword [ebp - 0xf14]
shl ecx, 2
add ecx, dword [ebp - 0xf10]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45331f
xor eax, eax
je 0x45309f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4530db
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9928], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x453272
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x453272
and dword [ebp - 0xf30], 0
jmp 0x453155
cmp dword [ebp - 0xf30], 0xa
jae 0x45326d
cvtsi2sd xmm0, dword [ebp - 0xf30]
movsd xmm1, qword [ebp - 0x9928]
addsd xmm1, xmm0
movsd qword [ebp - 0x9930], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9930]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4531c4
mov eax, dword [ebp - 0xf30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9928]
addsd xmm1, xmm0
movsd qword [ebp - 0x9928], xmm1
jmp 0x4530c5
cvtsi2sd xmm0, dword [ebp - 0xf30]
movsd xmm1, qword [ebp - 0x9928]
addsd xmm1, xmm0
movsd qword [ebp - 0x9938], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453221
mov eax, dword [ebp - 0xf30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9928]
addsd xmm1, xmm0
movsd qword [ebp - 0x9928], xmm1
jmp 0x453235
xor eax, eax
je 0x453231
jmp 0x4532ed
jmp 0x453258
cvtsi2sd xmm0, dword [ebp - 0xf30]
movsd xmm1, qword [ebp - 0x9928]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf34], eax
jmp 0x4532f7
xor eax, eax
inc eax
je 0x453263
jmp 0x453272
jmp 0x4530c5
jmp 0x4530c5
xor eax, eax
inc eax
je 0x4532ed
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf38], eax
cvtsi2sd xmm0, dword [ebp - 0xf38]
mov eax, dword [ebp - 0xf38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9928]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf34], eax
jmp 0x4532f7
mov dword [ebp - 0xf34], 7
mov eax, dword [ebp - 0xf14]
shl eax, 2
add eax, dword [ebp - 0xf10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf34]
mov ecx, dword [ebp - 0xf14]
shl ecx, 2
add ecx, dword [ebp - 0xf10]
mov dword [ecx], eax
mov eax, dword [ebp - 0xf14]
add eax, 0xffffffaf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9940], xmm0
xor eax, eax
je 0x453339
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x453375
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9940]
movsd qword [ebp - 0x9948], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45350c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45350c
and dword [ebp - 0xf3c], 0
jmp 0x4533ef
cmp dword [ebp - 0xf3c], 0xa
jae 0x453507
cvtsi2sd xmm0, dword [ebp - 0xf3c]
movsd xmm1, qword [ebp - 0x9948]
addsd xmm1, xmm0
movsd qword [ebp - 0x9950], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9950]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45345e
mov eax, dword [ebp - 0xf3c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9948]
addsd xmm1, xmm0
movsd qword [ebp - 0x9948], xmm1
jmp 0x45335f
cvtsi2sd xmm0, dword [ebp - 0xf3c]
movsd xmm1, qword [ebp - 0x9948]
addsd xmm1, xmm0
movsd qword [ebp - 0x9958], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4534bb
mov eax, dword [ebp - 0xf3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9948]
addsd xmm1, xmm0
movsd qword [ebp - 0x9948], xmm1
jmp 0x4534cf
xor eax, eax
je 0x4534cb
jmp 0x453587
jmp 0x4534f2
cvtsi2sd xmm0, dword [ebp - 0xf3c]
movsd xmm1, qword [ebp - 0x9948]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf40], eax
jmp 0x453591
xor eax, eax
inc eax
je 0x4534fd
jmp 0x45350c
jmp 0x45335f
jmp 0x45335f
xor eax, eax
inc eax
je 0x453587
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf44], eax
cvtsi2sd xmm0, dword [ebp - 0xf44]
mov eax, dword [ebp - 0xf44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9948]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf40], eax
jmp 0x453591
mov dword [ebp - 0xf40], 7
mov eax, dword [ebp - 0xf14]
add eax, 0xffffffaf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9960], xmm0
xor eax, eax
je 0x4535ab
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4535e7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9960]
movsd qword [ebp - 0x9968], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45377e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45377e
and dword [ebp - 0xf48], 0
jmp 0x453661
cmp dword [ebp - 0xf48], 0xa
jae 0x453779
cvtsi2sd xmm0, dword [ebp - 0xf48]
movsd xmm1, qword [ebp - 0x9968]
addsd xmm1, xmm0
movsd qword [ebp - 0x9970], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9970]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4536d0
mov eax, dword [ebp - 0xf48]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9968]
addsd xmm1, xmm0
movsd qword [ebp - 0x9968], xmm1
jmp 0x4535d1
cvtsi2sd xmm0, dword [ebp - 0xf48]
movsd xmm1, qword [ebp - 0x9968]
addsd xmm1, xmm0
movsd qword [ebp - 0x9978], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45372d
mov eax, dword [ebp - 0xf48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9968]
addsd xmm1, xmm0
movsd qword [ebp - 0x9968], xmm1
jmp 0x453741
xor eax, eax
je 0x45373d
jmp 0x4537f9
jmp 0x453764
cvtsi2sd xmm0, dword [ebp - 0xf48]
movsd xmm1, qword [ebp - 0x9968]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf4c], eax
jmp 0x453803
xor eax, eax
inc eax
je 0x45376f
jmp 0x45377e
jmp 0x4535d1
jmp 0x4535d1
xor eax, eax
inc eax
je 0x4537f9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf50], eax
cvtsi2sd xmm0, dword [ebp - 0xf50]
mov eax, dword [ebp - 0xf50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9968]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf4c], eax
jmp 0x453803
mov dword [ebp - 0xf4c], 7
mov eax, dword [ebp - 0xf14]
shl eax, 2
add eax, dword [ebp - 0xf10]
mov eax, dword [eax]
add eax, dword [ebp - 0xf40]
mov ecx, dword [ebp - 0xf14]
shl ecx, 2
add ecx, dword [ebp - 0xf10]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xf4c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xf14]
shl ecx, 2
add ecx, dword [ebp - 0xf10]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x453b03
xor eax, eax
je 0x453883
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4538bf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9980], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x453a56
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x453a56
and dword [ebp - 0xf54], 0
jmp 0x453939
cmp dword [ebp - 0xf54], 0xa
jae 0x453a51
cvtsi2sd xmm0, dword [ebp - 0xf54]
movsd xmm1, qword [ebp - 0x9980]
addsd xmm1, xmm0
movsd qword [ebp - 0x9988], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9988]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4539a8
mov eax, dword [ebp - 0xf54]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9980]
addsd xmm1, xmm0
movsd qword [ebp - 0x9980], xmm1
jmp 0x4538a9
cvtsi2sd xmm0, dword [ebp - 0xf54]
movsd xmm1, qword [ebp - 0x9980]
addsd xmm1, xmm0
movsd qword [ebp - 0x9990], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9990]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453a05
mov eax, dword [ebp - 0xf54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9980]
addsd xmm1, xmm0
movsd qword [ebp - 0x9980], xmm1
jmp 0x453a19
xor eax, eax
je 0x453a15
jmp 0x453ad1
jmp 0x453a3c
cvtsi2sd xmm0, dword [ebp - 0xf54]
movsd xmm1, qword [ebp - 0x9980]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf58], eax
jmp 0x453adb
xor eax, eax
inc eax
je 0x453a47
jmp 0x453a56
jmp 0x4538a9
jmp 0x4538a9
xor eax, eax
inc eax
je 0x453ad1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf5c], eax
cvtsi2sd xmm0, dword [ebp - 0xf5c]
mov eax, dword [ebp - 0xf5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9980]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf58], eax
jmp 0x453adb
mov dword [ebp - 0xf58], 7
mov eax, dword [ebp - 0xf14]
shl eax, 2
add eax, dword [ebp - 0xf10]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf58]
mov ecx, dword [ebp - 0xf14]
shl ecx, 2
add ecx, dword [ebp - 0xf10]
mov dword [ecx], eax
jmp 0x452a89
mov eax, dword [ebp - 0xf0c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xf0c]
mov dword [ebp - 0xf60], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xf60]
mov eax, dword [eax]
mov dword [ebp - 0xf08], eax
push dword [ebp - 0x5c4]
push dword [ebp - 0x454]
call fcn.00426d5a
pop ecx
pop ecx
mov byte [ebp - 0x28], al
xor eax, eax
mov byte [ebp - 0x29], al
lea ecx, [ebp - 0x29]
call fcn.0041716a
mov dword [ebp - 0xf64], eax
mov eax, dword [ebp - 0xf64]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x454c01
mov eax, dword [ebp - 0xf64]
mov dword [ebp - 0xf68], eax
and dword [ebp - 0xf6c], 0
jmp 0x453b8f
mov eax, dword [ebp - 0xf6c]
inc eax
mov dword [ebp - 0xf6c], eax
cmp dword [ebp - 0xf6c], 1
jae 0x454c01
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x453e59
xor eax, eax
je 0x453bd9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x453c15
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x9998], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x453dac
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x453dac
and dword [ebp - 0xf70], 0
jmp 0x453c8f
cmp dword [ebp - 0xf70], 0xa
jae 0x453da7
cvtsi2sd xmm0, dword [ebp - 0xf70]
movsd xmm1, qword [ebp - 0x9998]
addsd xmm1, xmm0
movsd qword [ebp - 0x99a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453cfe
mov eax, dword [ebp - 0xf70]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9998]
addsd xmm1, xmm0
movsd qword [ebp - 0x9998], xmm1
jmp 0x453bff
cvtsi2sd xmm0, dword [ebp - 0xf70]
movsd xmm1, qword [ebp - 0x9998]
addsd xmm1, xmm0
movsd qword [ebp - 0x99a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453d5b
mov eax, dword [ebp - 0xf70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9998]
addsd xmm1, xmm0
movsd qword [ebp - 0x9998], xmm1
jmp 0x453d6f
xor eax, eax
je 0x453d6b
jmp 0x453e27
jmp 0x453d92
cvtsi2sd xmm0, dword [ebp - 0xf70]
movsd xmm1, qword [ebp - 0x9998]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf74], eax
jmp 0x453e31
xor eax, eax
inc eax
je 0x453d9d
jmp 0x453dac
jmp 0x453bff
jmp 0x453bff
xor eax, eax
inc eax
je 0x453e27
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf78], eax
cvtsi2sd xmm0, dword [ebp - 0xf78]
mov eax, dword [ebp - 0xf78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9998]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf74], eax
jmp 0x453e31
mov dword [ebp - 0xf74], 7
mov eax, dword [ebp - 0xf6c]
shl eax, 2
add eax, dword [ebp - 0xf68]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0xf6c]
shl ecx, 2
add ecx, dword [ebp - 0xf68]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45493f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45415b
xor eax, eax
je 0x453edb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x453f17
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x99b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4540ae
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4540ae
and dword [ebp - 0xf7c], 0
jmp 0x453f91
cmp dword [ebp - 0xf7c], 0xa
jae 0x4540a9
cvtsi2sd xmm0, dword [ebp - 0xf7c]
movsd xmm1, qword [ebp - 0x99b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454000
mov eax, dword [ebp - 0xf7c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99b0], xmm1
jmp 0x453f01
cvtsi2sd xmm0, dword [ebp - 0xf7c]
movsd xmm1, qword [ebp - 0x99b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45405d
mov eax, dword [ebp - 0xf7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99b0], xmm1
jmp 0x454071
xor eax, eax
je 0x45406d
jmp 0x454129
jmp 0x454094
cvtsi2sd xmm0, dword [ebp - 0xf7c]
movsd xmm1, qword [ebp - 0x99b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf80], eax
jmp 0x454133
xor eax, eax
inc eax
je 0x45409f
jmp 0x4540ae
jmp 0x453f01
jmp 0x453f01
xor eax, eax
inc eax
je 0x454129
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf84], eax
cvtsi2sd xmm0, dword [ebp - 0xf84]
mov eax, dword [ebp - 0xf84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x99b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf80], eax
jmp 0x454133
mov dword [ebp - 0xf80], 7
mov eax, dword [ebp - 0xf6c]
shl eax, 2
add eax, dword [ebp - 0xf68]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf80]
mov ecx, dword [ebp - 0xf6c]
shl ecx, 2
add ecx, dword [ebp - 0xf68]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454418
xor eax, eax
je 0x454198
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4541d4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x99c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45436b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45436b
and dword [ebp - 0xf88], 0
jmp 0x45424e
cmp dword [ebp - 0xf88], 0xa
jae 0x454366
cvtsi2sd xmm0, dword [ebp - 0xf88]
movsd xmm1, qword [ebp - 0x99c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4542bd
mov eax, dword [ebp - 0xf88]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99c8], xmm1
jmp 0x4541be
cvtsi2sd xmm0, dword [ebp - 0xf88]
movsd xmm1, qword [ebp - 0x99c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45431a
mov eax, dword [ebp - 0xf88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99c8], xmm1
jmp 0x45432e
xor eax, eax
je 0x45432a
jmp 0x4543e6
jmp 0x454351
cvtsi2sd xmm0, dword [ebp - 0xf88]
movsd xmm1, qword [ebp - 0x99c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf8c], eax
jmp 0x4543f0
xor eax, eax
inc eax
je 0x45435c
jmp 0x45436b
jmp 0x4541be
jmp 0x4541be
xor eax, eax
inc eax
je 0x4543e6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf90], eax
cvtsi2sd xmm0, dword [ebp - 0xf90]
mov eax, dword [ebp - 0xf90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x99c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf8c], eax
jmp 0x4543f0
mov dword [ebp - 0xf8c], 7
mov eax, dword [ebp - 0xf6c]
shl eax, 2
add eax, dword [ebp - 0xf68]
mov eax, dword [eax]
xor eax, dword [ebp - 0xf8c]
mov ecx, dword [ebp - 0xf6c]
shl ecx, 2
add ecx, dword [ebp - 0xf68]
mov dword [ecx], eax
mov eax, dword [ebp - 0xf6c]
add eax, 0xffffffaf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x99e0], xmm0
xor eax, eax
je 0x454432
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45446e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x99e0]
movsd qword [ebp - 0x99e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x454605
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454605
and dword [ebp - 0xf94], 0
jmp 0x4544e8
cmp dword [ebp - 0xf94], 0xa
jae 0x454600
cvtsi2sd xmm0, dword [ebp - 0xf94]
movsd xmm1, qword [ebp - 0x99e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454557
mov eax, dword [ebp - 0xf94]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99e8], xmm1
jmp 0x454458
cvtsi2sd xmm0, dword [ebp - 0xf94]
movsd xmm1, qword [ebp - 0x99e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4545b4
mov eax, dword [ebp - 0xf94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99e8], xmm1
jmp 0x4545c8
xor eax, eax
je 0x4545c4
jmp 0x454680
jmp 0x4545eb
cvtsi2sd xmm0, dword [ebp - 0xf94]
movsd xmm1, qword [ebp - 0x99e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf98], eax
jmp 0x45468a
xor eax, eax
inc eax
je 0x4545f6
jmp 0x454605
jmp 0x454458
jmp 0x454458
xor eax, eax
inc eax
je 0x454680
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xf9c], eax
cvtsi2sd xmm0, dword [ebp - 0xf9c]
mov eax, dword [ebp - 0xf9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x99e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xf98], eax
jmp 0x45468a
mov dword [ebp - 0xf98], 7
mov eax, dword [ebp - 0xf6c]
add eax, 0xffffffaf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9a00], xmm0
xor eax, eax
je 0x4546a4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4546e0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9a00]
movsd qword [ebp - 0x9a08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x454877
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454877
and dword [ebp - 0xfa0], 0
jmp 0x45475a
cmp dword [ebp - 0xfa0], 0xa
jae 0x454872
cvtsi2sd xmm0, dword [ebp - 0xfa0]
movsd xmm1, qword [ebp - 0x9a08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4547c9
mov eax, dword [ebp - 0xfa0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a08], xmm1
jmp 0x4546ca
cvtsi2sd xmm0, dword [ebp - 0xfa0]
movsd xmm1, qword [ebp - 0x9a08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454826
mov eax, dword [ebp - 0xfa0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a08], xmm1
jmp 0x45483a
xor eax, eax
je 0x454836
jmp 0x4548f2
jmp 0x45485d
cvtsi2sd xmm0, dword [ebp - 0xfa0]
movsd xmm1, qword [ebp - 0x9a08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfa4], eax
jmp 0x4548fc
xor eax, eax
inc eax
je 0x454868
jmp 0x454877
jmp 0x4546ca
jmp 0x4546ca
xor eax, eax
inc eax
je 0x4548f2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xfa8], eax
cvtsi2sd xmm0, dword [ebp - 0xfa8]
mov eax, dword [ebp - 0xfa8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9a08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfa4], eax
jmp 0x4548fc
mov dword [ebp - 0xfa4], 7
mov eax, dword [ebp - 0xf6c]
shl eax, 2
add eax, dword [ebp - 0xf68]
mov eax, dword [eax]
add eax, dword [ebp - 0xf98]
mov ecx, dword [ebp - 0xf6c]
shl ecx, 2
add ecx, dword [ebp - 0xf68]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0xfa4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xf6c]
shl ecx, 2
add ecx, dword [ebp - 0xf68]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454bfc
xor eax, eax
je 0x45497c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4549b8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9a20], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x454b4f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454b4f
and dword [ebp - 0xfac], 0
jmp 0x454a32
cmp dword [ebp - 0xfac], 0xa
jae 0x454b4a
cvtsi2sd xmm0, dword [ebp - 0xfac]
movsd xmm1, qword [ebp - 0x9a20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a28], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454aa1
mov eax, dword [ebp - 0xfac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a20], xmm1
jmp 0x4549a2
cvtsi2sd xmm0, dword [ebp - 0xfac]
movsd xmm1, qword [ebp - 0x9a20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a30], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454afe
mov eax, dword [ebp - 0xfac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a20], xmm1
jmp 0x454b12
xor eax, eax
je 0x454b0e
jmp 0x454bca
jmp 0x454b35
cvtsi2sd xmm0, dword [ebp - 0xfac]
movsd xmm1, qword [ebp - 0x9a20]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfb0], eax
jmp 0x454bd4
xor eax, eax
inc eax
je 0x454b40
jmp 0x454b4f
jmp 0x4549a2
jmp 0x4549a2
xor eax, eax
inc eax
je 0x454bca
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xfb4], eax
cvtsi2sd xmm0, dword [ebp - 0xfb4]
mov eax, dword [ebp - 0xfb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9a20]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfb0], eax
jmp 0x454bd4
mov dword [ebp - 0xfb0], 7
mov eax, dword [ebp - 0xf6c]
shl eax, 2
add eax, dword [ebp - 0xf68]
mov eax, dword [eax]
xor eax, dword [ebp - 0xfb0]
mov ecx, dword [ebp - 0xf6c]
shl ecx, 2
add ecx, dword [ebp - 0xf68]
mov dword [ecx], eax
jmp 0x453b82
mov eax, dword [ebp - 0xf64]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xf64]
mov dword [ebp - 0xfb8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0xfb8]
mov eax, dword [eax]
mov dword [ebp - 0xfbc], eax
xor eax, eax
mov byte [ebp - 0x2a], al
lea ecx, [ebp - 0x2a]
call fcn.00414ad0
mov dword [ebp - 0xfc0], eax
mov eax, dword [ebp - 0xfc0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x455ce4
mov eax, dword [ebp - 0xfc0]
mov dword [ebp - 0xfc4], eax
and dword [ebp - 0xfc8], 0
jmp 0x454c72
mov eax, dword [ebp - 0xfc8]
inc eax
mov dword [ebp - 0xfc8], eax
cmp dword [ebp - 0xfc8], 1
jae 0x455ce4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454f3c
xor eax, eax
je 0x454cbc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x454cf8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ec0]
movsd qword [ebp - 0x9a38], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x454e8f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x454e8f
and dword [ebp - 0xfcc], 0
jmp 0x454d72
cmp dword [ebp - 0xfcc], 0xa
jae 0x454e8a
cvtsi2sd xmm0, dword [ebp - 0xfcc]
movsd xmm1, qword [ebp - 0x9a38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a40], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454de1
mov eax, dword [ebp - 0xfcc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a38], xmm1
jmp 0x454ce2
cvtsi2sd xmm0, dword [ebp - 0xfcc]
movsd xmm1, qword [ebp - 0x9a38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a48], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454e3e
mov eax, dword [ebp - 0xfcc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a38], xmm1
jmp 0x454e52
xor eax, eax
je 0x454e4e
jmp 0x454f0a
jmp 0x454e75
cvtsi2sd xmm0, dword [ebp - 0xfcc]
movsd xmm1, qword [ebp - 0x9a38]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfd0], eax
jmp 0x454f14
xor eax, eax
inc eax
je 0x454e80
jmp 0x454e8f
jmp 0x454ce2
jmp 0x454ce2
xor eax, eax
inc eax
je 0x454f0a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xfd4], eax
cvtsi2sd xmm0, dword [ebp - 0xfd4]
mov eax, dword [ebp - 0xfd4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9a38]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfd0], eax
jmp 0x454f14
mov dword [ebp - 0xfd0], 7
mov eax, dword [ebp - 0xfc8]
shl eax, 2
add eax, dword [ebp - 0xfc4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xfd0]
mov ecx, dword [ebp - 0xfc8]
shl ecx, 2
add ecx, dword [ebp - 0xfc4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x455a22
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45523e
xor eax, eax
je 0x454fbe
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x454ffa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9a50], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x455191
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x455191
and dword [ebp - 0xfd8], 0
jmp 0x455074
cmp dword [ebp - 0xfd8], 0xa
jae 0x45518c
cvtsi2sd xmm0, dword [ebp - 0xfd8]
movsd xmm1, qword [ebp - 0x9a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a58], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4550e3
mov eax, dword [ebp - 0xfd8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a50], xmm1
jmp 0x454fe4
cvtsi2sd xmm0, dword [ebp - 0xfd8]
movsd xmm1, qword [ebp - 0x9a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a60], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455140
mov eax, dword [ebp - 0xfd8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a50], xmm1
jmp 0x455154
xor eax, eax
je 0x455150
jmp 0x45520c
jmp 0x455177
cvtsi2sd xmm0, dword [ebp - 0xfd8]
movsd xmm1, qword [ebp - 0x9a50]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfdc], eax
jmp 0x455216
xor eax, eax
inc eax
je 0x455182
jmp 0x455191
jmp 0x454fe4
jmp 0x454fe4
xor eax, eax
inc eax
je 0x45520c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xfe0], eax
cvtsi2sd xmm0, dword [ebp - 0xfe0]
mov eax, dword [ebp - 0xfe0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9a50]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfdc], eax
jmp 0x455216
mov dword [ebp - 0xfdc], 7
mov eax, dword [ebp - 0xfc8]
shl eax, 2
add eax, dword [ebp - 0xfc4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xfdc]
mov ecx, dword [ebp - 0xfc8]
shl ecx, 2
add ecx, dword [ebp - 0xfc4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4554fb
xor eax, eax
je 0x45527b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4552b7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9a68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45544e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45544e
and dword [ebp - 0xfe4], 0
jmp 0x455331
cmp dword [ebp - 0xfe4], 0xa
jae 0x455449
cvtsi2sd xmm0, dword [ebp - 0xfe4]
movsd xmm1, qword [ebp - 0x9a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4553a0
mov eax, dword [ebp - 0xfe4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a68], xmm1
jmp 0x4552a1
cvtsi2sd xmm0, dword [ebp - 0xfe4]
movsd xmm1, qword [ebp - 0x9a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4553fd
mov eax, dword [ebp - 0xfe4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a68], xmm1
jmp 0x455411
xor eax, eax
je 0x45540d
jmp 0x4554c9
jmp 0x455434
cvtsi2sd xmm0, dword [ebp - 0xfe4]
movsd xmm1, qword [ebp - 0x9a68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfe8], eax
jmp 0x4554d3
xor eax, eax
inc eax
je 0x45543f
jmp 0x45544e
jmp 0x4552a1
jmp 0x4552a1
xor eax, eax
inc eax
je 0x4554c9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xfec], eax
cvtsi2sd xmm0, dword [ebp - 0xfec]
mov eax, dword [ebp - 0xfec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9a68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xfe8], eax
jmp 0x4554d3
mov dword [ebp - 0xfe8], 7
mov eax, dword [ebp - 0xfc8]
shl eax, 2
add eax, dword [ebp - 0xfc4]
mov eax, dword [eax]
xor eax, dword [ebp - 0xfe8]
mov ecx, dword [ebp - 0xfc8]
shl ecx, 2
add ecx, dword [ebp - 0xfc4]
mov dword [ecx], eax
mov eax, dword [ebp - 0xfc8]
add eax, 0xffffffaf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9a80], xmm0
xor eax, eax
je 0x455515
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x455551
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9a80]
movsd qword [ebp - 0x9a88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4556e8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4556e8
and dword [ebp - 0xff0], 0
jmp 0x4555cb
cmp dword [ebp - 0xff0], 0xa
jae 0x4556e3
cvtsi2sd xmm0, dword [ebp - 0xff0]
movsd xmm1, qword [ebp - 0x9a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45563a
mov eax, dword [ebp - 0xff0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a88], xmm1
jmp 0x45553b
cvtsi2sd xmm0, dword [ebp - 0xff0]
movsd xmm1, qword [ebp - 0x9a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455697
mov eax, dword [ebp - 0xff0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a88], xmm1
jmp 0x4556ab
xor eax, eax
je 0x4556a7
jmp 0x455763
jmp 0x4556ce
cvtsi2sd xmm0, dword [ebp - 0xff0]
movsd xmm1, qword [ebp - 0x9a88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xff4], eax
jmp 0x45576d
xor eax, eax
inc eax
je 0x4556d9
jmp 0x4556e8
jmp 0x45553b
jmp 0x45553b
xor eax, eax
inc eax
je 0x455763
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0xff8], eax
cvtsi2sd xmm0, dword [ebp - 0xff8]
mov eax, dword [ebp - 0xff8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9a88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0xff4], eax
jmp 0x45576d
mov dword [ebp - 0xff4], 7
mov eax, dword [ebp - 0xfc8]
add eax, 0xffffffaf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9aa0], xmm0
xor eax, eax
je 0x455787
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4557c3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9aa0]
movsd qword [ebp - 0x9aa8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45595a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45595a
and dword [ebp - 0xffc], 0
jmp 0x45583d
cmp dword [ebp - 0xffc], 0xa
jae 0x455955
cvtsi2sd xmm0, dword [ebp - 0xffc]
movsd xmm1, qword [ebp - 0x9aa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ab0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ab0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4558ac
mov eax, dword [ebp - 0xffc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9aa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9aa8], xmm1
jmp 0x4557ad
cvtsi2sd xmm0, dword [ebp - 0xffc]
movsd xmm1, qword [ebp - 0x9aa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ab8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455909
mov eax, dword [ebp - 0xffc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9aa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9aa8], xmm1
jmp 0x45591d
xor eax, eax
je 0x455919
jmp 0x4559d5
jmp 0x455940
cvtsi2sd xmm0, dword [ebp - 0xffc]
movsd xmm1, qword [ebp - 0x9aa8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1000], eax
jmp 0x4559df
xor eax, eax
inc eax
je 0x45594b
jmp 0x45595a
jmp 0x4557ad
jmp 0x4557ad
xor eax, eax
inc eax
je 0x4559d5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1004], eax
cvtsi2sd xmm0, dword [ebp - 0x1004]
mov eax, dword [ebp - 0x1004]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9aa8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1000], eax
jmp 0x4559df
mov dword [ebp - 0x1000], 7
mov eax, dword [ebp - 0xfc8]
shl eax, 2
add eax, dword [ebp - 0xfc4]
mov eax, dword [eax]
add eax, dword [ebp - 0xff4]
mov ecx, dword [ebp - 0xfc8]
shl ecx, 2
add ecx, dword [ebp - 0xfc4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1000]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xfc8]
shl ecx, 2
add ecx, dword [ebp - 0xfc4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x455cdf
xor eax, eax
je 0x455a5f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x455a9b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9ac0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x455c32
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x455c32
and dword [ebp - 0x1008], 0
jmp 0x455b15
cmp dword [ebp - 0x1008], 0xa
jae 0x455c2d
cvtsi2sd xmm0, dword [ebp - 0x1008]
movsd xmm1, qword [ebp - 0x9ac0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ac8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ac8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455b84
mov eax, dword [ebp - 0x1008]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ac0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ac0], xmm1
jmp 0x455a85
cvtsi2sd xmm0, dword [ebp - 0x1008]
movsd xmm1, qword [ebp - 0x9ac0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ad0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ad0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455be1
mov eax, dword [ebp - 0x1008]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ac0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ac0], xmm1
jmp 0x455bf5
xor eax, eax
je 0x455bf1
jmp 0x455cad
jmp 0x455c18
cvtsi2sd xmm0, dword [ebp - 0x1008]
movsd xmm1, qword [ebp - 0x9ac0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x100c], eax
jmp 0x455cb7
xor eax, eax
inc eax
je 0x455c23
jmp 0x455c32
jmp 0x455a85
jmp 0x455a85
xor eax, eax
inc eax
je 0x455cad
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1010], eax
cvtsi2sd xmm0, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x1010]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ac0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x100c], eax
jmp 0x455cb7
mov dword [ebp - 0x100c], 7
mov eax, dword [ebp - 0xfc8]
shl eax, 2
add eax, dword [ebp - 0xfc4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x100c]
mov ecx, dword [ebp - 0xfc8]
shl ecx, 2
add ecx, dword [ebp - 0xfc4]
mov dword [ecx], eax
jmp 0x454c65
mov eax, dword [ebp - 0xfc0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xfc0]
mov dword [ebp - 0x1014], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1014]
mov eax, dword [eax]
mov dword [ebp - 0x1018], eax
xor eax, eax
mov byte [ebp - 0x2b], al
lea ecx, [ebp - 0x2b]
call fcn.00416260
mov dword [ebp - 0x101c], eax
mov eax, dword [ebp - 0x101c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x456dc7
mov eax, dword [ebp - 0x101c]
mov dword [ebp - 0x1020], eax
and dword [ebp - 0x1024], 0
jmp 0x455d55
mov eax, dword [ebp - 0x1024]
inc eax
mov dword [ebp - 0x1024], eax
cmp dword [ebp - 0x1024], 1
jae 0x456dc7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45601f
xor eax, eax
je 0x455d9f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x455ddb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9ad8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x455f72
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x455f72
and dword [ebp - 0x1028], 0
jmp 0x455e55
cmp dword [ebp - 0x1028], 0xa
jae 0x455f6d
cvtsi2sd xmm0, dword [ebp - 0x1028]
movsd xmm1, qword [ebp - 0x9ad8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ae0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ae0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455ec4
mov eax, dword [ebp - 0x1028]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ad8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ad8], xmm1
jmp 0x455dc5
cvtsi2sd xmm0, dword [ebp - 0x1028]
movsd xmm1, qword [ebp - 0x9ad8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ae8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ae8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455f21
mov eax, dword [ebp - 0x1028]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ad8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ad8], xmm1
jmp 0x455f35
xor eax, eax
je 0x455f31
jmp 0x455fed
jmp 0x455f58
cvtsi2sd xmm0, dword [ebp - 0x1028]
movsd xmm1, qword [ebp - 0x9ad8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x102c], eax
jmp 0x455ff7
xor eax, eax
inc eax
je 0x455f63
jmp 0x455f72
jmp 0x455dc5
jmp 0x455dc5
xor eax, eax
inc eax
je 0x455fed
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1030], eax
cvtsi2sd xmm0, dword [ebp - 0x1030]
mov eax, dword [ebp - 0x1030]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ad8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x102c], eax
jmp 0x455ff7
mov dword [ebp - 0x102c], 7
mov eax, dword [ebp - 0x1024]
shl eax, 2
add eax, dword [ebp - 0x1020]
mov eax, dword [eax]
xor eax, dword [ebp - 0x102c]
mov ecx, dword [ebp - 0x1024]
shl ecx, 2
add ecx, dword [ebp - 0x1020]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x456b05
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x456321
xor eax, eax
je 0x4560a1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4560dd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9af0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x456274
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x456274
and dword [ebp - 0x1034], 0
jmp 0x456157
cmp dword [ebp - 0x1034], 0xa
jae 0x45626f
cvtsi2sd xmm0, dword [ebp - 0x1034]
movsd xmm1, qword [ebp - 0x9af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9af8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9af8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4561c6
mov eax, dword [ebp - 0x1034]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9af0], xmm1
jmp 0x4560c7
cvtsi2sd xmm0, dword [ebp - 0x1034]
movsd xmm1, qword [ebp - 0x9af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b00], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456223
mov eax, dword [ebp - 0x1034]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9af0], xmm1
jmp 0x456237
xor eax, eax
je 0x456233
jmp 0x4562ef
jmp 0x45625a
cvtsi2sd xmm0, dword [ebp - 0x1034]
movsd xmm1, qword [ebp - 0x9af0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1038], eax
jmp 0x4562f9
xor eax, eax
inc eax
je 0x456265
jmp 0x456274
jmp 0x4560c7
jmp 0x4560c7
xor eax, eax
inc eax
je 0x4562ef
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x103c], eax
cvtsi2sd xmm0, dword [ebp - 0x103c]
mov eax, dword [ebp - 0x103c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9af0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1038], eax
jmp 0x4562f9
mov dword [ebp - 0x1038], 7
mov eax, dword [ebp - 0x1024]
shl eax, 2
add eax, dword [ebp - 0x1020]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1038]
mov ecx, dword [ebp - 0x1024]
shl ecx, 2
add ecx, dword [ebp - 0x1020]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4565de
xor eax, eax
je 0x45635e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45639a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9b08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x456531
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x456531
and dword [ebp - 0x1040], 0
jmp 0x456414
cmp dword [ebp - 0x1040], 0xa
jae 0x45652c
cvtsi2sd xmm0, dword [ebp - 0x1040]
movsd xmm1, qword [ebp - 0x9b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456483
mov eax, dword [ebp - 0x1040]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b08], xmm1
jmp 0x456384
cvtsi2sd xmm0, dword [ebp - 0x1040]
movsd xmm1, qword [ebp - 0x9b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4564e0
mov eax, dword [ebp - 0x1040]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b08], xmm1
jmp 0x4564f4
xor eax, eax
je 0x4564f0
jmp 0x4565ac
jmp 0x456517
cvtsi2sd xmm0, dword [ebp - 0x1040]
movsd xmm1, qword [ebp - 0x9b08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1044], eax
jmp 0x4565b6
xor eax, eax
inc eax
je 0x456522
jmp 0x456531
jmp 0x456384
jmp 0x456384
xor eax, eax
inc eax
je 0x4565ac
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1048], eax
cvtsi2sd xmm0, dword [ebp - 0x1048]
mov eax, dword [ebp - 0x1048]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9b08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1044], eax
jmp 0x4565b6
mov dword [ebp - 0x1044], 7
mov eax, dword [ebp - 0x1024]
shl eax, 2
add eax, dword [ebp - 0x1020]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1044]
mov ecx, dword [ebp - 0x1024]
shl ecx, 2
add ecx, dword [ebp - 0x1020]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1024]
add eax, 0xffffffb0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9b20], xmm0
xor eax, eax
je 0x4565f8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x456634
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9b20]
movsd qword [ebp - 0x9b28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4567cb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4567cb
and dword [ebp - 0x104c], 0
jmp 0x4566ae
cmp dword [ebp - 0x104c], 0xa
jae 0x4567c6
cvtsi2sd xmm0, dword [ebp - 0x104c]
movsd xmm1, qword [ebp - 0x9b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45671d
mov eax, dword [ebp - 0x104c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b28], xmm1
jmp 0x45661e
cvtsi2sd xmm0, dword [ebp - 0x104c]
movsd xmm1, qword [ebp - 0x9b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45677a
mov eax, dword [ebp - 0x104c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b28], xmm1
jmp 0x45678e
xor eax, eax
je 0x45678a
jmp 0x456846
jmp 0x4567b1
cvtsi2sd xmm0, dword [ebp - 0x104c]
movsd xmm1, qword [ebp - 0x9b28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1050], eax
jmp 0x456850
xor eax, eax
inc eax
je 0x4567bc
jmp 0x4567cb
jmp 0x45661e
jmp 0x45661e
xor eax, eax
inc eax
je 0x456846
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1054], eax
cvtsi2sd xmm0, dword [ebp - 0x1054]
mov eax, dword [ebp - 0x1054]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9b28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1050], eax
jmp 0x456850
mov dword [ebp - 0x1050], 7
mov eax, dword [ebp - 0x1024]
add eax, 0xffffffb0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9b40], xmm0
xor eax, eax
je 0x45686a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4568a6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9b40]
movsd qword [ebp - 0x9b48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x456a3d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x456a3d
and dword [ebp - 0x1058], 0
jmp 0x456920
cmp dword [ebp - 0x1058], 0xa
jae 0x456a38
cvtsi2sd xmm0, dword [ebp - 0x1058]
movsd xmm1, qword [ebp - 0x9b48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45698f
mov eax, dword [ebp - 0x1058]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b48], xmm1
jmp 0x456890
cvtsi2sd xmm0, dword [ebp - 0x1058]
movsd xmm1, qword [ebp - 0x9b48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4569ec
mov eax, dword [ebp - 0x1058]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b48], xmm1
jmp 0x456a00
xor eax, eax
je 0x4569fc
jmp 0x456ab8
jmp 0x456a23
cvtsi2sd xmm0, dword [ebp - 0x1058]
movsd xmm1, qword [ebp - 0x9b48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x105c], eax
jmp 0x456ac2
xor eax, eax
inc eax
je 0x456a2e
jmp 0x456a3d
jmp 0x456890
jmp 0x456890
xor eax, eax
inc eax
je 0x456ab8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1060], eax
cvtsi2sd xmm0, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x1060]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9b48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x105c], eax
jmp 0x456ac2
mov dword [ebp - 0x105c], 7
mov eax, dword [ebp - 0x1024]
shl eax, 2
add eax, dword [ebp - 0x1020]
mov eax, dword [eax]
add eax, dword [ebp - 0x1050]
mov ecx, dword [ebp - 0x1024]
shl ecx, 2
add ecx, dword [ebp - 0x1020]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x105c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1024]
shl ecx, 2
add ecx, dword [ebp - 0x1020]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x456dc2
xor eax, eax
je 0x456b42
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x456b7e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9b60], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x456d15
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x456d15
and dword [ebp - 0x1064], 0
jmp 0x456bf8
cmp dword [ebp - 0x1064], 0xa
jae 0x456d10
cvtsi2sd xmm0, dword [ebp - 0x1064]
movsd xmm1, qword [ebp - 0x9b60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b68], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456c67
mov eax, dword [ebp - 0x1064]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b60], xmm1
jmp 0x456b68
cvtsi2sd xmm0, dword [ebp - 0x1064]
movsd xmm1, qword [ebp - 0x9b60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b70], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456cc4
mov eax, dword [ebp - 0x1064]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b60], xmm1
jmp 0x456cd8
xor eax, eax
je 0x456cd4
jmp 0x456d90
jmp 0x456cfb
cvtsi2sd xmm0, dword [ebp - 0x1064]
movsd xmm1, qword [ebp - 0x9b60]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1068], eax
jmp 0x456d9a
xor eax, eax
inc eax
je 0x456d06
jmp 0x456d15
jmp 0x456b68
jmp 0x456b68
xor eax, eax
inc eax
je 0x456d90
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x106c], eax
cvtsi2sd xmm0, dword [ebp - 0x106c]
mov eax, dword [ebp - 0x106c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9b60]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1068], eax
jmp 0x456d9a
mov dword [ebp - 0x1068], 7
mov eax, dword [ebp - 0x1024]
shl eax, 2
add eax, dword [ebp - 0x1020]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1068]
mov ecx, dword [ebp - 0x1024]
shl ecx, 2
add ecx, dword [ebp - 0x1020]
mov dword [ecx], eax
jmp 0x455d48
mov eax, dword [ebp - 0x101c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x101c]
mov dword [ebp - 0x1070], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1070]
mov eax, dword [eax]
mov dword [ebp - 0x1074], eax
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0xfbc], eax
cmp dword [ebp - 0xfbc], 0
je 0x457eed
xor eax, eax
mov byte [ebp - 0x2c], al
lea ecx, [ebp - 0x2c]
call fcn.00416914
mov dword [ebp - 0x1078], eax
mov eax, dword [ebp - 0x1078]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x457ec3
mov eax, dword [ebp - 0x1078]
mov dword [ebp - 0x107c], eax
and dword [ebp - 0x1080], 0
jmp 0x456e51
mov eax, dword [ebp - 0x1080]
inc eax
mov dword [ebp - 0x1080], eax
cmp dword [ebp - 0x1080], 1
jae 0x457ec3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45711b
xor eax, eax
je 0x456e9b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x456ed7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9b78], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45706e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45706e
and dword [ebp - 0x1084], 0
jmp 0x456f51
cmp dword [ebp - 0x1084], 0xa
jae 0x457069
cvtsi2sd xmm0, dword [ebp - 0x1084]
movsd xmm1, qword [ebp - 0x9b78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b80], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456fc0
mov eax, dword [ebp - 0x1084]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b78], xmm1
jmp 0x456ec1
cvtsi2sd xmm0, dword [ebp - 0x1084]
movsd xmm1, qword [ebp - 0x9b78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b88], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45701d
mov eax, dword [ebp - 0x1084]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b78], xmm1
jmp 0x457031
xor eax, eax
je 0x45702d
jmp 0x4570e9
jmp 0x457054
cvtsi2sd xmm0, dword [ebp - 0x1084]
movsd xmm1, qword [ebp - 0x9b78]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1088], eax
jmp 0x4570f3
xor eax, eax
inc eax
je 0x45705f
jmp 0x45706e
jmp 0x456ec1
jmp 0x456ec1
xor eax, eax
inc eax
je 0x4570e9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x108c], eax
cvtsi2sd xmm0, dword [ebp - 0x108c]
mov eax, dword [ebp - 0x108c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9b78]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1088], eax
jmp 0x4570f3
mov dword [ebp - 0x1088], 7
mov eax, dword [ebp - 0x1080]
shl eax, 2
add eax, dword [ebp - 0x107c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1088]
mov ecx, dword [ebp - 0x1080]
shl ecx, 2
add ecx, dword [ebp - 0x107c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x457c01
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45741d
xor eax, eax
je 0x45719d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4571d9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9b90], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x457370
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x457370
and dword [ebp - 0x1090], 0
jmp 0x457253
cmp dword [ebp - 0x1090], 0xa
jae 0x45736b
cvtsi2sd xmm0, dword [ebp - 0x1090]
movsd xmm1, qword [ebp - 0x9b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b98], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4572c2
mov eax, dword [ebp - 0x1090]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b90], xmm1
jmp 0x4571c3
cvtsi2sd xmm0, dword [ebp - 0x1090]
movsd xmm1, qword [ebp - 0x9b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ba0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ba0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45731f
mov eax, dword [ebp - 0x1090]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b90], xmm1
jmp 0x457333
xor eax, eax
je 0x45732f
jmp 0x4573eb
jmp 0x457356
cvtsi2sd xmm0, dword [ebp - 0x1090]
movsd xmm1, qword [ebp - 0x9b90]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1094], eax
jmp 0x4573f5
xor eax, eax
inc eax
je 0x457361
jmp 0x457370
jmp 0x4571c3
jmp 0x4571c3
xor eax, eax
inc eax
je 0x4573eb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1098], eax
cvtsi2sd xmm0, dword [ebp - 0x1098]
mov eax, dword [ebp - 0x1098]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9b90]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1094], eax
jmp 0x4573f5
mov dword [ebp - 0x1094], 7
mov eax, dword [ebp - 0x1080]
shl eax, 2
add eax, dword [ebp - 0x107c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1094]
mov ecx, dword [ebp - 0x1080]
shl ecx, 2
add ecx, dword [ebp - 0x107c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4576da
xor eax, eax
je 0x45745a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x457496
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9ba8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45762d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45762d
and dword [ebp - 0x109c], 0
jmp 0x457510
cmp dword [ebp - 0x109c], 0xa
jae 0x457628
cvtsi2sd xmm0, dword [ebp - 0x109c]
movsd xmm1, qword [ebp - 0x9ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45757f
mov eax, dword [ebp - 0x109c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ba8], xmm1
jmp 0x457480
cvtsi2sd xmm0, dword [ebp - 0x109c]
movsd xmm1, qword [ebp - 0x9ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4575dc
mov eax, dword [ebp - 0x109c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ba8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ba8], xmm1
jmp 0x4575f0
xor eax, eax
je 0x4575ec
jmp 0x4576a8
jmp 0x457613
cvtsi2sd xmm0, dword [ebp - 0x109c]
movsd xmm1, qword [ebp - 0x9ba8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10a0], eax
jmp 0x4576b2
xor eax, eax
inc eax
je 0x45761e
jmp 0x45762d
jmp 0x457480
jmp 0x457480
xor eax, eax
inc eax
je 0x4576a8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x10a4], eax
cvtsi2sd xmm0, dword [ebp - 0x10a4]
mov eax, dword [ebp - 0x10a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ba8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10a0], eax
jmp 0x4576b2
mov dword [ebp - 0x10a0], 7
mov eax, dword [ebp - 0x1080]
shl eax, 2
add eax, dword [ebp - 0x107c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x10a0]
mov ecx, dword [ebp - 0x1080]
shl ecx, 2
add ecx, dword [ebp - 0x107c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1080]
add eax, 0xffffffb0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9bc0], xmm0
xor eax, eax
je 0x4576f4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x457730
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9bc0]
movsd qword [ebp - 0x9bc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4578c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4578c7
and dword [ebp - 0x10a8], 0
jmp 0x4577aa
cmp dword [ebp - 0x10a8], 0xa
jae 0x4578c2
cvtsi2sd xmm0, dword [ebp - 0x10a8]
movsd xmm1, qword [ebp - 0x9bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457819
mov eax, dword [ebp - 0x10a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bc8], xmm1
jmp 0x45771a
cvtsi2sd xmm0, dword [ebp - 0x10a8]
movsd xmm1, qword [ebp - 0x9bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457876
mov eax, dword [ebp - 0x10a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bc8], xmm1
jmp 0x45788a
xor eax, eax
je 0x457886
jmp 0x457942
jmp 0x4578ad
cvtsi2sd xmm0, dword [ebp - 0x10a8]
movsd xmm1, qword [ebp - 0x9bc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10ac], eax
jmp 0x45794c
xor eax, eax
inc eax
je 0x4578b8
jmp 0x4578c7
jmp 0x45771a
jmp 0x45771a
xor eax, eax
inc eax
je 0x457942
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x10b0], eax
cvtsi2sd xmm0, dword [ebp - 0x10b0]
mov eax, dword [ebp - 0x10b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9bc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10ac], eax
jmp 0x45794c
mov dword [ebp - 0x10ac], 7
mov eax, dword [ebp - 0x1080]
add eax, 0xffffffb0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9be0], xmm0
xor eax, eax
je 0x457966
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4579a2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9be0]
movsd qword [ebp - 0x9be8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x457b39
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x457b39
and dword [ebp - 0x10b4], 0
jmp 0x457a1c
cmp dword [ebp - 0x10b4], 0xa
jae 0x457b34
cvtsi2sd xmm0, dword [ebp - 0x10b4]
movsd xmm1, qword [ebp - 0x9be8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457a8b
mov eax, dword [ebp - 0x10b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9be8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9be8], xmm1
jmp 0x45798c
cvtsi2sd xmm0, dword [ebp - 0x10b4]
movsd xmm1, qword [ebp - 0x9be8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457ae8
mov eax, dword [ebp - 0x10b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9be8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9be8], xmm1
jmp 0x457afc
xor eax, eax
je 0x457af8
jmp 0x457bb4
jmp 0x457b1f
cvtsi2sd xmm0, dword [ebp - 0x10b4]
movsd xmm1, qword [ebp - 0x9be8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10b8], eax
jmp 0x457bbe
xor eax, eax
inc eax
je 0x457b2a
jmp 0x457b39
jmp 0x45798c
jmp 0x45798c
xor eax, eax
inc eax
je 0x457bb4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x10bc], eax
cvtsi2sd xmm0, dword [ebp - 0x10bc]
mov eax, dword [ebp - 0x10bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9be8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10b8], eax
jmp 0x457bbe
mov dword [ebp - 0x10b8], 7
mov eax, dword [ebp - 0x1080]
shl eax, 2
add eax, dword [ebp - 0x107c]
mov eax, dword [eax]
add eax, dword [ebp - 0x10ac]
mov ecx, dword [ebp - 0x1080]
shl ecx, 2
add ecx, dword [ebp - 0x107c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x10b8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1080]
shl ecx, 2
add ecx, dword [ebp - 0x107c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x457ebe
xor eax, eax
je 0x457c3e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x457c7a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9c00], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x457e11
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x457e11
and dword [ebp - 0x10c0], 0
jmp 0x457cf4
cmp dword [ebp - 0x10c0], 0xa
jae 0x457e0c
cvtsi2sd xmm0, dword [ebp - 0x10c0]
movsd xmm1, qword [ebp - 0x9c00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c08], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457d63
mov eax, dword [ebp - 0x10c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c00], xmm1
jmp 0x457c64
cvtsi2sd xmm0, dword [ebp - 0x10c0]
movsd xmm1, qword [ebp - 0x9c00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c10], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457dc0
mov eax, dword [ebp - 0x10c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c00], xmm1
jmp 0x457dd4
xor eax, eax
je 0x457dd0
jmp 0x457e8c
jmp 0x457df7
cvtsi2sd xmm0, dword [ebp - 0x10c0]
movsd xmm1, qword [ebp - 0x9c00]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10c4], eax
jmp 0x457e96
xor eax, eax
inc eax
je 0x457e02
jmp 0x457e11
jmp 0x457c64
jmp 0x457c64
xor eax, eax
inc eax
je 0x457e8c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x10c8], eax
cvtsi2sd xmm0, dword [ebp - 0x10c8]
mov eax, dword [ebp - 0x10c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9c00]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10c4], eax
jmp 0x457e96
mov dword [ebp - 0x10c4], 7
mov eax, dword [ebp - 0x1080]
shl eax, 2
add eax, dword [ebp - 0x107c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x10c4]
mov ecx, dword [ebp - 0x1080]
shl ecx, 2
add ecx, dword [ebp - 0x107c]
mov dword [ecx], eax
jmp 0x456e44
mov eax, dword [ebp - 0x1078]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1078]
mov dword [ebp - 0x10cc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x10cc]
mov eax, dword [eax]
mov dword [ebp - 0x1074], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10d0], eax
xor eax, eax
mov byte [ebp - 0x2d], al
lea ecx, [ebp - 0x2d]
call fcn.00417b92
mov dword [ebp - 0x10d4], eax
mov eax, dword [ebp - 0x10d4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x458faf
mov eax, dword [ebp - 0x10d4]
mov dword [ebp - 0x10d8], eax
and dword [ebp - 0x10dc], 0
jmp 0x457f3d
mov eax, dword [ebp - 0x10dc]
inc eax
mov dword [ebp - 0x10dc], eax
cmp dword [ebp - 0x10dc], 1
jae 0x458faf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x458207
xor eax, eax
je 0x457f87
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x457fc3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb8]
movsd qword [ebp - 0x9c18], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45815a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45815a
and dword [ebp - 0x10e0], 0
jmp 0x45803d
cmp dword [ebp - 0x10e0], 0xa
jae 0x458155
cvtsi2sd xmm0, dword [ebp - 0x10e0]
movsd xmm1, qword [ebp - 0x9c18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c20], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4580ac
mov eax, dword [ebp - 0x10e0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c18], xmm1
jmp 0x457fad
cvtsi2sd xmm0, dword [ebp - 0x10e0]
movsd xmm1, qword [ebp - 0x9c18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c28], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458109
mov eax, dword [ebp - 0x10e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c18], xmm1
jmp 0x45811d
xor eax, eax
je 0x458119
jmp 0x4581d5
jmp 0x458140
cvtsi2sd xmm0, dword [ebp - 0x10e0]
movsd xmm1, qword [ebp - 0x9c18]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10e4], eax
jmp 0x4581df
xor eax, eax
inc eax
je 0x45814b
jmp 0x45815a
jmp 0x457fad
jmp 0x457fad
xor eax, eax
inc eax
je 0x4581d5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x10e8], eax
cvtsi2sd xmm0, dword [ebp - 0x10e8]
mov eax, dword [ebp - 0x10e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9c18]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10e4], eax
jmp 0x4581df
mov dword [ebp - 0x10e4], 7
mov eax, dword [ebp - 0x10dc]
shl eax, 2
add eax, dword [ebp - 0x10d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x10e4]
mov ecx, dword [ebp - 0x10dc]
shl ecx, 2
add ecx, dword [ebp - 0x10d8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x458ced
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x458509
xor eax, eax
je 0x458289
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4582c5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9c30], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45845c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45845c
and dword [ebp - 0x10ec], 0
jmp 0x45833f
cmp dword [ebp - 0x10ec], 0xa
jae 0x458457
cvtsi2sd xmm0, dword [ebp - 0x10ec]
movsd xmm1, qword [ebp - 0x9c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c38], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4583ae
mov eax, dword [ebp - 0x10ec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c30], xmm1
jmp 0x4582af
cvtsi2sd xmm0, dword [ebp - 0x10ec]
movsd xmm1, qword [ebp - 0x9c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c40], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45840b
mov eax, dword [ebp - 0x10ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c30], xmm1
jmp 0x45841f
xor eax, eax
je 0x45841b
jmp 0x4584d7
jmp 0x458442
cvtsi2sd xmm0, dword [ebp - 0x10ec]
movsd xmm1, qword [ebp - 0x9c30]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10f0], eax
jmp 0x4584e1
xor eax, eax
inc eax
je 0x45844d
jmp 0x45845c
jmp 0x4582af
jmp 0x4582af
xor eax, eax
inc eax
je 0x4584d7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x10f4], eax
cvtsi2sd xmm0, dword [ebp - 0x10f4]
mov eax, dword [ebp - 0x10f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9c30]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10f0], eax
jmp 0x4584e1
mov dword [ebp - 0x10f0], 7
mov eax, dword [ebp - 0x10dc]
shl eax, 2
add eax, dword [ebp - 0x10d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x10f0]
mov ecx, dword [ebp - 0x10dc]
shl ecx, 2
add ecx, dword [ebp - 0x10d8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4587c6
xor eax, eax
je 0x458546
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x458582
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9c48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x458719
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x458719
and dword [ebp - 0x10f8], 0
jmp 0x4585fc
cmp dword [ebp - 0x10f8], 0xa
jae 0x458714
cvtsi2sd xmm0, dword [ebp - 0x10f8]
movsd xmm1, qword [ebp - 0x9c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45866b
mov eax, dword [ebp - 0x10f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c48], xmm1
jmp 0x45856c
cvtsi2sd xmm0, dword [ebp - 0x10f8]
movsd xmm1, qword [ebp - 0x9c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4586c8
mov eax, dword [ebp - 0x10f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c48], xmm1
jmp 0x4586dc
xor eax, eax
je 0x4586d8
jmp 0x458794
jmp 0x4586ff
cvtsi2sd xmm0, dword [ebp - 0x10f8]
movsd xmm1, qword [ebp - 0x9c48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10fc], eax
jmp 0x45879e
xor eax, eax
inc eax
je 0x45870a
jmp 0x458719
jmp 0x45856c
jmp 0x45856c
xor eax, eax
inc eax
je 0x458794
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1100], eax
cvtsi2sd xmm0, dword [ebp - 0x1100]
mov eax, dword [ebp - 0x1100]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9c48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x10fc], eax
jmp 0x45879e
mov dword [ebp - 0x10fc], 7
mov eax, dword [ebp - 0x10dc]
shl eax, 2
add eax, dword [ebp - 0x10d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x10fc]
mov ecx, dword [ebp - 0x10dc]
shl ecx, 2
add ecx, dword [ebp - 0x10d8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10dc]
add eax, 0xffffffb0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9c60], xmm0
xor eax, eax
je 0x4587e0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45881c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9c60]
movsd qword [ebp - 0x9c68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4589b3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4589b3
and dword [ebp - 0x1104], 0
jmp 0x458896
cmp dword [ebp - 0x1104], 0xa
jae 0x4589ae
cvtsi2sd xmm0, dword [ebp - 0x1104]
movsd xmm1, qword [ebp - 0x9c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458905
mov eax, dword [ebp - 0x1104]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c68], xmm1
jmp 0x458806
cvtsi2sd xmm0, dword [ebp - 0x1104]
movsd xmm1, qword [ebp - 0x9c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458962
mov eax, dword [ebp - 0x1104]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c68], xmm1
jmp 0x458976
xor eax, eax
je 0x458972
jmp 0x458a2e
jmp 0x458999
cvtsi2sd xmm0, dword [ebp - 0x1104]
movsd xmm1, qword [ebp - 0x9c68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1108], eax
jmp 0x458a38
xor eax, eax
inc eax
je 0x4589a4
jmp 0x4589b3
jmp 0x458806
jmp 0x458806
xor eax, eax
inc eax
je 0x458a2e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x110c], eax
cvtsi2sd xmm0, dword [ebp - 0x110c]
mov eax, dword [ebp - 0x110c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9c68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1108], eax
jmp 0x458a38
mov dword [ebp - 0x1108], 7
mov eax, dword [ebp - 0x10dc]
add eax, 0xffffffb0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9c80], xmm0
xor eax, eax
je 0x458a52
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x458a8e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9c80]
movsd qword [ebp - 0x9c88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x458c25
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x458c25
and dword [ebp - 0x1110], 0
jmp 0x458b08
cmp dword [ebp - 0x1110], 0xa
jae 0x458c20
cvtsi2sd xmm0, dword [ebp - 0x1110]
movsd xmm1, qword [ebp - 0x9c88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458b77
mov eax, dword [ebp - 0x1110]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c88], xmm1
jmp 0x458a78
cvtsi2sd xmm0, dword [ebp - 0x1110]
movsd xmm1, qword [ebp - 0x9c88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458bd4
mov eax, dword [ebp - 0x1110]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c88], xmm1
jmp 0x458be8
xor eax, eax
je 0x458be4
jmp 0x458ca0
jmp 0x458c0b
cvtsi2sd xmm0, dword [ebp - 0x1110]
movsd xmm1, qword [ebp - 0x9c88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1114], eax
jmp 0x458caa
xor eax, eax
inc eax
je 0x458c16
jmp 0x458c25
jmp 0x458a78
jmp 0x458a78
xor eax, eax
inc eax
je 0x458ca0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1118], eax
cvtsi2sd xmm0, dword [ebp - 0x1118]
mov eax, dword [ebp - 0x1118]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9c88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1114], eax
jmp 0x458caa
mov dword [ebp - 0x1114], 7
mov eax, dword [ebp - 0x10dc]
shl eax, 2
add eax, dword [ebp - 0x10d8]
mov eax, dword [eax]
add eax, dword [ebp - 0x1108]
mov ecx, dword [ebp - 0x10dc]
shl ecx, 2
add ecx, dword [ebp - 0x10d8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1114]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x10dc]
shl ecx, 2
add ecx, dword [ebp - 0x10d8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x458faa
xor eax, eax
je 0x458d2a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x458d66
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9ca0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x458efd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x458efd
and dword [ebp - 0x111c], 0
jmp 0x458de0
cmp dword [ebp - 0x111c], 0xa
jae 0x458ef8
cvtsi2sd xmm0, dword [ebp - 0x111c]
movsd xmm1, qword [ebp - 0x9ca0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ca8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ca8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458e4f
mov eax, dword [ebp - 0x111c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ca0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ca0], xmm1
jmp 0x458d50
cvtsi2sd xmm0, dword [ebp - 0x111c]
movsd xmm1, qword [ebp - 0x9ca0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cb0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458eac
mov eax, dword [ebp - 0x111c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ca0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ca0], xmm1
jmp 0x458ec0
xor eax, eax
je 0x458ebc
jmp 0x458f78
jmp 0x458ee3
cvtsi2sd xmm0, dword [ebp - 0x111c]
movsd xmm1, qword [ebp - 0x9ca0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1120], eax
jmp 0x458f82
xor eax, eax
inc eax
je 0x458eee
jmp 0x458efd
jmp 0x458d50
jmp 0x458d50
xor eax, eax
inc eax
je 0x458f78
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1124], eax
cvtsi2sd xmm0, dword [ebp - 0x1124]
mov eax, dword [ebp - 0x1124]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ca0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1120], eax
jmp 0x458f82
mov dword [ebp - 0x1120], 7
mov eax, dword [ebp - 0x10dc]
shl eax, 2
add eax, dword [ebp - 0x10d8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1120]
mov ecx, dword [ebp - 0x10dc]
shl ecx, 2
add ecx, dword [ebp - 0x10d8]
mov dword [ecx], eax
jmp 0x457f30
mov eax, dword [ebp - 0x10d4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x10d4]
mov dword [ebp - 0x1128], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1128]
mov eax, dword [eax]
mov dword [ebp - 0x112c], eax
xor eax, eax
mov byte [ebp - 0x2e], al
lea ecx, [ebp - 0x2e]
call fcn.0041948e
mov dword [ebp - 0x1130], eax
mov eax, dword [ebp - 0x1130]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x45a092
mov eax, dword [ebp - 0x1130]
mov dword [ebp - 0x1134], eax
and dword [ebp - 0x1138], 0
jmp 0x459020
mov eax, dword [ebp - 0x1138]
inc eax
mov dword [ebp - 0x1138], eax
cmp dword [ebp - 0x1138], 1
jae 0x45a092
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4592ea
xor eax, eax
je 0x45906a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4590a6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9cb8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45923d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45923d
and dword [ebp - 0x113c], 0
jmp 0x459120
cmp dword [ebp - 0x113c], 0xa
jae 0x459238
cvtsi2sd xmm0, dword [ebp - 0x113c]
movsd xmm1, qword [ebp - 0x9cb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cc0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45918f
mov eax, dword [ebp - 0x113c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cb8], xmm1
jmp 0x459090
cvtsi2sd xmm0, dword [ebp - 0x113c]
movsd xmm1, qword [ebp - 0x9cb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cc8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4591ec
mov eax, dword [ebp - 0x113c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cb8], xmm1
jmp 0x459200
xor eax, eax
je 0x4591fc
jmp 0x4592b8
jmp 0x459223
cvtsi2sd xmm0, dword [ebp - 0x113c]
movsd xmm1, qword [ebp - 0x9cb8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1140], eax
jmp 0x4592c2
xor eax, eax
inc eax
je 0x45922e
jmp 0x45923d
jmp 0x459090
jmp 0x459090
xor eax, eax
inc eax
je 0x4592b8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1144], eax
cvtsi2sd xmm0, dword [ebp - 0x1144]
mov eax, dword [ebp - 0x1144]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9cb8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1140], eax
jmp 0x4592c2
mov dword [ebp - 0x1140], 7
mov eax, dword [ebp - 0x1138]
shl eax, 2
add eax, dword [ebp - 0x1134]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1140]
mov ecx, dword [ebp - 0x1138]
shl ecx, 2
add ecx, dword [ebp - 0x1134]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x459dd0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4595ec
xor eax, eax
je 0x45936c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4593a8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9cd0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45953f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45953f
and dword [ebp - 0x1148], 0
jmp 0x459422
cmp dword [ebp - 0x1148], 0xa
jae 0x45953a
cvtsi2sd xmm0, dword [ebp - 0x1148]
movsd xmm1, qword [ebp - 0x9cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cd8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459491
mov eax, dword [ebp - 0x1148]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cd0], xmm1
jmp 0x459392
cvtsi2sd xmm0, dword [ebp - 0x1148]
movsd xmm1, qword [ebp - 0x9cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ce0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ce0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4594ee
mov eax, dword [ebp - 0x1148]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cd0], xmm1
jmp 0x459502
xor eax, eax
je 0x4594fe
jmp 0x4595ba
jmp 0x459525
cvtsi2sd xmm0, dword [ebp - 0x1148]
movsd xmm1, qword [ebp - 0x9cd0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x114c], eax
jmp 0x4595c4
xor eax, eax
inc eax
je 0x459530
jmp 0x45953f
jmp 0x459392
jmp 0x459392
xor eax, eax
inc eax
je 0x4595ba
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1150], eax
cvtsi2sd xmm0, dword [ebp - 0x1150]
mov eax, dword [ebp - 0x1150]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9cd0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x114c], eax
jmp 0x4595c4
mov dword [ebp - 0x114c], 7
mov eax, dword [ebp - 0x1138]
shl eax, 2
add eax, dword [ebp - 0x1134]
mov eax, dword [eax]
xor eax, dword [ebp - 0x114c]
mov ecx, dword [ebp - 0x1138]
shl ecx, 2
add ecx, dword [ebp - 0x1134]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4598a9
xor eax, eax
je 0x459629
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x459665
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9ce8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4597fc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4597fc
and dword [ebp - 0x1154], 0
jmp 0x4596df
cmp dword [ebp - 0x1154], 0xa
jae 0x4597f7
cvtsi2sd xmm0, dword [ebp - 0x1154]
movsd xmm1, qword [ebp - 0x9ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45974e
mov eax, dword [ebp - 0x1154]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ce8], xmm1
jmp 0x45964f
cvtsi2sd xmm0, dword [ebp - 0x1154]
movsd xmm1, qword [ebp - 0x9ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4597ab
mov eax, dword [ebp - 0x1154]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ce8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ce8], xmm1
jmp 0x4597bf
xor eax, eax
je 0x4597bb
jmp 0x459877
jmp 0x4597e2
cvtsi2sd xmm0, dword [ebp - 0x1154]
movsd xmm1, qword [ebp - 0x9ce8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1158], eax
jmp 0x459881
xor eax, eax
inc eax
je 0x4597ed
jmp 0x4597fc
jmp 0x45964f
jmp 0x45964f
xor eax, eax
inc eax
je 0x459877
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x115c], eax
cvtsi2sd xmm0, dword [ebp - 0x115c]
mov eax, dword [ebp - 0x115c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ce8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1158], eax
jmp 0x459881
mov dword [ebp - 0x1158], 7
mov eax, dword [ebp - 0x1138]
shl eax, 2
add eax, dword [ebp - 0x1134]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1158]
mov ecx, dword [ebp - 0x1138]
shl ecx, 2
add ecx, dword [ebp - 0x1134]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1138]
add eax, 0xffffffb1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9d00], xmm0
xor eax, eax
je 0x4598c3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4598ff
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9d00]
movsd qword [ebp - 0x9d08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x459a96
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x459a96
and dword [ebp - 0x1160], 0
jmp 0x459979
cmp dword [ebp - 0x1160], 0xa
jae 0x459a91
cvtsi2sd xmm0, dword [ebp - 0x1160]
movsd xmm1, qword [ebp - 0x9d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4599e8
mov eax, dword [ebp - 0x1160]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d08], xmm1
jmp 0x4598e9
cvtsi2sd xmm0, dword [ebp - 0x1160]
movsd xmm1, qword [ebp - 0x9d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459a45
mov eax, dword [ebp - 0x1160]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d08], xmm1
jmp 0x459a59
xor eax, eax
je 0x459a55
jmp 0x459b11
jmp 0x459a7c
cvtsi2sd xmm0, dword [ebp - 0x1160]
movsd xmm1, qword [ebp - 0x9d08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1164], eax
jmp 0x459b1b
xor eax, eax
inc eax
je 0x459a87
jmp 0x459a96
jmp 0x4598e9
jmp 0x4598e9
xor eax, eax
inc eax
je 0x459b11
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1168], eax
cvtsi2sd xmm0, dword [ebp - 0x1168]
mov eax, dword [ebp - 0x1168]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9d08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1164], eax
jmp 0x459b1b
mov dword [ebp - 0x1164], 7
mov eax, dword [ebp - 0x1138]
add eax, 0xffffffb1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9d20], xmm0
xor eax, eax
je 0x459b35
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x459b71
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9d20]
movsd qword [ebp - 0x9d28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x459d08
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x459d08
and dword [ebp - 0x116c], 0
jmp 0x459beb
cmp dword [ebp - 0x116c], 0xa
jae 0x459d03
cvtsi2sd xmm0, dword [ebp - 0x116c]
movsd xmm1, qword [ebp - 0x9d28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459c5a
mov eax, dword [ebp - 0x116c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d28], xmm1
jmp 0x459b5b
cvtsi2sd xmm0, dword [ebp - 0x116c]
movsd xmm1, qword [ebp - 0x9d28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459cb7
mov eax, dword [ebp - 0x116c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d28], xmm1
jmp 0x459ccb
xor eax, eax
je 0x459cc7
jmp 0x459d83
jmp 0x459cee
cvtsi2sd xmm0, dword [ebp - 0x116c]
movsd xmm1, qword [ebp - 0x9d28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1170], eax
jmp 0x459d8d
xor eax, eax
inc eax
je 0x459cf9
jmp 0x459d08
jmp 0x459b5b
jmp 0x459b5b
xor eax, eax
inc eax
je 0x459d83
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1174], eax
cvtsi2sd xmm0, dword [ebp - 0x1174]
mov eax, dword [ebp - 0x1174]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9d28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1170], eax
jmp 0x459d8d
mov dword [ebp - 0x1170], 7
mov eax, dword [ebp - 0x1138]
shl eax, 2
add eax, dword [ebp - 0x1134]
mov eax, dword [eax]
add eax, dword [ebp - 0x1164]
mov ecx, dword [ebp - 0x1138]
shl ecx, 2
add ecx, dword [ebp - 0x1134]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1170]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1138]
shl ecx, 2
add ecx, dword [ebp - 0x1134]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a08d
xor eax, eax
je 0x459e0d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x459e49
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0x9d40], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x459fe0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x459fe0
and dword [ebp - 0x1178], 0
jmp 0x459ec3
cmp dword [ebp - 0x1178], 0xa
jae 0x459fdb
cvtsi2sd xmm0, dword [ebp - 0x1178]
movsd xmm1, qword [ebp - 0x9d40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d48], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459f32
mov eax, dword [ebp - 0x1178]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d40], xmm1
jmp 0x459e33
cvtsi2sd xmm0, dword [ebp - 0x1178]
movsd xmm1, qword [ebp - 0x9d40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d50], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459f8f
mov eax, dword [ebp - 0x1178]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d40], xmm1
jmp 0x459fa3
xor eax, eax
je 0x459f9f
jmp 0x45a05b
jmp 0x459fc6
cvtsi2sd xmm0, dword [ebp - 0x1178]
movsd xmm1, qword [ebp - 0x9d40]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x117c], eax
jmp 0x45a065
xor eax, eax
inc eax
je 0x459fd1
jmp 0x459fe0
jmp 0x459e33
jmp 0x459e33
xor eax, eax
inc eax
je 0x45a05b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1180], eax
cvtsi2sd xmm0, dword [ebp - 0x1180]
mov eax, dword [ebp - 0x1180]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9d40]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x117c], eax
jmp 0x45a065
mov dword [ebp - 0x117c], 7
mov eax, dword [ebp - 0x1138]
shl eax, 2
add eax, dword [ebp - 0x1134]
mov eax, dword [eax]
xor eax, dword [ebp - 0x117c]
mov ecx, dword [ebp - 0x1138]
shl ecx, 2
add ecx, dword [ebp - 0x1134]
mov dword [ecx], eax
jmp 0x459013
mov eax, dword [ebp - 0x1130]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1130]
mov dword [ebp - 0x1184], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1184]
mov eax, dword [eax]
mov dword [ebp - 0x1188], eax
xor eax, eax
mov byte [ebp - 0x2f], al
lea ecx, [ebp - 0x2f]
call fcn.00414f7c
mov dword [ebp - 0x118c], eax
mov eax, dword [ebp - 0x118c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x45b175
mov eax, dword [ebp - 0x118c]
mov dword [ebp - 0x1190], eax
and dword [ebp - 0x1194], 0
jmp 0x45a103
mov eax, dword [ebp - 0x1194]
inc eax
mov dword [ebp - 0x1194], eax
cmp dword [ebp - 0x1194], 1
jae 0x45b175
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a3cd
xor eax, eax
je 0x45a14d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45a189
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706eb0]
movsd qword [ebp - 0x9d58], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45a320
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a320
and dword [ebp - 0x1198], 0
jmp 0x45a203
cmp dword [ebp - 0x1198], 0xa
jae 0x45a31b
cvtsi2sd xmm0, dword [ebp - 0x1198]
movsd xmm1, qword [ebp - 0x9d58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d60], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a272
mov eax, dword [ebp - 0x1198]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d58], xmm1
jmp 0x45a173
cvtsi2sd xmm0, dword [ebp - 0x1198]
movsd xmm1, qword [ebp - 0x9d58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d68], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a2cf
mov eax, dword [ebp - 0x1198]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d58], xmm1
jmp 0x45a2e3
xor eax, eax
je 0x45a2df
jmp 0x45a39b
jmp 0x45a306
cvtsi2sd xmm0, dword [ebp - 0x1198]
movsd xmm1, qword [ebp - 0x9d58]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x119c], eax
jmp 0x45a3a5
xor eax, eax
inc eax
je 0x45a311
jmp 0x45a320
jmp 0x45a173
jmp 0x45a173
xor eax, eax
inc eax
je 0x45a39b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11a0], eax
cvtsi2sd xmm0, dword [ebp - 0x11a0]
mov eax, dword [ebp - 0x11a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9d58]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x119c], eax
jmp 0x45a3a5
mov dword [ebp - 0x119c], 7
mov eax, dword [ebp - 0x1194]
shl eax, 2
add eax, dword [ebp - 0x1190]
mov eax, dword [eax]
xor eax, dword [ebp - 0x119c]
mov ecx, dword [ebp - 0x1194]
shl ecx, 2
add ecx, dword [ebp - 0x1190]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45aeb3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a6cf
xor eax, eax
je 0x45a44f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45a48b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9d70], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45a622
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a622
and dword [ebp - 0x11a4], 0
jmp 0x45a505
cmp dword [ebp - 0x11a4], 0xa
jae 0x45a61d
cvtsi2sd xmm0, dword [ebp - 0x11a4]
movsd xmm1, qword [ebp - 0x9d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d78], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a574
mov eax, dword [ebp - 0x11a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d70], xmm1
jmp 0x45a475
cvtsi2sd xmm0, dword [ebp - 0x11a4]
movsd xmm1, qword [ebp - 0x9d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d80], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a5d1
mov eax, dword [ebp - 0x11a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d70], xmm1
jmp 0x45a5e5
xor eax, eax
je 0x45a5e1
jmp 0x45a69d
jmp 0x45a608
cvtsi2sd xmm0, dword [ebp - 0x11a4]
movsd xmm1, qword [ebp - 0x9d70]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11a8], eax
jmp 0x45a6a7
xor eax, eax
inc eax
je 0x45a613
jmp 0x45a622
jmp 0x45a475
jmp 0x45a475
xor eax, eax
inc eax
je 0x45a69d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11ac], eax
cvtsi2sd xmm0, dword [ebp - 0x11ac]
mov eax, dword [ebp - 0x11ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9d70]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11a8], eax
jmp 0x45a6a7
mov dword [ebp - 0x11a8], 7
mov eax, dword [ebp - 0x1194]
shl eax, 2
add eax, dword [ebp - 0x1190]
mov eax, dword [eax]
xor eax, dword [ebp - 0x11a8]
mov ecx, dword [ebp - 0x1194]
shl ecx, 2
add ecx, dword [ebp - 0x1190]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a98c
xor eax, eax
je 0x45a70c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45a748
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9d88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45a8df
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45a8df
and dword [ebp - 0x11b0], 0
jmp 0x45a7c2
cmp dword [ebp - 0x11b0], 0xa
jae 0x45a8da
cvtsi2sd xmm0, dword [ebp - 0x11b0]
movsd xmm1, qword [ebp - 0x9d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a831
mov eax, dword [ebp - 0x11b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d88], xmm1
jmp 0x45a732
cvtsi2sd xmm0, dword [ebp - 0x11b0]
movsd xmm1, qword [ebp - 0x9d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a88e
mov eax, dword [ebp - 0x11b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d88], xmm1
jmp 0x45a8a2
xor eax, eax
je 0x45a89e
jmp 0x45a95a
jmp 0x45a8c5
cvtsi2sd xmm0, dword [ebp - 0x11b0]
movsd xmm1, qword [ebp - 0x9d88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11b4], eax
jmp 0x45a964
xor eax, eax
inc eax
je 0x45a8d0
jmp 0x45a8df
jmp 0x45a732
jmp 0x45a732
xor eax, eax
inc eax
je 0x45a95a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11b8], eax
cvtsi2sd xmm0, dword [ebp - 0x11b8]
mov eax, dword [ebp - 0x11b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9d88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11b4], eax
jmp 0x45a964
mov dword [ebp - 0x11b4], 7
mov eax, dword [ebp - 0x1194]
shl eax, 2
add eax, dword [ebp - 0x1190]
mov eax, dword [eax]
xor eax, dword [ebp - 0x11b4]
mov ecx, dword [ebp - 0x1194]
shl ecx, 2
add ecx, dword [ebp - 0x1190]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1194]
add eax, 0xffffffb1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9da0], xmm0
xor eax, eax
je 0x45a9a6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45a9e2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9da0]
movsd qword [ebp - 0x9da8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45ab79
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45ab79
and dword [ebp - 0x11bc], 0
jmp 0x45aa5c
cmp dword [ebp - 0x11bc], 0xa
jae 0x45ab74
cvtsi2sd xmm0, dword [ebp - 0x11bc]
movsd xmm1, qword [ebp - 0x9da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9db0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9db0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45aacb
mov eax, dword [ebp - 0x11bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9da8], xmm1
jmp 0x45a9cc
cvtsi2sd xmm0, dword [ebp - 0x11bc]
movsd xmm1, qword [ebp - 0x9da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9db8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9db8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ab28
mov eax, dword [ebp - 0x11bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9da8], xmm1
jmp 0x45ab3c
xor eax, eax
je 0x45ab38
jmp 0x45abf4
jmp 0x45ab5f
cvtsi2sd xmm0, dword [ebp - 0x11bc]
movsd xmm1, qword [ebp - 0x9da8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11c0], eax
jmp 0x45abfe
xor eax, eax
inc eax
je 0x45ab6a
jmp 0x45ab79
jmp 0x45a9cc
jmp 0x45a9cc
xor eax, eax
inc eax
je 0x45abf4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11c4], eax
cvtsi2sd xmm0, dword [ebp - 0x11c4]
mov eax, dword [ebp - 0x11c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9da8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11c0], eax
jmp 0x45abfe
mov dword [ebp - 0x11c0], 7
mov eax, dword [ebp - 0x1194]
add eax, 0xffffffb1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9dc0], xmm0
xor eax, eax
je 0x45ac18
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45ac54
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9dc0]
movsd qword [ebp - 0x9dc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45adeb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45adeb
and dword [ebp - 0x11c8], 0
jmp 0x45acce
cmp dword [ebp - 0x11c8], 0xa
jae 0x45ade6
cvtsi2sd xmm0, dword [ebp - 0x11c8]
movsd xmm1, qword [ebp - 0x9dc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9dd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ad3d
mov eax, dword [ebp - 0x11c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9dc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dc8], xmm1
jmp 0x45ac3e
cvtsi2sd xmm0, dword [ebp - 0x11c8]
movsd xmm1, qword [ebp - 0x9dc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9dd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ad9a
mov eax, dword [ebp - 0x11c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9dc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dc8], xmm1
jmp 0x45adae
xor eax, eax
je 0x45adaa
jmp 0x45ae66
jmp 0x45add1
cvtsi2sd xmm0, dword [ebp - 0x11c8]
movsd xmm1, qword [ebp - 0x9dc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11cc], eax
jmp 0x45ae70
xor eax, eax
inc eax
je 0x45addc
jmp 0x45adeb
jmp 0x45ac3e
jmp 0x45ac3e
xor eax, eax
inc eax
je 0x45ae66
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11d0], eax
cvtsi2sd xmm0, dword [ebp - 0x11d0]
mov eax, dword [ebp - 0x11d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9dc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11cc], eax
jmp 0x45ae70
mov dword [ebp - 0x11cc], 7
mov eax, dword [ebp - 0x1194]
shl eax, 2
add eax, dword [ebp - 0x1190]
mov eax, dword [eax]
add eax, dword [ebp - 0x11c0]
mov ecx, dword [ebp - 0x1194]
shl ecx, 2
add ecx, dword [ebp - 0x1190]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x11cc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1194]
shl ecx, 2
add ecx, dword [ebp - 0x1190]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b170
xor eax, eax
je 0x45aef0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45af2c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0x9de0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45b0c3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b0c3
and dword [ebp - 0x11d4], 0
jmp 0x45afa6
cmp dword [ebp - 0x11d4], 0xa
jae 0x45b0be
cvtsi2sd xmm0, dword [ebp - 0x11d4]
movsd xmm1, qword [ebp - 0x9de0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9de8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9de8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b015
mov eax, dword [ebp - 0x11d4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9de0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9de0], xmm1
jmp 0x45af16
cvtsi2sd xmm0, dword [ebp - 0x11d4]
movsd xmm1, qword [ebp - 0x9de0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9df0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9df0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b072
mov eax, dword [ebp - 0x11d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9de0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9de0], xmm1
jmp 0x45b086
xor eax, eax
je 0x45b082
jmp 0x45b13e
jmp 0x45b0a9
cvtsi2sd xmm0, dword [ebp - 0x11d4]
movsd xmm1, qword [ebp - 0x9de0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11d8], eax
jmp 0x45b148
xor eax, eax
inc eax
je 0x45b0b4
jmp 0x45b0c3
jmp 0x45af16
jmp 0x45af16
xor eax, eax
inc eax
je 0x45b13e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11dc], eax
cvtsi2sd xmm0, dword [ebp - 0x11dc]
mov eax, dword [ebp - 0x11dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9de0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11d8], eax
jmp 0x45b148
mov dword [ebp - 0x11d8], 7
mov eax, dword [ebp - 0x1194]
shl eax, 2
add eax, dword [ebp - 0x1190]
mov eax, dword [eax]
xor eax, dword [ebp - 0x11d8]
mov ecx, dword [ebp - 0x1194]
shl ecx, 2
add ecx, dword [ebp - 0x1190]
mov dword [ecx], eax
jmp 0x45a0f6
mov eax, dword [ebp - 0x118c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x118c]
mov dword [ebp - 0x11e0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x11e0]
mov eax, dword [eax]
mov dword [ebp - 0x11e4], eax
mov eax, dword [ebp - 0x1188]
mov dword [ebp - 0x112c], eax
cmp dword [ebp - 0x112c], 0
je 0x45c29b
xor eax, eax
mov byte [ebp - 0x30], al
lea ecx, [ebp - 0x30]
call fcn.0041757a
mov dword [ebp - 0x11e8], eax
mov eax, dword [ebp - 0x11e8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x45c271
mov eax, dword [ebp - 0x11e8]
mov dword [ebp - 0x11ec], eax
and dword [ebp - 0x11f0], 0
jmp 0x45b1ff
mov eax, dword [ebp - 0x11f0]
inc eax
mov dword [ebp - 0x11f0], eax
cmp dword [ebp - 0x11f0], 1
jae 0x45c271
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b4c9
xor eax, eax
je 0x45b249
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45b285
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9df8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45b41c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b41c
and dword [ebp - 0x11f4], 0
jmp 0x45b2ff
cmp dword [ebp - 0x11f4], 0xa
jae 0x45b417
cvtsi2sd xmm0, dword [ebp - 0x11f4]
movsd xmm1, qword [ebp - 0x9df8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e00], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b36e
mov eax, dword [ebp - 0x11f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9df8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9df8], xmm1
jmp 0x45b26f
cvtsi2sd xmm0, dword [ebp - 0x11f4]
movsd xmm1, qword [ebp - 0x9df8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e08], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b3cb
mov eax, dword [ebp - 0x11f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9df8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9df8], xmm1
jmp 0x45b3df
xor eax, eax
je 0x45b3db
jmp 0x45b497
jmp 0x45b402
cvtsi2sd xmm0, dword [ebp - 0x11f4]
movsd xmm1, qword [ebp - 0x9df8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11f8], eax
jmp 0x45b4a1
xor eax, eax
inc eax
je 0x45b40d
jmp 0x45b41c
jmp 0x45b26f
jmp 0x45b26f
xor eax, eax
inc eax
je 0x45b497
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x11fc], eax
cvtsi2sd xmm0, dword [ebp - 0x11fc]
mov eax, dword [ebp - 0x11fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9df8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x11f8], eax
jmp 0x45b4a1
mov dword [ebp - 0x11f8], 7
mov eax, dword [ebp - 0x11f0]
shl eax, 2
add eax, dword [ebp - 0x11ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x11f8]
mov ecx, dword [ebp - 0x11f0]
shl ecx, 2
add ecx, dword [ebp - 0x11ec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45bfaf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b7cb
xor eax, eax
je 0x45b54b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45b587
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9e10], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45b71e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b71e
and dword [ebp - 0x1200], 0
jmp 0x45b601
cmp dword [ebp - 0x1200], 0xa
jae 0x45b719
cvtsi2sd xmm0, dword [ebp - 0x1200]
movsd xmm1, qword [ebp - 0x9e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e18], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b670
mov eax, dword [ebp - 0x1200]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e10], xmm1
jmp 0x45b571
cvtsi2sd xmm0, dword [ebp - 0x1200]
movsd xmm1, qword [ebp - 0x9e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e20], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b6cd
mov eax, dword [ebp - 0x1200]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e10], xmm1
jmp 0x45b6e1
xor eax, eax
je 0x45b6dd
jmp 0x45b799
jmp 0x45b704
cvtsi2sd xmm0, dword [ebp - 0x1200]
movsd xmm1, qword [ebp - 0x9e10]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1204], eax
jmp 0x45b7a3
xor eax, eax
inc eax
je 0x45b70f
jmp 0x45b71e
jmp 0x45b571
jmp 0x45b571
xor eax, eax
inc eax
je 0x45b799
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1208], eax
cvtsi2sd xmm0, dword [ebp - 0x1208]
mov eax, dword [ebp - 0x1208]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9e10]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1204], eax
jmp 0x45b7a3
mov dword [ebp - 0x1204], 7
mov eax, dword [ebp - 0x11f0]
shl eax, 2
add eax, dword [ebp - 0x11ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1204]
mov ecx, dword [ebp - 0x11f0]
shl ecx, 2
add ecx, dword [ebp - 0x11ec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45ba88
xor eax, eax
je 0x45b808
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45b844
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0x9e28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45b9db
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45b9db
and dword [ebp - 0x120c], 0
jmp 0x45b8be
cmp dword [ebp - 0x120c], 0xa
jae 0x45b9d6
cvtsi2sd xmm0, dword [ebp - 0x120c]
movsd xmm1, qword [ebp - 0x9e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b92d
mov eax, dword [ebp - 0x120c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e28], xmm1
jmp 0x45b82e
cvtsi2sd xmm0, dword [ebp - 0x120c]
movsd xmm1, qword [ebp - 0x9e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b98a
mov eax, dword [ebp - 0x120c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e28], xmm1
jmp 0x45b99e
xor eax, eax
je 0x45b99a
jmp 0x45ba56
jmp 0x45b9c1
cvtsi2sd xmm0, dword [ebp - 0x120c]
movsd xmm1, qword [ebp - 0x9e28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1210], eax
jmp 0x45ba60
xor eax, eax
inc eax
je 0x45b9cc
jmp 0x45b9db
jmp 0x45b82e
jmp 0x45b82e
xor eax, eax
inc eax
je 0x45ba56
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1214], eax
cvtsi2sd xmm0, dword [ebp - 0x1214]
mov eax, dword [ebp - 0x1214]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9e28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1210], eax
jmp 0x45ba60
mov dword [ebp - 0x1210], 7
mov eax, dword [ebp - 0x11f0]
shl eax, 2
add eax, dword [ebp - 0x11ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1210]
mov ecx, dword [ebp - 0x11f0]
shl ecx, 2
add ecx, dword [ebp - 0x11ec]
mov dword [ecx], eax
mov eax, dword [ebp - 0x11f0]
add eax, 0xffffffb2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9e40], xmm0
xor eax, eax
je 0x45baa2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45bade
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9e40]
movsd qword [ebp - 0x9e48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45bc75
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45bc75
and dword [ebp - 0x1218], 0
jmp 0x45bb58
cmp dword [ebp - 0x1218], 0xa
jae 0x45bc70
cvtsi2sd xmm0, dword [ebp - 0x1218]
movsd xmm1, qword [ebp - 0x9e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45bbc7
mov eax, dword [ebp - 0x1218]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e48], xmm1
jmp 0x45bac8
cvtsi2sd xmm0, dword [ebp - 0x1218]
movsd xmm1, qword [ebp - 0x9e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45bc24
mov eax, dword [ebp - 0x1218]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e48], xmm1
jmp 0x45bc38
xor eax, eax
je 0x45bc34
jmp 0x45bcf0
jmp 0x45bc5b
cvtsi2sd xmm0, dword [ebp - 0x1218]
movsd xmm1, qword [ebp - 0x9e48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x121c], eax
jmp 0x45bcfa
xor eax, eax
inc eax
je 0x45bc66
jmp 0x45bc75
jmp 0x45bac8
jmp 0x45bac8
xor eax, eax
inc eax
je 0x45bcf0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1220], eax
cvtsi2sd xmm0, dword [ebp - 0x1220]
mov eax, dword [ebp - 0x1220]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9e48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x121c], eax
jmp 0x45bcfa
mov dword [ebp - 0x121c], 7
mov eax, dword [ebp - 0x11f0]
add eax, 0xffffffb2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9e60], xmm0
xor eax, eax
je 0x45bd14
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45bd50
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9e60]
movsd qword [ebp - 0x9e68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45bee7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45bee7
and dword [ebp - 0x1224], 0
jmp 0x45bdca
cmp dword [ebp - 0x1224], 0xa
jae 0x45bee2
cvtsi2sd xmm0, dword [ebp - 0x1224]
movsd xmm1, qword [ebp - 0x9e68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45be39
mov eax, dword [ebp - 0x1224]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e68], xmm1
jmp 0x45bd3a
cvtsi2sd xmm0, dword [ebp - 0x1224]
movsd xmm1, qword [ebp - 0x9e68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45be96
mov eax, dword [ebp - 0x1224]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e68], xmm1
jmp 0x45beaa
xor eax, eax
je 0x45bea6
jmp 0x45bf62
jmp 0x45becd
cvtsi2sd xmm0, dword [ebp - 0x1224]
movsd xmm1, qword [ebp - 0x9e68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1228], eax
jmp 0x45bf6c
xor eax, eax
inc eax
je 0x45bed8
jmp 0x45bee7
jmp 0x45bd3a
jmp 0x45bd3a
xor eax, eax
inc eax
je 0x45bf62
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x122c], eax
cvtsi2sd xmm0, dword [ebp - 0x122c]
mov eax, dword [ebp - 0x122c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9e68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1228], eax
jmp 0x45bf6c
mov dword [ebp - 0x1228], 7
mov eax, dword [ebp - 0x11f0]
shl eax, 2
add eax, dword [ebp - 0x11ec]
mov eax, dword [eax]
add eax, dword [ebp - 0x121c]
mov ecx, dword [ebp - 0x11f0]
shl ecx, 2
add ecx, dword [ebp - 0x11ec]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1228]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x11f0]
shl ecx, 2
add ecx, dword [ebp - 0x11ec]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45c26c
xor eax, eax
je 0x45bfec
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45c028
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0x9e80], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45c1bf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45c1bf
and dword [ebp - 0x1230], 0
jmp 0x45c0a2
cmp dword [ebp - 0x1230], 0xa
jae 0x45c1ba
cvtsi2sd xmm0, dword [ebp - 0x1230]
movsd xmm1, qword [ebp - 0x9e80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e88], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c111
mov eax, dword [ebp - 0x1230]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e80], xmm1
jmp 0x45c012
cvtsi2sd xmm0, dword [ebp - 0x1230]
movsd xmm1, qword [ebp - 0x9e80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e90], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c16e
mov eax, dword [ebp - 0x1230]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e80], xmm1
jmp 0x45c182
xor eax, eax
je 0x45c17e
jmp 0x45c23a
jmp 0x45c1a5
cvtsi2sd xmm0, dword [ebp - 0x1230]
movsd xmm1, qword [ebp - 0x9e80]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1234], eax
jmp 0x45c244
xor eax, eax
inc eax
je 0x45c1b0
jmp 0x45c1bf
jmp 0x45c012
jmp 0x45c012
xor eax, eax
inc eax
je 0x45c23a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1238], eax
cvtsi2sd xmm0, dword [ebp - 0x1238]
mov eax, dword [ebp - 0x1238]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9e80]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1234], eax
jmp 0x45c244
mov dword [ebp - 0x1234], 7
mov eax, dword [ebp - 0x11f0]
shl eax, 2
add eax, dword [ebp - 0x11ec]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1234]
mov ecx, dword [ebp - 0x11f0]
shl ecx, 2
add ecx, dword [ebp - 0x11ec]
mov dword [ecx], eax
jmp 0x45b1f2
mov eax, dword [ebp - 0x11e8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x11e8]
mov dword [ebp - 0x123c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x123c]
mov eax, dword [eax]
mov dword [ebp - 0x11e4], eax
xor eax, eax
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0x31]
call fcn.00419ada
mov dword [ebp - 0x1240], eax
mov eax, dword [ebp - 0x1240]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x45d354
mov eax, dword [ebp - 0x1240]
mov dword [ebp - 0x1244], eax
and dword [ebp - 0x1248], 0
jmp 0x45c2e2
mov eax, dword [ebp - 0x1248]
inc eax
mov dword [ebp - 0x1248], eax
cmp dword [ebp - 0x1248], 1
jae 0x45d354
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45c5ac
xor eax, eax
je 0x45c32c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45c368
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9e98], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45c4ff
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45c4ff
and dword [ebp - 0x124c], 0
jmp 0x45c3e2
cmp dword [ebp - 0x124c], 0xa
jae 0x45c4fa
cvtsi2sd xmm0, dword [ebp - 0x124c]
movsd xmm1, qword [ebp - 0x9e98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ea0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ea0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c451
mov eax, dword [ebp - 0x124c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e98], xmm1
jmp 0x45c352
cvtsi2sd xmm0, dword [ebp - 0x124c]
movsd xmm1, qword [ebp - 0x9e98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ea8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ea8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c4ae
mov eax, dword [ebp - 0x124c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e98], xmm1
jmp 0x45c4c2
xor eax, eax
je 0x45c4be
jmp 0x45c57a
jmp 0x45c4e5
cvtsi2sd xmm0, dword [ebp - 0x124c]
movsd xmm1, qword [ebp - 0x9e98]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1250], eax
jmp 0x45c584
xor eax, eax
inc eax
je 0x45c4f0
jmp 0x45c4ff
jmp 0x45c352
jmp 0x45c352
xor eax, eax
inc eax
je 0x45c57a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1254], eax
cvtsi2sd xmm0, dword [ebp - 0x1254]
mov eax, dword [ebp - 0x1254]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9e98]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1250], eax
jmp 0x45c584
mov dword [ebp - 0x1250], 7
mov eax, dword [ebp - 0x1248]
shl eax, 2
add eax, dword [ebp - 0x1244]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1250]
mov ecx, dword [ebp - 0x1248]
shl ecx, 2
add ecx, dword [ebp - 0x1244]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45d092
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45c8ae
xor eax, eax
je 0x45c62e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45c66a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9eb0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45c801
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45c801
and dword [ebp - 0x1258], 0
jmp 0x45c6e4
cmp dword [ebp - 0x1258], 0xa
jae 0x45c7fc
cvtsi2sd xmm0, dword [ebp - 0x1258]
movsd xmm1, qword [ebp - 0x9eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9eb8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9eb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c753
mov eax, dword [ebp - 0x1258]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9eb0], xmm1
jmp 0x45c654
cvtsi2sd xmm0, dword [ebp - 0x1258]
movsd xmm1, qword [ebp - 0x9eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ec0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ec0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c7b0
mov eax, dword [ebp - 0x1258]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9eb0], xmm1
jmp 0x45c7c4
xor eax, eax
je 0x45c7c0
jmp 0x45c87c
jmp 0x45c7e7
cvtsi2sd xmm0, dword [ebp - 0x1258]
movsd xmm1, qword [ebp - 0x9eb0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x125c], eax
jmp 0x45c886
xor eax, eax
inc eax
je 0x45c7f2
jmp 0x45c801
jmp 0x45c654
jmp 0x45c654
xor eax, eax
inc eax
je 0x45c87c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1260], eax
cvtsi2sd xmm0, dword [ebp - 0x1260]
mov eax, dword [ebp - 0x1260]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9eb0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x125c], eax
jmp 0x45c886
mov dword [ebp - 0x125c], 7
mov eax, dword [ebp - 0x1248]
shl eax, 2
add eax, dword [ebp - 0x1244]
mov eax, dword [eax]
xor eax, dword [ebp - 0x125c]
mov ecx, dword [ebp - 0x1248]
shl ecx, 2
add ecx, dword [ebp - 0x1244]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45cb6b
xor eax, eax
je 0x45c8eb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45c927
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0x9ec8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45cabe
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45cabe
and dword [ebp - 0x1264], 0
jmp 0x45c9a1
cmp dword [ebp - 0x1264], 0xa
jae 0x45cab9
cvtsi2sd xmm0, dword [ebp - 0x1264]
movsd xmm1, qword [ebp - 0x9ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ed0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ed0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ca10
mov eax, dword [ebp - 0x1264]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ec8], xmm1
jmp 0x45c911
cvtsi2sd xmm0, dword [ebp - 0x1264]
movsd xmm1, qword [ebp - 0x9ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ed8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ca6d
mov eax, dword [ebp - 0x1264]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ec8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ec8], xmm1
jmp 0x45ca81
xor eax, eax
je 0x45ca7d
jmp 0x45cb39
jmp 0x45caa4
cvtsi2sd xmm0, dword [ebp - 0x1264]
movsd xmm1, qword [ebp - 0x9ec8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1268], eax
jmp 0x45cb43
xor eax, eax
inc eax
je 0x45caaf
jmp 0x45cabe
jmp 0x45c911
jmp 0x45c911
xor eax, eax
inc eax
je 0x45cb39
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x126c], eax
cvtsi2sd xmm0, dword [ebp - 0x126c]
mov eax, dword [ebp - 0x126c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ec8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1268], eax
jmp 0x45cb43
mov dword [ebp - 0x1268], 7
mov eax, dword [ebp - 0x1248]
shl eax, 2
add eax, dword [ebp - 0x1244]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1268]
mov ecx, dword [ebp - 0x1248]
shl ecx, 2
add ecx, dword [ebp - 0x1244]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1248]
add eax, 0xffffffb2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9ee0], xmm0
xor eax, eax
je 0x45cb85
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45cbc1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9ee0]
movsd qword [ebp - 0x9ee8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45cd58
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45cd58
and dword [ebp - 0x1270], 0
jmp 0x45cc3b
cmp dword [ebp - 0x1270], 0xa
jae 0x45cd53
cvtsi2sd xmm0, dword [ebp - 0x1270]
movsd xmm1, qword [ebp - 0x9ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ef0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ef0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ccaa
mov eax, dword [ebp - 0x1270]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ee8], xmm1
jmp 0x45cbab
cvtsi2sd xmm0, dword [ebp - 0x1270]
movsd xmm1, qword [ebp - 0x9ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ef8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45cd07
mov eax, dword [ebp - 0x1270]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ee8], xmm1
jmp 0x45cd1b
xor eax, eax
je 0x45cd17
jmp 0x45cdd3
jmp 0x45cd3e
cvtsi2sd xmm0, dword [ebp - 0x1270]
movsd xmm1, qword [ebp - 0x9ee8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1274], eax
jmp 0x45cddd
xor eax, eax
inc eax
je 0x45cd49
jmp 0x45cd58
jmp 0x45cbab
jmp 0x45cbab
xor eax, eax
inc eax
je 0x45cdd3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1278], eax
cvtsi2sd xmm0, dword [ebp - 0x1278]
mov eax, dword [ebp - 0x1278]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ee8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1274], eax
jmp 0x45cddd
mov dword [ebp - 0x1274], 7
mov eax, dword [ebp - 0x1248]
add eax, 0xffffffb2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9f00], xmm0
xor eax, eax
je 0x45cdf7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45ce33
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9f00]
movsd qword [ebp - 0x9f08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45cfca
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45cfca
and dword [ebp - 0x127c], 0
jmp 0x45cead
cmp dword [ebp - 0x127c], 0xa
jae 0x45cfc5
cvtsi2sd xmm0, dword [ebp - 0x127c]
movsd xmm1, qword [ebp - 0x9f08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45cf1c
mov eax, dword [ebp - 0x127c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f08], xmm1
jmp 0x45ce1d
cvtsi2sd xmm0, dword [ebp - 0x127c]
movsd xmm1, qword [ebp - 0x9f08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45cf79
mov eax, dword [ebp - 0x127c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f08], xmm1
jmp 0x45cf8d
xor eax, eax
je 0x45cf89
jmp 0x45d045
jmp 0x45cfb0
cvtsi2sd xmm0, dword [ebp - 0x127c]
movsd xmm1, qword [ebp - 0x9f08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1280], eax
jmp 0x45d04f
xor eax, eax
inc eax
je 0x45cfbb
jmp 0x45cfca
jmp 0x45ce1d
jmp 0x45ce1d
xor eax, eax
inc eax
je 0x45d045
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1284], eax
cvtsi2sd xmm0, dword [ebp - 0x1284]
mov eax, dword [ebp - 0x1284]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9f08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1280], eax
jmp 0x45d04f
mov dword [ebp - 0x1280], 7
mov eax, dword [ebp - 0x1248]
shl eax, 2
add eax, dword [ebp - 0x1244]
mov eax, dword [eax]
add eax, dword [ebp - 0x1274]
mov ecx, dword [ebp - 0x1248]
shl ecx, 2
add ecx, dword [ebp - 0x1244]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1280]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1248]
shl ecx, 2
add ecx, dword [ebp - 0x1244]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45d34f
xor eax, eax
je 0x45d0cf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45d10b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0x9f20], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45d2a2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45d2a2
and dword [ebp - 0x1288], 0
jmp 0x45d185
cmp dword [ebp - 0x1288], 0xa
jae 0x45d29d
cvtsi2sd xmm0, dword [ebp - 0x1288]
movsd xmm1, qword [ebp - 0x9f20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f28], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d1f4
mov eax, dword [ebp - 0x1288]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f20], xmm1
jmp 0x45d0f5
cvtsi2sd xmm0, dword [ebp - 0x1288]
movsd xmm1, qword [ebp - 0x9f20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f30], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d251
mov eax, dword [ebp - 0x1288]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f20], xmm1
jmp 0x45d265
xor eax, eax
je 0x45d261
jmp 0x45d31d
jmp 0x45d288
cvtsi2sd xmm0, dword [ebp - 0x1288]
movsd xmm1, qword [ebp - 0x9f20]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x128c], eax
jmp 0x45d327
xor eax, eax
inc eax
je 0x45d293
jmp 0x45d2a2
jmp 0x45d0f5
jmp 0x45d0f5
xor eax, eax
inc eax
je 0x45d31d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1290], eax
cvtsi2sd xmm0, dword [ebp - 0x1290]
mov eax, dword [ebp - 0x1290]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9f20]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x128c], eax
jmp 0x45d327
mov dword [ebp - 0x128c], 7
mov eax, dword [ebp - 0x1248]
shl eax, 2
add eax, dword [ebp - 0x1244]
mov eax, dword [eax]
xor eax, dword [ebp - 0x128c]
mov ecx, dword [ebp - 0x1248]
shl ecx, 2
add ecx, dword [ebp - 0x1244]
mov dword [ecx], eax
jmp 0x45c2d5
mov eax, dword [ebp - 0x1240]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1240]
mov dword [ebp - 0x1294], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1294]
mov eax, dword [eax]
mov dword [ebp - 0x1298], eax
xor eax, eax
mov byte [ebp - 0x32], al
lea ecx, [ebp - 0x32]
call fcn.004193f2
mov dword [ebp - 0x129c], eax
mov eax, dword [ebp - 0x129c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x45e437
mov eax, dword [ebp - 0x129c]
mov dword [ebp - 0x12a0], eax
and dword [ebp - 0x12a4], 0
jmp 0x45d3c5
mov eax, dword [ebp - 0x12a4]
inc eax
mov dword [ebp - 0x12a4], eax
cmp dword [ebp - 0x12a4], 1
jae 0x45e437
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45d68f
xor eax, eax
je 0x45d40f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45d44b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea8]
movsd qword [ebp - 0x9f38], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45d5e2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45d5e2
and dword [ebp - 0x12a8], 0
jmp 0x45d4c5
cmp dword [ebp - 0x12a8], 0xa
jae 0x45d5dd
cvtsi2sd xmm0, dword [ebp - 0x12a8]
movsd xmm1, qword [ebp - 0x9f38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f40], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d534
mov eax, dword [ebp - 0x12a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f38], xmm1
jmp 0x45d435
cvtsi2sd xmm0, dword [ebp - 0x12a8]
movsd xmm1, qword [ebp - 0x9f38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f48], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d591
mov eax, dword [ebp - 0x12a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f38], xmm1
jmp 0x45d5a5
xor eax, eax
je 0x45d5a1
jmp 0x45d65d
jmp 0x45d5c8
cvtsi2sd xmm0, dword [ebp - 0x12a8]
movsd xmm1, qword [ebp - 0x9f38]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12ac], eax
jmp 0x45d667
xor eax, eax
inc eax
je 0x45d5d3
jmp 0x45d5e2
jmp 0x45d435
jmp 0x45d435
xor eax, eax
inc eax
je 0x45d65d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x12b0], eax
cvtsi2sd xmm0, dword [ebp - 0x12b0]
mov eax, dword [ebp - 0x12b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9f38]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12ac], eax
jmp 0x45d667
mov dword [ebp - 0x12ac], 7
mov eax, dword [ebp - 0x12a4]
shl eax, 2
add eax, dword [ebp - 0x12a0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x12ac]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45e175
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45d991
xor eax, eax
je 0x45d711
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45d74d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9f50], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45d8e4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45d8e4
and dword [ebp - 0x12b4], 0
jmp 0x45d7c7
cmp dword [ebp - 0x12b4], 0xa
jae 0x45d8df
cvtsi2sd xmm0, dword [ebp - 0x12b4]
movsd xmm1, qword [ebp - 0x9f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f58], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d836
mov eax, dword [ebp - 0x12b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f50], xmm1
jmp 0x45d737
cvtsi2sd xmm0, dword [ebp - 0x12b4]
movsd xmm1, qword [ebp - 0x9f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f60], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d893
mov eax, dword [ebp - 0x12b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f50], xmm1
jmp 0x45d8a7
xor eax, eax
je 0x45d8a3
jmp 0x45d95f
jmp 0x45d8ca
cvtsi2sd xmm0, dword [ebp - 0x12b4]
movsd xmm1, qword [ebp - 0x9f50]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12b8], eax
jmp 0x45d969
xor eax, eax
inc eax
je 0x45d8d5
jmp 0x45d8e4
jmp 0x45d737
jmp 0x45d737
xor eax, eax
inc eax
je 0x45d95f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x12bc], eax
cvtsi2sd xmm0, dword [ebp - 0x12bc]
mov eax, dword [ebp - 0x12bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9f50]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12b8], eax
jmp 0x45d969
mov dword [ebp - 0x12b8], 7
mov eax, dword [ebp - 0x12a4]
shl eax, 2
add eax, dword [ebp - 0x12a0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x12b8]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45dc4e
xor eax, eax
je 0x45d9ce
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45da0a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0x9f68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45dba1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45dba1
and dword [ebp - 0x12c0], 0
jmp 0x45da84
cmp dword [ebp - 0x12c0], 0xa
jae 0x45db9c
cvtsi2sd xmm0, dword [ebp - 0x12c0]
movsd xmm1, qword [ebp - 0x9f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45daf3
mov eax, dword [ebp - 0x12c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f68], xmm1
jmp 0x45d9f4
cvtsi2sd xmm0, dword [ebp - 0x12c0]
movsd xmm1, qword [ebp - 0x9f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45db50
mov eax, dword [ebp - 0x12c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f68], xmm1
jmp 0x45db64
xor eax, eax
je 0x45db60
jmp 0x45dc1c
jmp 0x45db87
cvtsi2sd xmm0, dword [ebp - 0x12c0]
movsd xmm1, qword [ebp - 0x9f68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12c4], eax
jmp 0x45dc26
xor eax, eax
inc eax
je 0x45db92
jmp 0x45dba1
jmp 0x45d9f4
jmp 0x45d9f4
xor eax, eax
inc eax
je 0x45dc1c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x12c8], eax
cvtsi2sd xmm0, dword [ebp - 0x12c8]
mov eax, dword [ebp - 0x12c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9f68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12c4], eax
jmp 0x45dc26
mov dword [ebp - 0x12c4], 7
mov eax, dword [ebp - 0x12a4]
shl eax, 2
add eax, dword [ebp - 0x12a0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x12c4]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x12a4]
add eax, 0xffffffb2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9f80], xmm0
xor eax, eax
je 0x45dc68
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45dca4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9f80]
movsd qword [ebp - 0x9f88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45de3b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45de3b
and dword [ebp - 0x12cc], 0
jmp 0x45dd1e
cmp dword [ebp - 0x12cc], 0xa
jae 0x45de36
cvtsi2sd xmm0, dword [ebp - 0x12cc]
movsd xmm1, qword [ebp - 0x9f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45dd8d
mov eax, dword [ebp - 0x12cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f88], xmm1
jmp 0x45dc8e
cvtsi2sd xmm0, dword [ebp - 0x12cc]
movsd xmm1, qword [ebp - 0x9f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ddea
mov eax, dword [ebp - 0x12cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f88], xmm1
jmp 0x45ddfe
xor eax, eax
je 0x45ddfa
jmp 0x45deb6
jmp 0x45de21
cvtsi2sd xmm0, dword [ebp - 0x12cc]
movsd xmm1, qword [ebp - 0x9f88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12d0], eax
jmp 0x45dec0
xor eax, eax
inc eax
je 0x45de2c
jmp 0x45de3b
jmp 0x45dc8e
jmp 0x45dc8e
xor eax, eax
inc eax
je 0x45deb6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x12d4], eax
cvtsi2sd xmm0, dword [ebp - 0x12d4]
mov eax, dword [ebp - 0x12d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9f88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12d0], eax
jmp 0x45dec0
mov dword [ebp - 0x12d0], 7
mov eax, dword [ebp - 0x12a4]
add eax, 0xffffffb2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0x9fa0], xmm0
xor eax, eax
je 0x45deda
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45df16
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9fa0]
movsd qword [ebp - 0x9fa8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45e0ad
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45e0ad
and dword [ebp - 0x12d8], 0
jmp 0x45df90
cmp dword [ebp - 0x12d8], 0xa
jae 0x45e0a8
cvtsi2sd xmm0, dword [ebp - 0x12d8]
movsd xmm1, qword [ebp - 0x9fa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45dfff
mov eax, dword [ebp - 0x12d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fa8], xmm1
jmp 0x45df00
cvtsi2sd xmm0, dword [ebp - 0x12d8]
movsd xmm1, qword [ebp - 0x9fa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e05c
mov eax, dword [ebp - 0x12d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fa8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fa8], xmm1
jmp 0x45e070
xor eax, eax
je 0x45e06c
jmp 0x45e128
jmp 0x45e093
cvtsi2sd xmm0, dword [ebp - 0x12d8]
movsd xmm1, qword [ebp - 0x9fa8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12dc], eax
jmp 0x45e132
xor eax, eax
inc eax
je 0x45e09e
jmp 0x45e0ad
jmp 0x45df00
jmp 0x45df00
xor eax, eax
inc eax
je 0x45e128
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x12e0], eax
cvtsi2sd xmm0, dword [ebp - 0x12e0]
mov eax, dword [ebp - 0x12e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9fa8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12dc], eax
jmp 0x45e132
mov dword [ebp - 0x12dc], 7
mov eax, dword [ebp - 0x12a4]
shl eax, 2
add eax, dword [ebp - 0x12a0]
mov eax, dword [eax]
add eax, dword [ebp - 0x12d0]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x12dc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45e432
xor eax, eax
je 0x45e1b2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45e1ee
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0x9fc0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45e385
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45e385
and dword [ebp - 0x12e4], 0
jmp 0x45e268
cmp dword [ebp - 0x12e4], 0xa
jae 0x45e380
cvtsi2sd xmm0, dword [ebp - 0x12e4]
movsd xmm1, qword [ebp - 0x9fc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fc8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e2d7
mov eax, dword [ebp - 0x12e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fc0], xmm1
jmp 0x45e1d8
cvtsi2sd xmm0, dword [ebp - 0x12e4]
movsd xmm1, qword [ebp - 0x9fc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fd0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e334
mov eax, dword [ebp - 0x12e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fc0], xmm1
jmp 0x45e348
xor eax, eax
je 0x45e344
jmp 0x45e400
jmp 0x45e36b
cvtsi2sd xmm0, dword [ebp - 0x12e4]
movsd xmm1, qword [ebp - 0x9fc0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12e8], eax
jmp 0x45e40a
xor eax, eax
inc eax
je 0x45e376
jmp 0x45e385
jmp 0x45e1d8
jmp 0x45e1d8
xor eax, eax
inc eax
je 0x45e400
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x12ec], eax
cvtsi2sd xmm0, dword [ebp - 0x12ec]
mov eax, dword [ebp - 0x12ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9fc0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x12e8], eax
jmp 0x45e40a
mov dword [ebp - 0x12e8], 7
mov eax, dword [ebp - 0x12a4]
shl eax, 2
add eax, dword [ebp - 0x12a0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x12e8]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
jmp 0x45d3b8
mov eax, dword [ebp - 0x129c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x129c]
mov dword [ebp - 0x12f0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x12f0]
mov eax, dword [eax]
mov dword [ebp - 0x12f4], eax
xor eax, eax
mov byte [ebp - 0x33], al
lea ecx, [ebp - 0x33]
call fcn.00416ef8
mov dword [ebp - 0x12f8], eax
mov eax, dword [ebp - 0x12f8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x45f51a
mov eax, dword [ebp - 0x12f8]
mov dword [ebp - 0x12fc], eax
and dword [ebp - 0x1300], 0
jmp 0x45e4a8
mov eax, dword [ebp - 0x1300]
inc eax
mov dword [ebp - 0x1300], eax
cmp dword [ebp - 0x1300], 1
jae 0x45f51a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45e772
xor eax, eax
je 0x45e4f2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45e52e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0x9fd8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45e6c5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45e6c5
and dword [ebp - 0x1304], 0
jmp 0x45e5a8
cmp dword [ebp - 0x1304], 0xa
jae 0x45e6c0
cvtsi2sd xmm0, dword [ebp - 0x1304]
movsd xmm1, qword [ebp - 0x9fd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fe0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e617
mov eax, dword [ebp - 0x1304]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fd8], xmm1
jmp 0x45e518
cvtsi2sd xmm0, dword [ebp - 0x1304]
movsd xmm1, qword [ebp - 0x9fd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fe8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fe8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e674
mov eax, dword [ebp - 0x1304]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fd8], xmm1
jmp 0x45e688
xor eax, eax
je 0x45e684
jmp 0x45e740
jmp 0x45e6ab
cvtsi2sd xmm0, dword [ebp - 0x1304]
movsd xmm1, qword [ebp - 0x9fd8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1308], eax
jmp 0x45e74a
xor eax, eax
inc eax
je 0x45e6b6
jmp 0x45e6c5
jmp 0x45e518
jmp 0x45e518
xor eax, eax
inc eax
je 0x45e740
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x130c], eax
cvtsi2sd xmm0, dword [ebp - 0x130c]
mov eax, dword [ebp - 0x130c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9fd8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1308], eax
jmp 0x45e74a
mov dword [ebp - 0x1308], 7
mov eax, dword [ebp - 0x1300]
shl eax, 2
add eax, dword [ebp - 0x12fc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1308]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45f258
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45ea74
xor eax, eax
je 0x45e7f4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45e830
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0x9ff0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45e9c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45e9c7
and dword [ebp - 0x1310], 0
jmp 0x45e8aa
cmp dword [ebp - 0x1310], 0xa
jae 0x45e9c2
cvtsi2sd xmm0, dword [ebp - 0x1310]
movsd xmm1, qword [ebp - 0x9ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ff8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e919
mov eax, dword [ebp - 0x1310]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ff0], xmm1
jmp 0x45e81a
cvtsi2sd xmm0, dword [ebp - 0x1310]
movsd xmm1, qword [ebp - 0x9ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa000], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa000]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e976
mov eax, dword [ebp - 0x1310]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ff0], xmm1
jmp 0x45e98a
xor eax, eax
je 0x45e986
jmp 0x45ea42
jmp 0x45e9ad
cvtsi2sd xmm0, dword [ebp - 0x1310]
movsd xmm1, qword [ebp - 0x9ff0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1314], eax
jmp 0x45ea4c
xor eax, eax
inc eax
je 0x45e9b8
jmp 0x45e9c7
jmp 0x45e81a
jmp 0x45e81a
xor eax, eax
inc eax
je 0x45ea42
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1318], eax
cvtsi2sd xmm0, dword [ebp - 0x1318]
mov eax, dword [ebp - 0x1318]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0x9ff0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1314], eax
jmp 0x45ea4c
mov dword [ebp - 0x1314], 7
mov eax, dword [ebp - 0x1300]
shl eax, 2
add eax, dword [ebp - 0x12fc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1314]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45ed31
xor eax, eax
je 0x45eab1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45eaed
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa008], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45ec84
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45ec84
and dword [ebp - 0x131c], 0
jmp 0x45eb67
cmp dword [ebp - 0x131c], 0xa
jae 0x45ec7f
cvtsi2sd xmm0, dword [ebp - 0x131c]
movsd xmm1, qword [ebp - 0xa008]
addsd xmm1, xmm0
movsd qword [ebp - 0xa010], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa010]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ebd6
mov eax, dword [ebp - 0x131c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa008]
addsd xmm1, xmm0
movsd qword [ebp - 0xa008], xmm1
jmp 0x45ead7
cvtsi2sd xmm0, dword [ebp - 0x131c]
movsd xmm1, qword [ebp - 0xa008]
addsd xmm1, xmm0
movsd qword [ebp - 0xa018], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ec33
mov eax, dword [ebp - 0x131c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa008]
addsd xmm1, xmm0
movsd qword [ebp - 0xa008], xmm1
jmp 0x45ec47
xor eax, eax
je 0x45ec43
jmp 0x45ecff
jmp 0x45ec6a
cvtsi2sd xmm0, dword [ebp - 0x131c]
movsd xmm1, qword [ebp - 0xa008]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1320], eax
jmp 0x45ed09
xor eax, eax
inc eax
je 0x45ec75
jmp 0x45ec84
jmp 0x45ead7
jmp 0x45ead7
xor eax, eax
inc eax
je 0x45ecff
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1324], eax
cvtsi2sd xmm0, dword [ebp - 0x1324]
mov eax, dword [ebp - 0x1324]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa008]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1320], eax
jmp 0x45ed09
mov dword [ebp - 0x1320], 7
mov eax, dword [ebp - 0x1300]
shl eax, 2
add eax, dword [ebp - 0x12fc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1320]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1300]
add eax, 0xffffffb3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa020], xmm0
xor eax, eax
je 0x45ed4b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45ed87
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa020]
movsd qword [ebp - 0xa028], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45ef1e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45ef1e
and dword [ebp - 0x1328], 0
jmp 0x45ee01
cmp dword [ebp - 0x1328], 0xa
jae 0x45ef19
cvtsi2sd xmm0, dword [ebp - 0x1328]
movsd xmm1, qword [ebp - 0xa028]
addsd xmm1, xmm0
movsd qword [ebp - 0xa030], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa030]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ee70
mov eax, dword [ebp - 0x1328]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa028]
addsd xmm1, xmm0
movsd qword [ebp - 0xa028], xmm1
jmp 0x45ed71
cvtsi2sd xmm0, dword [ebp - 0x1328]
movsd xmm1, qword [ebp - 0xa028]
addsd xmm1, xmm0
movsd qword [ebp - 0xa038], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45eecd
mov eax, dword [ebp - 0x1328]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa028]
addsd xmm1, xmm0
movsd qword [ebp - 0xa028], xmm1
jmp 0x45eee1
xor eax, eax
je 0x45eedd
jmp 0x45ef99
jmp 0x45ef04
cvtsi2sd xmm0, dword [ebp - 0x1328]
movsd xmm1, qword [ebp - 0xa028]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x132c], eax
jmp 0x45efa3
xor eax, eax
inc eax
je 0x45ef0f
jmp 0x45ef1e
jmp 0x45ed71
jmp 0x45ed71
xor eax, eax
inc eax
je 0x45ef99
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1330], eax
cvtsi2sd xmm0, dword [ebp - 0x1330]
mov eax, dword [ebp - 0x1330]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa028]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x132c], eax
jmp 0x45efa3
mov dword [ebp - 0x132c], 7
mov eax, dword [ebp - 0x1300]
add eax, 0xffffffb3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa040], xmm0
xor eax, eax
je 0x45efbd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45eff9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa040]
movsd qword [ebp - 0xa048], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45f190
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45f190
and dword [ebp - 0x1334], 0
jmp 0x45f073
cmp dword [ebp - 0x1334], 0xa
jae 0x45f18b
cvtsi2sd xmm0, dword [ebp - 0x1334]
movsd xmm1, qword [ebp - 0xa048]
addsd xmm1, xmm0
movsd qword [ebp - 0xa050], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa050]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f0e2
mov eax, dword [ebp - 0x1334]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa048]
addsd xmm1, xmm0
movsd qword [ebp - 0xa048], xmm1
jmp 0x45efe3
cvtsi2sd xmm0, dword [ebp - 0x1334]
movsd xmm1, qword [ebp - 0xa048]
addsd xmm1, xmm0
movsd qword [ebp - 0xa058], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f13f
mov eax, dword [ebp - 0x1334]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa048]
addsd xmm1, xmm0
movsd qword [ebp - 0xa048], xmm1
jmp 0x45f153
xor eax, eax
je 0x45f14f
jmp 0x45f20b
jmp 0x45f176
cvtsi2sd xmm0, dword [ebp - 0x1334]
movsd xmm1, qword [ebp - 0xa048]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1338], eax
jmp 0x45f215
xor eax, eax
inc eax
je 0x45f181
jmp 0x45f190
jmp 0x45efe3
jmp 0x45efe3
xor eax, eax
inc eax
je 0x45f20b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x133c], eax
cvtsi2sd xmm0, dword [ebp - 0x133c]
mov eax, dword [ebp - 0x133c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa048]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1338], eax
jmp 0x45f215
mov dword [ebp - 0x1338], 7
mov eax, dword [ebp - 0x1300]
shl eax, 2
add eax, dword [ebp - 0x12fc]
mov eax, dword [eax]
add eax, dword [ebp - 0x132c]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1338]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45f515
xor eax, eax
je 0x45f295
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45f2d1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa060], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45f468
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45f468
and dword [ebp - 0x1340], 0
jmp 0x45f34b
cmp dword [ebp - 0x1340], 0xa
jae 0x45f463
cvtsi2sd xmm0, dword [ebp - 0x1340]
movsd xmm1, qword [ebp - 0xa060]
addsd xmm1, xmm0
movsd qword [ebp - 0xa068], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa068]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f3ba
mov eax, dword [ebp - 0x1340]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa060]
addsd xmm1, xmm0
movsd qword [ebp - 0xa060], xmm1
jmp 0x45f2bb
cvtsi2sd xmm0, dword [ebp - 0x1340]
movsd xmm1, qword [ebp - 0xa060]
addsd xmm1, xmm0
movsd qword [ebp - 0xa070], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa070]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f417
mov eax, dword [ebp - 0x1340]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa060]
addsd xmm1, xmm0
movsd qword [ebp - 0xa060], xmm1
jmp 0x45f42b
xor eax, eax
je 0x45f427
jmp 0x45f4e3
jmp 0x45f44e
cvtsi2sd xmm0, dword [ebp - 0x1340]
movsd xmm1, qword [ebp - 0xa060]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1344], eax
jmp 0x45f4ed
xor eax, eax
inc eax
je 0x45f459
jmp 0x45f468
jmp 0x45f2bb
jmp 0x45f2bb
xor eax, eax
inc eax
je 0x45f4e3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1348], eax
cvtsi2sd xmm0, dword [ebp - 0x1348]
mov eax, dword [ebp - 0x1348]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa060]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1344], eax
jmp 0x45f4ed
mov dword [ebp - 0x1344], 7
mov eax, dword [ebp - 0x1300]
shl eax, 2
add eax, dword [ebp - 0x12fc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1344]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
jmp 0x45e49b
mov eax, dword [ebp - 0x12f8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x12f8]
mov dword [ebp - 0x134c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x134c]
mov eax, dword [eax]
mov dword [ebp - 0x1350], eax
mov eax, dword [ebp - 0x12f4]
mov dword [ebp - 0x1298], eax
cmp dword [ebp - 0x1298], 0
je 0x460640
xor eax, eax
mov byte [ebp - 0x34], al
lea ecx, [ebp - 0x34]
call fcn.00416434
mov dword [ebp - 0x1354], eax
mov eax, dword [ebp - 0x1354]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x460616
mov eax, dword [ebp - 0x1354]
mov dword [ebp - 0x1358], eax
and dword [ebp - 0x135c], 0
jmp 0x45f5a4
mov eax, dword [ebp - 0x135c]
inc eax
mov dword [ebp - 0x135c], eax
cmp dword [ebp - 0x135c], 1
jae 0x460616
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45f86e
xor eax, eax
je 0x45f5ee
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45f62a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0xa078], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45f7c1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45f7c1
and dword [ebp - 0x1360], 0
jmp 0x45f6a4
cmp dword [ebp - 0x1360], 0xa
jae 0x45f7bc
cvtsi2sd xmm0, dword [ebp - 0x1360]
movsd xmm1, qword [ebp - 0xa078]
addsd xmm1, xmm0
movsd qword [ebp - 0xa080], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa080]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f713
mov eax, dword [ebp - 0x1360]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa078]
addsd xmm1, xmm0
movsd qword [ebp - 0xa078], xmm1
jmp 0x45f614
cvtsi2sd xmm0, dword [ebp - 0x1360]
movsd xmm1, qword [ebp - 0xa078]
addsd xmm1, xmm0
movsd qword [ebp - 0xa088], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa088]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f770
mov eax, dword [ebp - 0x1360]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa078]
addsd xmm1, xmm0
movsd qword [ebp - 0xa078], xmm1
jmp 0x45f784
xor eax, eax
je 0x45f780
jmp 0x45f83c
jmp 0x45f7a7
cvtsi2sd xmm0, dword [ebp - 0x1360]
movsd xmm1, qword [ebp - 0xa078]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1364], eax
jmp 0x45f846
xor eax, eax
inc eax
je 0x45f7b2
jmp 0x45f7c1
jmp 0x45f614
jmp 0x45f614
xor eax, eax
inc eax
je 0x45f83c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1368], eax
cvtsi2sd xmm0, dword [ebp - 0x1368]
mov eax, dword [ebp - 0x1368]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa078]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1364], eax
jmp 0x45f846
mov dword [ebp - 0x1364], 7
mov eax, dword [ebp - 0x135c]
shl eax, 2
add eax, dword [ebp - 0x1358]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1364]
mov ecx, dword [ebp - 0x135c]
shl ecx, 2
add ecx, dword [ebp - 0x1358]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x460354
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45fb70
xor eax, eax
je 0x45f8f0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45f92c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0xa090], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45fac3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45fac3
and dword [ebp - 0x136c], 0
jmp 0x45f9a6
cmp dword [ebp - 0x136c], 0xa
jae 0x45fabe
cvtsi2sd xmm0, dword [ebp - 0x136c]
movsd xmm1, qword [ebp - 0xa090]
addsd xmm1, xmm0
movsd qword [ebp - 0xa098], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fa15
mov eax, dword [ebp - 0x136c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa090]
addsd xmm1, xmm0
movsd qword [ebp - 0xa090], xmm1
jmp 0x45f916
cvtsi2sd xmm0, dword [ebp - 0x136c]
movsd xmm1, qword [ebp - 0xa090]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fa72
mov eax, dword [ebp - 0x136c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa090]
addsd xmm1, xmm0
movsd qword [ebp - 0xa090], xmm1
jmp 0x45fa86
xor eax, eax
je 0x45fa82
jmp 0x45fb3e
jmp 0x45faa9
cvtsi2sd xmm0, dword [ebp - 0x136c]
movsd xmm1, qword [ebp - 0xa090]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1370], eax
jmp 0x45fb48
xor eax, eax
inc eax
je 0x45fab4
jmp 0x45fac3
jmp 0x45f916
jmp 0x45f916
xor eax, eax
inc eax
je 0x45fb3e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1374], eax
cvtsi2sd xmm0, dword [ebp - 0x1374]
mov eax, dword [ebp - 0x1374]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa090]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1370], eax
jmp 0x45fb48
mov dword [ebp - 0x1370], 7
mov eax, dword [ebp - 0x135c]
shl eax, 2
add eax, dword [ebp - 0x1358]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1370]
mov ecx, dword [ebp - 0x135c]
shl ecx, 2
add ecx, dword [ebp - 0x1358]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45fe2d
xor eax, eax
je 0x45fbad
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45fbe9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa0a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x45fd80
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x45fd80
and dword [ebp - 0x1378], 0
jmp 0x45fc63
cmp dword [ebp - 0x1378], 0xa
jae 0x45fd7b
cvtsi2sd xmm0, dword [ebp - 0x1378]
movsd xmm1, qword [ebp - 0xa0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fcd2
mov eax, dword [ebp - 0x1378]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0a8], xmm1
jmp 0x45fbd3
cvtsi2sd xmm0, dword [ebp - 0x1378]
movsd xmm1, qword [ebp - 0xa0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fd2f
mov eax, dword [ebp - 0x1378]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0a8], xmm1
jmp 0x45fd43
xor eax, eax
je 0x45fd3f
jmp 0x45fdfb
jmp 0x45fd66
cvtsi2sd xmm0, dword [ebp - 0x1378]
movsd xmm1, qword [ebp - 0xa0a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x137c], eax
jmp 0x45fe05
xor eax, eax
inc eax
je 0x45fd71
jmp 0x45fd80
jmp 0x45fbd3
jmp 0x45fbd3
xor eax, eax
inc eax
je 0x45fdfb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1380], eax
cvtsi2sd xmm0, dword [ebp - 0x1380]
mov eax, dword [ebp - 0x1380]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa0a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x137c], eax
jmp 0x45fe05
mov dword [ebp - 0x137c], 7
mov eax, dword [ebp - 0x135c]
shl eax, 2
add eax, dword [ebp - 0x1358]
mov eax, dword [eax]
xor eax, dword [ebp - 0x137c]
mov ecx, dword [ebp - 0x135c]
shl ecx, 2
add ecx, dword [ebp - 0x1358]
mov dword [ecx], eax
mov eax, dword [ebp - 0x135c]
add eax, 0xffffffb3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa0c0], xmm0
xor eax, eax
je 0x45fe47
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x45fe83
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa0c0]
movsd qword [ebp - 0xa0c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46001a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46001a
and dword [ebp - 0x1384], 0
jmp 0x45fefd
cmp dword [ebp - 0x1384], 0xa
jae 0x460015
cvtsi2sd xmm0, dword [ebp - 0x1384]
movsd xmm1, qword [ebp - 0xa0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ff6c
mov eax, dword [ebp - 0x1384]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0c8], xmm1
jmp 0x45fe6d
cvtsi2sd xmm0, dword [ebp - 0x1384]
movsd xmm1, qword [ebp - 0xa0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ffc9
mov eax, dword [ebp - 0x1384]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0c8], xmm1
jmp 0x45ffdd
xor eax, eax
je 0x45ffd9
jmp 0x460095
jmp 0x460000
cvtsi2sd xmm0, dword [ebp - 0x1384]
movsd xmm1, qword [ebp - 0xa0c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1388], eax
jmp 0x46009f
xor eax, eax
inc eax
je 0x46000b
jmp 0x46001a
jmp 0x45fe6d
jmp 0x45fe6d
xor eax, eax
inc eax
je 0x460095
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x138c], eax
cvtsi2sd xmm0, dword [ebp - 0x138c]
mov eax, dword [ebp - 0x138c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa0c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1388], eax
jmp 0x46009f
mov dword [ebp - 0x1388], 7
mov eax, dword [ebp - 0x135c]
add eax, 0xffffffb3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa0e0], xmm0
xor eax, eax
je 0x4600b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4600f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa0e0]
movsd qword [ebp - 0xa0e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46028c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46028c
and dword [ebp - 0x1390], 0
jmp 0x46016f
cmp dword [ebp - 0x1390], 0xa
jae 0x460287
cvtsi2sd xmm0, dword [ebp - 0x1390]
movsd xmm1, qword [ebp - 0xa0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4601de
mov eax, dword [ebp - 0x1390]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0e8], xmm1
jmp 0x4600df
cvtsi2sd xmm0, dword [ebp - 0x1390]
movsd xmm1, qword [ebp - 0xa0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46023b
mov eax, dword [ebp - 0x1390]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0e8], xmm1
jmp 0x46024f
xor eax, eax
je 0x46024b
jmp 0x460307
jmp 0x460272
cvtsi2sd xmm0, dword [ebp - 0x1390]
movsd xmm1, qword [ebp - 0xa0e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1394], eax
jmp 0x460311
xor eax, eax
inc eax
je 0x46027d
jmp 0x46028c
jmp 0x4600df
jmp 0x4600df
xor eax, eax
inc eax
je 0x460307
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1398], eax
cvtsi2sd xmm0, dword [ebp - 0x1398]
mov eax, dword [ebp - 0x1398]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa0e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1394], eax
jmp 0x460311
mov dword [ebp - 0x1394], 7
mov eax, dword [ebp - 0x135c]
shl eax, 2
add eax, dword [ebp - 0x1358]
mov eax, dword [eax]
add eax, dword [ebp - 0x1388]
mov ecx, dword [ebp - 0x135c]
shl ecx, 2
add ecx, dword [ebp - 0x1358]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1394]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x135c]
shl ecx, 2
add ecx, dword [ebp - 0x1358]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460611
xor eax, eax
je 0x460391
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4603cd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa100], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x460564
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460564
and dword [ebp - 0x139c], 0
jmp 0x460447
cmp dword [ebp - 0x139c], 0xa
jae 0x46055f
cvtsi2sd xmm0, dword [ebp - 0x139c]
movsd xmm1, qword [ebp - 0xa100]
addsd xmm1, xmm0
movsd qword [ebp - 0xa108], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa108]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4604b6
mov eax, dword [ebp - 0x139c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa100]
addsd xmm1, xmm0
movsd qword [ebp - 0xa100], xmm1
jmp 0x4603b7
cvtsi2sd xmm0, dword [ebp - 0x139c]
movsd xmm1, qword [ebp - 0xa100]
addsd xmm1, xmm0
movsd qword [ebp - 0xa110], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa110]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460513
mov eax, dword [ebp - 0x139c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa100]
addsd xmm1, xmm0
movsd qword [ebp - 0xa100], xmm1
jmp 0x460527
xor eax, eax
je 0x460523
jmp 0x4605df
jmp 0x46054a
cvtsi2sd xmm0, dword [ebp - 0x139c]
movsd xmm1, qword [ebp - 0xa100]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13a0], eax
jmp 0x4605e9
xor eax, eax
inc eax
je 0x460555
jmp 0x460564
jmp 0x4603b7
jmp 0x4603b7
xor eax, eax
inc eax
je 0x4605df
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13a4], eax
cvtsi2sd xmm0, dword [ebp - 0x13a4]
mov eax, dword [ebp - 0x13a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa100]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13a0], eax
jmp 0x4605e9
mov dword [ebp - 0x13a0], 7
mov eax, dword [ebp - 0x135c]
shl eax, 2
add eax, dword [ebp - 0x1358]
mov eax, dword [eax]
xor eax, dword [ebp - 0x13a0]
mov ecx, dword [ebp - 0x135c]
shl ecx, 2
add ecx, dword [ebp - 0x1358]
mov dword [ecx], eax
jmp 0x45f597
mov eax, dword [ebp - 0x1354]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1354]
mov dword [ebp - 0x13a8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x13a8]
mov eax, dword [eax]
mov dword [ebp - 0x1350], eax
xor eax, eax
mov byte [ebp - 0x35], al
lea ecx, [ebp - 0x35]
call fcn.004161f8
mov dword [ebp - 0x13ac], eax
mov eax, dword [ebp - 0x13ac]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4616f9
mov eax, dword [ebp - 0x13ac]
mov dword [ebp - 0x13b0], eax
and dword [ebp - 0x13b4], 0
jmp 0x460687
mov eax, dword [ebp - 0x13b4]
inc eax
mov dword [ebp - 0x13b4], eax
cmp dword [ebp - 0x13b4], 1
jae 0x4616f9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460951
xor eax, eax
je 0x4606d1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46070d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706ea0]
movsd qword [ebp - 0xa118], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4608a4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4608a4
and dword [ebp - 0x13b8], 0
jmp 0x460787
cmp dword [ebp - 0x13b8], 0xa
jae 0x46089f
cvtsi2sd xmm0, dword [ebp - 0x13b8]
movsd xmm1, qword [ebp - 0xa118]
addsd xmm1, xmm0
movsd qword [ebp - 0xa120], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa120]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4607f6
mov eax, dword [ebp - 0x13b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa118]
addsd xmm1, xmm0
movsd qword [ebp - 0xa118], xmm1
jmp 0x4606f7
cvtsi2sd xmm0, dword [ebp - 0x13b8]
movsd xmm1, qword [ebp - 0xa118]
addsd xmm1, xmm0
movsd qword [ebp - 0xa128], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa128]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460853
mov eax, dword [ebp - 0x13b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa118]
addsd xmm1, xmm0
movsd qword [ebp - 0xa118], xmm1
jmp 0x460867
xor eax, eax
je 0x460863
jmp 0x46091f
jmp 0x46088a
cvtsi2sd xmm0, dword [ebp - 0x13b8]
movsd xmm1, qword [ebp - 0xa118]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13bc], eax
jmp 0x460929
xor eax, eax
inc eax
je 0x460895
jmp 0x4608a4
jmp 0x4606f7
jmp 0x4606f7
xor eax, eax
inc eax
je 0x46091f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13c0], eax
cvtsi2sd xmm0, dword [ebp - 0x13c0]
mov eax, dword [ebp - 0x13c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa118]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13bc], eax
jmp 0x460929
mov dword [ebp - 0x13bc], 7
mov eax, dword [ebp - 0x13b4]
shl eax, 2
add eax, dword [ebp - 0x13b0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x13bc]
mov ecx, dword [ebp - 0x13b4]
shl ecx, 2
add ecx, dword [ebp - 0x13b0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x461437
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460c53
xor eax, eax
je 0x4609d3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x460a0f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0xa130], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x460ba6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460ba6
and dword [ebp - 0x13c4], 0
jmp 0x460a89
cmp dword [ebp - 0x13c4], 0xa
jae 0x460ba1
cvtsi2sd xmm0, dword [ebp - 0x13c4]
movsd xmm1, qword [ebp - 0xa130]
addsd xmm1, xmm0
movsd qword [ebp - 0xa138], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460af8
mov eax, dword [ebp - 0x13c4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa130]
addsd xmm1, xmm0
movsd qword [ebp - 0xa130], xmm1
jmp 0x4609f9
cvtsi2sd xmm0, dword [ebp - 0x13c4]
movsd xmm1, qword [ebp - 0xa130]
addsd xmm1, xmm0
movsd qword [ebp - 0xa140], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa140]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460b55
mov eax, dword [ebp - 0x13c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa130]
addsd xmm1, xmm0
movsd qword [ebp - 0xa130], xmm1
jmp 0x460b69
xor eax, eax
je 0x460b65
jmp 0x460c21
jmp 0x460b8c
cvtsi2sd xmm0, dword [ebp - 0x13c4]
movsd xmm1, qword [ebp - 0xa130]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13c8], eax
jmp 0x460c2b
xor eax, eax
inc eax
je 0x460b97
jmp 0x460ba6
jmp 0x4609f9
jmp 0x4609f9
xor eax, eax
inc eax
je 0x460c21
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13cc], eax
cvtsi2sd xmm0, dword [ebp - 0x13cc]
mov eax, dword [ebp - 0x13cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa130]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13c8], eax
jmp 0x460c2b
mov dword [ebp - 0x13c8], 7
mov eax, dword [ebp - 0x13b4]
shl eax, 2
add eax, dword [ebp - 0x13b0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x13c8]
mov ecx, dword [ebp - 0x13b4]
shl ecx, 2
add ecx, dword [ebp - 0x13b0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460f10
xor eax, eax
je 0x460c90
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x460ccc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa148], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x460e63
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x460e63
and dword [ebp - 0x13d0], 0
jmp 0x460d46
cmp dword [ebp - 0x13d0], 0xa
jae 0x460e5e
cvtsi2sd xmm0, dword [ebp - 0x13d0]
movsd xmm1, qword [ebp - 0xa148]
addsd xmm1, xmm0
movsd qword [ebp - 0xa150], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa150]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460db5
mov eax, dword [ebp - 0x13d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa148]
addsd xmm1, xmm0
movsd qword [ebp - 0xa148], xmm1
jmp 0x460cb6
cvtsi2sd xmm0, dword [ebp - 0x13d0]
movsd xmm1, qword [ebp - 0xa148]
addsd xmm1, xmm0
movsd qword [ebp - 0xa158], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460e12
mov eax, dword [ebp - 0x13d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa148]
addsd xmm1, xmm0
movsd qword [ebp - 0xa148], xmm1
jmp 0x460e26
xor eax, eax
je 0x460e22
jmp 0x460ede
jmp 0x460e49
cvtsi2sd xmm0, dword [ebp - 0x13d0]
movsd xmm1, qword [ebp - 0xa148]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13d4], eax
jmp 0x460ee8
xor eax, eax
inc eax
je 0x460e54
jmp 0x460e63
jmp 0x460cb6
jmp 0x460cb6
xor eax, eax
inc eax
je 0x460ede
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13d8], eax
cvtsi2sd xmm0, dword [ebp - 0x13d8]
mov eax, dword [ebp - 0x13d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa148]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13d4], eax
jmp 0x460ee8
mov dword [ebp - 0x13d4], 7
mov eax, dword [ebp - 0x13b4]
shl eax, 2
add eax, dword [ebp - 0x13b0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x13d4]
mov ecx, dword [ebp - 0x13b4]
shl ecx, 2
add ecx, dword [ebp - 0x13b0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x13b4]
add eax, 0xffffffb3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa160], xmm0
xor eax, eax
je 0x460f2a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x460f66
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa160]
movsd qword [ebp - 0xa168], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4610fd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4610fd
and dword [ebp - 0x13dc], 0
jmp 0x460fe0
cmp dword [ebp - 0x13dc], 0xa
jae 0x4610f8
cvtsi2sd xmm0, dword [ebp - 0x13dc]
movsd xmm1, qword [ebp - 0xa168]
addsd xmm1, xmm0
movsd qword [ebp - 0xa170], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa170]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46104f
mov eax, dword [ebp - 0x13dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa168]
addsd xmm1, xmm0
movsd qword [ebp - 0xa168], xmm1
jmp 0x460f50
cvtsi2sd xmm0, dword [ebp - 0x13dc]
movsd xmm1, qword [ebp - 0xa168]
addsd xmm1, xmm0
movsd qword [ebp - 0xa178], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4610ac
mov eax, dword [ebp - 0x13dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa168]
addsd xmm1, xmm0
movsd qword [ebp - 0xa168], xmm1
jmp 0x4610c0
xor eax, eax
je 0x4610bc
jmp 0x461178
jmp 0x4610e3
cvtsi2sd xmm0, dword [ebp - 0x13dc]
movsd xmm1, qword [ebp - 0xa168]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13e0], eax
jmp 0x461182
xor eax, eax
inc eax
je 0x4610ee
jmp 0x4610fd
jmp 0x460f50
jmp 0x460f50
xor eax, eax
inc eax
je 0x461178
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13e4], eax
cvtsi2sd xmm0, dword [ebp - 0x13e4]
mov eax, dword [ebp - 0x13e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa168]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13e0], eax
jmp 0x461182
mov dword [ebp - 0x13e0], 7
mov eax, dword [ebp - 0x13b4]
add eax, 0xffffffb3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa180], xmm0
xor eax, eax
je 0x46119c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4611d8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa180]
movsd qword [ebp - 0xa188], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46136f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46136f
and dword [ebp - 0x13e8], 0
jmp 0x461252
cmp dword [ebp - 0x13e8], 0xa
jae 0x46136a
cvtsi2sd xmm0, dword [ebp - 0x13e8]
movsd xmm1, qword [ebp - 0xa188]
addsd xmm1, xmm0
movsd qword [ebp - 0xa190], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa190]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4612c1
mov eax, dword [ebp - 0x13e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa188]
addsd xmm1, xmm0
movsd qword [ebp - 0xa188], xmm1
jmp 0x4611c2
cvtsi2sd xmm0, dword [ebp - 0x13e8]
movsd xmm1, qword [ebp - 0xa188]
addsd xmm1, xmm0
movsd qword [ebp - 0xa198], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46131e
mov eax, dword [ebp - 0x13e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa188]
addsd xmm1, xmm0
movsd qword [ebp - 0xa188], xmm1
jmp 0x461332
xor eax, eax
je 0x46132e
jmp 0x4613ea
jmp 0x461355
cvtsi2sd xmm0, dword [ebp - 0x13e8]
movsd xmm1, qword [ebp - 0xa188]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13ec], eax
jmp 0x4613f4
xor eax, eax
inc eax
je 0x461360
jmp 0x46136f
jmp 0x4611c2
jmp 0x4611c2
xor eax, eax
inc eax
je 0x4613ea
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13f0], eax
cvtsi2sd xmm0, dword [ebp - 0x13f0]
mov eax, dword [ebp - 0x13f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa188]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13ec], eax
jmp 0x4613f4
mov dword [ebp - 0x13ec], 7
mov eax, dword [ebp - 0x13b4]
shl eax, 2
add eax, dword [ebp - 0x13b0]
mov eax, dword [eax]
add eax, dword [ebp - 0x13e0]
mov ecx, dword [ebp - 0x13b4]
shl ecx, 2
add ecx, dword [ebp - 0x13b0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x13ec]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x13b4]
shl ecx, 2
add ecx, dword [ebp - 0x13b0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4616f4
xor eax, eax
je 0x461474
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4614b0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa1a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x461647
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461647
and dword [ebp - 0x13f4], 0
jmp 0x46152a
cmp dword [ebp - 0x13f4], 0xa
jae 0x461642
cvtsi2sd xmm0, dword [ebp - 0x13f4]
movsd xmm1, qword [ebp - 0xa1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461599
mov eax, dword [ebp - 0x13f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1a0], xmm1
jmp 0x46149a
cvtsi2sd xmm0, dword [ebp - 0x13f4]
movsd xmm1, qword [ebp - 0xa1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4615f6
mov eax, dword [ebp - 0x13f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1a0], xmm1
jmp 0x46160a
xor eax, eax
je 0x461606
jmp 0x4616c2
jmp 0x46162d
cvtsi2sd xmm0, dword [ebp - 0x13f4]
movsd xmm1, qword [ebp - 0xa1a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13f8], eax
jmp 0x4616cc
xor eax, eax
inc eax
je 0x461638
jmp 0x461647
jmp 0x46149a
jmp 0x46149a
xor eax, eax
inc eax
je 0x4616c2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x13fc], eax
cvtsi2sd xmm0, dword [ebp - 0x13fc]
mov eax, dword [ebp - 0x13fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa1a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x13f8], eax
jmp 0x4616cc
mov dword [ebp - 0x13f8], 7
mov eax, dword [ebp - 0x13b4]
shl eax, 2
add eax, dword [ebp - 0x13b0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x13f8]
mov ecx, dword [ebp - 0x13b4]
shl ecx, 2
add ecx, dword [ebp - 0x13b0]
mov dword [ecx], eax
jmp 0x46067a
mov eax, dword [ebp - 0x13ac]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x13ac]
mov dword [ebp - 0x1400], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1400]
mov eax, dword [eax]
mov dword [ebp - 0x1404], eax
xor eax, eax
mov byte [ebp - 0x36], al
lea ecx, [ebp - 0x36]
call fcn.00415908
mov dword [ebp - 0x1408], eax
mov eax, dword [ebp - 0x1408]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4627dc
mov eax, dword [ebp - 0x1408]
mov dword [ebp - 0x140c], eax
and dword [ebp - 0x1410], 0
jmp 0x46176a
mov eax, dword [ebp - 0x1410]
inc eax
mov dword [ebp - 0x1410], eax
cmp dword [ebp - 0x1410], 1
jae 0x4627dc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461a34
xor eax, eax
je 0x4617b4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4617f0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0xa1b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x461987
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461987
and dword [ebp - 0x1414], 0
jmp 0x46186a
cmp dword [ebp - 0x1414], 0xa
jae 0x461982
cvtsi2sd xmm0, dword [ebp - 0x1414]
movsd xmm1, qword [ebp - 0xa1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4618d9
mov eax, dword [ebp - 0x1414]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1b8], xmm1
jmp 0x4617da
cvtsi2sd xmm0, dword [ebp - 0x1414]
movsd xmm1, qword [ebp - 0xa1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461936
mov eax, dword [ebp - 0x1414]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1b8], xmm1
jmp 0x46194a
xor eax, eax
je 0x461946
jmp 0x461a02
jmp 0x46196d
cvtsi2sd xmm0, dword [ebp - 0x1414]
movsd xmm1, qword [ebp - 0xa1b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1418], eax
jmp 0x461a0c
xor eax, eax
inc eax
je 0x461978
jmp 0x461987
jmp 0x4617da
jmp 0x4617da
xor eax, eax
inc eax
je 0x461a02
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x141c], eax
cvtsi2sd xmm0, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x141c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa1b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1418], eax
jmp 0x461a0c
mov dword [ebp - 0x1418], 7
mov eax, dword [ebp - 0x1410]
shl eax, 2
add eax, dword [ebp - 0x140c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1418]
mov ecx, dword [ebp - 0x1410]
shl ecx, 2
add ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46251a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461d36
xor eax, eax
je 0x461ab6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x461af2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa1d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x461c89
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461c89
and dword [ebp - 0x1420], 0
jmp 0x461b6c
cmp dword [ebp - 0x1420], 0xa
jae 0x461c84
cvtsi2sd xmm0, dword [ebp - 0x1420]
movsd xmm1, qword [ebp - 0xa1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461bdb
mov eax, dword [ebp - 0x1420]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1d0], xmm1
jmp 0x461adc
cvtsi2sd xmm0, dword [ebp - 0x1420]
movsd xmm1, qword [ebp - 0xa1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461c38
mov eax, dword [ebp - 0x1420]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1d0], xmm1
jmp 0x461c4c
xor eax, eax
je 0x461c48
jmp 0x461d04
jmp 0x461c6f
cvtsi2sd xmm0, dword [ebp - 0x1420]
movsd xmm1, qword [ebp - 0xa1d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1424], eax
jmp 0x461d0e
xor eax, eax
inc eax
je 0x461c7a
jmp 0x461c89
jmp 0x461adc
jmp 0x461adc
xor eax, eax
inc eax
je 0x461d04
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1428], eax
cvtsi2sd xmm0, dword [ebp - 0x1428]
mov eax, dword [ebp - 0x1428]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa1d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1424], eax
jmp 0x461d0e
mov dword [ebp - 0x1424], 7
mov eax, dword [ebp - 0x1410]
shl eax, 2
add eax, dword [ebp - 0x140c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1424]
mov ecx, dword [ebp - 0x1410]
shl ecx, 2
add ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461ff3
xor eax, eax
je 0x461d73
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x461daf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa1e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x461f46
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x461f46
and dword [ebp - 0x142c], 0
jmp 0x461e29
cmp dword [ebp - 0x142c], 0xa
jae 0x461f41
cvtsi2sd xmm0, dword [ebp - 0x142c]
movsd xmm1, qword [ebp - 0xa1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461e98
mov eax, dword [ebp - 0x142c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1e8], xmm1
jmp 0x461d99
cvtsi2sd xmm0, dword [ebp - 0x142c]
movsd xmm1, qword [ebp - 0xa1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461ef5
mov eax, dword [ebp - 0x142c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1e8], xmm1
jmp 0x461f09
xor eax, eax
je 0x461f05
jmp 0x461fc1
jmp 0x461f2c
cvtsi2sd xmm0, dword [ebp - 0x142c]
movsd xmm1, qword [ebp - 0xa1e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1430], eax
jmp 0x461fcb
xor eax, eax
inc eax
je 0x461f37
jmp 0x461f46
jmp 0x461d99
jmp 0x461d99
xor eax, eax
inc eax
je 0x461fc1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1434], eax
cvtsi2sd xmm0, dword [ebp - 0x1434]
mov eax, dword [ebp - 0x1434]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa1e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1430], eax
jmp 0x461fcb
mov dword [ebp - 0x1430], 7
mov eax, dword [ebp - 0x1410]
shl eax, 2
add eax, dword [ebp - 0x140c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1430]
mov ecx, dword [ebp - 0x1410]
shl ecx, 2
add ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1410]
add eax, 0xffffffb4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa200], xmm0
xor eax, eax
je 0x46200d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x462049
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa200]
movsd qword [ebp - 0xa208], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4621e0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4621e0
and dword [ebp - 0x1438], 0
jmp 0x4620c3
cmp dword [ebp - 0x1438], 0xa
jae 0x4621db
cvtsi2sd xmm0, dword [ebp - 0x1438]
movsd xmm1, qword [ebp - 0xa208]
addsd xmm1, xmm0
movsd qword [ebp - 0xa210], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa210]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462132
mov eax, dword [ebp - 0x1438]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa208]
addsd xmm1, xmm0
movsd qword [ebp - 0xa208], xmm1
jmp 0x462033
cvtsi2sd xmm0, dword [ebp - 0x1438]
movsd xmm1, qword [ebp - 0xa208]
addsd xmm1, xmm0
movsd qword [ebp - 0xa218], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46218f
mov eax, dword [ebp - 0x1438]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa208]
addsd xmm1, xmm0
movsd qword [ebp - 0xa208], xmm1
jmp 0x4621a3
xor eax, eax
je 0x46219f
jmp 0x46225b
jmp 0x4621c6
cvtsi2sd xmm0, dword [ebp - 0x1438]
movsd xmm1, qword [ebp - 0xa208]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x143c], eax
jmp 0x462265
xor eax, eax
inc eax
je 0x4621d1
jmp 0x4621e0
jmp 0x462033
jmp 0x462033
xor eax, eax
inc eax
je 0x46225b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1440], eax
cvtsi2sd xmm0, dword [ebp - 0x1440]
mov eax, dword [ebp - 0x1440]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa208]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x143c], eax
jmp 0x462265
mov dword [ebp - 0x143c], 7
mov eax, dword [ebp - 0x1410]
add eax, 0xffffffb4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa220], xmm0
xor eax, eax
je 0x46227f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4622bb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa220]
movsd qword [ebp - 0xa228], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x462452
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x462452
and dword [ebp - 0x1444], 0
jmp 0x462335
cmp dword [ebp - 0x1444], 0xa
jae 0x46244d
cvtsi2sd xmm0, dword [ebp - 0x1444]
movsd xmm1, qword [ebp - 0xa228]
addsd xmm1, xmm0
movsd qword [ebp - 0xa230], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa230]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4623a4
mov eax, dword [ebp - 0x1444]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa228]
addsd xmm1, xmm0
movsd qword [ebp - 0xa228], xmm1
jmp 0x4622a5
cvtsi2sd xmm0, dword [ebp - 0x1444]
movsd xmm1, qword [ebp - 0xa228]
addsd xmm1, xmm0
movsd qword [ebp - 0xa238], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462401
mov eax, dword [ebp - 0x1444]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa228]
addsd xmm1, xmm0
movsd qword [ebp - 0xa228], xmm1
jmp 0x462415
xor eax, eax
je 0x462411
jmp 0x4624cd
jmp 0x462438
cvtsi2sd xmm0, dword [ebp - 0x1444]
movsd xmm1, qword [ebp - 0xa228]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1448], eax
jmp 0x4624d7
xor eax, eax
inc eax
je 0x462443
jmp 0x462452
jmp 0x4622a5
jmp 0x4622a5
xor eax, eax
inc eax
je 0x4624cd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x144c], eax
cvtsi2sd xmm0, dword [ebp - 0x144c]
mov eax, dword [ebp - 0x144c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa228]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1448], eax
jmp 0x4624d7
mov dword [ebp - 0x1448], 7
mov eax, dword [ebp - 0x1410]
shl eax, 2
add eax, dword [ebp - 0x140c]
mov eax, dword [eax]
add eax, dword [ebp - 0x143c]
mov ecx, dword [ebp - 0x1410]
shl ecx, 2
add ecx, dword [ebp - 0x140c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1448]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1410]
shl ecx, 2
add ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4627d7
xor eax, eax
je 0x462557
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x462593
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa240], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46272a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46272a
and dword [ebp - 0x1450], 0
jmp 0x46260d
cmp dword [ebp - 0x1450], 0xa
jae 0x462725
cvtsi2sd xmm0, dword [ebp - 0x1450]
movsd xmm1, qword [ebp - 0xa240]
addsd xmm1, xmm0
movsd qword [ebp - 0xa248], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa248]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46267c
mov eax, dword [ebp - 0x1450]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa240]
addsd xmm1, xmm0
movsd qword [ebp - 0xa240], xmm1
jmp 0x46257d
cvtsi2sd xmm0, dword [ebp - 0x1450]
movsd xmm1, qword [ebp - 0xa240]
addsd xmm1, xmm0
movsd qword [ebp - 0xa250], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa250]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4626d9
mov eax, dword [ebp - 0x1450]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa240]
addsd xmm1, xmm0
movsd qword [ebp - 0xa240], xmm1
jmp 0x4626ed
xor eax, eax
je 0x4626e9
jmp 0x4627a5
jmp 0x462710
cvtsi2sd xmm0, dword [ebp - 0x1450]
movsd xmm1, qword [ebp - 0xa240]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1454], eax
jmp 0x4627af
xor eax, eax
inc eax
je 0x46271b
jmp 0x46272a
jmp 0x46257d
jmp 0x46257d
xor eax, eax
inc eax
je 0x4627a5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1458], eax
cvtsi2sd xmm0, dword [ebp - 0x1458]
mov eax, dword [ebp - 0x1458]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa240]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1454], eax
jmp 0x4627af
mov dword [ebp - 0x1454], 7
mov eax, dword [ebp - 0x1410]
shl eax, 2
add eax, dword [ebp - 0x140c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1454]
mov ecx, dword [ebp - 0x1410]
shl ecx, 2
add ecx, dword [ebp - 0x140c]
mov dword [ecx], eax
jmp 0x46175d
mov eax, dword [ebp - 0x1408]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1408]
mov dword [ebp - 0x145c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x145c]
mov eax, dword [eax]
mov dword [ebp - 0x1460], eax
xor eax, eax
mov byte [ebp - 0x37], al
lea ecx, [ebp - 0x37]
call fcn.00417442
mov dword [ebp - 0x1464], eax
mov eax, dword [ebp - 0x1464]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4638bf
mov eax, dword [ebp - 0x1464]
mov dword [ebp - 0x1468], eax
and dword [ebp - 0x146c], 0
jmp 0x46284d
mov eax, dword [ebp - 0x146c]
inc eax
mov dword [ebp - 0x146c], eax
cmp dword [ebp - 0x146c], 1
jae 0x4638bf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x462b17
xor eax, eax
je 0x462897
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4628d3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e98]
movsd qword [ebp - 0xa258], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x462a6a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x462a6a
and dword [ebp - 0x1470], 0
jmp 0x46294d
cmp dword [ebp - 0x1470], 0xa
jae 0x462a65
cvtsi2sd xmm0, dword [ebp - 0x1470]
movsd xmm1, qword [ebp - 0xa258]
addsd xmm1, xmm0
movsd qword [ebp - 0xa260], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa260]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4629bc
mov eax, dword [ebp - 0x1470]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa258]
addsd xmm1, xmm0
movsd qword [ebp - 0xa258], xmm1
jmp 0x4628bd
cvtsi2sd xmm0, dword [ebp - 0x1470]
movsd xmm1, qword [ebp - 0xa258]
addsd xmm1, xmm0
movsd qword [ebp - 0xa268], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa268]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462a19
mov eax, dword [ebp - 0x1470]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa258]
addsd xmm1, xmm0
movsd qword [ebp - 0xa258], xmm1
jmp 0x462a2d
xor eax, eax
je 0x462a29
jmp 0x462ae5
jmp 0x462a50
cvtsi2sd xmm0, dword [ebp - 0x1470]
movsd xmm1, qword [ebp - 0xa258]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1474], eax
jmp 0x462aef
xor eax, eax
inc eax
je 0x462a5b
jmp 0x462a6a
jmp 0x4628bd
jmp 0x4628bd
xor eax, eax
inc eax
je 0x462ae5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1478], eax
cvtsi2sd xmm0, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x1478]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa258]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1474], eax
jmp 0x462aef
mov dword [ebp - 0x1474], 7
mov eax, dword [ebp - 0x146c]
shl eax, 2
add eax, dword [ebp - 0x1468]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1474]
mov ecx, dword [ebp - 0x146c]
shl ecx, 2
add ecx, dword [ebp - 0x1468]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4635fd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x462e19
xor eax, eax
je 0x462b99
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x462bd5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa270], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x462d6c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x462d6c
and dword [ebp - 0x147c], 0
jmp 0x462c4f
cmp dword [ebp - 0x147c], 0xa
jae 0x462d67
cvtsi2sd xmm0, dword [ebp - 0x147c]
movsd xmm1, qword [ebp - 0xa270]
addsd xmm1, xmm0
movsd qword [ebp - 0xa278], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462cbe
mov eax, dword [ebp - 0x147c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa270]
addsd xmm1, xmm0
movsd qword [ebp - 0xa270], xmm1
jmp 0x462bbf
cvtsi2sd xmm0, dword [ebp - 0x147c]
movsd xmm1, qword [ebp - 0xa270]
addsd xmm1, xmm0
movsd qword [ebp - 0xa280], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa280]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462d1b
mov eax, dword [ebp - 0x147c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa270]
addsd xmm1, xmm0
movsd qword [ebp - 0xa270], xmm1
jmp 0x462d2f
xor eax, eax
je 0x462d2b
jmp 0x462de7
jmp 0x462d52
cvtsi2sd xmm0, dword [ebp - 0x147c]
movsd xmm1, qword [ebp - 0xa270]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1480], eax
jmp 0x462df1
xor eax, eax
inc eax
je 0x462d5d
jmp 0x462d6c
jmp 0x462bbf
jmp 0x462bbf
xor eax, eax
inc eax
je 0x462de7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1484], eax
cvtsi2sd xmm0, dword [ebp - 0x1484]
mov eax, dword [ebp - 0x1484]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa270]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1480], eax
jmp 0x462df1
mov dword [ebp - 0x1480], 7
mov eax, dword [ebp - 0x146c]
shl eax, 2
add eax, dword [ebp - 0x1468]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1480]
mov ecx, dword [ebp - 0x146c]
shl ecx, 2
add ecx, dword [ebp - 0x1468]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4630d6
xor eax, eax
je 0x462e56
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x462e92
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa288], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x463029
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x463029
and dword [ebp - 0x1488], 0
jmp 0x462f0c
cmp dword [ebp - 0x1488], 0xa
jae 0x463024
cvtsi2sd xmm0, dword [ebp - 0x1488]
movsd xmm1, qword [ebp - 0xa288]
addsd xmm1, xmm0
movsd qword [ebp - 0xa290], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa290]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462f7b
mov eax, dword [ebp - 0x1488]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa288]
addsd xmm1, xmm0
movsd qword [ebp - 0xa288], xmm1
jmp 0x462e7c
cvtsi2sd xmm0, dword [ebp - 0x1488]
movsd xmm1, qword [ebp - 0xa288]
addsd xmm1, xmm0
movsd qword [ebp - 0xa298], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462fd8
mov eax, dword [ebp - 0x1488]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa288]
addsd xmm1, xmm0
movsd qword [ebp - 0xa288], xmm1
jmp 0x462fec
xor eax, eax
je 0x462fe8
jmp 0x4630a4
jmp 0x46300f
cvtsi2sd xmm0, dword [ebp - 0x1488]
movsd xmm1, qword [ebp - 0xa288]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x148c], eax
jmp 0x4630ae
xor eax, eax
inc eax
je 0x46301a
jmp 0x463029
jmp 0x462e7c
jmp 0x462e7c
xor eax, eax
inc eax
je 0x4630a4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1490], eax
cvtsi2sd xmm0, dword [ebp - 0x1490]
mov eax, dword [ebp - 0x1490]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa288]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x148c], eax
jmp 0x4630ae
mov dword [ebp - 0x148c], 7
mov eax, dword [ebp - 0x146c]
shl eax, 2
add eax, dword [ebp - 0x1468]
mov eax, dword [eax]
xor eax, dword [ebp - 0x148c]
mov ecx, dword [ebp - 0x146c]
shl ecx, 2
add ecx, dword [ebp - 0x1468]
mov dword [ecx], eax
mov eax, dword [ebp - 0x146c]
add eax, 0xffffffb4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa2a0], xmm0
xor eax, eax
je 0x4630f0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46312c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa2a0]
movsd qword [ebp - 0xa2a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4632c3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4632c3
and dword [ebp - 0x1494], 0
jmp 0x4631a6
cmp dword [ebp - 0x1494], 0xa
jae 0x4632be
cvtsi2sd xmm0, dword [ebp - 0x1494]
movsd xmm1, qword [ebp - 0xa2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463215
mov eax, dword [ebp - 0x1494]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2a8], xmm1
jmp 0x463116
cvtsi2sd xmm0, dword [ebp - 0x1494]
movsd xmm1, qword [ebp - 0xa2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463272
mov eax, dword [ebp - 0x1494]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2a8], xmm1
jmp 0x463286
xor eax, eax
je 0x463282
jmp 0x46333e
jmp 0x4632a9
cvtsi2sd xmm0, dword [ebp - 0x1494]
movsd xmm1, qword [ebp - 0xa2a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1498], eax
jmp 0x463348
xor eax, eax
inc eax
je 0x4632b4
jmp 0x4632c3
jmp 0x463116
jmp 0x463116
xor eax, eax
inc eax
je 0x46333e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x149c], eax
cvtsi2sd xmm0, dword [ebp - 0x149c]
mov eax, dword [ebp - 0x149c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa2a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1498], eax
jmp 0x463348
mov dword [ebp - 0x1498], 7
mov eax, dword [ebp - 0x146c]
add eax, 0xffffffb4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa2c0], xmm0
xor eax, eax
je 0x463362
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46339e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa2c0]
movsd qword [ebp - 0xa2c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x463535
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x463535
and dword [ebp - 0x14a0], 0
jmp 0x463418
cmp dword [ebp - 0x14a0], 0xa
jae 0x463530
cvtsi2sd xmm0, dword [ebp - 0x14a0]
movsd xmm1, qword [ebp - 0xa2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463487
mov eax, dword [ebp - 0x14a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2c8], xmm1
jmp 0x463388
cvtsi2sd xmm0, dword [ebp - 0x14a0]
movsd xmm1, qword [ebp - 0xa2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4634e4
mov eax, dword [ebp - 0x14a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2c8], xmm1
jmp 0x4634f8
xor eax, eax
je 0x4634f4
jmp 0x4635b0
jmp 0x46351b
cvtsi2sd xmm0, dword [ebp - 0x14a0]
movsd xmm1, qword [ebp - 0xa2c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14a4], eax
jmp 0x4635ba
xor eax, eax
inc eax
je 0x463526
jmp 0x463535
jmp 0x463388
jmp 0x463388
xor eax, eax
inc eax
je 0x4635b0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x14a8], eax
cvtsi2sd xmm0, dword [ebp - 0x14a8]
mov eax, dword [ebp - 0x14a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa2c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14a4], eax
jmp 0x4635ba
mov dword [ebp - 0x14a4], 7
mov eax, dword [ebp - 0x146c]
shl eax, 2
add eax, dword [ebp - 0x1468]
mov eax, dword [eax]
add eax, dword [ebp - 0x1498]
mov ecx, dword [ebp - 0x146c]
shl ecx, 2
add ecx, dword [ebp - 0x1468]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x14a4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x146c]
shl ecx, 2
add ecx, dword [ebp - 0x1468]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4638ba
xor eax, eax
je 0x46363a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x463676
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa2e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46380d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46380d
and dword [ebp - 0x14ac], 0
jmp 0x4636f0
cmp dword [ebp - 0x14ac], 0xa
jae 0x463808
cvtsi2sd xmm0, dword [ebp - 0x14ac]
movsd xmm1, qword [ebp - 0xa2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46375f
mov eax, dword [ebp - 0x14ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2e0], xmm1
jmp 0x463660
cvtsi2sd xmm0, dword [ebp - 0x14ac]
movsd xmm1, qword [ebp - 0xa2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4637bc
mov eax, dword [ebp - 0x14ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2e0], xmm1
jmp 0x4637d0
xor eax, eax
je 0x4637cc
jmp 0x463888
jmp 0x4637f3
cvtsi2sd xmm0, dword [ebp - 0x14ac]
movsd xmm1, qword [ebp - 0xa2e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14b0], eax
jmp 0x463892
xor eax, eax
inc eax
je 0x4637fe
jmp 0x46380d
jmp 0x463660
jmp 0x463660
xor eax, eax
inc eax
je 0x463888
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x14b4], eax
cvtsi2sd xmm0, dword [ebp - 0x14b4]
mov eax, dword [ebp - 0x14b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa2e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14b0], eax
jmp 0x463892
mov dword [ebp - 0x14b0], 7
mov eax, dword [ebp - 0x146c]
shl eax, 2
add eax, dword [ebp - 0x1468]
mov eax, dword [eax]
xor eax, dword [ebp - 0x14b0]
mov ecx, dword [ebp - 0x146c]
shl ecx, 2
add ecx, dword [ebp - 0x1468]
mov dword [ecx], eax
jmp 0x462840
mov eax, dword [ebp - 0x1464]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1464]
mov dword [ebp - 0x14b8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x14b8]
mov eax, dword [eax]
mov dword [ebp - 0x14bc], eax
mov eax, dword [ebp - 0x1460]
mov dword [ebp - 0x1404], eax
cmp dword [ebp - 0x1404], 0
je 0x4649e5
xor eax, eax
mov byte [ebp - 0x38], al
lea ecx, [ebp - 0x38]
call fcn.00414d74
mov dword [ebp - 0x14c0], eax
mov eax, dword [ebp - 0x14c0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4649bb
mov eax, dword [ebp - 0x14c0]
mov dword [ebp - 0x14c4], eax
and dword [ebp - 0x14c8], 0
jmp 0x463949
mov eax, dword [ebp - 0x14c8]
inc eax
mov dword [ebp - 0x14c8], eax
cmp dword [ebp - 0x14c8], 1
jae 0x4649bb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x463c13
xor eax, eax
je 0x463993
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4639cf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa2f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x463b66
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x463b66
and dword [ebp - 0x14cc], 0
jmp 0x463a49
cmp dword [ebp - 0x14cc], 0xa
jae 0x463b61
cvtsi2sd xmm0, dword [ebp - 0x14cc]
movsd xmm1, qword [ebp - 0xa2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa300], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa300]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463ab8
mov eax, dword [ebp - 0x14cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2f8], xmm1
jmp 0x4639b9
cvtsi2sd xmm0, dword [ebp - 0x14cc]
movsd xmm1, qword [ebp - 0xa2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa308], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa308]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463b15
mov eax, dword [ebp - 0x14cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2f8], xmm1
jmp 0x463b29
xor eax, eax
je 0x463b25
jmp 0x463be1
jmp 0x463b4c
cvtsi2sd xmm0, dword [ebp - 0x14cc]
movsd xmm1, qword [ebp - 0xa2f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14d0], eax
jmp 0x463beb
xor eax, eax
inc eax
je 0x463b57
jmp 0x463b66
jmp 0x4639b9
jmp 0x4639b9
xor eax, eax
inc eax
je 0x463be1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x14d4], eax
cvtsi2sd xmm0, dword [ebp - 0x14d4]
mov eax, dword [ebp - 0x14d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa2f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14d0], eax
jmp 0x463beb
mov dword [ebp - 0x14d0], 7
mov eax, dword [ebp - 0x14c8]
shl eax, 2
add eax, dword [ebp - 0x14c4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x14d0]
mov ecx, dword [ebp - 0x14c8]
shl ecx, 2
add ecx, dword [ebp - 0x14c4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4646f9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x463f15
xor eax, eax
je 0x463c95
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x463cd1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa310], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x463e68
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x463e68
and dword [ebp - 0x14d8], 0
jmp 0x463d4b
cmp dword [ebp - 0x14d8], 0xa
jae 0x463e63
cvtsi2sd xmm0, dword [ebp - 0x14d8]
movsd xmm1, qword [ebp - 0xa310]
addsd xmm1, xmm0
movsd qword [ebp - 0xa318], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463dba
mov eax, dword [ebp - 0x14d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa310]
addsd xmm1, xmm0
movsd qword [ebp - 0xa310], xmm1
jmp 0x463cbb
cvtsi2sd xmm0, dword [ebp - 0x14d8]
movsd xmm1, qword [ebp - 0xa310]
addsd xmm1, xmm0
movsd qword [ebp - 0xa320], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa320]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463e17
mov eax, dword [ebp - 0x14d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa310]
addsd xmm1, xmm0
movsd qword [ebp - 0xa310], xmm1
jmp 0x463e2b
xor eax, eax
je 0x463e27
jmp 0x463ee3
jmp 0x463e4e
cvtsi2sd xmm0, dword [ebp - 0x14d8]
movsd xmm1, qword [ebp - 0xa310]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14dc], eax
jmp 0x463eed
xor eax, eax
inc eax
je 0x463e59
jmp 0x463e68
jmp 0x463cbb
jmp 0x463cbb
xor eax, eax
inc eax
je 0x463ee3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x14e0], eax
cvtsi2sd xmm0, dword [ebp - 0x14e0]
mov eax, dword [ebp - 0x14e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa310]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14dc], eax
jmp 0x463eed
mov dword [ebp - 0x14dc], 7
mov eax, dword [ebp - 0x14c8]
shl eax, 2
add eax, dword [ebp - 0x14c4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x14dc]
mov ecx, dword [ebp - 0x14c8]
shl ecx, 2
add ecx, dword [ebp - 0x14c4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4641d2
xor eax, eax
je 0x463f52
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x463f8e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa328], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x464125
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x464125
and dword [ebp - 0x14e4], 0
jmp 0x464008
cmp dword [ebp - 0x14e4], 0xa
jae 0x464120
cvtsi2sd xmm0, dword [ebp - 0x14e4]
movsd xmm1, qword [ebp - 0xa328]
addsd xmm1, xmm0
movsd qword [ebp - 0xa330], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa330]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464077
mov eax, dword [ebp - 0x14e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa328]
addsd xmm1, xmm0
movsd qword [ebp - 0xa328], xmm1
jmp 0x463f78
cvtsi2sd xmm0, dword [ebp - 0x14e4]
movsd xmm1, qword [ebp - 0xa328]
addsd xmm1, xmm0
movsd qword [ebp - 0xa338], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4640d4
mov eax, dword [ebp - 0x14e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa328]
addsd xmm1, xmm0
movsd qword [ebp - 0xa328], xmm1
jmp 0x4640e8
xor eax, eax
je 0x4640e4
jmp 0x4641a0
jmp 0x46410b
cvtsi2sd xmm0, dword [ebp - 0x14e4]
movsd xmm1, qword [ebp - 0xa328]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14e8], eax
jmp 0x4641aa
xor eax, eax
inc eax
je 0x464116
jmp 0x464125
jmp 0x463f78
jmp 0x463f78
xor eax, eax
inc eax
je 0x4641a0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x14ec], eax
cvtsi2sd xmm0, dword [ebp - 0x14ec]
mov eax, dword [ebp - 0x14ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa328]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14e8], eax
jmp 0x4641aa
mov dword [ebp - 0x14e8], 7
mov eax, dword [ebp - 0x14c8]
shl eax, 2
add eax, dword [ebp - 0x14c4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x14e8]
mov ecx, dword [ebp - 0x14c8]
shl ecx, 2
add ecx, dword [ebp - 0x14c4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14c8]
add eax, 0xffffffb5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa340], xmm0
xor eax, eax
je 0x4641ec
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x464228
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa340]
movsd qword [ebp - 0xa348], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4643bf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4643bf
and dword [ebp - 0x14f0], 0
jmp 0x4642a2
cmp dword [ebp - 0x14f0], 0xa
jae 0x4643ba
cvtsi2sd xmm0, dword [ebp - 0x14f0]
movsd xmm1, qword [ebp - 0xa348]
addsd xmm1, xmm0
movsd qword [ebp - 0xa350], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa350]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464311
mov eax, dword [ebp - 0x14f0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa348]
addsd xmm1, xmm0
movsd qword [ebp - 0xa348], xmm1
jmp 0x464212
cvtsi2sd xmm0, dword [ebp - 0x14f0]
movsd xmm1, qword [ebp - 0xa348]
addsd xmm1, xmm0
movsd qword [ebp - 0xa358], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46436e
mov eax, dword [ebp - 0x14f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa348]
addsd xmm1, xmm0
movsd qword [ebp - 0xa348], xmm1
jmp 0x464382
xor eax, eax
je 0x46437e
jmp 0x46443a
jmp 0x4643a5
cvtsi2sd xmm0, dword [ebp - 0x14f0]
movsd xmm1, qword [ebp - 0xa348]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14f4], eax
jmp 0x464444
xor eax, eax
inc eax
je 0x4643b0
jmp 0x4643bf
jmp 0x464212
jmp 0x464212
xor eax, eax
inc eax
je 0x46443a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x14f8], eax
cvtsi2sd xmm0, dword [ebp - 0x14f8]
mov eax, dword [ebp - 0x14f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa348]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x14f4], eax
jmp 0x464444
mov dword [ebp - 0x14f4], 7
mov eax, dword [ebp - 0x14c8]
add eax, 0xffffffb5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa360], xmm0
xor eax, eax
je 0x46445e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46449a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa360]
movsd qword [ebp - 0xa368], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x464631
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x464631
and dword [ebp - 0x14fc], 0
jmp 0x464514
cmp dword [ebp - 0x14fc], 0xa
jae 0x46462c
cvtsi2sd xmm0, dword [ebp - 0x14fc]
movsd xmm1, qword [ebp - 0xa368]
addsd xmm1, xmm0
movsd qword [ebp - 0xa370], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa370]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464583
mov eax, dword [ebp - 0x14fc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa368]
addsd xmm1, xmm0
movsd qword [ebp - 0xa368], xmm1
jmp 0x464484
cvtsi2sd xmm0, dword [ebp - 0x14fc]
movsd xmm1, qword [ebp - 0xa368]
addsd xmm1, xmm0
movsd qword [ebp - 0xa378], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4645e0
mov eax, dword [ebp - 0x14fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa368]
addsd xmm1, xmm0
movsd qword [ebp - 0xa368], xmm1
jmp 0x4645f4
xor eax, eax
je 0x4645f0
jmp 0x4646ac
jmp 0x464617
cvtsi2sd xmm0, dword [ebp - 0x14fc]
movsd xmm1, qword [ebp - 0xa368]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1500], eax
jmp 0x4646b6
xor eax, eax
inc eax
je 0x464622
jmp 0x464631
jmp 0x464484
jmp 0x464484
xor eax, eax
inc eax
je 0x4646ac
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1504], eax
cvtsi2sd xmm0, dword [ebp - 0x1504]
mov eax, dword [ebp - 0x1504]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa368]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1500], eax
jmp 0x4646b6
mov dword [ebp - 0x1500], 7
mov eax, dword [ebp - 0x14c8]
shl eax, 2
add eax, dword [ebp - 0x14c4]
mov eax, dword [eax]
add eax, dword [ebp - 0x14f4]
mov ecx, dword [ebp - 0x14c8]
shl ecx, 2
add ecx, dword [ebp - 0x14c4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1500]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x14c8]
shl ecx, 2
add ecx, dword [ebp - 0x14c4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4649b6
xor eax, eax
je 0x464736
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x464772
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa380], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x464909
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x464909
and dword [ebp - 0x1508], 0
jmp 0x4647ec
cmp dword [ebp - 0x1508], 0xa
jae 0x464904
cvtsi2sd xmm0, dword [ebp - 0x1508]
movsd xmm1, qword [ebp - 0xa380]
addsd xmm1, xmm0
movsd qword [ebp - 0xa388], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa388]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46485b
mov eax, dword [ebp - 0x1508]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa380]
addsd xmm1, xmm0
movsd qword [ebp - 0xa380], xmm1
jmp 0x46475c
cvtsi2sd xmm0, dword [ebp - 0x1508]
movsd xmm1, qword [ebp - 0xa380]
addsd xmm1, xmm0
movsd qword [ebp - 0xa390], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4648b8
mov eax, dword [ebp - 0x1508]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa380]
addsd xmm1, xmm0
movsd qword [ebp - 0xa380], xmm1
jmp 0x4648cc
xor eax, eax
je 0x4648c8
jmp 0x464984
jmp 0x4648ef
cvtsi2sd xmm0, dword [ebp - 0x1508]
movsd xmm1, qword [ebp - 0xa380]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x150c], eax
jmp 0x46498e
xor eax, eax
inc eax
je 0x4648fa
jmp 0x464909
jmp 0x46475c
jmp 0x46475c
xor eax, eax
inc eax
je 0x464984
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1510], eax
cvtsi2sd xmm0, dword [ebp - 0x1510]
mov eax, dword [ebp - 0x1510]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa380]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x150c], eax
jmp 0x46498e
mov dword [ebp - 0x150c], 7
mov eax, dword [ebp - 0x14c8]
shl eax, 2
add eax, dword [ebp - 0x14c4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x150c]
mov ecx, dword [ebp - 0x14c8]
shl ecx, 2
add ecx, dword [ebp - 0x14c4]
mov dword [ecx], eax
jmp 0x46393c
mov eax, dword [ebp - 0x14c0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x14c0]
mov dword [ebp - 0x1514], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1514]
mov eax, dword [eax]
mov dword [ebp - 0x14bc], eax
push 0x44
push 0
lea eax, [ebp - 0x1623c]
push eax
call fcn.005e3250
add esp, 0xc
xor eax, eax
mov byte [ebp - 0x39], al
lea ecx, [ebp - 0x39]
call fcn.00419a72
mov dword [ebp - 0x1518], eax
mov eax, dword [ebp - 0x1518]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x465ab1
mov eax, dword [ebp - 0x1518]
mov dword [ebp - 0x151c], eax
and dword [ebp - 0x1520], 0
jmp 0x464a3f
mov eax, dword [ebp - 0x1520]
inc eax
mov dword [ebp - 0x1520], eax
cmp dword [ebp - 0x1520], 1
jae 0x465ab1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x464d09
xor eax, eax
je 0x464a89
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x464ac5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa398], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x464c5c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x464c5c
and dword [ebp - 0x1524], 0
jmp 0x464b3f
cmp dword [ebp - 0x1524], 0xa
jae 0x464c57
cvtsi2sd xmm0, dword [ebp - 0x1524]
movsd xmm1, qword [ebp - 0xa398]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464bae
mov eax, dword [ebp - 0x1524]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa398]
addsd xmm1, xmm0
movsd qword [ebp - 0xa398], xmm1
jmp 0x464aaf
cvtsi2sd xmm0, dword [ebp - 0x1524]
movsd xmm1, qword [ebp - 0xa398]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464c0b
mov eax, dword [ebp - 0x1524]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa398]
addsd xmm1, xmm0
movsd qword [ebp - 0xa398], xmm1
jmp 0x464c1f
xor eax, eax
je 0x464c1b
jmp 0x464cd7
jmp 0x464c42
cvtsi2sd xmm0, dword [ebp - 0x1524]
movsd xmm1, qword [ebp - 0xa398]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1528], eax
jmp 0x464ce1
xor eax, eax
inc eax
je 0x464c4d
jmp 0x464c5c
jmp 0x464aaf
jmp 0x464aaf
xor eax, eax
inc eax
je 0x464cd7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x152c], eax
cvtsi2sd xmm0, dword [ebp - 0x152c]
mov eax, dword [ebp - 0x152c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa398]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1528], eax
jmp 0x464ce1
mov dword [ebp - 0x1528], 7
mov eax, dword [ebp - 0x1520]
shl eax, 2
add eax, dword [ebp - 0x151c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1528]
mov ecx, dword [ebp - 0x1520]
shl ecx, 2
add ecx, dword [ebp - 0x151c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4657ef
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46500b
xor eax, eax
je 0x464d8b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x464dc7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa3b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x464f5e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x464f5e
and dword [ebp - 0x1530], 0
jmp 0x464e41
cmp dword [ebp - 0x1530], 0xa
jae 0x464f59
cvtsi2sd xmm0, dword [ebp - 0x1530]
movsd xmm1, qword [ebp - 0xa3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464eb0
mov eax, dword [ebp - 0x1530]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3b0], xmm1
jmp 0x464db1
cvtsi2sd xmm0, dword [ebp - 0x1530]
movsd xmm1, qword [ebp - 0xa3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464f0d
mov eax, dword [ebp - 0x1530]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3b0], xmm1
jmp 0x464f21
xor eax, eax
je 0x464f1d
jmp 0x464fd9
jmp 0x464f44
cvtsi2sd xmm0, dword [ebp - 0x1530]
movsd xmm1, qword [ebp - 0xa3b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1534], eax
jmp 0x464fe3
xor eax, eax
inc eax
je 0x464f4f
jmp 0x464f5e
jmp 0x464db1
jmp 0x464db1
xor eax, eax
inc eax
je 0x464fd9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1538], eax
cvtsi2sd xmm0, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x1538]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa3b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1534], eax
jmp 0x464fe3
mov dword [ebp - 0x1534], 7
mov eax, dword [ebp - 0x1520]
shl eax, 2
add eax, dword [ebp - 0x151c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1534]
mov ecx, dword [ebp - 0x1520]
shl ecx, 2
add ecx, dword [ebp - 0x151c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4652c8
xor eax, eax
je 0x465048
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x465084
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa3c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46521b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46521b
and dword [ebp - 0x153c], 0
jmp 0x4650fe
cmp dword [ebp - 0x153c], 0xa
jae 0x465216
cvtsi2sd xmm0, dword [ebp - 0x153c]
movsd xmm1, qword [ebp - 0xa3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46516d
mov eax, dword [ebp - 0x153c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3c8], xmm1
jmp 0x46506e
cvtsi2sd xmm0, dword [ebp - 0x153c]
movsd xmm1, qword [ebp - 0xa3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4651ca
mov eax, dword [ebp - 0x153c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3c8], xmm1
jmp 0x4651de
xor eax, eax
je 0x4651da
jmp 0x465296
jmp 0x465201
cvtsi2sd xmm0, dword [ebp - 0x153c]
movsd xmm1, qword [ebp - 0xa3c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1540], eax
jmp 0x4652a0
xor eax, eax
inc eax
je 0x46520c
jmp 0x46521b
jmp 0x46506e
jmp 0x46506e
xor eax, eax
inc eax
je 0x465296
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1544], eax
cvtsi2sd xmm0, dword [ebp - 0x1544]
mov eax, dword [ebp - 0x1544]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa3c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1540], eax
jmp 0x4652a0
mov dword [ebp - 0x1540], 7
mov eax, dword [ebp - 0x1520]
shl eax, 2
add eax, dword [ebp - 0x151c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1540]
mov ecx, dword [ebp - 0x1520]
shl ecx, 2
add ecx, dword [ebp - 0x151c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1520]
add eax, 0xffffffb5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa3e0], xmm0
xor eax, eax
je 0x4652e2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46531e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa3e0]
movsd qword [ebp - 0xa3e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4654b5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4654b5
and dword [ebp - 0x1548], 0
jmp 0x465398
cmp dword [ebp - 0x1548], 0xa
jae 0x4654b0
cvtsi2sd xmm0, dword [ebp - 0x1548]
movsd xmm1, qword [ebp - 0xa3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465407
mov eax, dword [ebp - 0x1548]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3e8], xmm1
jmp 0x465308
cvtsi2sd xmm0, dword [ebp - 0x1548]
movsd xmm1, qword [ebp - 0xa3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465464
mov eax, dword [ebp - 0x1548]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3e8], xmm1
jmp 0x465478
xor eax, eax
je 0x465474
jmp 0x465530
jmp 0x46549b
cvtsi2sd xmm0, dword [ebp - 0x1548]
movsd xmm1, qword [ebp - 0xa3e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x154c], eax
jmp 0x46553a
xor eax, eax
inc eax
je 0x4654a6
jmp 0x4654b5
jmp 0x465308
jmp 0x465308
xor eax, eax
inc eax
je 0x465530
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1550], eax
cvtsi2sd xmm0, dword [ebp - 0x1550]
mov eax, dword [ebp - 0x1550]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa3e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x154c], eax
jmp 0x46553a
mov dword [ebp - 0x154c], 7
mov eax, dword [ebp - 0x1520]
add eax, 0xffffffb5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa400], xmm0
xor eax, eax
je 0x465554
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x465590
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa400]
movsd qword [ebp - 0xa408], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x465727
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x465727
and dword [ebp - 0x1554], 0
jmp 0x46560a
cmp dword [ebp - 0x1554], 0xa
jae 0x465722
cvtsi2sd xmm0, dword [ebp - 0x1554]
movsd xmm1, qword [ebp - 0xa408]
addsd xmm1, xmm0
movsd qword [ebp - 0xa410], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa410]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465679
mov eax, dword [ebp - 0x1554]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa408]
addsd xmm1, xmm0
movsd qword [ebp - 0xa408], xmm1
jmp 0x46557a
cvtsi2sd xmm0, dword [ebp - 0x1554]
movsd xmm1, qword [ebp - 0xa408]
addsd xmm1, xmm0
movsd qword [ebp - 0xa418], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4656d6
mov eax, dword [ebp - 0x1554]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa408]
addsd xmm1, xmm0
movsd qword [ebp - 0xa408], xmm1
jmp 0x4656ea
xor eax, eax
je 0x4656e6
jmp 0x4657a2
jmp 0x46570d
cvtsi2sd xmm0, dword [ebp - 0x1554]
movsd xmm1, qword [ebp - 0xa408]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1558], eax
jmp 0x4657ac
xor eax, eax
inc eax
je 0x465718
jmp 0x465727
jmp 0x46557a
jmp 0x46557a
xor eax, eax
inc eax
je 0x4657a2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x155c], eax
cvtsi2sd xmm0, dword [ebp - 0x155c]
mov eax, dword [ebp - 0x155c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa408]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1558], eax
jmp 0x4657ac
mov dword [ebp - 0x1558], 7
mov eax, dword [ebp - 0x1520]
shl eax, 2
add eax, dword [ebp - 0x151c]
mov eax, dword [eax]
add eax, dword [ebp - 0x154c]
mov ecx, dword [ebp - 0x1520]
shl ecx, 2
add ecx, dword [ebp - 0x151c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1558]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1520]
shl ecx, 2
add ecx, dword [ebp - 0x151c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x465aac
xor eax, eax
je 0x46582c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x465868
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa420], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4659ff
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4659ff
and dword [ebp - 0x1560], 0
jmp 0x4658e2
cmp dword [ebp - 0x1560], 0xa
jae 0x4659fa
cvtsi2sd xmm0, dword [ebp - 0x1560]
movsd xmm1, qword [ebp - 0xa420]
addsd xmm1, xmm0
movsd qword [ebp - 0xa428], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa428]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465951
mov eax, dword [ebp - 0x1560]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa420]
addsd xmm1, xmm0
movsd qword [ebp - 0xa420], xmm1
jmp 0x465852
cvtsi2sd xmm0, dword [ebp - 0x1560]
movsd xmm1, qword [ebp - 0xa420]
addsd xmm1, xmm0
movsd qword [ebp - 0xa430], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa430]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4659ae
mov eax, dword [ebp - 0x1560]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa420]
addsd xmm1, xmm0
movsd qword [ebp - 0xa420], xmm1
jmp 0x4659c2
xor eax, eax
je 0x4659be
jmp 0x465a7a
jmp 0x4659e5
cvtsi2sd xmm0, dword [ebp - 0x1560]
movsd xmm1, qword [ebp - 0xa420]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1564], eax
jmp 0x465a84
xor eax, eax
inc eax
je 0x4659f0
jmp 0x4659ff
jmp 0x465852
jmp 0x465852
xor eax, eax
inc eax
je 0x465a7a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1568], eax
cvtsi2sd xmm0, dword [ebp - 0x1568]
mov eax, dword [ebp - 0x1568]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa420]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1564], eax
jmp 0x465a84
mov dword [ebp - 0x1564], 7
mov eax, dword [ebp - 0x1520]
shl eax, 2
add eax, dword [ebp - 0x151c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1564]
mov ecx, dword [ebp - 0x1520]
shl ecx, 2
add ecx, dword [ebp - 0x151c]
mov dword [ecx], eax
jmp 0x464a32
mov eax, dword [ebp - 0x1518]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1518]
mov dword [ebp - 0x156c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x156c]
mov eax, dword [eax]
mov dword [ebp - 0x1570], eax
xor eax, eax
mov byte [ebp - 0x3a], al
lea ecx, [ebp - 0x3a]
call fcn.00419182
mov dword [ebp - 0x1574], eax
mov eax, dword [ebp - 0x1574]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x466b94
mov eax, dword [ebp - 0x1574]
mov dword [ebp - 0x1578], eax
and dword [ebp - 0x157c], 0
jmp 0x465b22
mov eax, dword [ebp - 0x157c]
inc eax
mov dword [ebp - 0x157c], eax
cmp dword [ebp - 0x157c], 1
jae 0x466b94
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x465dec
xor eax, eax
je 0x465b6c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x465ba8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e90]
movsd qword [ebp - 0xa438], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x465d3f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x465d3f
and dword [ebp - 0x1580], 0
jmp 0x465c22
cmp dword [ebp - 0x1580], 0xa
jae 0x465d3a
cvtsi2sd xmm0, dword [ebp - 0x1580]
movsd xmm1, qword [ebp - 0xa438]
addsd xmm1, xmm0
movsd qword [ebp - 0xa440], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa440]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465c91
mov eax, dword [ebp - 0x1580]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa438]
addsd xmm1, xmm0
movsd qword [ebp - 0xa438], xmm1
jmp 0x465b92
cvtsi2sd xmm0, dword [ebp - 0x1580]
movsd xmm1, qword [ebp - 0xa438]
addsd xmm1, xmm0
movsd qword [ebp - 0xa448], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa448]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465cee
mov eax, dword [ebp - 0x1580]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa438]
addsd xmm1, xmm0
movsd qword [ebp - 0xa438], xmm1
jmp 0x465d02
xor eax, eax
je 0x465cfe
jmp 0x465dba
jmp 0x465d25
cvtsi2sd xmm0, dword [ebp - 0x1580]
movsd xmm1, qword [ebp - 0xa438]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1584], eax
jmp 0x465dc4
xor eax, eax
inc eax
je 0x465d30
jmp 0x465d3f
jmp 0x465b92
jmp 0x465b92
xor eax, eax
inc eax
je 0x465dba
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1588], eax
cvtsi2sd xmm0, dword [ebp - 0x1588]
mov eax, dword [ebp - 0x1588]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa438]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1584], eax
jmp 0x465dc4
mov dword [ebp - 0x1584], 7
mov eax, dword [ebp - 0x157c]
shl eax, 2
add eax, dword [ebp - 0x1578]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1584]
mov ecx, dword [ebp - 0x157c]
shl ecx, 2
add ecx, dword [ebp - 0x1578]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4668d2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4660ee
xor eax, eax
je 0x465e6e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x465eaa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa450], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x466041
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x466041
and dword [ebp - 0x158c], 0
jmp 0x465f24
cmp dword [ebp - 0x158c], 0xa
jae 0x46603c
cvtsi2sd xmm0, dword [ebp - 0x158c]
movsd xmm1, qword [ebp - 0xa450]
addsd xmm1, xmm0
movsd qword [ebp - 0xa458], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465f93
mov eax, dword [ebp - 0x158c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa450]
addsd xmm1, xmm0
movsd qword [ebp - 0xa450], xmm1
jmp 0x465e94
cvtsi2sd xmm0, dword [ebp - 0x158c]
movsd xmm1, qword [ebp - 0xa450]
addsd xmm1, xmm0
movsd qword [ebp - 0xa460], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa460]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465ff0
mov eax, dword [ebp - 0x158c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa450]
addsd xmm1, xmm0
movsd qword [ebp - 0xa450], xmm1
jmp 0x466004
xor eax, eax
je 0x466000
jmp 0x4660bc
jmp 0x466027
cvtsi2sd xmm0, dword [ebp - 0x158c]
movsd xmm1, qword [ebp - 0xa450]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1590], eax
jmp 0x4660c6
xor eax, eax
inc eax
je 0x466032
jmp 0x466041
jmp 0x465e94
jmp 0x465e94
xor eax, eax
inc eax
je 0x4660bc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1594], eax
cvtsi2sd xmm0, dword [ebp - 0x1594]
mov eax, dword [ebp - 0x1594]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa450]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1590], eax
jmp 0x4660c6
mov dword [ebp - 0x1590], 7
mov eax, dword [ebp - 0x157c]
shl eax, 2
add eax, dword [ebp - 0x1578]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1590]
mov ecx, dword [ebp - 0x157c]
shl ecx, 2
add ecx, dword [ebp - 0x1578]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4663ab
xor eax, eax
je 0x46612b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x466167
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa468], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4662fe
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4662fe
and dword [ebp - 0x1598], 0
jmp 0x4661e1
cmp dword [ebp - 0x1598], 0xa
jae 0x4662f9
cvtsi2sd xmm0, dword [ebp - 0x1598]
movsd xmm1, qword [ebp - 0xa468]
addsd xmm1, xmm0
movsd qword [ebp - 0xa470], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa470]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466250
mov eax, dword [ebp - 0x1598]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa468]
addsd xmm1, xmm0
movsd qword [ebp - 0xa468], xmm1
jmp 0x466151
cvtsi2sd xmm0, dword [ebp - 0x1598]
movsd xmm1, qword [ebp - 0xa468]
addsd xmm1, xmm0
movsd qword [ebp - 0xa478], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4662ad
mov eax, dword [ebp - 0x1598]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa468]
addsd xmm1, xmm0
movsd qword [ebp - 0xa468], xmm1
jmp 0x4662c1
xor eax, eax
je 0x4662bd
jmp 0x466379
jmp 0x4662e4
cvtsi2sd xmm0, dword [ebp - 0x1598]
movsd xmm1, qword [ebp - 0xa468]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x159c], eax
jmp 0x466383
xor eax, eax
inc eax
je 0x4662ef
jmp 0x4662fe
jmp 0x466151
jmp 0x466151
xor eax, eax
inc eax
je 0x466379
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15a0], eax
cvtsi2sd xmm0, dword [ebp - 0x15a0]
mov eax, dword [ebp - 0x15a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa468]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x159c], eax
jmp 0x466383
mov dword [ebp - 0x159c], 7
mov eax, dword [ebp - 0x157c]
shl eax, 2
add eax, dword [ebp - 0x1578]
mov eax, dword [eax]
xor eax, dword [ebp - 0x159c]
mov ecx, dword [ebp - 0x157c]
shl ecx, 2
add ecx, dword [ebp - 0x1578]
mov dword [ecx], eax
mov eax, dword [ebp - 0x157c]
add eax, 0xffffffb5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa480], xmm0
xor eax, eax
je 0x4663c5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x466401
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa480]
movsd qword [ebp - 0xa488], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x466598
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x466598
and dword [ebp - 0x15a4], 0
jmp 0x46647b
cmp dword [ebp - 0x15a4], 0xa
jae 0x466593
cvtsi2sd xmm0, dword [ebp - 0x15a4]
movsd xmm1, qword [ebp - 0xa488]
addsd xmm1, xmm0
movsd qword [ebp - 0xa490], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa490]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4664ea
mov eax, dword [ebp - 0x15a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa488]
addsd xmm1, xmm0
movsd qword [ebp - 0xa488], xmm1
jmp 0x4663eb
cvtsi2sd xmm0, dword [ebp - 0x15a4]
movsd xmm1, qword [ebp - 0xa488]
addsd xmm1, xmm0
movsd qword [ebp - 0xa498], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466547
mov eax, dword [ebp - 0x15a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa488]
addsd xmm1, xmm0
movsd qword [ebp - 0xa488], xmm1
jmp 0x46655b
xor eax, eax
je 0x466557
jmp 0x466613
jmp 0x46657e
cvtsi2sd xmm0, dword [ebp - 0x15a4]
movsd xmm1, qword [ebp - 0xa488]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15a8], eax
jmp 0x46661d
xor eax, eax
inc eax
je 0x466589
jmp 0x466598
jmp 0x4663eb
jmp 0x4663eb
xor eax, eax
inc eax
je 0x466613
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15ac], eax
cvtsi2sd xmm0, dword [ebp - 0x15ac]
mov eax, dword [ebp - 0x15ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa488]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15a8], eax
jmp 0x46661d
mov dword [ebp - 0x15a8], 7
mov eax, dword [ebp - 0x157c]
add eax, 0xffffffb5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa4a0], xmm0
xor eax, eax
je 0x466637
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x466673
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa4a0]
movsd qword [ebp - 0xa4a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46680a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46680a
and dword [ebp - 0x15b0], 0
jmp 0x4666ed
cmp dword [ebp - 0x15b0], 0xa
jae 0x466805
cvtsi2sd xmm0, dword [ebp - 0x15b0]
movsd xmm1, qword [ebp - 0xa4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46675c
mov eax, dword [ebp - 0x15b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4a8], xmm1
jmp 0x46665d
cvtsi2sd xmm0, dword [ebp - 0x15b0]
movsd xmm1, qword [ebp - 0xa4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4667b9
mov eax, dword [ebp - 0x15b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4a8], xmm1
jmp 0x4667cd
xor eax, eax
je 0x4667c9
jmp 0x466885
jmp 0x4667f0
cvtsi2sd xmm0, dword [ebp - 0x15b0]
movsd xmm1, qword [ebp - 0xa4a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15b4], eax
jmp 0x46688f
xor eax, eax
inc eax
je 0x4667fb
jmp 0x46680a
jmp 0x46665d
jmp 0x46665d
xor eax, eax
inc eax
je 0x466885
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15b8], eax
cvtsi2sd xmm0, dword [ebp - 0x15b8]
mov eax, dword [ebp - 0x15b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa4a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15b4], eax
jmp 0x46688f
mov dword [ebp - 0x15b4], 7
mov eax, dword [ebp - 0x157c]
shl eax, 2
add eax, dword [ebp - 0x1578]
mov eax, dword [eax]
add eax, dword [ebp - 0x15a8]
mov ecx, dword [ebp - 0x157c]
shl ecx, 2
add ecx, dword [ebp - 0x1578]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x15b4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x157c]
shl ecx, 2
add ecx, dword [ebp - 0x1578]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x466b8f
xor eax, eax
je 0x46690f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46694b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa4c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x466ae2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x466ae2
and dword [ebp - 0x15bc], 0
jmp 0x4669c5
cmp dword [ebp - 0x15bc], 0xa
jae 0x466add
cvtsi2sd xmm0, dword [ebp - 0x15bc]
movsd xmm1, qword [ebp - 0xa4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466a34
mov eax, dword [ebp - 0x15bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4c0], xmm1
jmp 0x466935
cvtsi2sd xmm0, dword [ebp - 0x15bc]
movsd xmm1, qword [ebp - 0xa4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466a91
mov eax, dword [ebp - 0x15bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4c0], xmm1
jmp 0x466aa5
xor eax, eax
je 0x466aa1
jmp 0x466b5d
jmp 0x466ac8
cvtsi2sd xmm0, dword [ebp - 0x15bc]
movsd xmm1, qword [ebp - 0xa4c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15c0], eax
jmp 0x466b67
xor eax, eax
inc eax
je 0x466ad3
jmp 0x466ae2
jmp 0x466935
jmp 0x466935
xor eax, eax
inc eax
je 0x466b5d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15c4], eax
cvtsi2sd xmm0, dword [ebp - 0x15c4]
mov eax, dword [ebp - 0x15c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa4c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15c0], eax
jmp 0x466b67
mov dword [ebp - 0x15c0], 7
mov eax, dword [ebp - 0x157c]
shl eax, 2
add eax, dword [ebp - 0x1578]
mov eax, dword [eax]
xor eax, dword [ebp - 0x15c0]
mov ecx, dword [ebp - 0x157c]
shl ecx, 2
add ecx, dword [ebp - 0x1578]
mov dword [ecx], eax
jmp 0x465b15
mov eax, dword [ebp - 0x1574]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1574]
mov dword [ebp - 0x15c8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x15c8]
mov eax, dword [eax]
mov dword [ebp - 0x15cc], eax
xor eax, eax
mov byte [ebp - 0x3b], al
lea ecx, [ebp - 0x3b]
call fcn.00415b10
mov dword [ebp - 0x15d0], eax
mov eax, dword [ebp - 0x15d0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x467c77
mov eax, dword [ebp - 0x15d0]
mov dword [ebp - 0x15d4], eax
and dword [ebp - 0x15d8], 0
jmp 0x466c05
mov eax, dword [ebp - 0x15d8]
inc eax
mov dword [ebp - 0x15d8], eax
cmp dword [ebp - 0x15d8], 1
jae 0x467c77
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x466ecf
xor eax, eax
je 0x466c4f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x466c8b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa4d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x466e22
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x466e22
and dword [ebp - 0x15dc], 0
jmp 0x466d05
cmp dword [ebp - 0x15dc], 0xa
jae 0x466e1d
cvtsi2sd xmm0, dword [ebp - 0x15dc]
movsd xmm1, qword [ebp - 0xa4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466d74
mov eax, dword [ebp - 0x15dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4d8], xmm1
jmp 0x466c75
cvtsi2sd xmm0, dword [ebp - 0x15dc]
movsd xmm1, qword [ebp - 0xa4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466dd1
mov eax, dword [ebp - 0x15dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4d8], xmm1
jmp 0x466de5
xor eax, eax
je 0x466de1
jmp 0x466e9d
jmp 0x466e08
cvtsi2sd xmm0, dword [ebp - 0x15dc]
movsd xmm1, qword [ebp - 0xa4d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15e0], eax
jmp 0x466ea7
xor eax, eax
inc eax
je 0x466e13
jmp 0x466e22
jmp 0x466c75
jmp 0x466c75
xor eax, eax
inc eax
je 0x466e9d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15e4], eax
cvtsi2sd xmm0, dword [ebp - 0x15e4]
mov eax, dword [ebp - 0x15e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa4d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15e0], eax
jmp 0x466ea7
mov dword [ebp - 0x15e0], 7
mov eax, dword [ebp - 0x15d8]
shl eax, 2
add eax, dword [ebp - 0x15d4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x15e0]
mov ecx, dword [ebp - 0x15d8]
shl ecx, 2
add ecx, dword [ebp - 0x15d4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4679b5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4671d1
xor eax, eax
je 0x466f51
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x466f8d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa4f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x467124
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x467124
and dword [ebp - 0x15e8], 0
jmp 0x467007
cmp dword [ebp - 0x15e8], 0xa
jae 0x46711f
cvtsi2sd xmm0, dword [ebp - 0x15e8]
movsd xmm1, qword [ebp - 0xa4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467076
mov eax, dword [ebp - 0x15e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4f0], xmm1
jmp 0x466f77
cvtsi2sd xmm0, dword [ebp - 0x15e8]
movsd xmm1, qword [ebp - 0xa4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa500], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa500]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4670d3
mov eax, dword [ebp - 0x15e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4f0], xmm1
jmp 0x4670e7
xor eax, eax
je 0x4670e3
jmp 0x46719f
jmp 0x46710a
cvtsi2sd xmm0, dword [ebp - 0x15e8]
movsd xmm1, qword [ebp - 0xa4f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15ec], eax
jmp 0x4671a9
xor eax, eax
inc eax
je 0x467115
jmp 0x467124
jmp 0x466f77
jmp 0x466f77
xor eax, eax
inc eax
je 0x46719f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15f0], eax
cvtsi2sd xmm0, dword [ebp - 0x15f0]
mov eax, dword [ebp - 0x15f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa4f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15ec], eax
jmp 0x4671a9
mov dword [ebp - 0x15ec], 7
mov eax, dword [ebp - 0x15d8]
shl eax, 2
add eax, dword [ebp - 0x15d4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x15ec]
mov ecx, dword [ebp - 0x15d8]
shl ecx, 2
add ecx, dword [ebp - 0x15d4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46748e
xor eax, eax
je 0x46720e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46724a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa508], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4673e1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4673e1
and dword [ebp - 0x15f4], 0
jmp 0x4672c4
cmp dword [ebp - 0x15f4], 0xa
jae 0x4673dc
cvtsi2sd xmm0, dword [ebp - 0x15f4]
movsd xmm1, qword [ebp - 0xa508]
addsd xmm1, xmm0
movsd qword [ebp - 0xa510], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa510]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467333
mov eax, dword [ebp - 0x15f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa508]
addsd xmm1, xmm0
movsd qword [ebp - 0xa508], xmm1
jmp 0x467234
cvtsi2sd xmm0, dword [ebp - 0x15f4]
movsd xmm1, qword [ebp - 0xa508]
addsd xmm1, xmm0
movsd qword [ebp - 0xa518], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467390
mov eax, dword [ebp - 0x15f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa508]
addsd xmm1, xmm0
movsd qword [ebp - 0xa508], xmm1
jmp 0x4673a4
xor eax, eax
je 0x4673a0
jmp 0x46745c
jmp 0x4673c7
cvtsi2sd xmm0, dword [ebp - 0x15f4]
movsd xmm1, qword [ebp - 0xa508]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15f8], eax
jmp 0x467466
xor eax, eax
inc eax
je 0x4673d2
jmp 0x4673e1
jmp 0x467234
jmp 0x467234
xor eax, eax
inc eax
je 0x46745c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x15fc], eax
cvtsi2sd xmm0, dword [ebp - 0x15fc]
mov eax, dword [ebp - 0x15fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa508]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x15f8], eax
jmp 0x467466
mov dword [ebp - 0x15f8], 7
mov eax, dword [ebp - 0x15d8]
shl eax, 2
add eax, dword [ebp - 0x15d4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x15f8]
mov ecx, dword [ebp - 0x15d8]
shl ecx, 2
add ecx, dword [ebp - 0x15d4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x15d8]
add eax, 0xffffffb6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa520], xmm0
xor eax, eax
je 0x4674a8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4674e4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa520]
movsd qword [ebp - 0xa528], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46767b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46767b
and dword [ebp - 0x1600], 0
jmp 0x46755e
cmp dword [ebp - 0x1600], 0xa
jae 0x467676
cvtsi2sd xmm0, dword [ebp - 0x1600]
movsd xmm1, qword [ebp - 0xa528]
addsd xmm1, xmm0
movsd qword [ebp - 0xa530], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa530]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4675cd
mov eax, dword [ebp - 0x1600]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa528]
addsd xmm1, xmm0
movsd qword [ebp - 0xa528], xmm1
jmp 0x4674ce
cvtsi2sd xmm0, dword [ebp - 0x1600]
movsd xmm1, qword [ebp - 0xa528]
addsd xmm1, xmm0
movsd qword [ebp - 0xa538], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46762a
mov eax, dword [ebp - 0x1600]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa528]
addsd xmm1, xmm0
movsd qword [ebp - 0xa528], xmm1
jmp 0x46763e
xor eax, eax
je 0x46763a
jmp 0x4676f6
jmp 0x467661
cvtsi2sd xmm0, dword [ebp - 0x1600]
movsd xmm1, qword [ebp - 0xa528]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1604], eax
jmp 0x467700
xor eax, eax
inc eax
je 0x46766c
jmp 0x46767b
jmp 0x4674ce
jmp 0x4674ce
xor eax, eax
inc eax
je 0x4676f6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1608], eax
cvtsi2sd xmm0, dword [ebp - 0x1608]
mov eax, dword [ebp - 0x1608]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa528]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1604], eax
jmp 0x467700
mov dword [ebp - 0x1604], 7
mov eax, dword [ebp - 0x15d8]
add eax, 0xffffffb6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa540], xmm0
xor eax, eax
je 0x46771a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x467756
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa540]
movsd qword [ebp - 0xa548], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4678ed
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4678ed
and dword [ebp - 0x160c], 0
jmp 0x4677d0
cmp dword [ebp - 0x160c], 0xa
jae 0x4678e8
cvtsi2sd xmm0, dword [ebp - 0x160c]
movsd xmm1, qword [ebp - 0xa548]
addsd xmm1, xmm0
movsd qword [ebp - 0xa550], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa550]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46783f
mov eax, dword [ebp - 0x160c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa548]
addsd xmm1, xmm0
movsd qword [ebp - 0xa548], xmm1
jmp 0x467740
cvtsi2sd xmm0, dword [ebp - 0x160c]
movsd xmm1, qword [ebp - 0xa548]
addsd xmm1, xmm0
movsd qword [ebp - 0xa558], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46789c
mov eax, dword [ebp - 0x160c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa548]
addsd xmm1, xmm0
movsd qword [ebp - 0xa548], xmm1
jmp 0x4678b0
xor eax, eax
je 0x4678ac
jmp 0x467968
jmp 0x4678d3
cvtsi2sd xmm0, dword [ebp - 0x160c]
movsd xmm1, qword [ebp - 0xa548]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1610], eax
jmp 0x467972
xor eax, eax
inc eax
je 0x4678de
jmp 0x4678ed
jmp 0x467740
jmp 0x467740
xor eax, eax
inc eax
je 0x467968
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1614], eax
cvtsi2sd xmm0, dword [ebp - 0x1614]
mov eax, dword [ebp - 0x1614]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa548]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1610], eax
jmp 0x467972
mov dword [ebp - 0x1610], 7
mov eax, dword [ebp - 0x15d8]
shl eax, 2
add eax, dword [ebp - 0x15d4]
mov eax, dword [eax]
add eax, dword [ebp - 0x1604]
mov ecx, dword [ebp - 0x15d8]
shl ecx, 2
add ecx, dword [ebp - 0x15d4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1610]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x15d8]
shl ecx, 2
add ecx, dword [ebp - 0x15d4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x467c72
xor eax, eax
je 0x4679f2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x467a2e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa560], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x467bc5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x467bc5
and dword [ebp - 0x1618], 0
jmp 0x467aa8
cmp dword [ebp - 0x1618], 0xa
jae 0x467bc0
cvtsi2sd xmm0, dword [ebp - 0x1618]
movsd xmm1, qword [ebp - 0xa560]
addsd xmm1, xmm0
movsd qword [ebp - 0xa568], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa568]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467b17
mov eax, dword [ebp - 0x1618]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa560]
addsd xmm1, xmm0
movsd qword [ebp - 0xa560], xmm1
jmp 0x467a18
cvtsi2sd xmm0, dword [ebp - 0x1618]
movsd xmm1, qword [ebp - 0xa560]
addsd xmm1, xmm0
movsd qword [ebp - 0xa570], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa570]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467b74
mov eax, dword [ebp - 0x1618]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa560]
addsd xmm1, xmm0
movsd qword [ebp - 0xa560], xmm1
jmp 0x467b88
xor eax, eax
je 0x467b84
jmp 0x467c40
jmp 0x467bab
cvtsi2sd xmm0, dword [ebp - 0x1618]
movsd xmm1, qword [ebp - 0xa560]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x161c], eax
jmp 0x467c4a
xor eax, eax
inc eax
je 0x467bb6
jmp 0x467bc5
jmp 0x467a18
jmp 0x467a18
xor eax, eax
inc eax
je 0x467c40
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1620], eax
cvtsi2sd xmm0, dword [ebp - 0x1620]
mov eax, dword [ebp - 0x1620]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa560]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x161c], eax
jmp 0x467c4a
mov dword [ebp - 0x161c], 7
mov eax, dword [ebp - 0x15d8]
shl eax, 2
add eax, dword [ebp - 0x15d4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x161c]
mov ecx, dword [ebp - 0x15d8]
shl ecx, 2
add ecx, dword [ebp - 0x15d4]
mov dword [ecx], eax
jmp 0x466bf8
mov eax, dword [ebp - 0x15d0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x15d0]
mov dword [ebp - 0x1624], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1624]
mov eax, dword [eax]
mov dword [ebp - 0x1628], eax
mov eax, dword [ebp - 0x15cc]
mov dword [ebp - 0x1570], eax
cmp dword [ebp - 0x1570], 0
je 0x468d9d
xor eax, eax
mov byte [ebp - 0x3c], al
lea ecx, [ebp - 0x3c]
call fcn.00414fe4
mov dword [ebp - 0x162c], eax
mov eax, dword [ebp - 0x162c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x468d73
mov eax, dword [ebp - 0x162c]
mov dword [ebp - 0x1630], eax
and dword [ebp - 0x1634], 0
jmp 0x467d01
mov eax, dword [ebp - 0x1634]
inc eax
mov dword [ebp - 0x1634], eax
cmp dword [ebp - 0x1634], 1
jae 0x468d73
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x467fcb
xor eax, eax
je 0x467d4b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x467d87
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e88]
movsd qword [ebp - 0xa578], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x467f1e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x467f1e
and dword [ebp - 0x1638], 0
jmp 0x467e01
cmp dword [ebp - 0x1638], 0xa
jae 0x467f19
cvtsi2sd xmm0, dword [ebp - 0x1638]
movsd xmm1, qword [ebp - 0xa578]
addsd xmm1, xmm0
movsd qword [ebp - 0xa580], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa580]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467e70
mov eax, dword [ebp - 0x1638]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa578]
addsd xmm1, xmm0
movsd qword [ebp - 0xa578], xmm1
jmp 0x467d71
cvtsi2sd xmm0, dword [ebp - 0x1638]
movsd xmm1, qword [ebp - 0xa578]
addsd xmm1, xmm0
movsd qword [ebp - 0xa588], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa588]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467ecd
mov eax, dword [ebp - 0x1638]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa578]
addsd xmm1, xmm0
movsd qword [ebp - 0xa578], xmm1
jmp 0x467ee1
xor eax, eax
je 0x467edd
jmp 0x467f99
jmp 0x467f04
cvtsi2sd xmm0, dword [ebp - 0x1638]
movsd xmm1, qword [ebp - 0xa578]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x163c], eax
jmp 0x467fa3
xor eax, eax
inc eax
je 0x467f0f
jmp 0x467f1e
jmp 0x467d71
jmp 0x467d71
xor eax, eax
inc eax
je 0x467f99
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1640], eax
cvtsi2sd xmm0, dword [ebp - 0x1640]
mov eax, dword [ebp - 0x1640]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa578]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x163c], eax
jmp 0x467fa3
mov dword [ebp - 0x163c], 7
mov eax, dword [ebp - 0x1634]
shl eax, 2
add eax, dword [ebp - 0x1630]
mov eax, dword [eax]
xor eax, dword [ebp - 0x163c]
mov ecx, dword [ebp - 0x1634]
shl ecx, 2
add ecx, dword [ebp - 0x1630]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x468ab1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4682cd
xor eax, eax
je 0x46804d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x468089
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa590], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x468220
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x468220
and dword [ebp - 0x1644], 0
jmp 0x468103
cmp dword [ebp - 0x1644], 0xa
jae 0x46821b
cvtsi2sd xmm0, dword [ebp - 0x1644]
movsd xmm1, qword [ebp - 0xa590]
addsd xmm1, xmm0
movsd qword [ebp - 0xa598], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468172
mov eax, dword [ebp - 0x1644]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa590]
addsd xmm1, xmm0
movsd qword [ebp - 0xa590], xmm1
jmp 0x468073
cvtsi2sd xmm0, dword [ebp - 0x1644]
movsd xmm1, qword [ebp - 0xa590]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4681cf
mov eax, dword [ebp - 0x1644]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa590]
addsd xmm1, xmm0
movsd qword [ebp - 0xa590], xmm1
jmp 0x4681e3
xor eax, eax
je 0x4681df
jmp 0x46829b
jmp 0x468206
cvtsi2sd xmm0, dword [ebp - 0x1644]
movsd xmm1, qword [ebp - 0xa590]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1648], eax
jmp 0x4682a5
xor eax, eax
inc eax
je 0x468211
jmp 0x468220
jmp 0x468073
jmp 0x468073
xor eax, eax
inc eax
je 0x46829b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x164c], eax
cvtsi2sd xmm0, dword [ebp - 0x164c]
mov eax, dword [ebp - 0x164c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa590]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1648], eax
jmp 0x4682a5
mov dword [ebp - 0x1648], 7
mov eax, dword [ebp - 0x1634]
shl eax, 2
add eax, dword [ebp - 0x1630]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1648]
mov ecx, dword [ebp - 0x1634]
shl ecx, 2
add ecx, dword [ebp - 0x1630]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46858a
xor eax, eax
je 0x46830a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x468346
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa5a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4684dd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4684dd
and dword [ebp - 0x1650], 0
jmp 0x4683c0
cmp dword [ebp - 0x1650], 0xa
jae 0x4684d8
cvtsi2sd xmm0, dword [ebp - 0x1650]
movsd xmm1, qword [ebp - 0xa5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46842f
mov eax, dword [ebp - 0x1650]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5a8], xmm1
jmp 0x468330
cvtsi2sd xmm0, dword [ebp - 0x1650]
movsd xmm1, qword [ebp - 0xa5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46848c
mov eax, dword [ebp - 0x1650]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5a8], xmm1
jmp 0x4684a0
xor eax, eax
je 0x46849c
jmp 0x468558
jmp 0x4684c3
cvtsi2sd xmm0, dword [ebp - 0x1650]
movsd xmm1, qword [ebp - 0xa5a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1654], eax
jmp 0x468562
xor eax, eax
inc eax
je 0x4684ce
jmp 0x4684dd
jmp 0x468330
jmp 0x468330
xor eax, eax
inc eax
je 0x468558
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1658], eax
cvtsi2sd xmm0, dword [ebp - 0x1658]
mov eax, dword [ebp - 0x1658]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa5a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1654], eax
jmp 0x468562
mov dword [ebp - 0x1654], 7
mov eax, dword [ebp - 0x1634]
shl eax, 2
add eax, dword [ebp - 0x1630]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1654]
mov ecx, dword [ebp - 0x1634]
shl ecx, 2
add ecx, dword [ebp - 0x1630]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1634]
add eax, 0xffffffb6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa5c0], xmm0
xor eax, eax
je 0x4685a4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4685e0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa5c0]
movsd qword [ebp - 0xa5c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x468777
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x468777
and dword [ebp - 0x165c], 0
jmp 0x46865a
cmp dword [ebp - 0x165c], 0xa
jae 0x468772
cvtsi2sd xmm0, dword [ebp - 0x165c]
movsd xmm1, qword [ebp - 0xa5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4686c9
mov eax, dword [ebp - 0x165c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5c8], xmm1
jmp 0x4685ca
cvtsi2sd xmm0, dword [ebp - 0x165c]
movsd xmm1, qword [ebp - 0xa5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468726
mov eax, dword [ebp - 0x165c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5c8], xmm1
jmp 0x46873a
xor eax, eax
je 0x468736
jmp 0x4687f2
jmp 0x46875d
cvtsi2sd xmm0, dword [ebp - 0x165c]
movsd xmm1, qword [ebp - 0xa5c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1660], eax
jmp 0x4687fc
xor eax, eax
inc eax
je 0x468768
jmp 0x468777
jmp 0x4685ca
jmp 0x4685ca
xor eax, eax
inc eax
je 0x4687f2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1664], eax
cvtsi2sd xmm0, dword [ebp - 0x1664]
mov eax, dword [ebp - 0x1664]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa5c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1660], eax
jmp 0x4687fc
mov dword [ebp - 0x1660], 7
mov eax, dword [ebp - 0x1634]
add eax, 0xffffffb6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa5e0], xmm0
xor eax, eax
je 0x468816
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x468852
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa5e0]
movsd qword [ebp - 0xa5e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4689e9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4689e9
and dword [ebp - 0x1668], 0
jmp 0x4688cc
cmp dword [ebp - 0x1668], 0xa
jae 0x4689e4
cvtsi2sd xmm0, dword [ebp - 0x1668]
movsd xmm1, qword [ebp - 0xa5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46893b
mov eax, dword [ebp - 0x1668]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5e8], xmm1
jmp 0x46883c
cvtsi2sd xmm0, dword [ebp - 0x1668]
movsd xmm1, qword [ebp - 0xa5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468998
mov eax, dword [ebp - 0x1668]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5e8], xmm1
jmp 0x4689ac
xor eax, eax
je 0x4689a8
jmp 0x468a64
jmp 0x4689cf
cvtsi2sd xmm0, dword [ebp - 0x1668]
movsd xmm1, qword [ebp - 0xa5e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x166c], eax
jmp 0x468a6e
xor eax, eax
inc eax
je 0x4689da
jmp 0x4689e9
jmp 0x46883c
jmp 0x46883c
xor eax, eax
inc eax
je 0x468a64
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1670], eax
cvtsi2sd xmm0, dword [ebp - 0x1670]
mov eax, dword [ebp - 0x1670]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa5e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x166c], eax
jmp 0x468a6e
mov dword [ebp - 0x166c], 7
mov eax, dword [ebp - 0x1634]
shl eax, 2
add eax, dword [ebp - 0x1630]
mov eax, dword [eax]
add eax, dword [ebp - 0x1660]
mov ecx, dword [ebp - 0x1634]
shl ecx, 2
add ecx, dword [ebp - 0x1630]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x166c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1634]
shl ecx, 2
add ecx, dword [ebp - 0x1630]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x468d6e
xor eax, eax
je 0x468aee
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x468b2a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa600], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x468cc1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x468cc1
and dword [ebp - 0x1674], 0
jmp 0x468ba4
cmp dword [ebp - 0x1674], 0xa
jae 0x468cbc
cvtsi2sd xmm0, dword [ebp - 0x1674]
movsd xmm1, qword [ebp - 0xa600]
addsd xmm1, xmm0
movsd qword [ebp - 0xa608], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa608]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468c13
mov eax, dword [ebp - 0x1674]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa600]
addsd xmm1, xmm0
movsd qword [ebp - 0xa600], xmm1
jmp 0x468b14
cvtsi2sd xmm0, dword [ebp - 0x1674]
movsd xmm1, qword [ebp - 0xa600]
addsd xmm1, xmm0
movsd qword [ebp - 0xa610], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa610]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468c70
mov eax, dword [ebp - 0x1674]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa600]
addsd xmm1, xmm0
movsd qword [ebp - 0xa600], xmm1
jmp 0x468c84
xor eax, eax
je 0x468c80
jmp 0x468d3c
jmp 0x468ca7
cvtsi2sd xmm0, dword [ebp - 0x1674]
movsd xmm1, qword [ebp - 0xa600]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1678], eax
jmp 0x468d46
xor eax, eax
inc eax
je 0x468cb2
jmp 0x468cc1
jmp 0x468b14
jmp 0x468b14
xor eax, eax
inc eax
je 0x468d3c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x167c], eax
cvtsi2sd xmm0, dword [ebp - 0x167c]
mov eax, dword [ebp - 0x167c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa600]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1678], eax
jmp 0x468d46
mov dword [ebp - 0x1678], 7
mov eax, dword [ebp - 0x1634]
shl eax, 2
add eax, dword [ebp - 0x1630]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1678]
mov ecx, dword [ebp - 0x1634]
shl ecx, 2
add ecx, dword [ebp - 0x1630]
mov dword [ecx], eax
jmp 0x467cf4
mov eax, dword [ebp - 0x162c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x162c]
mov dword [ebp - 0x1680], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1680]
mov eax, dword [eax]
mov dword [ebp - 0x1628], eax
mov dword [ebp - 0x1623c], 0x44
xor eax, eax
mov byte [ebp - 0x3d], al
lea ecx, [ebp - 0x3d]
call fcn.00414e78
mov dword [ebp - 0x1684], eax
mov eax, dword [ebp - 0x1684]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x469e60
mov eax, dword [ebp - 0x1684]
mov dword [ebp - 0x1688], eax
and dword [ebp - 0x168c], 0
jmp 0x468dee
mov eax, dword [ebp - 0x168c]
inc eax
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 1
jae 0x469e60
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4690b8
xor eax, eax
je 0x468e38
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x468e74
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa618], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46900b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46900b
and dword [ebp - 0x1690], 0
jmp 0x468eee
cmp dword [ebp - 0x1690], 0xa
jae 0x469006
cvtsi2sd xmm0, dword [ebp - 0x1690]
movsd xmm1, qword [ebp - 0xa618]
addsd xmm1, xmm0
movsd qword [ebp - 0xa620], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa620]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468f5d
mov eax, dword [ebp - 0x1690]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa618]
addsd xmm1, xmm0
movsd qword [ebp - 0xa618], xmm1
jmp 0x468e5e
cvtsi2sd xmm0, dword [ebp - 0x1690]
movsd xmm1, qword [ebp - 0xa618]
addsd xmm1, xmm0
movsd qword [ebp - 0xa628], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa628]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468fba
mov eax, dword [ebp - 0x1690]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa618]
addsd xmm1, xmm0
movsd qword [ebp - 0xa618], xmm1
jmp 0x468fce
xor eax, eax
je 0x468fca
jmp 0x469086
jmp 0x468ff1
cvtsi2sd xmm0, dword [ebp - 0x1690]
movsd xmm1, qword [ebp - 0xa618]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1694], eax
jmp 0x469090
xor eax, eax
inc eax
je 0x468ffc
jmp 0x46900b
jmp 0x468e5e
jmp 0x468e5e
xor eax, eax
inc eax
je 0x469086
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1698], eax
cvtsi2sd xmm0, dword [ebp - 0x1698]
mov eax, dword [ebp - 0x1698]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa618]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1694], eax
jmp 0x469090
mov dword [ebp - 0x1694], 7
mov eax, dword [ebp - 0x168c]
shl eax, 2
add eax, dword [ebp - 0x1688]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1694]
mov ecx, dword [ebp - 0x168c]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x469b9e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4693ba
xor eax, eax
je 0x46913a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x469176
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa630], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46930d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46930d
and dword [ebp - 0x169c], 0
jmp 0x4691f0
cmp dword [ebp - 0x169c], 0xa
jae 0x469308
cvtsi2sd xmm0, dword [ebp - 0x169c]
movsd xmm1, qword [ebp - 0xa630]
addsd xmm1, xmm0
movsd qword [ebp - 0xa638], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46925f
mov eax, dword [ebp - 0x169c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa630]
addsd xmm1, xmm0
movsd qword [ebp - 0xa630], xmm1
jmp 0x469160
cvtsi2sd xmm0, dword [ebp - 0x169c]
movsd xmm1, qword [ebp - 0xa630]
addsd xmm1, xmm0
movsd qword [ebp - 0xa640], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa640]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4692bc
mov eax, dword [ebp - 0x169c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa630]
addsd xmm1, xmm0
movsd qword [ebp - 0xa630], xmm1
jmp 0x4692d0
xor eax, eax
je 0x4692cc
jmp 0x469388
jmp 0x4692f3
cvtsi2sd xmm0, dword [ebp - 0x169c]
movsd xmm1, qword [ebp - 0xa630]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16a0], eax
jmp 0x469392
xor eax, eax
inc eax
je 0x4692fe
jmp 0x46930d
jmp 0x469160
jmp 0x469160
xor eax, eax
inc eax
je 0x469388
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x16a4], eax
cvtsi2sd xmm0, dword [ebp - 0x16a4]
mov eax, dword [ebp - 0x16a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa630]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16a0], eax
jmp 0x469392
mov dword [ebp - 0x16a0], 7
mov eax, dword [ebp - 0x168c]
shl eax, 2
add eax, dword [ebp - 0x1688]
mov eax, dword [eax]
xor eax, dword [ebp - 0x16a0]
mov ecx, dword [ebp - 0x168c]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x469677
xor eax, eax
je 0x4693f7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x469433
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa648], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4695ca
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4695ca
and dword [ebp - 0x16a8], 0
jmp 0x4694ad
cmp dword [ebp - 0x16a8], 0xa
jae 0x4695c5
cvtsi2sd xmm0, dword [ebp - 0x16a8]
movsd xmm1, qword [ebp - 0xa648]
addsd xmm1, xmm0
movsd qword [ebp - 0xa650], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa650]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46951c
mov eax, dword [ebp - 0x16a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa648]
addsd xmm1, xmm0
movsd qword [ebp - 0xa648], xmm1
jmp 0x46941d
cvtsi2sd xmm0, dword [ebp - 0x16a8]
movsd xmm1, qword [ebp - 0xa648]
addsd xmm1, xmm0
movsd qword [ebp - 0xa658], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469579
mov eax, dword [ebp - 0x16a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa648]
addsd xmm1, xmm0
movsd qword [ebp - 0xa648], xmm1
jmp 0x46958d
xor eax, eax
je 0x469589
jmp 0x469645
jmp 0x4695b0
cvtsi2sd xmm0, dword [ebp - 0x16a8]
movsd xmm1, qword [ebp - 0xa648]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16ac], eax
jmp 0x46964f
xor eax, eax
inc eax
je 0x4695bb
jmp 0x4695ca
jmp 0x46941d
jmp 0x46941d
xor eax, eax
inc eax
je 0x469645
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x16b0], eax
cvtsi2sd xmm0, dword [ebp - 0x16b0]
mov eax, dword [ebp - 0x16b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa648]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16ac], eax
jmp 0x46964f
mov dword [ebp - 0x16ac], 7
mov eax, dword [ebp - 0x168c]
shl eax, 2
add eax, dword [ebp - 0x1688]
mov eax, dword [eax]
xor eax, dword [ebp - 0x16ac]
mov ecx, dword [ebp - 0x168c]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov dword [ecx], eax
mov eax, dword [ebp - 0x168c]
add eax, 0xffffffb7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa660], xmm0
xor eax, eax
je 0x469691
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4696cd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa660]
movsd qword [ebp - 0xa668], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x469864
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x469864
and dword [ebp - 0x16b4], 0
jmp 0x469747
cmp dword [ebp - 0x16b4], 0xa
jae 0x46985f
cvtsi2sd xmm0, dword [ebp - 0x16b4]
movsd xmm1, qword [ebp - 0xa668]
addsd xmm1, xmm0
movsd qword [ebp - 0xa670], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa670]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4697b6
mov eax, dword [ebp - 0x16b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa668]
addsd xmm1, xmm0
movsd qword [ebp - 0xa668], xmm1
jmp 0x4696b7
cvtsi2sd xmm0, dword [ebp - 0x16b4]
movsd xmm1, qword [ebp - 0xa668]
addsd xmm1, xmm0
movsd qword [ebp - 0xa678], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469813
mov eax, dword [ebp - 0x16b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa668]
addsd xmm1, xmm0
movsd qword [ebp - 0xa668], xmm1
jmp 0x469827
xor eax, eax
je 0x469823
jmp 0x4698df
jmp 0x46984a
cvtsi2sd xmm0, dword [ebp - 0x16b4]
movsd xmm1, qword [ebp - 0xa668]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16b8], eax
jmp 0x4698e9
xor eax, eax
inc eax
je 0x469855
jmp 0x469864
jmp 0x4696b7
jmp 0x4696b7
xor eax, eax
inc eax
je 0x4698df
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x16bc], eax
cvtsi2sd xmm0, dword [ebp - 0x16bc]
mov eax, dword [ebp - 0x16bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa668]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16b8], eax
jmp 0x4698e9
mov dword [ebp - 0x16b8], 7
mov eax, dword [ebp - 0x168c]
add eax, 0xffffffb7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa680], xmm0
xor eax, eax
je 0x469903
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46993f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa680]
movsd qword [ebp - 0xa688], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x469ad6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x469ad6
and dword [ebp - 0x16c0], 0
jmp 0x4699b9
cmp dword [ebp - 0x16c0], 0xa
jae 0x469ad1
cvtsi2sd xmm0, dword [ebp - 0x16c0]
movsd xmm1, qword [ebp - 0xa688]
addsd xmm1, xmm0
movsd qword [ebp - 0xa690], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa690]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469a28
mov eax, dword [ebp - 0x16c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa688]
addsd xmm1, xmm0
movsd qword [ebp - 0xa688], xmm1
jmp 0x469929
cvtsi2sd xmm0, dword [ebp - 0x16c0]
movsd xmm1, qword [ebp - 0xa688]
addsd xmm1, xmm0
movsd qword [ebp - 0xa698], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469a85
mov eax, dword [ebp - 0x16c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa688]
addsd xmm1, xmm0
movsd qword [ebp - 0xa688], xmm1
jmp 0x469a99
xor eax, eax
je 0x469a95
jmp 0x469b51
jmp 0x469abc
cvtsi2sd xmm0, dword [ebp - 0x16c0]
movsd xmm1, qword [ebp - 0xa688]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16c4], eax
jmp 0x469b5b
xor eax, eax
inc eax
je 0x469ac7
jmp 0x469ad6
jmp 0x469929
jmp 0x469929
xor eax, eax
inc eax
je 0x469b51
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x16c8], eax
cvtsi2sd xmm0, dword [ebp - 0x16c8]
mov eax, dword [ebp - 0x16c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa688]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16c4], eax
jmp 0x469b5b
mov dword [ebp - 0x16c4], 7
mov eax, dword [ebp - 0x168c]
shl eax, 2
add eax, dword [ebp - 0x1688]
mov eax, dword [eax]
add eax, dword [ebp - 0x16b8]
mov ecx, dword [ebp - 0x168c]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x16c4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x168c]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x469e5b
xor eax, eax
je 0x469bdb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x469c17
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa6a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x469dae
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x469dae
and dword [ebp - 0x16cc], 0
jmp 0x469c91
cmp dword [ebp - 0x16cc], 0xa
jae 0x469da9
cvtsi2sd xmm0, dword [ebp - 0x16cc]
movsd xmm1, qword [ebp - 0xa6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469d00
mov eax, dword [ebp - 0x16cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6a0], xmm1
jmp 0x469c01
cvtsi2sd xmm0, dword [ebp - 0x16cc]
movsd xmm1, qword [ebp - 0xa6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469d5d
mov eax, dword [ebp - 0x16cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6a0], xmm1
jmp 0x469d71
xor eax, eax
je 0x469d6d
jmp 0x469e29
jmp 0x469d94
cvtsi2sd xmm0, dword [ebp - 0x16cc]
movsd xmm1, qword [ebp - 0xa6a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16d0], eax
jmp 0x469e33
xor eax, eax
inc eax
je 0x469d9f
jmp 0x469dae
jmp 0x469c01
jmp 0x469c01
xor eax, eax
inc eax
je 0x469e29
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x16d4], eax
cvtsi2sd xmm0, dword [ebp - 0x16d4]
mov eax, dword [ebp - 0x16d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa6a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16d0], eax
jmp 0x469e33
mov dword [ebp - 0x16d0], 7
mov eax, dword [ebp - 0x168c]
shl eax, 2
add eax, dword [ebp - 0x1688]
mov eax, dword [eax]
xor eax, dword [ebp - 0x16d0]
mov ecx, dword [ebp - 0x168c]
shl ecx, 2
add ecx, dword [ebp - 0x1688]
mov dword [ecx], eax
jmp 0x468de1
mov eax, dword [ebp - 0x1684]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1684]
mov dword [ebp - 0x16d8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x16d8]
mov eax, dword [eax]
mov dword [ebp - 0x16dc], eax
xor eax, eax
mov byte [ebp - 0x3e], al
lea ecx, [ebp - 0x3e]
call fcn.004184ea
mov dword [ebp - 0x16e0], eax
mov eax, dword [ebp - 0x16e0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x46af43
mov eax, dword [ebp - 0x16e0]
mov dword [ebp - 0x16e4], eax
and dword [ebp - 0x16e8], 0
jmp 0x469ed1
mov eax, dword [ebp - 0x16e8]
inc eax
mov dword [ebp - 0x16e8], eax
cmp dword [ebp - 0x16e8], 1
jae 0x46af43
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a19b
xor eax, eax
je 0x469f1b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x469f57
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa6b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46a0ee
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a0ee
and dword [ebp - 0x16ec], 0
jmp 0x469fd1
cmp dword [ebp - 0x16ec], 0xa
jae 0x46a0e9
cvtsi2sd xmm0, dword [ebp - 0x16ec]
movsd xmm1, qword [ebp - 0xa6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a040
mov eax, dword [ebp - 0x16ec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6b8], xmm1
jmp 0x469f41
cvtsi2sd xmm0, dword [ebp - 0x16ec]
movsd xmm1, qword [ebp - 0xa6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a09d
mov eax, dword [ebp - 0x16ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6b8], xmm1
jmp 0x46a0b1
xor eax, eax
je 0x46a0ad
jmp 0x46a169
jmp 0x46a0d4
cvtsi2sd xmm0, dword [ebp - 0x16ec]
movsd xmm1, qword [ebp - 0xa6b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16f0], eax
jmp 0x46a173
xor eax, eax
inc eax
je 0x46a0df
jmp 0x46a0ee
jmp 0x469f41
jmp 0x469f41
xor eax, eax
inc eax
je 0x46a169
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x16f4], eax
cvtsi2sd xmm0, dword [ebp - 0x16f4]
mov eax, dword [ebp - 0x16f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa6b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16f0], eax
jmp 0x46a173
mov dword [ebp - 0x16f0], 7
mov eax, dword [ebp - 0x16e8]
shl eax, 2
add eax, dword [ebp - 0x16e4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x16f0]
mov ecx, dword [ebp - 0x16e8]
shl ecx, 2
add ecx, dword [ebp - 0x16e4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ac81
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a49d
xor eax, eax
je 0x46a21d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46a259
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa6d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46a3f0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a3f0
and dword [ebp - 0x16f8], 0
jmp 0x46a2d3
cmp dword [ebp - 0x16f8], 0xa
jae 0x46a3eb
cvtsi2sd xmm0, dword [ebp - 0x16f8]
movsd xmm1, qword [ebp - 0xa6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a342
mov eax, dword [ebp - 0x16f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6d0], xmm1
jmp 0x46a243
cvtsi2sd xmm0, dword [ebp - 0x16f8]
movsd xmm1, qword [ebp - 0xa6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a39f
mov eax, dword [ebp - 0x16f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6d0], xmm1
jmp 0x46a3b3
xor eax, eax
je 0x46a3af
jmp 0x46a46b
jmp 0x46a3d6
cvtsi2sd xmm0, dword [ebp - 0x16f8]
movsd xmm1, qword [ebp - 0xa6d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16fc], eax
jmp 0x46a475
xor eax, eax
inc eax
je 0x46a3e1
jmp 0x46a3f0
jmp 0x46a243
jmp 0x46a243
xor eax, eax
inc eax
je 0x46a46b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1700], eax
cvtsi2sd xmm0, dword [ebp - 0x1700]
mov eax, dword [ebp - 0x1700]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa6d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x16fc], eax
jmp 0x46a475
mov dword [ebp - 0x16fc], 7
mov eax, dword [ebp - 0x16e8]
shl eax, 2
add eax, dword [ebp - 0x16e4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x16fc]
mov ecx, dword [ebp - 0x16e8]
shl ecx, 2
add ecx, dword [ebp - 0x16e4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a75a
xor eax, eax
je 0x46a4da
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46a516
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa6e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46a6ad
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a6ad
and dword [ebp - 0x1704], 0
jmp 0x46a590
cmp dword [ebp - 0x1704], 0xa
jae 0x46a6a8
cvtsi2sd xmm0, dword [ebp - 0x1704]
movsd xmm1, qword [ebp - 0xa6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a5ff
mov eax, dword [ebp - 0x1704]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6e8], xmm1
jmp 0x46a500
cvtsi2sd xmm0, dword [ebp - 0x1704]
movsd xmm1, qword [ebp - 0xa6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a65c
mov eax, dword [ebp - 0x1704]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6e8], xmm1
jmp 0x46a670
xor eax, eax
je 0x46a66c
jmp 0x46a728
jmp 0x46a693
cvtsi2sd xmm0, dword [ebp - 0x1704]
movsd xmm1, qword [ebp - 0xa6e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1708], eax
jmp 0x46a732
xor eax, eax
inc eax
je 0x46a69e
jmp 0x46a6ad
jmp 0x46a500
jmp 0x46a500
xor eax, eax
inc eax
je 0x46a728
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x170c], eax
cvtsi2sd xmm0, dword [ebp - 0x170c]
mov eax, dword [ebp - 0x170c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa6e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1708], eax
jmp 0x46a732
mov dword [ebp - 0x1708], 7
mov eax, dword [ebp - 0x16e8]
shl eax, 2
add eax, dword [ebp - 0x16e4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1708]
mov ecx, dword [ebp - 0x16e8]
shl ecx, 2
add ecx, dword [ebp - 0x16e4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x16e8]
add eax, 0xffffffb7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa700], xmm0
xor eax, eax
je 0x46a774
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46a7b0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa700]
movsd qword [ebp - 0xa708], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46a947
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46a947
and dword [ebp - 0x1710], 0
jmp 0x46a82a
cmp dword [ebp - 0x1710], 0xa
jae 0x46a942
cvtsi2sd xmm0, dword [ebp - 0x1710]
movsd xmm1, qword [ebp - 0xa708]
addsd xmm1, xmm0
movsd qword [ebp - 0xa710], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa710]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a899
mov eax, dword [ebp - 0x1710]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa708]
addsd xmm1, xmm0
movsd qword [ebp - 0xa708], xmm1
jmp 0x46a79a
cvtsi2sd xmm0, dword [ebp - 0x1710]
movsd xmm1, qword [ebp - 0xa708]
addsd xmm1, xmm0
movsd qword [ebp - 0xa718], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a8f6
mov eax, dword [ebp - 0x1710]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa708]
addsd xmm1, xmm0
movsd qword [ebp - 0xa708], xmm1
jmp 0x46a90a
xor eax, eax
je 0x46a906
jmp 0x46a9c2
jmp 0x46a92d
cvtsi2sd xmm0, dword [ebp - 0x1710]
movsd xmm1, qword [ebp - 0xa708]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1714], eax
jmp 0x46a9cc
xor eax, eax
inc eax
je 0x46a938
jmp 0x46a947
jmp 0x46a79a
jmp 0x46a79a
xor eax, eax
inc eax
je 0x46a9c2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1718], eax
cvtsi2sd xmm0, dword [ebp - 0x1718]
mov eax, dword [ebp - 0x1718]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa708]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1714], eax
jmp 0x46a9cc
mov dword [ebp - 0x1714], 7
mov eax, dword [ebp - 0x16e8]
add eax, 0xffffffb7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa720], xmm0
xor eax, eax
je 0x46a9e6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46aa22
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa720]
movsd qword [ebp - 0xa728], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46abb9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46abb9
and dword [ebp - 0x171c], 0
jmp 0x46aa9c
cmp dword [ebp - 0x171c], 0xa
jae 0x46abb4
cvtsi2sd xmm0, dword [ebp - 0x171c]
movsd xmm1, qword [ebp - 0xa728]
addsd xmm1, xmm0
movsd qword [ebp - 0xa730], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa730]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ab0b
mov eax, dword [ebp - 0x171c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa728]
addsd xmm1, xmm0
movsd qword [ebp - 0xa728], xmm1
jmp 0x46aa0c
cvtsi2sd xmm0, dword [ebp - 0x171c]
movsd xmm1, qword [ebp - 0xa728]
addsd xmm1, xmm0
movsd qword [ebp - 0xa738], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ab68
mov eax, dword [ebp - 0x171c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa728]
addsd xmm1, xmm0
movsd qword [ebp - 0xa728], xmm1
jmp 0x46ab7c
xor eax, eax
je 0x46ab78
jmp 0x46ac34
jmp 0x46ab9f
cvtsi2sd xmm0, dword [ebp - 0x171c]
movsd xmm1, qword [ebp - 0xa728]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1720], eax
jmp 0x46ac3e
xor eax, eax
inc eax
je 0x46abaa
jmp 0x46abb9
jmp 0x46aa0c
jmp 0x46aa0c
xor eax, eax
inc eax
je 0x46ac34
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1724], eax
cvtsi2sd xmm0, dword [ebp - 0x1724]
mov eax, dword [ebp - 0x1724]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa728]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1720], eax
jmp 0x46ac3e
mov dword [ebp - 0x1720], 7
mov eax, dword [ebp - 0x16e8]
shl eax, 2
add eax, dword [ebp - 0x16e4]
mov eax, dword [eax]
add eax, dword [ebp - 0x1714]
mov ecx, dword [ebp - 0x16e8]
shl ecx, 2
add ecx, dword [ebp - 0x16e4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1720]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x16e8]
shl ecx, 2
add ecx, dword [ebp - 0x16e4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46af3e
xor eax, eax
je 0x46acbe
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46acfa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa740], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ae91
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46ae91
and dword [ebp - 0x1728], 0
jmp 0x46ad74
cmp dword [ebp - 0x1728], 0xa
jae 0x46ae8c
cvtsi2sd xmm0, dword [ebp - 0x1728]
movsd xmm1, qword [ebp - 0xa740]
addsd xmm1, xmm0
movsd qword [ebp - 0xa748], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa748]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ade3
mov eax, dword [ebp - 0x1728]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa740]
addsd xmm1, xmm0
movsd qword [ebp - 0xa740], xmm1
jmp 0x46ace4
cvtsi2sd xmm0, dword [ebp - 0x1728]
movsd xmm1, qword [ebp - 0xa740]
addsd xmm1, xmm0
movsd qword [ebp - 0xa750], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa750]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ae40
mov eax, dword [ebp - 0x1728]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa740]
addsd xmm1, xmm0
movsd qword [ebp - 0xa740], xmm1
jmp 0x46ae54
xor eax, eax
je 0x46ae50
jmp 0x46af0c
jmp 0x46ae77
cvtsi2sd xmm0, dword [ebp - 0x1728]
movsd xmm1, qword [ebp - 0xa740]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x172c], eax
jmp 0x46af16
xor eax, eax
inc eax
je 0x46ae82
jmp 0x46ae91
jmp 0x46ace4
jmp 0x46ace4
xor eax, eax
inc eax
je 0x46af0c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1730], eax
cvtsi2sd xmm0, dword [ebp - 0x1730]
mov eax, dword [ebp - 0x1730]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa740]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x172c], eax
jmp 0x46af16
mov dword [ebp - 0x172c], 7
mov eax, dword [ebp - 0x16e8]
shl eax, 2
add eax, dword [ebp - 0x16e4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x172c]
mov ecx, dword [ebp - 0x16e8]
shl ecx, 2
add ecx, dword [ebp - 0x16e4]
mov dword [ecx], eax
jmp 0x469ec4
mov eax, dword [ebp - 0x16e0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x16e0]
mov dword [ebp - 0x1734], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1734]
mov eax, dword [eax]
mov dword [ebp - 0x1738], eax
xor eax, eax
mov byte [ebp - 0x3f], al
lea ecx, [ebp - 0x3f]
call fcn.004174aa
mov dword [ebp - 0x173c], eax
mov eax, dword [ebp - 0x173c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x46c026
mov eax, dword [ebp - 0x173c]
mov dword [ebp - 0x1740], eax
and dword [ebp - 0x1744], 0
jmp 0x46afb4
mov eax, dword [ebp - 0x1744]
inc eax
mov dword [ebp - 0x1744], eax
cmp dword [ebp - 0x1744], 1
jae 0x46c026
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46b27e
xor eax, eax
je 0x46affe
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46b03a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e80]
movsd qword [ebp - 0xa758], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46b1d1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46b1d1
and dword [ebp - 0x1748], 0
jmp 0x46b0b4
cmp dword [ebp - 0x1748], 0xa
jae 0x46b1cc
cvtsi2sd xmm0, dword [ebp - 0x1748]
movsd xmm1, qword [ebp - 0xa758]
addsd xmm1, xmm0
movsd qword [ebp - 0xa760], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa760]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b123
mov eax, dword [ebp - 0x1748]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa758]
addsd xmm1, xmm0
movsd qword [ebp - 0xa758], xmm1
jmp 0x46b024
cvtsi2sd xmm0, dword [ebp - 0x1748]
movsd xmm1, qword [ebp - 0xa758]
addsd xmm1, xmm0
movsd qword [ebp - 0xa768], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa768]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b180
mov eax, dword [ebp - 0x1748]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa758]
addsd xmm1, xmm0
movsd qword [ebp - 0xa758], xmm1
jmp 0x46b194
xor eax, eax
je 0x46b190
jmp 0x46b24c
jmp 0x46b1b7
cvtsi2sd xmm0, dword [ebp - 0x1748]
movsd xmm1, qword [ebp - 0xa758]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x174c], eax
jmp 0x46b256
xor eax, eax
inc eax
je 0x46b1c2
jmp 0x46b1d1
jmp 0x46b024
jmp 0x46b024
xor eax, eax
inc eax
je 0x46b24c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1750], eax
cvtsi2sd xmm0, dword [ebp - 0x1750]
mov eax, dword [ebp - 0x1750]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa758]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x174c], eax
jmp 0x46b256
mov dword [ebp - 0x174c], 7
mov eax, dword [ebp - 0x1744]
shl eax, 2
add eax, dword [ebp - 0x1740]
mov eax, dword [eax]
xor eax, dword [ebp - 0x174c]
mov ecx, dword [ebp - 0x1744]
shl ecx, 2
add ecx, dword [ebp - 0x1740]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46bd64
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46b580
xor eax, eax
je 0x46b300
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46b33c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa770], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46b4d3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46b4d3
and dword [ebp - 0x1754], 0
jmp 0x46b3b6
cmp dword [ebp - 0x1754], 0xa
jae 0x46b4ce
cvtsi2sd xmm0, dword [ebp - 0x1754]
movsd xmm1, qword [ebp - 0xa770]
addsd xmm1, xmm0
movsd qword [ebp - 0xa778], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b425
mov eax, dword [ebp - 0x1754]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa770]
addsd xmm1, xmm0
movsd qword [ebp - 0xa770], xmm1
jmp 0x46b326
cvtsi2sd xmm0, dword [ebp - 0x1754]
movsd xmm1, qword [ebp - 0xa770]
addsd xmm1, xmm0
movsd qword [ebp - 0xa780], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa780]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b482
mov eax, dword [ebp - 0x1754]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa770]
addsd xmm1, xmm0
movsd qword [ebp - 0xa770], xmm1
jmp 0x46b496
xor eax, eax
je 0x46b492
jmp 0x46b54e
jmp 0x46b4b9
cvtsi2sd xmm0, dword [ebp - 0x1754]
movsd xmm1, qword [ebp - 0xa770]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1758], eax
jmp 0x46b558
xor eax, eax
inc eax
je 0x46b4c4
jmp 0x46b4d3
jmp 0x46b326
jmp 0x46b326
xor eax, eax
inc eax
je 0x46b54e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x175c], eax
cvtsi2sd xmm0, dword [ebp - 0x175c]
mov eax, dword [ebp - 0x175c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa770]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1758], eax
jmp 0x46b558
mov dword [ebp - 0x1758], 7
mov eax, dword [ebp - 0x1744]
shl eax, 2
add eax, dword [ebp - 0x1740]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1758]
mov ecx, dword [ebp - 0x1744]
shl ecx, 2
add ecx, dword [ebp - 0x1740]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46b83d
xor eax, eax
je 0x46b5bd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46b5f9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa788], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46b790
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46b790
and dword [ebp - 0x1760], 0
jmp 0x46b673
cmp dword [ebp - 0x1760], 0xa
jae 0x46b78b
cvtsi2sd xmm0, dword [ebp - 0x1760]
movsd xmm1, qword [ebp - 0xa788]
addsd xmm1, xmm0
movsd qword [ebp - 0xa790], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa790]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b6e2
mov eax, dword [ebp - 0x1760]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa788]
addsd xmm1, xmm0
movsd qword [ebp - 0xa788], xmm1
jmp 0x46b5e3
cvtsi2sd xmm0, dword [ebp - 0x1760]
movsd xmm1, qword [ebp - 0xa788]
addsd xmm1, xmm0
movsd qword [ebp - 0xa798], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b73f
mov eax, dword [ebp - 0x1760]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa788]
addsd xmm1, xmm0
movsd qword [ebp - 0xa788], xmm1
jmp 0x46b753
xor eax, eax
je 0x46b74f
jmp 0x46b80b
jmp 0x46b776
cvtsi2sd xmm0, dword [ebp - 0x1760]
movsd xmm1, qword [ebp - 0xa788]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1764], eax
jmp 0x46b815
xor eax, eax
inc eax
je 0x46b781
jmp 0x46b790
jmp 0x46b5e3
jmp 0x46b5e3
xor eax, eax
inc eax
je 0x46b80b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1768], eax
cvtsi2sd xmm0, dword [ebp - 0x1768]
mov eax, dword [ebp - 0x1768]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa788]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1764], eax
jmp 0x46b815
mov dword [ebp - 0x1764], 7
mov eax, dword [ebp - 0x1744]
shl eax, 2
add eax, dword [ebp - 0x1740]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1764]
mov ecx, dword [ebp - 0x1744]
shl ecx, 2
add ecx, dword [ebp - 0x1740]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1744]
add eax, 0xffffffb7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa7a0], xmm0
xor eax, eax
je 0x46b857
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46b893
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa7a0]
movsd qword [ebp - 0xa7a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ba2a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46ba2a
and dword [ebp - 0x176c], 0
jmp 0x46b90d
cmp dword [ebp - 0x176c], 0xa
jae 0x46ba25
cvtsi2sd xmm0, dword [ebp - 0x176c]
movsd xmm1, qword [ebp - 0xa7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b97c
mov eax, dword [ebp - 0x176c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7a8], xmm1
jmp 0x46b87d
cvtsi2sd xmm0, dword [ebp - 0x176c]
movsd xmm1, qword [ebp - 0xa7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b9d9
mov eax, dword [ebp - 0x176c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7a8], xmm1
jmp 0x46b9ed
xor eax, eax
je 0x46b9e9
jmp 0x46baa5
jmp 0x46ba10
cvtsi2sd xmm0, dword [ebp - 0x176c]
movsd xmm1, qword [ebp - 0xa7a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1770], eax
jmp 0x46baaf
xor eax, eax
inc eax
je 0x46ba1b
jmp 0x46ba2a
jmp 0x46b87d
jmp 0x46b87d
xor eax, eax
inc eax
je 0x46baa5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1774], eax
cvtsi2sd xmm0, dword [ebp - 0x1774]
mov eax, dword [ebp - 0x1774]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa7a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1770], eax
jmp 0x46baaf
mov dword [ebp - 0x1770], 7
mov eax, dword [ebp - 0x1744]
add eax, 0xffffffb7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa7c0], xmm0
xor eax, eax
je 0x46bac9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46bb05
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa7c0]
movsd qword [ebp - 0xa7c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46bc9c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46bc9c
and dword [ebp - 0x1778], 0
jmp 0x46bb7f
cmp dword [ebp - 0x1778], 0xa
jae 0x46bc97
cvtsi2sd xmm0, dword [ebp - 0x1778]
movsd xmm1, qword [ebp - 0xa7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bbee
mov eax, dword [ebp - 0x1778]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7c8], xmm1
jmp 0x46baef
cvtsi2sd xmm0, dword [ebp - 0x1778]
movsd xmm1, qword [ebp - 0xa7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bc4b
mov eax, dword [ebp - 0x1778]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7c8], xmm1
jmp 0x46bc5f
xor eax, eax
je 0x46bc5b
jmp 0x46bd17
jmp 0x46bc82
cvtsi2sd xmm0, dword [ebp - 0x1778]
movsd xmm1, qword [ebp - 0xa7c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x177c], eax
jmp 0x46bd21
xor eax, eax
inc eax
je 0x46bc8d
jmp 0x46bc9c
jmp 0x46baef
jmp 0x46baef
xor eax, eax
inc eax
je 0x46bd17
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1780], eax
cvtsi2sd xmm0, dword [ebp - 0x1780]
mov eax, dword [ebp - 0x1780]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa7c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x177c], eax
jmp 0x46bd21
mov dword [ebp - 0x177c], 7
mov eax, dword [ebp - 0x1744]
shl eax, 2
add eax, dword [ebp - 0x1740]
mov eax, dword [eax]
add eax, dword [ebp - 0x1770]
mov ecx, dword [ebp - 0x1744]
shl ecx, 2
add ecx, dword [ebp - 0x1740]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x177c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1744]
shl ecx, 2
add ecx, dword [ebp - 0x1740]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c021
xor eax, eax
je 0x46bda1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46bddd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa7e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46bf74
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46bf74
and dword [ebp - 0x1784], 0
jmp 0x46be57
cmp dword [ebp - 0x1784], 0xa
jae 0x46bf6f
cvtsi2sd xmm0, dword [ebp - 0x1784]
movsd xmm1, qword [ebp - 0xa7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bec6
mov eax, dword [ebp - 0x1784]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7e0], xmm1
jmp 0x46bdc7
cvtsi2sd xmm0, dword [ebp - 0x1784]
movsd xmm1, qword [ebp - 0xa7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bf23
mov eax, dword [ebp - 0x1784]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7e0], xmm1
jmp 0x46bf37
xor eax, eax
je 0x46bf33
jmp 0x46bfef
jmp 0x46bf5a
cvtsi2sd xmm0, dword [ebp - 0x1784]
movsd xmm1, qword [ebp - 0xa7e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1788], eax
jmp 0x46bff9
xor eax, eax
inc eax
je 0x46bf65
jmp 0x46bf74
jmp 0x46bdc7
jmp 0x46bdc7
xor eax, eax
inc eax
je 0x46bfef
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x178c], eax
cvtsi2sd xmm0, dword [ebp - 0x178c]
mov eax, dword [ebp - 0x178c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa7e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1788], eax
jmp 0x46bff9
mov dword [ebp - 0x1788], 7
mov eax, dword [ebp - 0x1744]
shl eax, 2
add eax, dword [ebp - 0x1740]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1788]
mov ecx, dword [ebp - 0x1744]
shl ecx, 2
add ecx, dword [ebp - 0x1740]
mov dword [ecx], eax
jmp 0x46afa7
mov eax, dword [ebp - 0x173c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x173c]
mov dword [ebp - 0x1790], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1790]
mov eax, dword [eax]
mov dword [ebp - 0x1794], eax
mov eax, dword [ebp - 0x1738]
mov dword [ebp - 0x16dc], eax
cmp dword [ebp - 0x16dc], 0
je 0x46d14c
xor eax, eax
mov byte [ebp - 0x40], al
lea ecx, [ebp - 0x40]
call fcn.004165d4
mov dword [ebp - 0x1798], eax
mov eax, dword [ebp - 0x1798]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x46d122
mov eax, dword [ebp - 0x1798]
mov dword [ebp - 0x179c], eax
and dword [ebp - 0x17a0], 0
jmp 0x46c0b0
mov eax, dword [ebp - 0x17a0]
inc eax
mov dword [ebp - 0x17a0], eax
cmp dword [ebp - 0x17a0], 1
jae 0x46d122
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c37a
xor eax, eax
je 0x46c0fa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46c136
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa7f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46c2cd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c2cd
and dword [ebp - 0x17a4], 0
jmp 0x46c1b0
cmp dword [ebp - 0x17a4], 0xa
jae 0x46c2c8
cvtsi2sd xmm0, dword [ebp - 0x17a4]
movsd xmm1, qword [ebp - 0xa7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa800], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa800]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c21f
mov eax, dword [ebp - 0x17a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7f8], xmm1
jmp 0x46c120
cvtsi2sd xmm0, dword [ebp - 0x17a4]
movsd xmm1, qword [ebp - 0xa7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa808], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa808]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c27c
mov eax, dword [ebp - 0x17a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7f8], xmm1
jmp 0x46c290
xor eax, eax
je 0x46c28c
jmp 0x46c348
jmp 0x46c2b3
cvtsi2sd xmm0, dword [ebp - 0x17a4]
movsd xmm1, qword [ebp - 0xa7f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17a8], eax
jmp 0x46c352
xor eax, eax
inc eax
je 0x46c2be
jmp 0x46c2cd
jmp 0x46c120
jmp 0x46c120
xor eax, eax
inc eax
je 0x46c348
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x17ac], eax
cvtsi2sd xmm0, dword [ebp - 0x17ac]
mov eax, dword [ebp - 0x17ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa7f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17a8], eax
jmp 0x46c352
mov dword [ebp - 0x17a8], 7
mov eax, dword [ebp - 0x17a0]
shl eax, 2
add eax, dword [ebp - 0x179c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x17a8]
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x179c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ce60
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c67c
xor eax, eax
je 0x46c3fc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46c438
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa810], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46c5cf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c5cf
and dword [ebp - 0x17b0], 0
jmp 0x46c4b2
cmp dword [ebp - 0x17b0], 0xa
jae 0x46c5ca
cvtsi2sd xmm0, dword [ebp - 0x17b0]
movsd xmm1, qword [ebp - 0xa810]
addsd xmm1, xmm0
movsd qword [ebp - 0xa818], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c521
mov eax, dword [ebp - 0x17b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa810]
addsd xmm1, xmm0
movsd qword [ebp - 0xa810], xmm1
jmp 0x46c422
cvtsi2sd xmm0, dword [ebp - 0x17b0]
movsd xmm1, qword [ebp - 0xa810]
addsd xmm1, xmm0
movsd qword [ebp - 0xa820], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa820]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c57e
mov eax, dword [ebp - 0x17b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa810]
addsd xmm1, xmm0
movsd qword [ebp - 0xa810], xmm1
jmp 0x46c592
xor eax, eax
je 0x46c58e
jmp 0x46c64a
jmp 0x46c5b5
cvtsi2sd xmm0, dword [ebp - 0x17b0]
movsd xmm1, qword [ebp - 0xa810]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17b4], eax
jmp 0x46c654
xor eax, eax
inc eax
je 0x46c5c0
jmp 0x46c5cf
jmp 0x46c422
jmp 0x46c422
xor eax, eax
inc eax
je 0x46c64a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x17b8], eax
cvtsi2sd xmm0, dword [ebp - 0x17b8]
mov eax, dword [ebp - 0x17b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa810]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17b4], eax
jmp 0x46c654
mov dword [ebp - 0x17b4], 7
mov eax, dword [ebp - 0x17a0]
shl eax, 2
add eax, dword [ebp - 0x179c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x17b4]
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x179c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c939
xor eax, eax
je 0x46c6b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46c6f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa828], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46c88c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46c88c
and dword [ebp - 0x17bc], 0
jmp 0x46c76f
cmp dword [ebp - 0x17bc], 0xa
jae 0x46c887
cvtsi2sd xmm0, dword [ebp - 0x17bc]
movsd xmm1, qword [ebp - 0xa828]
addsd xmm1, xmm0
movsd qword [ebp - 0xa830], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa830]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c7de
mov eax, dword [ebp - 0x17bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa828]
addsd xmm1, xmm0
movsd qword [ebp - 0xa828], xmm1
jmp 0x46c6df
cvtsi2sd xmm0, dword [ebp - 0x17bc]
movsd xmm1, qword [ebp - 0xa828]
addsd xmm1, xmm0
movsd qword [ebp - 0xa838], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c83b
mov eax, dword [ebp - 0x17bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa828]
addsd xmm1, xmm0
movsd qword [ebp - 0xa828], xmm1
jmp 0x46c84f
xor eax, eax
je 0x46c84b
jmp 0x46c907
jmp 0x46c872
cvtsi2sd xmm0, dword [ebp - 0x17bc]
movsd xmm1, qword [ebp - 0xa828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17c0], eax
jmp 0x46c911
xor eax, eax
inc eax
je 0x46c87d
jmp 0x46c88c
jmp 0x46c6df
jmp 0x46c6df
xor eax, eax
inc eax
je 0x46c907
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x17c4], eax
cvtsi2sd xmm0, dword [ebp - 0x17c4]
mov eax, dword [ebp - 0x17c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa828]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17c0], eax
jmp 0x46c911
mov dword [ebp - 0x17c0], 7
mov eax, dword [ebp - 0x17a0]
shl eax, 2
add eax, dword [ebp - 0x179c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x17c0]
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x179c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x17a0]
add eax, 0xffffffb8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa840], xmm0
xor eax, eax
je 0x46c953
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46c98f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa840]
movsd qword [ebp - 0xa848], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46cb26
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46cb26
and dword [ebp - 0x17c8], 0
jmp 0x46ca09
cmp dword [ebp - 0x17c8], 0xa
jae 0x46cb21
cvtsi2sd xmm0, dword [ebp - 0x17c8]
movsd xmm1, qword [ebp - 0xa848]
addsd xmm1, xmm0
movsd qword [ebp - 0xa850], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa850]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ca78
mov eax, dword [ebp - 0x17c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa848]
addsd xmm1, xmm0
movsd qword [ebp - 0xa848], xmm1
jmp 0x46c979
cvtsi2sd xmm0, dword [ebp - 0x17c8]
movsd xmm1, qword [ebp - 0xa848]
addsd xmm1, xmm0
movsd qword [ebp - 0xa858], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cad5
mov eax, dword [ebp - 0x17c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa848]
addsd xmm1, xmm0
movsd qword [ebp - 0xa848], xmm1
jmp 0x46cae9
xor eax, eax
je 0x46cae5
jmp 0x46cba1
jmp 0x46cb0c
cvtsi2sd xmm0, dword [ebp - 0x17c8]
movsd xmm1, qword [ebp - 0xa848]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17cc], eax
jmp 0x46cbab
xor eax, eax
inc eax
je 0x46cb17
jmp 0x46cb26
jmp 0x46c979
jmp 0x46c979
xor eax, eax
inc eax
je 0x46cba1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x17d0], eax
cvtsi2sd xmm0, dword [ebp - 0x17d0]
mov eax, dword [ebp - 0x17d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa848]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17cc], eax
jmp 0x46cbab
mov dword [ebp - 0x17cc], 7
mov eax, dword [ebp - 0x17a0]
add eax, 0xffffffb8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa860], xmm0
xor eax, eax
je 0x46cbc5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46cc01
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa860]
movsd qword [ebp - 0xa868], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46cd98
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46cd98
and dword [ebp - 0x17d4], 0
jmp 0x46cc7b
cmp dword [ebp - 0x17d4], 0xa
jae 0x46cd93
cvtsi2sd xmm0, dword [ebp - 0x17d4]
movsd xmm1, qword [ebp - 0xa868]
addsd xmm1, xmm0
movsd qword [ebp - 0xa870], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa870]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ccea
mov eax, dword [ebp - 0x17d4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa868]
addsd xmm1, xmm0
movsd qword [ebp - 0xa868], xmm1
jmp 0x46cbeb
cvtsi2sd xmm0, dword [ebp - 0x17d4]
movsd xmm1, qword [ebp - 0xa868]
addsd xmm1, xmm0
movsd qword [ebp - 0xa878], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cd47
mov eax, dword [ebp - 0x17d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa868]
addsd xmm1, xmm0
movsd qword [ebp - 0xa868], xmm1
jmp 0x46cd5b
xor eax, eax
je 0x46cd57
jmp 0x46ce13
jmp 0x46cd7e
cvtsi2sd xmm0, dword [ebp - 0x17d4]
movsd xmm1, qword [ebp - 0xa868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17d8], eax
jmp 0x46ce1d
xor eax, eax
inc eax
je 0x46cd89
jmp 0x46cd98
jmp 0x46cbeb
jmp 0x46cbeb
xor eax, eax
inc eax
je 0x46ce13
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x17dc], eax
cvtsi2sd xmm0, dword [ebp - 0x17dc]
mov eax, dword [ebp - 0x17dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa868]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17d8], eax
jmp 0x46ce1d
mov dword [ebp - 0x17d8], 7
mov eax, dword [ebp - 0x17a0]
shl eax, 2
add eax, dword [ebp - 0x179c]
mov eax, dword [eax]
add eax, dword [ebp - 0x17cc]
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x179c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x17d8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x179c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d11d
xor eax, eax
je 0x46ce9d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46ced9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xa880], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46d070
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d070
and dword [ebp - 0x17e0], 0
jmp 0x46cf53
cmp dword [ebp - 0x17e0], 0xa
jae 0x46d06b
cvtsi2sd xmm0, dword [ebp - 0x17e0]
movsd xmm1, qword [ebp - 0xa880]
addsd xmm1, xmm0
movsd qword [ebp - 0xa888], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa888]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cfc2
mov eax, dword [ebp - 0x17e0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa880]
addsd xmm1, xmm0
movsd qword [ebp - 0xa880], xmm1
jmp 0x46cec3
cvtsi2sd xmm0, dword [ebp - 0x17e0]
movsd xmm1, qword [ebp - 0xa880]
addsd xmm1, xmm0
movsd qword [ebp - 0xa890], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa890]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d01f
mov eax, dword [ebp - 0x17e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa880]
addsd xmm1, xmm0
movsd qword [ebp - 0xa880], xmm1
jmp 0x46d033
xor eax, eax
je 0x46d02f
jmp 0x46d0eb
jmp 0x46d056
cvtsi2sd xmm0, dword [ebp - 0x17e0]
movsd xmm1, qword [ebp - 0xa880]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17e4], eax
jmp 0x46d0f5
xor eax, eax
inc eax
je 0x46d061
jmp 0x46d070
jmp 0x46cec3
jmp 0x46cec3
xor eax, eax
inc eax
je 0x46d0eb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x17e8], eax
cvtsi2sd xmm0, dword [ebp - 0x17e8]
mov eax, dword [ebp - 0x17e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa880]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x17e4], eax
jmp 0x46d0f5
mov dword [ebp - 0x17e4], 7
mov eax, dword [ebp - 0x17a0]
shl eax, 2
add eax, dword [ebp - 0x179c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x17e4]
mov ecx, dword [ebp - 0x17a0]
shl ecx, 2
add ecx, dword [ebp - 0x179c]
mov dword [ecx], eax
jmp 0x46c0a3
mov eax, dword [ebp - 0x1798]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1798]
mov dword [ebp - 0x17ec], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x17ec]
mov eax, dword [eax]
mov dword [ebp - 0x1794], eax
xor eax, eax
mov byte [ebp - 0x41], al
xor eax, eax
mov byte [ebp - 0x42], al
lea ecx, [ebp - 0x41]
call fcn.0041841a
mov dword [ebp - 0x17f0], eax
mov eax, dword [ebp - 0x17f0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x46e20a
mov eax, dword [ebp - 0x17f0]
mov dword [ebp - 0x17f4], eax
and dword [ebp - 0x17f8], 0
jmp 0x46d198
mov eax, dword [ebp - 0x17f8]
inc eax
mov dword [ebp - 0x17f8], eax
cmp dword [ebp - 0x17f8], 1
jae 0x46e20a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d462
xor eax, eax
je 0x46d1e2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46d21e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e78]
movsd qword [ebp - 0xa898], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46d3b5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d3b5
and dword [ebp - 0x17fc], 0
jmp 0x46d298
cmp dword [ebp - 0x17fc], 0xa
jae 0x46d3b0
cvtsi2sd xmm0, dword [ebp - 0x17fc]
movsd xmm1, qword [ebp - 0xa898]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d307
mov eax, dword [ebp - 0x17fc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa898]
addsd xmm1, xmm0
movsd qword [ebp - 0xa898], xmm1
jmp 0x46d208
cvtsi2sd xmm0, dword [ebp - 0x17fc]
movsd xmm1, qword [ebp - 0xa898]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d364
mov eax, dword [ebp - 0x17fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa898]
addsd xmm1, xmm0
movsd qword [ebp - 0xa898], xmm1
jmp 0x46d378
xor eax, eax
je 0x46d374
jmp 0x46d430
jmp 0x46d39b
cvtsi2sd xmm0, dword [ebp - 0x17fc]
movsd xmm1, qword [ebp - 0xa898]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1800], eax
jmp 0x46d43a
xor eax, eax
inc eax
je 0x46d3a6
jmp 0x46d3b5
jmp 0x46d208
jmp 0x46d208
xor eax, eax
inc eax
je 0x46d430
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1804], eax
cvtsi2sd xmm0, dword [ebp - 0x1804]
mov eax, dword [ebp - 0x1804]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa898]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1800], eax
jmp 0x46d43a
mov dword [ebp - 0x1800], 7
mov eax, dword [ebp - 0x17f8]
shl eax, 2
add eax, dword [ebp - 0x17f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1800]
mov ecx, dword [ebp - 0x17f8]
shl ecx, 2
add ecx, dword [ebp - 0x17f4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46df48
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d764
xor eax, eax
je 0x46d4e4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46d520
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa8b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46d6b7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d6b7
and dword [ebp - 0x1808], 0
jmp 0x46d59a
cmp dword [ebp - 0x1808], 0xa
jae 0x46d6b2
cvtsi2sd xmm0, dword [ebp - 0x1808]
movsd xmm1, qword [ebp - 0xa8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d609
mov eax, dword [ebp - 0x1808]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8b0], xmm1
jmp 0x46d50a
cvtsi2sd xmm0, dword [ebp - 0x1808]
movsd xmm1, qword [ebp - 0xa8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d666
mov eax, dword [ebp - 0x1808]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8b0], xmm1
jmp 0x46d67a
xor eax, eax
je 0x46d676
jmp 0x46d732
jmp 0x46d69d
cvtsi2sd xmm0, dword [ebp - 0x1808]
movsd xmm1, qword [ebp - 0xa8b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x180c], eax
jmp 0x46d73c
xor eax, eax
inc eax
je 0x46d6a8
jmp 0x46d6b7
jmp 0x46d50a
jmp 0x46d50a
xor eax, eax
inc eax
je 0x46d732
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1810], eax
cvtsi2sd xmm0, dword [ebp - 0x1810]
mov eax, dword [ebp - 0x1810]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa8b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x180c], eax
jmp 0x46d73c
mov dword [ebp - 0x180c], 7
mov eax, dword [ebp - 0x17f8]
shl eax, 2
add eax, dword [ebp - 0x17f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x180c]
mov ecx, dword [ebp - 0x17f8]
shl ecx, 2
add ecx, dword [ebp - 0x17f4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46da21
xor eax, eax
je 0x46d7a1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46d7dd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa8c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46d974
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46d974
and dword [ebp - 0x1814], 0
jmp 0x46d857
cmp dword [ebp - 0x1814], 0xa
jae 0x46d96f
cvtsi2sd xmm0, dword [ebp - 0x1814]
movsd xmm1, qword [ebp - 0xa8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d8c6
mov eax, dword [ebp - 0x1814]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8c8], xmm1
jmp 0x46d7c7
cvtsi2sd xmm0, dword [ebp - 0x1814]
movsd xmm1, qword [ebp - 0xa8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d923
mov eax, dword [ebp - 0x1814]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8c8], xmm1
jmp 0x46d937
xor eax, eax
je 0x46d933
jmp 0x46d9ef
jmp 0x46d95a
cvtsi2sd xmm0, dword [ebp - 0x1814]
movsd xmm1, qword [ebp - 0xa8c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1818], eax
jmp 0x46d9f9
xor eax, eax
inc eax
je 0x46d965
jmp 0x46d974
jmp 0x46d7c7
jmp 0x46d7c7
xor eax, eax
inc eax
je 0x46d9ef
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x181c], eax
cvtsi2sd xmm0, dword [ebp - 0x181c]
mov eax, dword [ebp - 0x181c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa8c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1818], eax
jmp 0x46d9f9
mov dword [ebp - 0x1818], 7
mov eax, dword [ebp - 0x17f8]
shl eax, 2
add eax, dword [ebp - 0x17f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1818]
mov ecx, dword [ebp - 0x17f8]
shl ecx, 2
add ecx, dword [ebp - 0x17f4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x17f8]
add eax, 0xffffffb8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa8e0], xmm0
xor eax, eax
je 0x46da3b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46da77
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa8e0]
movsd qword [ebp - 0xa8e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46dc0e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46dc0e
and dword [ebp - 0x1820], 0
jmp 0x46daf1
cmp dword [ebp - 0x1820], 0xa
jae 0x46dc09
cvtsi2sd xmm0, dword [ebp - 0x1820]
movsd xmm1, qword [ebp - 0xa8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46db60
mov eax, dword [ebp - 0x1820]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8e8], xmm1
jmp 0x46da61
cvtsi2sd xmm0, dword [ebp - 0x1820]
movsd xmm1, qword [ebp - 0xa8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46dbbd
mov eax, dword [ebp - 0x1820]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8e8], xmm1
jmp 0x46dbd1
xor eax, eax
je 0x46dbcd
jmp 0x46dc89
jmp 0x46dbf4
cvtsi2sd xmm0, dword [ebp - 0x1820]
movsd xmm1, qword [ebp - 0xa8e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1824], eax
jmp 0x46dc93
xor eax, eax
inc eax
je 0x46dbff
jmp 0x46dc0e
jmp 0x46da61
jmp 0x46da61
xor eax, eax
inc eax
je 0x46dc89
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1828], eax
cvtsi2sd xmm0, dword [ebp - 0x1828]
mov eax, dword [ebp - 0x1828]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa8e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1824], eax
jmp 0x46dc93
mov dword [ebp - 0x1824], 7
mov eax, dword [ebp - 0x17f8]
add eax, 0xffffffb8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa900], xmm0
xor eax, eax
je 0x46dcad
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46dce9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa900]
movsd qword [ebp - 0xa908], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46de80
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46de80
and dword [ebp - 0x182c], 0
jmp 0x46dd63
cmp dword [ebp - 0x182c], 0xa
jae 0x46de7b
cvtsi2sd xmm0, dword [ebp - 0x182c]
movsd xmm1, qword [ebp - 0xa908]
addsd xmm1, xmm0
movsd qword [ebp - 0xa910], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa910]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ddd2
mov eax, dword [ebp - 0x182c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa908]
addsd xmm1, xmm0
movsd qword [ebp - 0xa908], xmm1
jmp 0x46dcd3
cvtsi2sd xmm0, dword [ebp - 0x182c]
movsd xmm1, qword [ebp - 0xa908]
addsd xmm1, xmm0
movsd qword [ebp - 0xa918], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46de2f
mov eax, dword [ebp - 0x182c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa908]
addsd xmm1, xmm0
movsd qword [ebp - 0xa908], xmm1
jmp 0x46de43
xor eax, eax
je 0x46de3f
jmp 0x46defb
jmp 0x46de66
cvtsi2sd xmm0, dword [ebp - 0x182c]
movsd xmm1, qword [ebp - 0xa908]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1830], eax
jmp 0x46df05
xor eax, eax
inc eax
je 0x46de71
jmp 0x46de80
jmp 0x46dcd3
jmp 0x46dcd3
xor eax, eax
inc eax
je 0x46defb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1834], eax
cvtsi2sd xmm0, dword [ebp - 0x1834]
mov eax, dword [ebp - 0x1834]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa908]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1830], eax
jmp 0x46df05
mov dword [ebp - 0x1830], 7
mov eax, dword [ebp - 0x17f8]
shl eax, 2
add eax, dword [ebp - 0x17f4]
mov eax, dword [eax]
add eax, dword [ebp - 0x1824]
mov ecx, dword [ebp - 0x17f8]
shl ecx, 2
add ecx, dword [ebp - 0x17f4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1830]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x17f8]
shl ecx, 2
add ecx, dword [ebp - 0x17f4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46e205
xor eax, eax
je 0x46df85
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46dfc1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xa920], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46e158
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46e158
and dword [ebp - 0x1838], 0
jmp 0x46e03b
cmp dword [ebp - 0x1838], 0xa
jae 0x46e153
cvtsi2sd xmm0, dword [ebp - 0x1838]
movsd xmm1, qword [ebp - 0xa920]
addsd xmm1, xmm0
movsd qword [ebp - 0xa928], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa928]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e0aa
mov eax, dword [ebp - 0x1838]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa920]
addsd xmm1, xmm0
movsd qword [ebp - 0xa920], xmm1
jmp 0x46dfab
cvtsi2sd xmm0, dword [ebp - 0x1838]
movsd xmm1, qword [ebp - 0xa920]
addsd xmm1, xmm0
movsd qword [ebp - 0xa930], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa930]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e107
mov eax, dword [ebp - 0x1838]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa920]
addsd xmm1, xmm0
movsd qword [ebp - 0xa920], xmm1
jmp 0x46e11b
xor eax, eax
je 0x46e117
jmp 0x46e1d3
jmp 0x46e13e
cvtsi2sd xmm0, dword [ebp - 0x1838]
movsd xmm1, qword [ebp - 0xa920]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x183c], eax
jmp 0x46e1dd
xor eax, eax
inc eax
je 0x46e149
jmp 0x46e158
jmp 0x46dfab
jmp 0x46dfab
xor eax, eax
inc eax
je 0x46e1d3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1840], eax
cvtsi2sd xmm0, dword [ebp - 0x1840]
mov eax, dword [ebp - 0x1840]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa920]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x183c], eax
jmp 0x46e1dd
mov dword [ebp - 0x183c], 7
mov eax, dword [ebp - 0x17f8]
shl eax, 2
add eax, dword [ebp - 0x17f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x183c]
mov ecx, dword [ebp - 0x17f8]
shl ecx, 2
add ecx, dword [ebp - 0x17f4]
mov dword [ecx], eax
jmp 0x46d18b
mov eax, dword [ebp - 0x17f0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x17f0]
mov dword [ebp - 0x1844], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1844]
mov eax, dword [eax]
mov dword [ebp - 0x1848], eax
lea ecx, [ebp - 0x42]
call fcn.00416ec4
mov dword [ebp - 0x184c], eax
mov eax, dword [ebp - 0x184c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x46f2e8
mov eax, dword [ebp - 0x184c]
mov dword [ebp - 0x1850], eax
and dword [ebp - 0x1854], 0
jmp 0x46e276
mov eax, dword [ebp - 0x1854]
inc eax
mov dword [ebp - 0x1854], eax
cmp dword [ebp - 0x1854], 1
jae 0x46f2e8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46e540
xor eax, eax
je 0x46e2c0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46e2fc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa938], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46e493
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46e493
and dword [ebp - 0x1858], 0
jmp 0x46e376
cmp dword [ebp - 0x1858], 0xa
jae 0x46e48e
cvtsi2sd xmm0, dword [ebp - 0x1858]
movsd xmm1, qword [ebp - 0xa938]
addsd xmm1, xmm0
movsd qword [ebp - 0xa940], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa940]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e3e5
mov eax, dword [ebp - 0x1858]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa938]
addsd xmm1, xmm0
movsd qword [ebp - 0xa938], xmm1
jmp 0x46e2e6
cvtsi2sd xmm0, dword [ebp - 0x1858]
movsd xmm1, qword [ebp - 0xa938]
addsd xmm1, xmm0
movsd qword [ebp - 0xa948], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa948]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e442
mov eax, dword [ebp - 0x1858]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa938]
addsd xmm1, xmm0
movsd qword [ebp - 0xa938], xmm1
jmp 0x46e456
xor eax, eax
je 0x46e452
jmp 0x46e50e
jmp 0x46e479
cvtsi2sd xmm0, dword [ebp - 0x1858]
movsd xmm1, qword [ebp - 0xa938]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x185c], eax
jmp 0x46e518
xor eax, eax
inc eax
je 0x46e484
jmp 0x46e493
jmp 0x46e2e6
jmp 0x46e2e6
xor eax, eax
inc eax
je 0x46e50e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1860], eax
cvtsi2sd xmm0, dword [ebp - 0x1860]
mov eax, dword [ebp - 0x1860]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa938]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x185c], eax
jmp 0x46e518
mov dword [ebp - 0x185c], 7
mov eax, dword [ebp - 0x1854]
shl eax, 2
add eax, dword [ebp - 0x1850]
mov eax, dword [eax]
xor eax, dword [ebp - 0x185c]
mov ecx, dword [ebp - 0x1854]
shl ecx, 2
add ecx, dword [ebp - 0x1850]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46f026
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46e842
xor eax, eax
je 0x46e5c2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46e5fe
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa950], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46e795
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46e795
and dword [ebp - 0x1864], 0
jmp 0x46e678
cmp dword [ebp - 0x1864], 0xa
jae 0x46e790
cvtsi2sd xmm0, dword [ebp - 0x1864]
movsd xmm1, qword [ebp - 0xa950]
addsd xmm1, xmm0
movsd qword [ebp - 0xa958], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e6e7
mov eax, dword [ebp - 0x1864]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa950]
addsd xmm1, xmm0
movsd qword [ebp - 0xa950], xmm1
jmp 0x46e5e8
cvtsi2sd xmm0, dword [ebp - 0x1864]
movsd xmm1, qword [ebp - 0xa950]
addsd xmm1, xmm0
movsd qword [ebp - 0xa960], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa960]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e744
mov eax, dword [ebp - 0x1864]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa950]
addsd xmm1, xmm0
movsd qword [ebp - 0xa950], xmm1
jmp 0x46e758
xor eax, eax
je 0x46e754
jmp 0x46e810
jmp 0x46e77b
cvtsi2sd xmm0, dword [ebp - 0x1864]
movsd xmm1, qword [ebp - 0xa950]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1868], eax
jmp 0x46e81a
xor eax, eax
inc eax
je 0x46e786
jmp 0x46e795
jmp 0x46e5e8
jmp 0x46e5e8
xor eax, eax
inc eax
je 0x46e810
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x186c], eax
cvtsi2sd xmm0, dword [ebp - 0x186c]
mov eax, dword [ebp - 0x186c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa950]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1868], eax
jmp 0x46e81a
mov dword [ebp - 0x1868], 7
mov eax, dword [ebp - 0x1854]
shl eax, 2
add eax, dword [ebp - 0x1850]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1868]
mov ecx, dword [ebp - 0x1854]
shl ecx, 2
add ecx, dword [ebp - 0x1850]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46eaff
xor eax, eax
je 0x46e87f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46e8bb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xa968], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ea52
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46ea52
and dword [ebp - 0x1870], 0
jmp 0x46e935
cmp dword [ebp - 0x1870], 0xa
jae 0x46ea4d
cvtsi2sd xmm0, dword [ebp - 0x1870]
movsd xmm1, qword [ebp - 0xa968]
addsd xmm1, xmm0
movsd qword [ebp - 0xa970], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa970]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e9a4
mov eax, dword [ebp - 0x1870]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa968]
addsd xmm1, xmm0
movsd qword [ebp - 0xa968], xmm1
jmp 0x46e8a5
cvtsi2sd xmm0, dword [ebp - 0x1870]
movsd xmm1, qword [ebp - 0xa968]
addsd xmm1, xmm0
movsd qword [ebp - 0xa978], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ea01
mov eax, dword [ebp - 0x1870]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa968]
addsd xmm1, xmm0
movsd qword [ebp - 0xa968], xmm1
jmp 0x46ea15
xor eax, eax
je 0x46ea11
jmp 0x46eacd
jmp 0x46ea38
cvtsi2sd xmm0, dword [ebp - 0x1870]
movsd xmm1, qword [ebp - 0xa968]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1874], eax
jmp 0x46ead7
xor eax, eax
inc eax
je 0x46ea43
jmp 0x46ea52
jmp 0x46e8a5
jmp 0x46e8a5
xor eax, eax
inc eax
je 0x46eacd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1878], eax
cvtsi2sd xmm0, dword [ebp - 0x1878]
mov eax, dword [ebp - 0x1878]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa968]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1874], eax
jmp 0x46ead7
mov dword [ebp - 0x1874], 7
mov eax, dword [ebp - 0x1854]
shl eax, 2
add eax, dword [ebp - 0x1850]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1874]
mov ecx, dword [ebp - 0x1854]
shl ecx, 2
add ecx, dword [ebp - 0x1850]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1854]
add eax, 0xffffffb9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa980], xmm0
xor eax, eax
je 0x46eb19
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46eb55
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa980]
movsd qword [ebp - 0xa988], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ecec
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46ecec
and dword [ebp - 0x187c], 0
jmp 0x46ebcf
cmp dword [ebp - 0x187c], 0xa
jae 0x46ece7
cvtsi2sd xmm0, dword [ebp - 0x187c]
movsd xmm1, qword [ebp - 0xa988]
addsd xmm1, xmm0
movsd qword [ebp - 0xa990], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa990]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ec3e
mov eax, dword [ebp - 0x187c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa988]
addsd xmm1, xmm0
movsd qword [ebp - 0xa988], xmm1
jmp 0x46eb3f
cvtsi2sd xmm0, dword [ebp - 0x187c]
movsd xmm1, qword [ebp - 0xa988]
addsd xmm1, xmm0
movsd qword [ebp - 0xa998], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ec9b
mov eax, dword [ebp - 0x187c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa988]
addsd xmm1, xmm0
movsd qword [ebp - 0xa988], xmm1
jmp 0x46ecaf
xor eax, eax
je 0x46ecab
jmp 0x46ed67
jmp 0x46ecd2
cvtsi2sd xmm0, dword [ebp - 0x187c]
movsd xmm1, qword [ebp - 0xa988]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1880], eax
jmp 0x46ed71
xor eax, eax
inc eax
je 0x46ecdd
jmp 0x46ecec
jmp 0x46eb3f
jmp 0x46eb3f
xor eax, eax
inc eax
je 0x46ed67
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1884], eax
cvtsi2sd xmm0, dword [ebp - 0x1884]
mov eax, dword [ebp - 0x1884]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa988]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1880], eax
jmp 0x46ed71
mov dword [ebp - 0x1880], 7
mov eax, dword [ebp - 0x1854]
add eax, 0xffffffb9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xa9a0], xmm0
xor eax, eax
je 0x46ed8b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46edc7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa9a0]
movsd qword [ebp - 0xa9a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46ef5e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46ef5e
and dword [ebp - 0x1888], 0
jmp 0x46ee41
cmp dword [ebp - 0x1888], 0xa
jae 0x46ef59
cvtsi2sd xmm0, dword [ebp - 0x1888]
movsd xmm1, qword [ebp - 0xa9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46eeb0
mov eax, dword [ebp - 0x1888]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9a8], xmm1
jmp 0x46edb1
cvtsi2sd xmm0, dword [ebp - 0x1888]
movsd xmm1, qword [ebp - 0xa9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ef0d
mov eax, dword [ebp - 0x1888]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9a8], xmm1
jmp 0x46ef21
xor eax, eax
je 0x46ef1d
jmp 0x46efd9
jmp 0x46ef44
cvtsi2sd xmm0, dword [ebp - 0x1888]
movsd xmm1, qword [ebp - 0xa9a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x188c], eax
jmp 0x46efe3
xor eax, eax
inc eax
je 0x46ef4f
jmp 0x46ef5e
jmp 0x46edb1
jmp 0x46edb1
xor eax, eax
inc eax
je 0x46efd9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1890], eax
cvtsi2sd xmm0, dword [ebp - 0x1890]
mov eax, dword [ebp - 0x1890]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa9a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x188c], eax
jmp 0x46efe3
mov dword [ebp - 0x188c], 7
mov eax, dword [ebp - 0x1854]
shl eax, 2
add eax, dword [ebp - 0x1850]
mov eax, dword [eax]
add eax, dword [ebp - 0x1880]
mov ecx, dword [ebp - 0x1854]
shl ecx, 2
add ecx, dword [ebp - 0x1850]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x188c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1854]
shl ecx, 2
add ecx, dword [ebp - 0x1850]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46f2e3
xor eax, eax
je 0x46f063
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46f09f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xa9c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46f236
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46f236
and dword [ebp - 0x1894], 0
jmp 0x46f119
cmp dword [ebp - 0x1894], 0xa
jae 0x46f231
cvtsi2sd xmm0, dword [ebp - 0x1894]
movsd xmm1, qword [ebp - 0xa9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f188
mov eax, dword [ebp - 0x1894]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9c0], xmm1
jmp 0x46f089
cvtsi2sd xmm0, dword [ebp - 0x1894]
movsd xmm1, qword [ebp - 0xa9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f1e5
mov eax, dword [ebp - 0x1894]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9c0], xmm1
jmp 0x46f1f9
xor eax, eax
je 0x46f1f5
jmp 0x46f2b1
jmp 0x46f21c
cvtsi2sd xmm0, dword [ebp - 0x1894]
movsd xmm1, qword [ebp - 0xa9c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1898], eax
jmp 0x46f2bb
xor eax, eax
inc eax
je 0x46f227
jmp 0x46f236
jmp 0x46f089
jmp 0x46f089
xor eax, eax
inc eax
je 0x46f2b1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x189c], eax
cvtsi2sd xmm0, dword [ebp - 0x189c]
mov eax, dword [ebp - 0x189c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa9c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1898], eax
jmp 0x46f2bb
mov dword [ebp - 0x1898], 7
mov eax, dword [ebp - 0x1854]
shl eax, 2
add eax, dword [ebp - 0x1850]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1898]
mov ecx, dword [ebp - 0x1854]
shl ecx, 2
add ecx, dword [ebp - 0x1850]
mov dword [ecx], eax
jmp 0x46e269
mov eax, dword [ebp - 0x184c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x184c]
mov dword [ebp - 0x18a0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x18a0]
mov eax, dword [eax]
mov dword [ebp - 0x18a4], eax
push 0x10
push dword [ebp - 0x1848]
lea eax, [ebp - 0x16078]
push eax
mov eax, dword [ebp - 0x18a4]
shl eax, 2
add eax, 0x7cbd18
call dword [eax]
add esp, 0xc
xor eax, eax
mov byte [ebp - 0x43], al
lea ecx, [ebp - 0x43]
call fcn.00417136
mov dword [ebp - 0x18a8], eax
mov eax, dword [ebp - 0x18a8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4703ed
mov eax, dword [ebp - 0x18a8]
mov dword [ebp - 0x18ac], eax
and dword [ebp - 0x18b0], 0
jmp 0x46f37b
mov eax, dword [ebp - 0x18b0]
inc eax
mov dword [ebp - 0x18b0], eax
cmp dword [ebp - 0x18b0], 1
jae 0x4703ed
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46f645
xor eax, eax
je 0x46f3c5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46f401
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e70]
movsd qword [ebp - 0xa9d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46f598
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46f598
and dword [ebp - 0x18b4], 0
jmp 0x46f47b
cmp dword [ebp - 0x18b4], 0xa
jae 0x46f593
cvtsi2sd xmm0, dword [ebp - 0x18b4]
movsd xmm1, qword [ebp - 0xa9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f4ea
mov eax, dword [ebp - 0x18b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9d8], xmm1
jmp 0x46f3eb
cvtsi2sd xmm0, dword [ebp - 0x18b4]
movsd xmm1, qword [ebp - 0xa9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f547
mov eax, dword [ebp - 0x18b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9d8], xmm1
jmp 0x46f55b
xor eax, eax
je 0x46f557
jmp 0x46f613
jmp 0x46f57e
cvtsi2sd xmm0, dword [ebp - 0x18b4]
movsd xmm1, qword [ebp - 0xa9d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18b8], eax
jmp 0x46f61d
xor eax, eax
inc eax
je 0x46f589
jmp 0x46f598
jmp 0x46f3eb
jmp 0x46f3eb
xor eax, eax
inc eax
je 0x46f613
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18bc], eax
cvtsi2sd xmm0, dword [ebp - 0x18bc]
mov eax, dword [ebp - 0x18bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa9d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18b8], eax
jmp 0x46f61d
mov dword [ebp - 0x18b8], 7
mov eax, dword [ebp - 0x18b0]
shl eax, 2
add eax, dword [ebp - 0x18ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x18b8]
mov ecx, dword [ebp - 0x18b0]
shl ecx, 2
add ecx, dword [ebp - 0x18ac]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47012b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46f947
xor eax, eax
je 0x46f6c7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46f703
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xa9f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46f89a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46f89a
and dword [ebp - 0x18c0], 0
jmp 0x46f77d
cmp dword [ebp - 0x18c0], 0xa
jae 0x46f895
cvtsi2sd xmm0, dword [ebp - 0x18c0]
movsd xmm1, qword [ebp - 0xa9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f7ec
mov eax, dword [ebp - 0x18c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9f0], xmm1
jmp 0x46f6ed
cvtsi2sd xmm0, dword [ebp - 0x18c0]
movsd xmm1, qword [ebp - 0xa9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa00], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f849
mov eax, dword [ebp - 0x18c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9f0], xmm1
jmp 0x46f85d
xor eax, eax
je 0x46f859
jmp 0x46f915
jmp 0x46f880
cvtsi2sd xmm0, dword [ebp - 0x18c0]
movsd xmm1, qword [ebp - 0xa9f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18c4], eax
jmp 0x46f91f
xor eax, eax
inc eax
je 0x46f88b
jmp 0x46f89a
jmp 0x46f6ed
jmp 0x46f6ed
xor eax, eax
inc eax
je 0x46f915
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18c8], eax
cvtsi2sd xmm0, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x18c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xa9f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18c4], eax
jmp 0x46f91f
mov dword [ebp - 0x18c4], 7
mov eax, dword [ebp - 0x18b0]
shl eax, 2
add eax, dword [ebp - 0x18ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x18c4]
mov ecx, dword [ebp - 0x18b0]
shl ecx, 2
add ecx, dword [ebp - 0x18ac]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46fc04
xor eax, eax
je 0x46f984
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46f9c0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xaa08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46fb57
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46fb57
and dword [ebp - 0x18cc], 0
jmp 0x46fa3a
cmp dword [ebp - 0x18cc], 0xa
jae 0x46fb52
cvtsi2sd xmm0, dword [ebp - 0x18cc]
movsd xmm1, qword [ebp - 0xaa08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46faa9
mov eax, dword [ebp - 0x18cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa08], xmm1
jmp 0x46f9aa
cvtsi2sd xmm0, dword [ebp - 0x18cc]
movsd xmm1, qword [ebp - 0xaa08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46fb06
mov eax, dword [ebp - 0x18cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa08], xmm1
jmp 0x46fb1a
xor eax, eax
je 0x46fb16
jmp 0x46fbd2
jmp 0x46fb3d
cvtsi2sd xmm0, dword [ebp - 0x18cc]
movsd xmm1, qword [ebp - 0xaa08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18d0], eax
jmp 0x46fbdc
xor eax, eax
inc eax
je 0x46fb48
jmp 0x46fb57
jmp 0x46f9aa
jmp 0x46f9aa
xor eax, eax
inc eax
je 0x46fbd2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18d4], eax
cvtsi2sd xmm0, dword [ebp - 0x18d4]
mov eax, dword [ebp - 0x18d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaa08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18d0], eax
jmp 0x46fbdc
mov dword [ebp - 0x18d0], 7
mov eax, dword [ebp - 0x18b0]
shl eax, 2
add eax, dword [ebp - 0x18ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x18d0]
mov ecx, dword [ebp - 0x18b0]
shl ecx, 2
add ecx, dword [ebp - 0x18ac]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18b0]
add eax, 0xffffffb9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaa20], xmm0
xor eax, eax
je 0x46fc1e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46fc5a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaa20]
movsd qword [ebp - 0xaa28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x46fdf1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x46fdf1
and dword [ebp - 0x18d8], 0
jmp 0x46fcd4
cmp dword [ebp - 0x18d8], 0xa
jae 0x46fdec
cvtsi2sd xmm0, dword [ebp - 0x18d8]
movsd xmm1, qword [ebp - 0xaa28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46fd43
mov eax, dword [ebp - 0x18d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa28], xmm1
jmp 0x46fc44
cvtsi2sd xmm0, dword [ebp - 0x18d8]
movsd xmm1, qword [ebp - 0xaa28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46fda0
mov eax, dword [ebp - 0x18d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa28], xmm1
jmp 0x46fdb4
xor eax, eax
je 0x46fdb0
jmp 0x46fe6c
jmp 0x46fdd7
cvtsi2sd xmm0, dword [ebp - 0x18d8]
movsd xmm1, qword [ebp - 0xaa28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18dc], eax
jmp 0x46fe76
xor eax, eax
inc eax
je 0x46fde2
jmp 0x46fdf1
jmp 0x46fc44
jmp 0x46fc44
xor eax, eax
inc eax
je 0x46fe6c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18e0], eax
cvtsi2sd xmm0, dword [ebp - 0x18e0]
mov eax, dword [ebp - 0x18e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaa28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18dc], eax
jmp 0x46fe76
mov dword [ebp - 0x18dc], 7
mov eax, dword [ebp - 0x18b0]
add eax, 0xffffffb9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaa40], xmm0
xor eax, eax
je 0x46fe90
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x46fecc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaa40]
movsd qword [ebp - 0xaa48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x470063
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x470063
and dword [ebp - 0x18e4], 0
jmp 0x46ff46
cmp dword [ebp - 0x18e4], 0xa
jae 0x47005e
cvtsi2sd xmm0, dword [ebp - 0x18e4]
movsd xmm1, qword [ebp - 0xaa48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ffb5
mov eax, dword [ebp - 0x18e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa48], xmm1
jmp 0x46feb6
cvtsi2sd xmm0, dword [ebp - 0x18e4]
movsd xmm1, qword [ebp - 0xaa48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470012
mov eax, dword [ebp - 0x18e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa48], xmm1
jmp 0x470026
xor eax, eax
je 0x470022
jmp 0x4700de
jmp 0x470049
cvtsi2sd xmm0, dword [ebp - 0x18e4]
movsd xmm1, qword [ebp - 0xaa48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18e8], eax
jmp 0x4700e8
xor eax, eax
inc eax
je 0x470054
jmp 0x470063
jmp 0x46feb6
jmp 0x46feb6
xor eax, eax
inc eax
je 0x4700de
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18ec], eax
cvtsi2sd xmm0, dword [ebp - 0x18ec]
mov eax, dword [ebp - 0x18ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaa48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18e8], eax
jmp 0x4700e8
mov dword [ebp - 0x18e8], 7
mov eax, dword [ebp - 0x18b0]
shl eax, 2
add eax, dword [ebp - 0x18ac]
mov eax, dword [eax]
add eax, dword [ebp - 0x18dc]
mov ecx, dword [ebp - 0x18b0]
shl ecx, 2
add ecx, dword [ebp - 0x18ac]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x18e8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x18b0]
shl ecx, 2
add ecx, dword [ebp - 0x18ac]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4703e8
xor eax, eax
je 0x470168
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4701a4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xaa60], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47033b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47033b
and dword [ebp - 0x18f0], 0
jmp 0x47021e
cmp dword [ebp - 0x18f0], 0xa
jae 0x470336
cvtsi2sd xmm0, dword [ebp - 0x18f0]
movsd xmm1, qword [ebp - 0xaa60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa68], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47028d
mov eax, dword [ebp - 0x18f0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa60], xmm1
jmp 0x47018e
cvtsi2sd xmm0, dword [ebp - 0x18f0]
movsd xmm1, qword [ebp - 0xaa60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa70], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4702ea
mov eax, dword [ebp - 0x18f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa60], xmm1
jmp 0x4702fe
xor eax, eax
je 0x4702fa
jmp 0x4703b6
jmp 0x470321
cvtsi2sd xmm0, dword [ebp - 0x18f0]
movsd xmm1, qword [ebp - 0xaa60]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18f4], eax
jmp 0x4703c0
xor eax, eax
inc eax
je 0x47032c
jmp 0x47033b
jmp 0x47018e
jmp 0x47018e
xor eax, eax
inc eax
je 0x4703b6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x18f8], eax
cvtsi2sd xmm0, dword [ebp - 0x18f8]
mov eax, dword [ebp - 0x18f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaa60]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x18f4], eax
jmp 0x4703c0
mov dword [ebp - 0x18f4], 7
mov eax, dword [ebp - 0x18b0]
shl eax, 2
add eax, dword [ebp - 0x18ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x18f4]
mov ecx, dword [ebp - 0x18b0]
shl ecx, 2
add ecx, dword [ebp - 0x18ac]
mov dword [ecx], eax
jmp 0x46f36e
mov eax, dword [ebp - 0x18a8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x18a8]
mov dword [ebp - 0x18fc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x18fc]
mov eax, dword [eax]
mov dword [ebp - 0x1900], eax
xor eax, eax
mov byte [ebp - 0x44], al
lea ecx, [ebp - 0x44]
call fcn.00417852
mov dword [ebp - 0x1904], eax
mov eax, dword [ebp - 0x1904]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4714d0
mov eax, dword [ebp - 0x1904]
mov dword [ebp - 0x1908], eax
and dword [ebp - 0x190c], 0
jmp 0x47045e
mov eax, dword [ebp - 0x190c]
inc eax
mov dword [ebp - 0x190c], eax
cmp dword [ebp - 0x190c], 1
jae 0x4714d0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x470728
xor eax, eax
je 0x4704a8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4704e4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xaa78], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47067b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47067b
and dword [ebp - 0x1910], 0
jmp 0x47055e
cmp dword [ebp - 0x1910], 0xa
jae 0x470676
cvtsi2sd xmm0, dword [ebp - 0x1910]
movsd xmm1, qword [ebp - 0xaa78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa80], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4705cd
mov eax, dword [ebp - 0x1910]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa78], xmm1
jmp 0x4704ce
cvtsi2sd xmm0, dword [ebp - 0x1910]
movsd xmm1, qword [ebp - 0xaa78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa88], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47062a
mov eax, dword [ebp - 0x1910]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa78], xmm1
jmp 0x47063e
xor eax, eax
je 0x47063a
jmp 0x4706f6
jmp 0x470661
cvtsi2sd xmm0, dword [ebp - 0x1910]
movsd xmm1, qword [ebp - 0xaa78]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1914], eax
jmp 0x470700
xor eax, eax
inc eax
je 0x47066c
jmp 0x47067b
jmp 0x4704ce
jmp 0x4704ce
xor eax, eax
inc eax
je 0x4706f6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1918], eax
cvtsi2sd xmm0, dword [ebp - 0x1918]
mov eax, dword [ebp - 0x1918]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaa78]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1914], eax
jmp 0x470700
mov dword [ebp - 0x1914], 7
mov eax, dword [ebp - 0x190c]
shl eax, 2
add eax, dword [ebp - 0x1908]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x190c]
shl ecx, 2
add ecx, dword [ebp - 0x1908]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47120e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x470a2a
xor eax, eax
je 0x4707aa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4707e6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xaa90], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47097d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47097d
and dword [ebp - 0x191c], 0
jmp 0x470860
cmp dword [ebp - 0x191c], 0xa
jae 0x470978
cvtsi2sd xmm0, dword [ebp - 0x191c]
movsd xmm1, qword [ebp - 0xaa90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa98], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4708cf
mov eax, dword [ebp - 0x191c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa90], xmm1
jmp 0x4707d0
cvtsi2sd xmm0, dword [ebp - 0x191c]
movsd xmm1, qword [ebp - 0xaa90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaa0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47092c
mov eax, dword [ebp - 0x191c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa90], xmm1
jmp 0x470940
xor eax, eax
je 0x47093c
jmp 0x4709f8
jmp 0x470963
cvtsi2sd xmm0, dword [ebp - 0x191c]
movsd xmm1, qword [ebp - 0xaa90]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1920], eax
jmp 0x470a02
xor eax, eax
inc eax
je 0x47096e
jmp 0x47097d
jmp 0x4707d0
jmp 0x4707d0
xor eax, eax
inc eax
je 0x4709f8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1924], eax
cvtsi2sd xmm0, dword [ebp - 0x1924]
mov eax, dword [ebp - 0x1924]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaa90]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1920], eax
jmp 0x470a02
mov dword [ebp - 0x1920], 7
mov eax, dword [ebp - 0x190c]
shl eax, 2
add eax, dword [ebp - 0x1908]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1920]
mov ecx, dword [ebp - 0x190c]
shl ecx, 2
add ecx, dword [ebp - 0x1908]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x470ce7
xor eax, eax
je 0x470a67
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x470aa3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xaaa8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x470c3a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x470c3a
and dword [ebp - 0x1928], 0
jmp 0x470b1d
cmp dword [ebp - 0x1928], 0xa
jae 0x470c35
cvtsi2sd xmm0, dword [ebp - 0x1928]
movsd xmm1, qword [ebp - 0xaaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaab0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaab0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470b8c
mov eax, dword [ebp - 0x1928]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaa8], xmm1
jmp 0x470a8d
cvtsi2sd xmm0, dword [ebp - 0x1928]
movsd xmm1, qword [ebp - 0xaaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaab8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470be9
mov eax, dword [ebp - 0x1928]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaa8], xmm1
jmp 0x470bfd
xor eax, eax
je 0x470bf9
jmp 0x470cb5
jmp 0x470c20
cvtsi2sd xmm0, dword [ebp - 0x1928]
movsd xmm1, qword [ebp - 0xaaa8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x192c], eax
jmp 0x470cbf
xor eax, eax
inc eax
je 0x470c2b
jmp 0x470c3a
jmp 0x470a8d
jmp 0x470a8d
xor eax, eax
inc eax
je 0x470cb5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1930], eax
cvtsi2sd xmm0, dword [ebp - 0x1930]
mov eax, dword [ebp - 0x1930]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaaa8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x192c], eax
jmp 0x470cbf
mov dword [ebp - 0x192c], 7
mov eax, dword [ebp - 0x190c]
shl eax, 2
add eax, dword [ebp - 0x1908]
mov eax, dword [eax]
xor eax, dword [ebp - 0x192c]
mov ecx, dword [ebp - 0x190c]
shl ecx, 2
add ecx, dword [ebp - 0x1908]
mov dword [ecx], eax
mov eax, dword [ebp - 0x190c]
add eax, 0xffffffba
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaac0], xmm0
xor eax, eax
je 0x470d01
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x470d3d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaac0]
movsd qword [ebp - 0xaac8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x470ed4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x470ed4
and dword [ebp - 0x1934], 0
jmp 0x470db7
cmp dword [ebp - 0x1934], 0xa
jae 0x470ecf
cvtsi2sd xmm0, dword [ebp - 0x1934]
movsd xmm1, qword [ebp - 0xaac8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaad0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaad0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470e26
mov eax, dword [ebp - 0x1934]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaac8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaac8], xmm1
jmp 0x470d27
cvtsi2sd xmm0, dword [ebp - 0x1934]
movsd xmm1, qword [ebp - 0xaac8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaad8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470e83
mov eax, dword [ebp - 0x1934]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaac8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaac8], xmm1
jmp 0x470e97
xor eax, eax
je 0x470e93
jmp 0x470f4f
jmp 0x470eba
cvtsi2sd xmm0, dword [ebp - 0x1934]
movsd xmm1, qword [ebp - 0xaac8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1938], eax
jmp 0x470f59
xor eax, eax
inc eax
je 0x470ec5
jmp 0x470ed4
jmp 0x470d27
jmp 0x470d27
xor eax, eax
inc eax
je 0x470f4f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x193c], eax
cvtsi2sd xmm0, dword [ebp - 0x193c]
mov eax, dword [ebp - 0x193c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaac8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1938], eax
jmp 0x470f59
mov dword [ebp - 0x1938], 7
mov eax, dword [ebp - 0x190c]
add eax, 0xffffffba
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaae0], xmm0
xor eax, eax
je 0x470f73
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x470faf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaae0]
movsd qword [ebp - 0xaae8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x471146
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x471146
and dword [ebp - 0x1940], 0
jmp 0x471029
cmp dword [ebp - 0x1940], 0xa
jae 0x471141
cvtsi2sd xmm0, dword [ebp - 0x1940]
movsd xmm1, qword [ebp - 0xaae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471098
mov eax, dword [ebp - 0x1940]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaae8], xmm1
jmp 0x470f99
cvtsi2sd xmm0, dword [ebp - 0x1940]
movsd xmm1, qword [ebp - 0xaae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4710f5
mov eax, dword [ebp - 0x1940]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaae8], xmm1
jmp 0x471109
xor eax, eax
je 0x471105
jmp 0x4711c1
jmp 0x47112c
cvtsi2sd xmm0, dword [ebp - 0x1940]
movsd xmm1, qword [ebp - 0xaae8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1944], eax
jmp 0x4711cb
xor eax, eax
inc eax
je 0x471137
jmp 0x471146
jmp 0x470f99
jmp 0x470f99
xor eax, eax
inc eax
je 0x4711c1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1948], eax
cvtsi2sd xmm0, dword [ebp - 0x1948]
mov eax, dword [ebp - 0x1948]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaae8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1944], eax
jmp 0x4711cb
mov dword [ebp - 0x1944], 7
mov eax, dword [ebp - 0x190c]
shl eax, 2
add eax, dword [ebp - 0x1908]
mov eax, dword [eax]
add eax, dword [ebp - 0x1938]
mov ecx, dword [ebp - 0x190c]
shl ecx, 2
add ecx, dword [ebp - 0x1908]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1944]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x190c]
shl ecx, 2
add ecx, dword [ebp - 0x1908]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4714cb
xor eax, eax
je 0x47124b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x471287
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xab00], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47141e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47141e
and dword [ebp - 0x194c], 0
jmp 0x471301
cmp dword [ebp - 0x194c], 0xa
jae 0x471419
cvtsi2sd xmm0, dword [ebp - 0x194c]
movsd xmm1, qword [ebp - 0xab00]
addsd xmm1, xmm0
movsd qword [ebp - 0xab08], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471370
mov eax, dword [ebp - 0x194c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab00]
addsd xmm1, xmm0
movsd qword [ebp - 0xab00], xmm1
jmp 0x471271
cvtsi2sd xmm0, dword [ebp - 0x194c]
movsd xmm1, qword [ebp - 0xab00]
addsd xmm1, xmm0
movsd qword [ebp - 0xab10], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4713cd
mov eax, dword [ebp - 0x194c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab00]
addsd xmm1, xmm0
movsd qword [ebp - 0xab00], xmm1
jmp 0x4713e1
xor eax, eax
je 0x4713dd
jmp 0x471499
jmp 0x471404
cvtsi2sd xmm0, dword [ebp - 0x194c]
movsd xmm1, qword [ebp - 0xab00]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1950], eax
jmp 0x4714a3
xor eax, eax
inc eax
je 0x47140f
jmp 0x47141e
jmp 0x471271
jmp 0x471271
xor eax, eax
inc eax
je 0x471499
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1954], eax
cvtsi2sd xmm0, dword [ebp - 0x1954]
mov eax, dword [ebp - 0x1954]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xab00]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1950], eax
jmp 0x4714a3
mov dword [ebp - 0x1950], 7
mov eax, dword [ebp - 0x190c]
shl eax, 2
add eax, dword [ebp - 0x1908]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1950]
mov ecx, dword [ebp - 0x190c]
shl ecx, 2
add ecx, dword [ebp - 0x1908]
mov dword [ecx], eax
jmp 0x470451
mov eax, dword [ebp - 0x1904]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1904]
mov dword [ebp - 0x1958], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1958]
mov eax, dword [eax]
mov dword [ebp - 0x195c], eax
xor eax, eax
mov byte [ebp - 0x45], al
lea ecx, [ebp - 0x45]
call fcn.0041764a
mov dword [ebp - 0x1960], eax
mov eax, dword [ebp - 0x1960]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4725b3
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x1964], eax
and dword [ebp - 0x1968], 0
jmp 0x471541
mov eax, dword [ebp - 0x1968]
inc eax
mov dword [ebp - 0x1968], eax
cmp dword [ebp - 0x1968], 1
jae 0x4725b3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47180b
xor eax, eax
je 0x47158b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4715c7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xab18], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47175e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47175e
and dword [ebp - 0x196c], 0
jmp 0x471641
cmp dword [ebp - 0x196c], 0xa
jae 0x471759
cvtsi2sd xmm0, dword [ebp - 0x196c]
movsd xmm1, qword [ebp - 0xab18]
addsd xmm1, xmm0
movsd qword [ebp - 0xab20], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4716b0
mov eax, dword [ebp - 0x196c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab18]
addsd xmm1, xmm0
movsd qword [ebp - 0xab18], xmm1
jmp 0x4715b1
cvtsi2sd xmm0, dword [ebp - 0x196c]
movsd xmm1, qword [ebp - 0xab18]
addsd xmm1, xmm0
movsd qword [ebp - 0xab28], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47170d
mov eax, dword [ebp - 0x196c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab18]
addsd xmm1, xmm0
movsd qword [ebp - 0xab18], xmm1
jmp 0x471721
xor eax, eax
je 0x47171d
jmp 0x4717d9
jmp 0x471744
cvtsi2sd xmm0, dword [ebp - 0x196c]
movsd xmm1, qword [ebp - 0xab18]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1970], eax
jmp 0x4717e3
xor eax, eax
inc eax
je 0x47174f
jmp 0x47175e
jmp 0x4715b1
jmp 0x4715b1
xor eax, eax
inc eax
je 0x4717d9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1974], eax
cvtsi2sd xmm0, dword [ebp - 0x1974]
mov eax, dword [ebp - 0x1974]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xab18]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1970], eax
jmp 0x4717e3
mov dword [ebp - 0x1970], 7
mov eax, dword [ebp - 0x1968]
shl eax, 2
add eax, dword [ebp - 0x1964]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1970]
mov ecx, dword [ebp - 0x1968]
shl ecx, 2
add ecx, dword [ebp - 0x1964]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4722f1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x471b0d
xor eax, eax
je 0x47188d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4718c9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xab30], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x471a60
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x471a60
and dword [ebp - 0x1978], 0
jmp 0x471943
cmp dword [ebp - 0x1978], 0xa
jae 0x471a5b
cvtsi2sd xmm0, dword [ebp - 0x1978]
movsd xmm1, qword [ebp - 0xab30]
addsd xmm1, xmm0
movsd qword [ebp - 0xab38], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4719b2
mov eax, dword [ebp - 0x1978]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab30]
addsd xmm1, xmm0
movsd qword [ebp - 0xab30], xmm1
jmp 0x4718b3
cvtsi2sd xmm0, dword [ebp - 0x1978]
movsd xmm1, qword [ebp - 0xab30]
addsd xmm1, xmm0
movsd qword [ebp - 0xab40], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471a0f
mov eax, dword [ebp - 0x1978]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab30]
addsd xmm1, xmm0
movsd qword [ebp - 0xab30], xmm1
jmp 0x471a23
xor eax, eax
je 0x471a1f
jmp 0x471adb
jmp 0x471a46
cvtsi2sd xmm0, dword [ebp - 0x1978]
movsd xmm1, qword [ebp - 0xab30]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x197c], eax
jmp 0x471ae5
xor eax, eax
inc eax
je 0x471a51
jmp 0x471a60
jmp 0x4718b3
jmp 0x4718b3
xor eax, eax
inc eax
je 0x471adb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1980], eax
cvtsi2sd xmm0, dword [ebp - 0x1980]
mov eax, dword [ebp - 0x1980]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xab30]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x197c], eax
jmp 0x471ae5
mov dword [ebp - 0x197c], 7
mov eax, dword [ebp - 0x1968]
shl eax, 2
add eax, dword [ebp - 0x1964]
mov eax, dword [eax]
xor eax, dword [ebp - 0x197c]
mov ecx, dword [ebp - 0x1968]
shl ecx, 2
add ecx, dword [ebp - 0x1964]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x471dca
xor eax, eax
je 0x471b4a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x471b86
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xab48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x471d1d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x471d1d
and dword [ebp - 0x1984], 0
jmp 0x471c00
cmp dword [ebp - 0x1984], 0xa
jae 0x471d18
cvtsi2sd xmm0, dword [ebp - 0x1984]
movsd xmm1, qword [ebp - 0xab48]
addsd xmm1, xmm0
movsd qword [ebp - 0xab50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471c6f
mov eax, dword [ebp - 0x1984]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab48]
addsd xmm1, xmm0
movsd qword [ebp - 0xab48], xmm1
jmp 0x471b70
cvtsi2sd xmm0, dword [ebp - 0x1984]
movsd xmm1, qword [ebp - 0xab48]
addsd xmm1, xmm0
movsd qword [ebp - 0xab58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471ccc
mov eax, dword [ebp - 0x1984]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab48]
addsd xmm1, xmm0
movsd qword [ebp - 0xab48], xmm1
jmp 0x471ce0
xor eax, eax
je 0x471cdc
jmp 0x471d98
jmp 0x471d03
cvtsi2sd xmm0, dword [ebp - 0x1984]
movsd xmm1, qword [ebp - 0xab48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1988], eax
jmp 0x471da2
xor eax, eax
inc eax
je 0x471d0e
jmp 0x471d1d
jmp 0x471b70
jmp 0x471b70
xor eax, eax
inc eax
je 0x471d98
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x198c], eax
cvtsi2sd xmm0, dword [ebp - 0x198c]
mov eax, dword [ebp - 0x198c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xab48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1988], eax
jmp 0x471da2
mov dword [ebp - 0x1988], 7
mov eax, dword [ebp - 0x1968]
shl eax, 2
add eax, dword [ebp - 0x1964]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1988]
mov ecx, dword [ebp - 0x1968]
shl ecx, 2
add ecx, dword [ebp - 0x1964]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1968]
add eax, 0xffffffba
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xab60], xmm0
xor eax, eax
je 0x471de4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x471e20
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xab60]
movsd qword [ebp - 0xab68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x471fb7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x471fb7
and dword [ebp - 0x1990], 0
jmp 0x471e9a
cmp dword [ebp - 0x1990], 0xa
jae 0x471fb2
cvtsi2sd xmm0, dword [ebp - 0x1990]
movsd xmm1, qword [ebp - 0xab68]
addsd xmm1, xmm0
movsd qword [ebp - 0xab70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471f09
mov eax, dword [ebp - 0x1990]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab68]
addsd xmm1, xmm0
movsd qword [ebp - 0xab68], xmm1
jmp 0x471e0a
cvtsi2sd xmm0, dword [ebp - 0x1990]
movsd xmm1, qword [ebp - 0xab68]
addsd xmm1, xmm0
movsd qword [ebp - 0xab78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471f66
mov eax, dword [ebp - 0x1990]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab68]
addsd xmm1, xmm0
movsd qword [ebp - 0xab68], xmm1
jmp 0x471f7a
xor eax, eax
je 0x471f76
jmp 0x472032
jmp 0x471f9d
cvtsi2sd xmm0, dword [ebp - 0x1990]
movsd xmm1, qword [ebp - 0xab68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1994], eax
jmp 0x47203c
xor eax, eax
inc eax
je 0x471fa8
jmp 0x471fb7
jmp 0x471e0a
jmp 0x471e0a
xor eax, eax
inc eax
je 0x472032
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1998], eax
cvtsi2sd xmm0, dword [ebp - 0x1998]
mov eax, dword [ebp - 0x1998]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xab68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1994], eax
jmp 0x47203c
mov dword [ebp - 0x1994], 7
mov eax, dword [ebp - 0x1968]
add eax, 0xffffffba
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xab80], xmm0
xor eax, eax
je 0x472056
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x472092
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xab80]
movsd qword [ebp - 0xab88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x472229
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472229
and dword [ebp - 0x199c], 0
jmp 0x47210c
cmp dword [ebp - 0x199c], 0xa
jae 0x472224
cvtsi2sd xmm0, dword [ebp - 0x199c]
movsd xmm1, qword [ebp - 0xab88]
addsd xmm1, xmm0
movsd qword [ebp - 0xab90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47217b
mov eax, dword [ebp - 0x199c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab88]
addsd xmm1, xmm0
movsd qword [ebp - 0xab88], xmm1
jmp 0x47207c
cvtsi2sd xmm0, dword [ebp - 0x199c]
movsd xmm1, qword [ebp - 0xab88]
addsd xmm1, xmm0
movsd qword [ebp - 0xab98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4721d8
mov eax, dword [ebp - 0x199c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab88]
addsd xmm1, xmm0
movsd qword [ebp - 0xab88], xmm1
jmp 0x4721ec
xor eax, eax
je 0x4721e8
jmp 0x4722a4
jmp 0x47220f
cvtsi2sd xmm0, dword [ebp - 0x199c]
movsd xmm1, qword [ebp - 0xab88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19a0], eax
jmp 0x4722ae
xor eax, eax
inc eax
je 0x47221a
jmp 0x472229
jmp 0x47207c
jmp 0x47207c
xor eax, eax
inc eax
je 0x4722a4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x19a4], eax
cvtsi2sd xmm0, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x19a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xab88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19a0], eax
jmp 0x4722ae
mov dword [ebp - 0x19a0], 7
mov eax, dword [ebp - 0x1968]
shl eax, 2
add eax, dword [ebp - 0x1964]
mov eax, dword [eax]
add eax, dword [ebp - 0x1994]
mov ecx, dword [ebp - 0x1968]
shl ecx, 2
add ecx, dword [ebp - 0x1964]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x19a0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1968]
shl ecx, 2
add ecx, dword [ebp - 0x1964]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4725ae
xor eax, eax
je 0x47232e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47236a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xaba0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x472501
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472501
and dword [ebp - 0x19a8], 0
jmp 0x4723e4
cmp dword [ebp - 0x19a8], 0xa
jae 0x4724fc
cvtsi2sd xmm0, dword [ebp - 0x19a8]
movsd xmm1, qword [ebp - 0xaba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaba8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaba8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472453
mov eax, dword [ebp - 0x19a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaba0], xmm1
jmp 0x472354
cvtsi2sd xmm0, dword [ebp - 0x19a8]
movsd xmm1, qword [ebp - 0xaba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabb0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4724b0
mov eax, dword [ebp - 0x19a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaba0], xmm1
jmp 0x4724c4
xor eax, eax
je 0x4724c0
jmp 0x47257c
jmp 0x4724e7
cvtsi2sd xmm0, dword [ebp - 0x19a8]
movsd xmm1, qword [ebp - 0xaba0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19ac], eax
jmp 0x472586
xor eax, eax
inc eax
je 0x4724f2
jmp 0x472501
jmp 0x472354
jmp 0x472354
xor eax, eax
inc eax
je 0x47257c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x19b0], eax
cvtsi2sd xmm0, dword [ebp - 0x19b0]
mov eax, dword [ebp - 0x19b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaba0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19ac], eax
jmp 0x472586
mov dword [ebp - 0x19ac], 7
mov eax, dword [ebp - 0x1968]
shl eax, 2
add eax, dword [ebp - 0x1964]
mov eax, dword [eax]
xor eax, dword [ebp - 0x19ac]
mov ecx, dword [ebp - 0x1968]
shl ecx, 2
add ecx, dword [ebp - 0x1964]
mov dword [ecx], eax
jmp 0x471534
mov eax, dword [ebp - 0x1960]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x19b4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x19b4]
mov eax, dword [eax]
mov dword [ebp - 0x19b8], eax
mov eax, dword [ebp - 0x195c]
mov dword [ebp - 0x1900], eax
cmp dword [ebp - 0x1900], 0
je 0x4736d9
xor eax, eax
mov byte [ebp - 0x46], al
lea ecx, [ebp - 0x46]
call fcn.00418a32
mov dword [ebp - 0x19bc], eax
mov eax, dword [ebp - 0x19bc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4736af
mov eax, dword [ebp - 0x19bc]
mov dword [ebp - 0x19c0], eax
and dword [ebp - 0x19c4], 0
jmp 0x47263d
mov eax, dword [ebp - 0x19c4]
inc eax
mov dword [ebp - 0x19c4], eax
cmp dword [ebp - 0x19c4], 1
jae 0x4736af
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472907
xor eax, eax
je 0x472687
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4726c3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e68]
movsd qword [ebp - 0xabb8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47285a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47285a
and dword [ebp - 0x19c8], 0
jmp 0x47273d
cmp dword [ebp - 0x19c8], 0xa
jae 0x472855
cvtsi2sd xmm0, dword [ebp - 0x19c8]
movsd xmm1, qword [ebp - 0xabb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabc0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4727ac
mov eax, dword [ebp - 0x19c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabb8], xmm1
jmp 0x4726ad
cvtsi2sd xmm0, dword [ebp - 0x19c8]
movsd xmm1, qword [ebp - 0xabb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabc8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472809
mov eax, dword [ebp - 0x19c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabb8], xmm1
jmp 0x47281d
xor eax, eax
je 0x472819
jmp 0x4728d5
jmp 0x472840
cvtsi2sd xmm0, dword [ebp - 0x19c8]
movsd xmm1, qword [ebp - 0xabb8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19cc], eax
jmp 0x4728df
xor eax, eax
inc eax
je 0x47284b
jmp 0x47285a
jmp 0x4726ad
jmp 0x4726ad
xor eax, eax
inc eax
je 0x4728d5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x19d0], eax
cvtsi2sd xmm0, dword [ebp - 0x19d0]
mov eax, dword [ebp - 0x19d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xabb8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19cc], eax
jmp 0x4728df
mov dword [ebp - 0x19cc], 7
mov eax, dword [ebp - 0x19c4]
shl eax, 2
add eax, dword [ebp - 0x19c0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x19cc]
mov ecx, dword [ebp - 0x19c4]
shl ecx, 2
add ecx, dword [ebp - 0x19c0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4733ed
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472c09
xor eax, eax
je 0x472989
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4729c5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xabd0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x472b5c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472b5c
and dword [ebp - 0x19d4], 0
jmp 0x472a3f
cmp dword [ebp - 0x19d4], 0xa
jae 0x472b57
cvtsi2sd xmm0, dword [ebp - 0x19d4]
movsd xmm1, qword [ebp - 0xabd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabd8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472aae
mov eax, dword [ebp - 0x19d4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabd0], xmm1
jmp 0x4729af
cvtsi2sd xmm0, dword [ebp - 0x19d4]
movsd xmm1, qword [ebp - 0xabd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabe0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472b0b
mov eax, dword [ebp - 0x19d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabd0], xmm1
jmp 0x472b1f
xor eax, eax
je 0x472b1b
jmp 0x472bd7
jmp 0x472b42
cvtsi2sd xmm0, dword [ebp - 0x19d4]
movsd xmm1, qword [ebp - 0xabd0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19d8], eax
jmp 0x472be1
xor eax, eax
inc eax
je 0x472b4d
jmp 0x472b5c
jmp 0x4729af
jmp 0x4729af
xor eax, eax
inc eax
je 0x472bd7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x19dc], eax
cvtsi2sd xmm0, dword [ebp - 0x19dc]
mov eax, dword [ebp - 0x19dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xabd0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19d8], eax
jmp 0x472be1
mov dword [ebp - 0x19d8], 7
mov eax, dword [ebp - 0x19c4]
shl eax, 2
add eax, dword [ebp - 0x19c0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x19d8]
mov ecx, dword [ebp - 0x19c4]
shl ecx, 2
add ecx, dword [ebp - 0x19c0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472ec6
xor eax, eax
je 0x472c46
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x472c82
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xabe8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x472e19
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x472e19
and dword [ebp - 0x19e0], 0
jmp 0x472cfc
cmp dword [ebp - 0x19e0], 0xa
jae 0x472e14
cvtsi2sd xmm0, dword [ebp - 0x19e0]
movsd xmm1, qword [ebp - 0xabe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472d6b
mov eax, dword [ebp - 0x19e0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabe8], xmm1
jmp 0x472c6c
cvtsi2sd xmm0, dword [ebp - 0x19e0]
movsd xmm1, qword [ebp - 0xabe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472dc8
mov eax, dword [ebp - 0x19e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabe8], xmm1
jmp 0x472ddc
xor eax, eax
je 0x472dd8
jmp 0x472e94
jmp 0x472dff
cvtsi2sd xmm0, dword [ebp - 0x19e0]
movsd xmm1, qword [ebp - 0xabe8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19e4], eax
jmp 0x472e9e
xor eax, eax
inc eax
je 0x472e0a
jmp 0x472e19
jmp 0x472c6c
jmp 0x472c6c
xor eax, eax
inc eax
je 0x472e94
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x19e8], eax
cvtsi2sd xmm0, dword [ebp - 0x19e8]
mov eax, dword [ebp - 0x19e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xabe8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19e4], eax
jmp 0x472e9e
mov dword [ebp - 0x19e4], 7
mov eax, dword [ebp - 0x19c4]
shl eax, 2
add eax, dword [ebp - 0x19c0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x19e4]
mov ecx, dword [ebp - 0x19c4]
shl ecx, 2
add ecx, dword [ebp - 0x19c0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x19c4]
add eax, 0xffffffba
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xac00], xmm0
xor eax, eax
je 0x472ee0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x472f1c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xac00]
movsd qword [ebp - 0xac08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4730b3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4730b3
and dword [ebp - 0x19ec], 0
jmp 0x472f96
cmp dword [ebp - 0x19ec], 0xa
jae 0x4730ae
cvtsi2sd xmm0, dword [ebp - 0x19ec]
movsd xmm1, qword [ebp - 0xac08]
addsd xmm1, xmm0
movsd qword [ebp - 0xac10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473005
mov eax, dword [ebp - 0x19ec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac08]
addsd xmm1, xmm0
movsd qword [ebp - 0xac08], xmm1
jmp 0x472f06
cvtsi2sd xmm0, dword [ebp - 0x19ec]
movsd xmm1, qword [ebp - 0xac08]
addsd xmm1, xmm0
movsd qword [ebp - 0xac18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473062
mov eax, dword [ebp - 0x19ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac08]
addsd xmm1, xmm0
movsd qword [ebp - 0xac08], xmm1
jmp 0x473076
xor eax, eax
je 0x473072
jmp 0x47312e
jmp 0x473099
cvtsi2sd xmm0, dword [ebp - 0x19ec]
movsd xmm1, qword [ebp - 0xac08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19f0], eax
jmp 0x473138
xor eax, eax
inc eax
je 0x4730a4
jmp 0x4730b3
jmp 0x472f06
jmp 0x472f06
xor eax, eax
inc eax
je 0x47312e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x19f4], eax
cvtsi2sd xmm0, dword [ebp - 0x19f4]
mov eax, dword [ebp - 0x19f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xac08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19f0], eax
jmp 0x473138
mov dword [ebp - 0x19f0], 7
mov eax, dword [ebp - 0x19c4]
add eax, 0xffffffba
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xac20], xmm0
xor eax, eax
je 0x473152
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47318e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xac20]
movsd qword [ebp - 0xac28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x473325
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x473325
and dword [ebp - 0x19f8], 0
jmp 0x473208
cmp dword [ebp - 0x19f8], 0xa
jae 0x473320
cvtsi2sd xmm0, dword [ebp - 0x19f8]
movsd xmm1, qword [ebp - 0xac28]
addsd xmm1, xmm0
movsd qword [ebp - 0xac30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473277
mov eax, dword [ebp - 0x19f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac28]
addsd xmm1, xmm0
movsd qword [ebp - 0xac28], xmm1
jmp 0x473178
cvtsi2sd xmm0, dword [ebp - 0x19f8]
movsd xmm1, qword [ebp - 0xac28]
addsd xmm1, xmm0
movsd qword [ebp - 0xac38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4732d4
mov eax, dword [ebp - 0x19f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac28]
addsd xmm1, xmm0
movsd qword [ebp - 0xac28], xmm1
jmp 0x4732e8
xor eax, eax
je 0x4732e4
jmp 0x4733a0
jmp 0x47330b
cvtsi2sd xmm0, dword [ebp - 0x19f8]
movsd xmm1, qword [ebp - 0xac28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19fc], eax
jmp 0x4733aa
xor eax, eax
inc eax
je 0x473316
jmp 0x473325
jmp 0x473178
jmp 0x473178
xor eax, eax
inc eax
je 0x4733a0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a00], eax
cvtsi2sd xmm0, dword [ebp - 0x1a00]
mov eax, dword [ebp - 0x1a00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xac28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x19fc], eax
jmp 0x4733aa
mov dword [ebp - 0x19fc], 7
mov eax, dword [ebp - 0x19c4]
shl eax, 2
add eax, dword [ebp - 0x19c0]
mov eax, dword [eax]
add eax, dword [ebp - 0x19f0]
mov ecx, dword [ebp - 0x19c4]
shl ecx, 2
add ecx, dword [ebp - 0x19c0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x19fc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x19c4]
shl ecx, 2
add ecx, dword [ebp - 0x19c0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4736aa
xor eax, eax
je 0x47342a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x473466
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xac40], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4735fd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4735fd
and dword [ebp - 0x1a04], 0
jmp 0x4734e0
cmp dword [ebp - 0x1a04], 0xa
jae 0x4735f8
cvtsi2sd xmm0, dword [ebp - 0x1a04]
movsd xmm1, qword [ebp - 0xac40]
addsd xmm1, xmm0
movsd qword [ebp - 0xac48], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47354f
mov eax, dword [ebp - 0x1a04]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac40]
addsd xmm1, xmm0
movsd qword [ebp - 0xac40], xmm1
jmp 0x473450
cvtsi2sd xmm0, dword [ebp - 0x1a04]
movsd xmm1, qword [ebp - 0xac40]
addsd xmm1, xmm0
movsd qword [ebp - 0xac50], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4735ac
mov eax, dword [ebp - 0x1a04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac40]
addsd xmm1, xmm0
movsd qword [ebp - 0xac40], xmm1
jmp 0x4735c0
xor eax, eax
je 0x4735bc
jmp 0x473678
jmp 0x4735e3
cvtsi2sd xmm0, dword [ebp - 0x1a04]
movsd xmm1, qword [ebp - 0xac40]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a08], eax
jmp 0x473682
xor eax, eax
inc eax
je 0x4735ee
jmp 0x4735fd
jmp 0x473450
jmp 0x473450
xor eax, eax
inc eax
je 0x473678
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a0c], eax
cvtsi2sd xmm0, dword [ebp - 0x1a0c]
mov eax, dword [ebp - 0x1a0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xac40]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a08], eax
jmp 0x473682
mov dword [ebp - 0x1a08], 7
mov eax, dword [ebp - 0x19c4]
shl eax, 2
add eax, dword [ebp - 0x19c0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a08]
mov ecx, dword [ebp - 0x19c4]
shl ecx, 2
add ecx, dword [ebp - 0x19c0]
mov dword [ecx], eax
jmp 0x472630
mov eax, dword [ebp - 0x19bc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x19bc]
mov dword [ebp - 0x1a10], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1a10]
mov eax, dword [eax]
mov dword [ebp - 0x19b8], eax
mov eax, dword [sym.imp.USER32.dll_SetClipboardData]
mov dword [ebp - 0x160b8], eax
mov eax, dword [sym.imp.KERNEL32.dll_ResumeThread]
mov dword [ebp - 0x160b4], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
mov dword [ebp - 0x160b0], eax
mov eax, dword [sym.imp.USER32.dll_DefFrameProcW]
mov dword [ebp - 0x160ac], eax
mov eax, dword [sym.imp.USER32.dll_SetCaretPos]
mov dword [ebp - 0x160a8], eax
mov eax, dword [sym.imp.USER32.dll_CreatePopupMenu]
mov dword [ebp - 0x160a4], eax
xor eax, eax
mov byte [ebp - 0x47], al
lea ecx, [ebp - 0x47]
call fcn.00416670
mov dword [ebp - 0x1a14], eax
mov eax, dword [ebp - 0x1a14]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4747d4
mov eax, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a18], eax
and dword [ebp - 0x1a1c], 0
jmp 0x473762
mov eax, dword [ebp - 0x1a1c]
inc eax
mov dword [ebp - 0x1a1c], eax
cmp dword [ebp - 0x1a1c], 1
jae 0x4747d4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x473a2c
xor eax, eax
je 0x4737ac
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4737e8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xac58], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47397f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47397f
and dword [ebp - 0x1a20], 0
jmp 0x473862
cmp dword [ebp - 0x1a20], 0xa
jae 0x47397a
cvtsi2sd xmm0, dword [ebp - 0x1a20]
movsd xmm1, qword [ebp - 0xac58]
addsd xmm1, xmm0
movsd qword [ebp - 0xac60], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4738d1
mov eax, dword [ebp - 0x1a20]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac58]
addsd xmm1, xmm0
movsd qword [ebp - 0xac58], xmm1
jmp 0x4737d2
cvtsi2sd xmm0, dword [ebp - 0x1a20]
movsd xmm1, qword [ebp - 0xac58]
addsd xmm1, xmm0
movsd qword [ebp - 0xac68], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47392e
mov eax, dword [ebp - 0x1a20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac58]
addsd xmm1, xmm0
movsd qword [ebp - 0xac58], xmm1
jmp 0x473942
xor eax, eax
je 0x47393e
jmp 0x4739fa
jmp 0x473965
cvtsi2sd xmm0, dword [ebp - 0x1a20]
movsd xmm1, qword [ebp - 0xac58]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a24], eax
jmp 0x473a04
xor eax, eax
inc eax
je 0x473970
jmp 0x47397f
jmp 0x4737d2
jmp 0x4737d2
xor eax, eax
inc eax
je 0x4739fa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a28], eax
cvtsi2sd xmm0, dword [ebp - 0x1a28]
mov eax, dword [ebp - 0x1a28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xac58]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a24], eax
jmp 0x473a04
mov dword [ebp - 0x1a24], 7
mov eax, dword [ebp - 0x1a1c]
shl eax, 2
add eax, dword [ebp - 0x1a18]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a24]
mov ecx, dword [ebp - 0x1a1c]
shl ecx, 2
add ecx, dword [ebp - 0x1a18]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x474512
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x473d2e
xor eax, eax
je 0x473aae
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x473aea
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xac70], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x473c81
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x473c81
and dword [ebp - 0x1a2c], 0
jmp 0x473b64
cmp dword [ebp - 0x1a2c], 0xa
jae 0x473c7c
cvtsi2sd xmm0, dword [ebp - 0x1a2c]
movsd xmm1, qword [ebp - 0xac70]
addsd xmm1, xmm0
movsd qword [ebp - 0xac78], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473bd3
mov eax, dword [ebp - 0x1a2c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac70]
addsd xmm1, xmm0
movsd qword [ebp - 0xac70], xmm1
jmp 0x473ad4
cvtsi2sd xmm0, dword [ebp - 0x1a2c]
movsd xmm1, qword [ebp - 0xac70]
addsd xmm1, xmm0
movsd qword [ebp - 0xac80], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473c30
mov eax, dword [ebp - 0x1a2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac70]
addsd xmm1, xmm0
movsd qword [ebp - 0xac70], xmm1
jmp 0x473c44
xor eax, eax
je 0x473c40
jmp 0x473cfc
jmp 0x473c67
cvtsi2sd xmm0, dword [ebp - 0x1a2c]
movsd xmm1, qword [ebp - 0xac70]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a30], eax
jmp 0x473d06
xor eax, eax
inc eax
je 0x473c72
jmp 0x473c81
jmp 0x473ad4
jmp 0x473ad4
xor eax, eax
inc eax
je 0x473cfc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a34], eax
cvtsi2sd xmm0, dword [ebp - 0x1a34]
mov eax, dword [ebp - 0x1a34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xac70]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a30], eax
jmp 0x473d06
mov dword [ebp - 0x1a30], 7
mov eax, dword [ebp - 0x1a1c]
shl eax, 2
add eax, dword [ebp - 0x1a18]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a30]
mov ecx, dword [ebp - 0x1a1c]
shl ecx, 2
add ecx, dword [ebp - 0x1a18]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x473feb
xor eax, eax
je 0x473d6b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x473da7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xac88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x473f3e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x473f3e
and dword [ebp - 0x1a38], 0
jmp 0x473e21
cmp dword [ebp - 0x1a38], 0xa
jae 0x473f39
cvtsi2sd xmm0, dword [ebp - 0x1a38]
movsd xmm1, qword [ebp - 0xac88]
addsd xmm1, xmm0
movsd qword [ebp - 0xac90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473e90
mov eax, dword [ebp - 0x1a38]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac88]
addsd xmm1, xmm0
movsd qword [ebp - 0xac88], xmm1
jmp 0x473d91
cvtsi2sd xmm0, dword [ebp - 0x1a38]
movsd xmm1, qword [ebp - 0xac88]
addsd xmm1, xmm0
movsd qword [ebp - 0xac98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473eed
mov eax, dword [ebp - 0x1a38]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac88]
addsd xmm1, xmm0
movsd qword [ebp - 0xac88], xmm1
jmp 0x473f01
xor eax, eax
je 0x473efd
jmp 0x473fb9
jmp 0x473f24
cvtsi2sd xmm0, dword [ebp - 0x1a38]
movsd xmm1, qword [ebp - 0xac88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a3c], eax
jmp 0x473fc3
xor eax, eax
inc eax
je 0x473f2f
jmp 0x473f3e
jmp 0x473d91
jmp 0x473d91
xor eax, eax
inc eax
je 0x473fb9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a40], eax
cvtsi2sd xmm0, dword [ebp - 0x1a40]
mov eax, dword [ebp - 0x1a40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xac88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a3c], eax
jmp 0x473fc3
mov dword [ebp - 0x1a3c], 7
mov eax, dword [ebp - 0x1a1c]
shl eax, 2
add eax, dword [ebp - 0x1a18]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a3c]
mov ecx, dword [ebp - 0x1a1c]
shl ecx, 2
add ecx, dword [ebp - 0x1a18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1a1c]
add eax, 0xffffffbb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaca0], xmm0
xor eax, eax
je 0x474005
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x474041
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaca0]
movsd qword [ebp - 0xaca8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4741d8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4741d8
and dword [ebp - 0x1a44], 0
jmp 0x4740bb
cmp dword [ebp - 0x1a44], 0xa
jae 0x4741d3
cvtsi2sd xmm0, dword [ebp - 0x1a44]
movsd xmm1, qword [ebp - 0xaca8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47412a
mov eax, dword [ebp - 0x1a44]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaca8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaca8], xmm1
jmp 0x47402b
cvtsi2sd xmm0, dword [ebp - 0x1a44]
movsd xmm1, qword [ebp - 0xaca8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474187
mov eax, dword [ebp - 0x1a44]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaca8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaca8], xmm1
jmp 0x47419b
xor eax, eax
je 0x474197
jmp 0x474253
jmp 0x4741be
cvtsi2sd xmm0, dword [ebp - 0x1a44]
movsd xmm1, qword [ebp - 0xaca8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a48], eax
jmp 0x47425d
xor eax, eax
inc eax
je 0x4741c9
jmp 0x4741d8
jmp 0x47402b
jmp 0x47402b
xor eax, eax
inc eax
je 0x474253
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a4c], eax
cvtsi2sd xmm0, dword [ebp - 0x1a4c]
mov eax, dword [ebp - 0x1a4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaca8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a48], eax
jmp 0x47425d
mov dword [ebp - 0x1a48], 7
mov eax, dword [ebp - 0x1a1c]
add eax, 0xffffffbb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xacc0], xmm0
xor eax, eax
je 0x474277
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4742b3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xacc0]
movsd qword [ebp - 0xacc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47444a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47444a
and dword [ebp - 0x1a50], 0
jmp 0x47432d
cmp dword [ebp - 0x1a50], 0xa
jae 0x474445
cvtsi2sd xmm0, dword [ebp - 0x1a50]
movsd xmm1, qword [ebp - 0xacc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47439c
mov eax, dword [ebp - 0x1a50]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacc8], xmm1
jmp 0x47429d
cvtsi2sd xmm0, dword [ebp - 0x1a50]
movsd xmm1, qword [ebp - 0xacc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4743f9
mov eax, dword [ebp - 0x1a50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacc8], xmm1
jmp 0x47440d
xor eax, eax
je 0x474409
jmp 0x4744c5
jmp 0x474430
cvtsi2sd xmm0, dword [ebp - 0x1a50]
movsd xmm1, qword [ebp - 0xacc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a54], eax
jmp 0x4744cf
xor eax, eax
inc eax
je 0x47443b
jmp 0x47444a
jmp 0x47429d
jmp 0x47429d
xor eax, eax
inc eax
je 0x4744c5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a58], eax
cvtsi2sd xmm0, dword [ebp - 0x1a58]
mov eax, dword [ebp - 0x1a58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xacc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a54], eax
jmp 0x4744cf
mov dword [ebp - 0x1a54], 7
mov eax, dword [ebp - 0x1a1c]
shl eax, 2
add eax, dword [ebp - 0x1a18]
mov eax, dword [eax]
add eax, dword [ebp - 0x1a48]
mov ecx, dword [ebp - 0x1a1c]
shl ecx, 2
add ecx, dword [ebp - 0x1a18]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1a54]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1a1c]
shl ecx, 2
add ecx, dword [ebp - 0x1a18]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4747cf
xor eax, eax
je 0x47454f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47458b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xace0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x474722
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x474722
and dword [ebp - 0x1a5c], 0
jmp 0x474605
cmp dword [ebp - 0x1a5c], 0xa
jae 0x47471d
cvtsi2sd xmm0, dword [ebp - 0x1a5c]
movsd xmm1, qword [ebp - 0xace0]
addsd xmm1, xmm0
movsd qword [ebp - 0xace8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xace8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474674
mov eax, dword [ebp - 0x1a5c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xace0]
addsd xmm1, xmm0
movsd qword [ebp - 0xace0], xmm1
jmp 0x474575
cvtsi2sd xmm0, dword [ebp - 0x1a5c]
movsd xmm1, qword [ebp - 0xace0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacf0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4746d1
mov eax, dword [ebp - 0x1a5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xace0]
addsd xmm1, xmm0
movsd qword [ebp - 0xace0], xmm1
jmp 0x4746e5
xor eax, eax
je 0x4746e1
jmp 0x47479d
jmp 0x474708
cvtsi2sd xmm0, dword [ebp - 0x1a5c]
movsd xmm1, qword [ebp - 0xace0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a60], eax
jmp 0x4747a7
xor eax, eax
inc eax
je 0x474713
jmp 0x474722
jmp 0x474575
jmp 0x474575
xor eax, eax
inc eax
je 0x47479d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a64], eax
cvtsi2sd xmm0, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x1a64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xace0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a60], eax
jmp 0x4747a7
mov dword [ebp - 0x1a60], 7
mov eax, dword [ebp - 0x1a1c]
shl eax, 2
add eax, dword [ebp - 0x1a18]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a60]
mov ecx, dword [ebp - 0x1a1c]
shl ecx, 2
add ecx, dword [ebp - 0x1a18]
mov dword [ecx], eax
jmp 0x473755
mov eax, dword [ebp - 0x1a14]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1a14]
mov dword [ebp - 0x1a68], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1a68]
mov eax, dword [eax]
mov dword [ebp - 0x1a6c], eax
xor eax, eax
mov byte [ebp - 0x48], al
lea ecx, [ebp - 0x48]
call fcn.00414b04
mov dword [ebp - 0x1a70], eax
mov eax, dword [ebp - 0x1a70]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4758b7
mov eax, dword [ebp - 0x1a70]
mov dword [ebp - 0x1a74], eax
and dword [ebp - 0x1a78], 0
jmp 0x474845
mov eax, dword [ebp - 0x1a78]
inc eax
mov dword [ebp - 0x1a78], eax
cmp dword [ebp - 0x1a78], 1
jae 0x4758b7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x474b0f
xor eax, eax
je 0x47488f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4748cb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e60]
movsd qword [ebp - 0xacf8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x474a62
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x474a62
and dword [ebp - 0x1a7c], 0
jmp 0x474945
cmp dword [ebp - 0x1a7c], 0xa
jae 0x474a5d
cvtsi2sd xmm0, dword [ebp - 0x1a7c]
movsd xmm1, qword [ebp - 0xacf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xad00], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4749b4
mov eax, dword [ebp - 0x1a7c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacf8], xmm1
jmp 0x4748b5
cvtsi2sd xmm0, dword [ebp - 0x1a7c]
movsd xmm1, qword [ebp - 0xacf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xad08], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474a11
mov eax, dword [ebp - 0x1a7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacf8], xmm1
jmp 0x474a25
xor eax, eax
je 0x474a21
jmp 0x474add
jmp 0x474a48
cvtsi2sd xmm0, dword [ebp - 0x1a7c]
movsd xmm1, qword [ebp - 0xacf8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a80], eax
jmp 0x474ae7
xor eax, eax
inc eax
je 0x474a53
jmp 0x474a62
jmp 0x4748b5
jmp 0x4748b5
xor eax, eax
inc eax
je 0x474add
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a84], eax
cvtsi2sd xmm0, dword [ebp - 0x1a84]
mov eax, dword [ebp - 0x1a84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xacf8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a80], eax
jmp 0x474ae7
mov dword [ebp - 0x1a80], 7
mov eax, dword [ebp - 0x1a78]
shl eax, 2
add eax, dword [ebp - 0x1a74]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a80]
mov ecx, dword [ebp - 0x1a78]
shl ecx, 2
add ecx, dword [ebp - 0x1a74]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4755f5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x474e11
xor eax, eax
je 0x474b91
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x474bcd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xad10], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x474d64
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x474d64
and dword [ebp - 0x1a88], 0
jmp 0x474c47
cmp dword [ebp - 0x1a88], 0xa
jae 0x474d5f
cvtsi2sd xmm0, dword [ebp - 0x1a88]
movsd xmm1, qword [ebp - 0xad10]
addsd xmm1, xmm0
movsd qword [ebp - 0xad18], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474cb6
mov eax, dword [ebp - 0x1a88]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad10]
addsd xmm1, xmm0
movsd qword [ebp - 0xad10], xmm1
jmp 0x474bb7
cvtsi2sd xmm0, dword [ebp - 0x1a88]
movsd xmm1, qword [ebp - 0xad10]
addsd xmm1, xmm0
movsd qword [ebp - 0xad20], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474d13
mov eax, dword [ebp - 0x1a88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad10]
addsd xmm1, xmm0
movsd qword [ebp - 0xad10], xmm1
jmp 0x474d27
xor eax, eax
je 0x474d23
jmp 0x474ddf
jmp 0x474d4a
cvtsi2sd xmm0, dword [ebp - 0x1a88]
movsd xmm1, qword [ebp - 0xad10]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a8c], eax
jmp 0x474de9
xor eax, eax
inc eax
je 0x474d55
jmp 0x474d64
jmp 0x474bb7
jmp 0x474bb7
xor eax, eax
inc eax
je 0x474ddf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a90], eax
cvtsi2sd xmm0, dword [ebp - 0x1a90]
mov eax, dword [ebp - 0x1a90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xad10]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a8c], eax
jmp 0x474de9
mov dword [ebp - 0x1a8c], 7
mov eax, dword [ebp - 0x1a78]
shl eax, 2
add eax, dword [ebp - 0x1a74]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a8c]
mov ecx, dword [ebp - 0x1a78]
shl ecx, 2
add ecx, dword [ebp - 0x1a74]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4750ce
xor eax, eax
je 0x474e4e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x474e8a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xad28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x475021
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x475021
and dword [ebp - 0x1a94], 0
jmp 0x474f04
cmp dword [ebp - 0x1a94], 0xa
jae 0x47501c
cvtsi2sd xmm0, dword [ebp - 0x1a94]
movsd xmm1, qword [ebp - 0xad28]
addsd xmm1, xmm0
movsd qword [ebp - 0xad30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474f73
mov eax, dword [ebp - 0x1a94]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad28]
addsd xmm1, xmm0
movsd qword [ebp - 0xad28], xmm1
jmp 0x474e74
cvtsi2sd xmm0, dword [ebp - 0x1a94]
movsd xmm1, qword [ebp - 0xad28]
addsd xmm1, xmm0
movsd qword [ebp - 0xad38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474fd0
mov eax, dword [ebp - 0x1a94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad28]
addsd xmm1, xmm0
movsd qword [ebp - 0xad28], xmm1
jmp 0x474fe4
xor eax, eax
je 0x474fe0
jmp 0x47509c
jmp 0x475007
cvtsi2sd xmm0, dword [ebp - 0x1a94]
movsd xmm1, qword [ebp - 0xad28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a98], eax
jmp 0x4750a6
xor eax, eax
inc eax
je 0x475012
jmp 0x475021
jmp 0x474e74
jmp 0x474e74
xor eax, eax
inc eax
je 0x47509c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1a9c], eax
cvtsi2sd xmm0, dword [ebp - 0x1a9c]
mov eax, dword [ebp - 0x1a9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xad28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1a98], eax
jmp 0x4750a6
mov dword [ebp - 0x1a98], 7
mov eax, dword [ebp - 0x1a78]
shl eax, 2
add eax, dword [ebp - 0x1a74]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1a98]
mov ecx, dword [ebp - 0x1a78]
shl ecx, 2
add ecx, dword [ebp - 0x1a74]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1a78]
add eax, 0xffffffbb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xad40], xmm0
xor eax, eax
je 0x4750e8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x475124
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xad40]
movsd qword [ebp - 0xad48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4752bb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4752bb
and dword [ebp - 0x1aa0], 0
jmp 0x47519e
cmp dword [ebp - 0x1aa0], 0xa
jae 0x4752b6
cvtsi2sd xmm0, dword [ebp - 0x1aa0]
movsd xmm1, qword [ebp - 0xad48]
addsd xmm1, xmm0
movsd qword [ebp - 0xad50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47520d
mov eax, dword [ebp - 0x1aa0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad48]
addsd xmm1, xmm0
movsd qword [ebp - 0xad48], xmm1
jmp 0x47510e
cvtsi2sd xmm0, dword [ebp - 0x1aa0]
movsd xmm1, qword [ebp - 0xad48]
addsd xmm1, xmm0
movsd qword [ebp - 0xad58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47526a
mov eax, dword [ebp - 0x1aa0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad48]
addsd xmm1, xmm0
movsd qword [ebp - 0xad48], xmm1
jmp 0x47527e
xor eax, eax
je 0x47527a
jmp 0x475336
jmp 0x4752a1
cvtsi2sd xmm0, dword [ebp - 0x1aa0]
movsd xmm1, qword [ebp - 0xad48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1aa4], eax
jmp 0x475340
xor eax, eax
inc eax
je 0x4752ac
jmp 0x4752bb
jmp 0x47510e
jmp 0x47510e
xor eax, eax
inc eax
je 0x475336
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1aa8], eax
cvtsi2sd xmm0, dword [ebp - 0x1aa8]
mov eax, dword [ebp - 0x1aa8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xad48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1aa4], eax
jmp 0x475340
mov dword [ebp - 0x1aa4], 7
mov eax, dword [ebp - 0x1a78]
add eax, 0xffffffbb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xad60], xmm0
xor eax, eax
je 0x47535a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x475396
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xad60]
movsd qword [ebp - 0xad68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47552d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47552d
and dword [ebp - 0x1aac], 0
jmp 0x475410
cmp dword [ebp - 0x1aac], 0xa
jae 0x475528
cvtsi2sd xmm0, dword [ebp - 0x1aac]
movsd xmm1, qword [ebp - 0xad68]
addsd xmm1, xmm0
movsd qword [ebp - 0xad70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47547f
mov eax, dword [ebp - 0x1aac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad68]
addsd xmm1, xmm0
movsd qword [ebp - 0xad68], xmm1
jmp 0x475380
cvtsi2sd xmm0, dword [ebp - 0x1aac]
movsd xmm1, qword [ebp - 0xad68]
addsd xmm1, xmm0
movsd qword [ebp - 0xad78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4754dc
mov eax, dword [ebp - 0x1aac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad68]
addsd xmm1, xmm0
movsd qword [ebp - 0xad68], xmm1
jmp 0x4754f0
xor eax, eax
je 0x4754ec
jmp 0x4755a8
jmp 0x475513
cvtsi2sd xmm0, dword [ebp - 0x1aac]
movsd xmm1, qword [ebp - 0xad68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ab0], eax
jmp 0x4755b2
xor eax, eax
inc eax
je 0x47551e
jmp 0x47552d
jmp 0x475380
jmp 0x475380
xor eax, eax
inc eax
je 0x4755a8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ab4], eax
cvtsi2sd xmm0, dword [ebp - 0x1ab4]
mov eax, dword [ebp - 0x1ab4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xad68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ab0], eax
jmp 0x4755b2
mov dword [ebp - 0x1ab0], 7
mov eax, dword [ebp - 0x1a78]
shl eax, 2
add eax, dword [ebp - 0x1a74]
mov eax, dword [eax]
add eax, dword [ebp - 0x1aa4]
mov ecx, dword [ebp - 0x1a78]
shl ecx, 2
add ecx, dword [ebp - 0x1a74]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1ab0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1a78]
shl ecx, 2
add ecx, dword [ebp - 0x1a74]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4758b2
xor eax, eax
je 0x475632
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47566e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xad80], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x475805
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x475805
and dword [ebp - 0x1ab8], 0
jmp 0x4756e8
cmp dword [ebp - 0x1ab8], 0xa
jae 0x475800
cvtsi2sd xmm0, dword [ebp - 0x1ab8]
movsd xmm1, qword [ebp - 0xad80]
addsd xmm1, xmm0
movsd qword [ebp - 0xad88], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475757
mov eax, dword [ebp - 0x1ab8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad80]
addsd xmm1, xmm0
movsd qword [ebp - 0xad80], xmm1
jmp 0x475658
cvtsi2sd xmm0, dword [ebp - 0x1ab8]
movsd xmm1, qword [ebp - 0xad80]
addsd xmm1, xmm0
movsd qword [ebp - 0xad90], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4757b4
mov eax, dword [ebp - 0x1ab8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad80]
addsd xmm1, xmm0
movsd qword [ebp - 0xad80], xmm1
jmp 0x4757c8
xor eax, eax
je 0x4757c4
jmp 0x475880
jmp 0x4757eb
cvtsi2sd xmm0, dword [ebp - 0x1ab8]
movsd xmm1, qword [ebp - 0xad80]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1abc], eax
jmp 0x47588a
xor eax, eax
inc eax
je 0x4757f6
jmp 0x475805
jmp 0x475658
jmp 0x475658
xor eax, eax
inc eax
je 0x475880
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ac0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ac0]
mov eax, dword [ebp - 0x1ac0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xad80]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1abc], eax
jmp 0x47588a
mov dword [ebp - 0x1abc], 7
mov eax, dword [ebp - 0x1a78]
shl eax, 2
add eax, dword [ebp - 0x1a74]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1abc]
mov ecx, dword [ebp - 0x1a78]
shl ecx, 2
add ecx, dword [ebp - 0x1a74]
mov dword [ecx], eax
jmp 0x474838
mov eax, dword [ebp - 0x1a70]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1a70]
mov dword [ebp - 0x1ac4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1ac4]
mov eax, dword [eax]
mov dword [ebp - 0x1ac8], eax
xor eax, eax
mov byte [ebp - 0x49], al
lea ecx, [ebp - 0x49]
call fcn.00417616
mov dword [ebp - 0x1acc], eax
mov eax, dword [ebp - 0x1acc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x47699a
mov eax, dword [ebp - 0x1acc]
mov dword [ebp - 0x1ad0], eax
and dword [ebp - 0x1ad4], 0
jmp 0x475928
mov eax, dword [ebp - 0x1ad4]
inc eax
mov dword [ebp - 0x1ad4], eax
cmp dword [ebp - 0x1ad4], 1
jae 0x47699a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x475bf2
xor eax, eax
je 0x475972
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4759ae
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xad98], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x475b45
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x475b45
and dword [ebp - 0x1ad8], 0
jmp 0x475a28
cmp dword [ebp - 0x1ad8], 0xa
jae 0x475b40
cvtsi2sd xmm0, dword [ebp - 0x1ad8]
movsd xmm1, qword [ebp - 0xad98]
addsd xmm1, xmm0
movsd qword [ebp - 0xada0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xada0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475a97
mov eax, dword [ebp - 0x1ad8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad98]
addsd xmm1, xmm0
movsd qword [ebp - 0xad98], xmm1
jmp 0x475998
cvtsi2sd xmm0, dword [ebp - 0x1ad8]
movsd xmm1, qword [ebp - 0xad98]
addsd xmm1, xmm0
movsd qword [ebp - 0xada8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xada8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475af4
mov eax, dword [ebp - 0x1ad8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad98]
addsd xmm1, xmm0
movsd qword [ebp - 0xad98], xmm1
jmp 0x475b08
xor eax, eax
je 0x475b04
jmp 0x475bc0
jmp 0x475b2b
cvtsi2sd xmm0, dword [ebp - 0x1ad8]
movsd xmm1, qword [ebp - 0xad98]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1adc], eax
jmp 0x475bca
xor eax, eax
inc eax
je 0x475b36
jmp 0x475b45
jmp 0x475998
jmp 0x475998
xor eax, eax
inc eax
je 0x475bc0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ae0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ae0]
mov eax, dword [ebp - 0x1ae0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xad98]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1adc], eax
jmp 0x475bca
mov dword [ebp - 0x1adc], 7
mov eax, dword [ebp - 0x1ad4]
shl eax, 2
add eax, dword [ebp - 0x1ad0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1adc]
mov ecx, dword [ebp - 0x1ad4]
shl ecx, 2
add ecx, dword [ebp - 0x1ad0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4766d8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x475ef4
xor eax, eax
je 0x475c74
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x475cb0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xadb0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x475e47
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x475e47
and dword [ebp - 0x1ae4], 0
jmp 0x475d2a
cmp dword [ebp - 0x1ae4], 0xa
jae 0x475e42
cvtsi2sd xmm0, dword [ebp - 0x1ae4]
movsd xmm1, qword [ebp - 0xadb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadb8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475d99
mov eax, dword [ebp - 0x1ae4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadb0], xmm1
jmp 0x475c9a
cvtsi2sd xmm0, dword [ebp - 0x1ae4]
movsd xmm1, qword [ebp - 0xadb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadc0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475df6
mov eax, dword [ebp - 0x1ae4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadb0], xmm1
jmp 0x475e0a
xor eax, eax
je 0x475e06
jmp 0x475ec2
jmp 0x475e2d
cvtsi2sd xmm0, dword [ebp - 0x1ae4]
movsd xmm1, qword [ebp - 0xadb0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ae8], eax
jmp 0x475ecc
xor eax, eax
inc eax
je 0x475e38
jmp 0x475e47
jmp 0x475c9a
jmp 0x475c9a
xor eax, eax
inc eax
je 0x475ec2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1aec], eax
cvtsi2sd xmm0, dword [ebp - 0x1aec]
mov eax, dword [ebp - 0x1aec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xadb0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ae8], eax
jmp 0x475ecc
mov dword [ebp - 0x1ae8], 7
mov eax, dword [ebp - 0x1ad4]
shl eax, 2
add eax, dword [ebp - 0x1ad0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ae8]
mov ecx, dword [ebp - 0x1ad4]
shl ecx, 2
add ecx, dword [ebp - 0x1ad0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4761b1
xor eax, eax
je 0x475f31
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x475f6d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xadc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x476104
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476104
and dword [ebp - 0x1af0], 0
jmp 0x475fe7
cmp dword [ebp - 0x1af0], 0xa
jae 0x4760ff
cvtsi2sd xmm0, dword [ebp - 0x1af0]
movsd xmm1, qword [ebp - 0xadc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476056
mov eax, dword [ebp - 0x1af0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadc8], xmm1
jmp 0x475f57
cvtsi2sd xmm0, dword [ebp - 0x1af0]
movsd xmm1, qword [ebp - 0xadc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4760b3
mov eax, dword [ebp - 0x1af0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadc8], xmm1
jmp 0x4760c7
xor eax, eax
je 0x4760c3
jmp 0x47617f
jmp 0x4760ea
cvtsi2sd xmm0, dword [ebp - 0x1af0]
movsd xmm1, qword [ebp - 0xadc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1af4], eax
jmp 0x476189
xor eax, eax
inc eax
je 0x4760f5
jmp 0x476104
jmp 0x475f57
jmp 0x475f57
xor eax, eax
inc eax
je 0x47617f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1af8], eax
cvtsi2sd xmm0, dword [ebp - 0x1af8]
mov eax, dword [ebp - 0x1af8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xadc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1af4], eax
jmp 0x476189
mov dword [ebp - 0x1af4], 7
mov eax, dword [ebp - 0x1ad4]
shl eax, 2
add eax, dword [ebp - 0x1ad0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1af4]
mov ecx, dword [ebp - 0x1ad4]
shl ecx, 2
add ecx, dword [ebp - 0x1ad0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1ad4]
add eax, 0xffffffbc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xade0], xmm0
xor eax, eax
je 0x4761cb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x476207
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xade0]
movsd qword [ebp - 0xade8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47639e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47639e
and dword [ebp - 0x1afc], 0
jmp 0x476281
cmp dword [ebp - 0x1afc], 0xa
jae 0x476399
cvtsi2sd xmm0, dword [ebp - 0x1afc]
movsd xmm1, qword [ebp - 0xade8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4762f0
mov eax, dword [ebp - 0x1afc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xade8]
addsd xmm1, xmm0
movsd qword [ebp - 0xade8], xmm1
jmp 0x4761f1
cvtsi2sd xmm0, dword [ebp - 0x1afc]
movsd xmm1, qword [ebp - 0xade8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47634d
mov eax, dword [ebp - 0x1afc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xade8]
addsd xmm1, xmm0
movsd qword [ebp - 0xade8], xmm1
jmp 0x476361
xor eax, eax
je 0x47635d
jmp 0x476419
jmp 0x476384
cvtsi2sd xmm0, dword [ebp - 0x1afc]
movsd xmm1, qword [ebp - 0xade8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b00], eax
jmp 0x476423
xor eax, eax
inc eax
je 0x47638f
jmp 0x47639e
jmp 0x4761f1
jmp 0x4761f1
xor eax, eax
inc eax
je 0x476419
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b04], eax
cvtsi2sd xmm0, dword [ebp - 0x1b04]
mov eax, dword [ebp - 0x1b04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xade8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b00], eax
jmp 0x476423
mov dword [ebp - 0x1b00], 7
mov eax, dword [ebp - 0x1ad4]
add eax, 0xffffffbc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xae00], xmm0
xor eax, eax
je 0x47643d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x476479
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xae00]
movsd qword [ebp - 0xae08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x476610
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476610
and dword [ebp - 0x1b08], 0
jmp 0x4764f3
cmp dword [ebp - 0x1b08], 0xa
jae 0x47660b
cvtsi2sd xmm0, dword [ebp - 0x1b08]
movsd xmm1, qword [ebp - 0xae08]
addsd xmm1, xmm0
movsd qword [ebp - 0xae10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476562
mov eax, dword [ebp - 0x1b08]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae08]
addsd xmm1, xmm0
movsd qword [ebp - 0xae08], xmm1
jmp 0x476463
cvtsi2sd xmm0, dword [ebp - 0x1b08]
movsd xmm1, qword [ebp - 0xae08]
addsd xmm1, xmm0
movsd qword [ebp - 0xae18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4765bf
mov eax, dword [ebp - 0x1b08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae08]
addsd xmm1, xmm0
movsd qword [ebp - 0xae08], xmm1
jmp 0x4765d3
xor eax, eax
je 0x4765cf
jmp 0x47668b
jmp 0x4765f6
cvtsi2sd xmm0, dword [ebp - 0x1b08]
movsd xmm1, qword [ebp - 0xae08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b0c], eax
jmp 0x476695
xor eax, eax
inc eax
je 0x476601
jmp 0x476610
jmp 0x476463
jmp 0x476463
xor eax, eax
inc eax
je 0x47668b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b10], eax
cvtsi2sd xmm0, dword [ebp - 0x1b10]
mov eax, dword [ebp - 0x1b10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xae08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b0c], eax
jmp 0x476695
mov dword [ebp - 0x1b0c], 7
mov eax, dword [ebp - 0x1ad4]
shl eax, 2
add eax, dword [ebp - 0x1ad0]
mov eax, dword [eax]
add eax, dword [ebp - 0x1b00]
mov ecx, dword [ebp - 0x1ad4]
shl ecx, 2
add ecx, dword [ebp - 0x1ad0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1b0c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1ad4]
shl ecx, 2
add ecx, dword [ebp - 0x1ad0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476995
xor eax, eax
je 0x476715
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x476751
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xae20], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4768e8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4768e8
and dword [ebp - 0x1b14], 0
jmp 0x4767cb
cmp dword [ebp - 0x1b14], 0xa
jae 0x4768e3
cvtsi2sd xmm0, dword [ebp - 0x1b14]
movsd xmm1, qword [ebp - 0xae20]
addsd xmm1, xmm0
movsd qword [ebp - 0xae28], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47683a
mov eax, dword [ebp - 0x1b14]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae20]
addsd xmm1, xmm0
movsd qword [ebp - 0xae20], xmm1
jmp 0x47673b
cvtsi2sd xmm0, dword [ebp - 0x1b14]
movsd xmm1, qword [ebp - 0xae20]
addsd xmm1, xmm0
movsd qword [ebp - 0xae30], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476897
mov eax, dword [ebp - 0x1b14]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae20]
addsd xmm1, xmm0
movsd qword [ebp - 0xae20], xmm1
jmp 0x4768ab
xor eax, eax
je 0x4768a7
jmp 0x476963
jmp 0x4768ce
cvtsi2sd xmm0, dword [ebp - 0x1b14]
movsd xmm1, qword [ebp - 0xae20]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b18], eax
jmp 0x47696d
xor eax, eax
inc eax
je 0x4768d9
jmp 0x4768e8
jmp 0x47673b
jmp 0x47673b
xor eax, eax
inc eax
je 0x476963
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b1c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b1c]
mov eax, dword [ebp - 0x1b1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xae20]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b18], eax
jmp 0x47696d
mov dword [ebp - 0x1b18], 7
mov eax, dword [ebp - 0x1ad4]
shl eax, 2
add eax, dword [ebp - 0x1ad0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1b18]
mov ecx, dword [ebp - 0x1ad4]
shl ecx, 2
add ecx, dword [ebp - 0x1ad0]
mov dword [ecx], eax
jmp 0x47591b
mov eax, dword [ebp - 0x1acc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1acc]
mov dword [ebp - 0x1b20], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1b20]
mov eax, dword [eax]
mov dword [ebp - 0x1b24], eax
mov eax, dword [ebp - 0x1ac8]
mov dword [ebp - 0x1a6c], eax
cmp dword [ebp - 0x1a6c], 0
je 0x477ac0
xor eax, eax
mov byte [ebp - 0x4a], al
lea ecx, [ebp - 0x4a]
call fcn.004151b8
mov dword [ebp - 0x1b28], eax
mov eax, dword [ebp - 0x1b28]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x477a96
mov eax, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b2c], eax
and dword [ebp - 0x1b30], 0
jmp 0x476a24
mov eax, dword [ebp - 0x1b30]
inc eax
mov dword [ebp - 0x1b30], eax
cmp dword [ebp - 0x1b30], 1
jae 0x477a96
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476cee
xor eax, eax
je 0x476a6e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x476aaa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xae38], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x476c41
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476c41
and dword [ebp - 0x1b34], 0
jmp 0x476b24
cmp dword [ebp - 0x1b34], 0xa
jae 0x476c3c
cvtsi2sd xmm0, dword [ebp - 0x1b34]
movsd xmm1, qword [ebp - 0xae38]
addsd xmm1, xmm0
movsd qword [ebp - 0xae40], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476b93
mov eax, dword [ebp - 0x1b34]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae38]
addsd xmm1, xmm0
movsd qword [ebp - 0xae38], xmm1
jmp 0x476a94
cvtsi2sd xmm0, dword [ebp - 0x1b34]
movsd xmm1, qword [ebp - 0xae38]
addsd xmm1, xmm0
movsd qword [ebp - 0xae48], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476bf0
mov eax, dword [ebp - 0x1b34]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae38]
addsd xmm1, xmm0
movsd qword [ebp - 0xae38], xmm1
jmp 0x476c04
xor eax, eax
je 0x476c00
jmp 0x476cbc
jmp 0x476c27
cvtsi2sd xmm0, dword [ebp - 0x1b34]
movsd xmm1, qword [ebp - 0xae38]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b38], eax
jmp 0x476cc6
xor eax, eax
inc eax
je 0x476c32
jmp 0x476c41
jmp 0x476a94
jmp 0x476a94
xor eax, eax
inc eax
je 0x476cbc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b3c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b3c]
mov eax, dword [ebp - 0x1b3c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xae38]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b38], eax
jmp 0x476cc6
mov dword [ebp - 0x1b38], 7
mov eax, dword [ebp - 0x1b30]
shl eax, 2
add eax, dword [ebp - 0x1b2c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1b38]
mov ecx, dword [ebp - 0x1b30]
shl ecx, 2
add ecx, dword [ebp - 0x1b2c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4777d4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476ff0
xor eax, eax
je 0x476d70
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x476dac
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xae50], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x476f43
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x476f43
and dword [ebp - 0x1b40], 0
jmp 0x476e26
cmp dword [ebp - 0x1b40], 0xa
jae 0x476f3e
cvtsi2sd xmm0, dword [ebp - 0x1b40]
movsd xmm1, qword [ebp - 0xae50]
addsd xmm1, xmm0
movsd qword [ebp - 0xae58], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476e95
mov eax, dword [ebp - 0x1b40]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae50]
addsd xmm1, xmm0
movsd qword [ebp - 0xae50], xmm1
jmp 0x476d96
cvtsi2sd xmm0, dword [ebp - 0x1b40]
movsd xmm1, qword [ebp - 0xae50]
addsd xmm1, xmm0
movsd qword [ebp - 0xae60], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476ef2
mov eax, dword [ebp - 0x1b40]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae50]
addsd xmm1, xmm0
movsd qword [ebp - 0xae50], xmm1
jmp 0x476f06
xor eax, eax
je 0x476f02
jmp 0x476fbe
jmp 0x476f29
cvtsi2sd xmm0, dword [ebp - 0x1b40]
movsd xmm1, qword [ebp - 0xae50]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b44], eax
jmp 0x476fc8
xor eax, eax
inc eax
je 0x476f34
jmp 0x476f43
jmp 0x476d96
jmp 0x476d96
xor eax, eax
inc eax
je 0x476fbe
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b48], eax
cvtsi2sd xmm0, dword [ebp - 0x1b48]
mov eax, dword [ebp - 0x1b48]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xae50]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b44], eax
jmp 0x476fc8
mov dword [ebp - 0x1b44], 7
mov eax, dword [ebp - 0x1b30]
shl eax, 2
add eax, dword [ebp - 0x1b2c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1b44]
mov ecx, dword [ebp - 0x1b30]
shl ecx, 2
add ecx, dword [ebp - 0x1b2c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4772ad
xor eax, eax
je 0x47702d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x477069
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xae68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x477200
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x477200
and dword [ebp - 0x1b4c], 0
jmp 0x4770e3
cmp dword [ebp - 0x1b4c], 0xa
jae 0x4771fb
cvtsi2sd xmm0, dword [ebp - 0x1b4c]
movsd xmm1, qword [ebp - 0xae68]
addsd xmm1, xmm0
movsd qword [ebp - 0xae70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477152
mov eax, dword [ebp - 0x1b4c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae68]
addsd xmm1, xmm0
movsd qword [ebp - 0xae68], xmm1
jmp 0x477053
cvtsi2sd xmm0, dword [ebp - 0x1b4c]
movsd xmm1, qword [ebp - 0xae68]
addsd xmm1, xmm0
movsd qword [ebp - 0xae78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4771af
mov eax, dword [ebp - 0x1b4c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae68]
addsd xmm1, xmm0
movsd qword [ebp - 0xae68], xmm1
jmp 0x4771c3
xor eax, eax
je 0x4771bf
jmp 0x47727b
jmp 0x4771e6
cvtsi2sd xmm0, dword [ebp - 0x1b4c]
movsd xmm1, qword [ebp - 0xae68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b50], eax
jmp 0x477285
xor eax, eax
inc eax
je 0x4771f1
jmp 0x477200
jmp 0x477053
jmp 0x477053
xor eax, eax
inc eax
je 0x47727b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b54], eax
cvtsi2sd xmm0, dword [ebp - 0x1b54]
mov eax, dword [ebp - 0x1b54]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xae68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b50], eax
jmp 0x477285
mov dword [ebp - 0x1b50], 7
mov eax, dword [ebp - 0x1b30]
shl eax, 2
add eax, dword [ebp - 0x1b2c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1b50]
mov ecx, dword [ebp - 0x1b30]
shl ecx, 2
add ecx, dword [ebp - 0x1b2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1b30]
add eax, 0xffffffbc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xae80], xmm0
xor eax, eax
je 0x4772c7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x477303
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xae80]
movsd qword [ebp - 0xae88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47749a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47749a
and dword [ebp - 0x1b58], 0
jmp 0x47737d
cmp dword [ebp - 0x1b58], 0xa
jae 0x477495
cvtsi2sd xmm0, dword [ebp - 0x1b58]
movsd xmm1, qword [ebp - 0xae88]
addsd xmm1, xmm0
movsd qword [ebp - 0xae90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4773ec
mov eax, dword [ebp - 0x1b58]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae88]
addsd xmm1, xmm0
movsd qword [ebp - 0xae88], xmm1
jmp 0x4772ed
cvtsi2sd xmm0, dword [ebp - 0x1b58]
movsd xmm1, qword [ebp - 0xae88]
addsd xmm1, xmm0
movsd qword [ebp - 0xae98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477449
mov eax, dword [ebp - 0x1b58]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae88]
addsd xmm1, xmm0
movsd qword [ebp - 0xae88], xmm1
jmp 0x47745d
xor eax, eax
je 0x477459
jmp 0x477515
jmp 0x477480
cvtsi2sd xmm0, dword [ebp - 0x1b58]
movsd xmm1, qword [ebp - 0xae88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b5c], eax
jmp 0x47751f
xor eax, eax
inc eax
je 0x47748b
jmp 0x47749a
jmp 0x4772ed
jmp 0x4772ed
xor eax, eax
inc eax
je 0x477515
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b60], eax
cvtsi2sd xmm0, dword [ebp - 0x1b60]
mov eax, dword [ebp - 0x1b60]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xae88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b5c], eax
jmp 0x47751f
mov dword [ebp - 0x1b5c], 7
mov eax, dword [ebp - 0x1b30]
add eax, 0xffffffbc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaea0], xmm0
xor eax, eax
je 0x477539
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x477575
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaea0]
movsd qword [ebp - 0xaea8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47770c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47770c
and dword [ebp - 0x1b64], 0
jmp 0x4775ef
cmp dword [ebp - 0x1b64], 0xa
jae 0x477707
cvtsi2sd xmm0, dword [ebp - 0x1b64]
movsd xmm1, qword [ebp - 0xaea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaeb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaeb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47765e
mov eax, dword [ebp - 0x1b64]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaea8], xmm1
jmp 0x47755f
cvtsi2sd xmm0, dword [ebp - 0x1b64]
movsd xmm1, qword [ebp - 0xaea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaeb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaeb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4776bb
mov eax, dword [ebp - 0x1b64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaea8], xmm1
jmp 0x4776cf
xor eax, eax
je 0x4776cb
jmp 0x477787
jmp 0x4776f2
cvtsi2sd xmm0, dword [ebp - 0x1b64]
movsd xmm1, qword [ebp - 0xaea8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b68], eax
jmp 0x477791
xor eax, eax
inc eax
je 0x4776fd
jmp 0x47770c
jmp 0x47755f
jmp 0x47755f
xor eax, eax
inc eax
je 0x477787
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b6c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b6c]
mov eax, dword [ebp - 0x1b6c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaea8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b68], eax
jmp 0x477791
mov dword [ebp - 0x1b68], 7
mov eax, dword [ebp - 0x1b30]
shl eax, 2
add eax, dword [ebp - 0x1b2c]
mov eax, dword [eax]
add eax, dword [ebp - 0x1b5c]
mov ecx, dword [ebp - 0x1b30]
shl ecx, 2
add ecx, dword [ebp - 0x1b2c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1b68]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1b30]
shl ecx, 2
add ecx, dword [ebp - 0x1b2c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x477a91
xor eax, eax
je 0x477811
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47784d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xaec0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4779e4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4779e4
and dword [ebp - 0x1b70], 0
jmp 0x4778c7
cmp dword [ebp - 0x1b70], 0xa
jae 0x4779df
cvtsi2sd xmm0, dword [ebp - 0x1b70]
movsd xmm1, qword [ebp - 0xaec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaec8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaec8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477936
mov eax, dword [ebp - 0x1b70]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaec0], xmm1
jmp 0x477837
cvtsi2sd xmm0, dword [ebp - 0x1b70]
movsd xmm1, qword [ebp - 0xaec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaed0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaed0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477993
mov eax, dword [ebp - 0x1b70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaec0], xmm1
jmp 0x4779a7
xor eax, eax
je 0x4779a3
jmp 0x477a5f
jmp 0x4779ca
cvtsi2sd xmm0, dword [ebp - 0x1b70]
movsd xmm1, qword [ebp - 0xaec0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b74], eax
jmp 0x477a69
xor eax, eax
inc eax
je 0x4779d5
jmp 0x4779e4
jmp 0x477837
jmp 0x477837
xor eax, eax
inc eax
je 0x477a5f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b78], eax
cvtsi2sd xmm0, dword [ebp - 0x1b78]
mov eax, dword [ebp - 0x1b78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaec0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b74], eax
jmp 0x477a69
mov dword [ebp - 0x1b74], 7
mov eax, dword [ebp - 0x1b30]
shl eax, 2
add eax, dword [ebp - 0x1b2c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1b74]
mov ecx, dword [ebp - 0x1b30]
shl ecx, 2
add ecx, dword [ebp - 0x1b2c]
mov dword [ecx], eax
jmp 0x476a17
mov eax, dword [ebp - 0x1b28]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b7c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1b7c]
mov eax, dword [eax]
mov dword [ebp - 0x1b24], eax
xor eax, eax
mov byte [ebp - 0x4b], al
push 0x1c
pop ecx
mov esi, 0x706940
lea edi, [ebp - 0x162f6]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 2
pop eax
imul eax, eax, 0x38
lea ecx, [ebp - 0x162f6]
movzx eax, word [ecx + eax]
neg eax
sbb eax, eax
neg eax
movzx eax, al
test eax, eax
je 0x477b4a
and dword [ebp - 0x1b80], 0
jmp 0x477b0a
mov eax, dword [ebp - 0x1b80]
inc eax
mov dword [ebp - 0x1b80], eax
cmp dword [ebp - 0x1b80], 0x39
jge 0x477b4a
mov eax, dword [ebp - 0x1b80]
shl eax, 1
lea ecx, [ebp - 0x162f6]
movzx ecx, word [ecx + eax]
mov eax, dword [ebp - 0x1b80]
cdq
push 0x36
pop esi
idiv esi
add edx, 0x34
xor ecx, edx
lea eax, [ebp - 0x162f6]
mov edx, dword [ebp - 0x1b80]
shl edx, 1
mov word [eax + edx], cx
jmp 0x477afd
push 0x58
push 0x3a963686
push 0xf
push 0
call fcn.005c17f6
add esp, 0x10
mov dword [ebp - 0x1b84], eax
lea eax, [ebp - 0x16078]
push eax
lea eax, [ebp - 0x1623c]
push eax
push 0
push 0
push 4
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x162f6]
push eax
call dword [ebp - 0x1b84]
test eax, eax
setne al
mov byte [ebp - 0x4c], al
movzx eax, byte [ebp - 0x4c]
test eax, eax
jne 0x477ba3
xor al, al
jmp 0x5a5114
xor eax, eax
mov byte [ebp - 0x4d], al
lea ecx, [ebp - 0x4d]
call fcn.0041663c
mov dword [ebp - 0x1b88], eax
mov eax, dword [ebp - 0x1b88]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x478c5c
mov eax, dword [ebp - 0x1b88]
mov dword [ebp - 0x1b8c], eax
and dword [ebp - 0x1b90], 0
jmp 0x477bea
mov eax, dword [ebp - 0x1b90]
inc eax
mov dword [ebp - 0x1b90], eax
cmp dword [ebp - 0x1b90], 1
jae 0x478c5c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x477eb4
xor eax, eax
je 0x477c34
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x477c70
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e58]
movsd qword [ebp - 0xaed8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x477e07
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x477e07
and dword [ebp - 0x1b94], 0
jmp 0x477cea
cmp dword [ebp - 0x1b94], 0xa
jae 0x477e02
cvtsi2sd xmm0, dword [ebp - 0x1b94]
movsd xmm1, qword [ebp - 0xaed8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaee0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaee0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477d59
mov eax, dword [ebp - 0x1b94]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaed8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaed8], xmm1
jmp 0x477c5a
cvtsi2sd xmm0, dword [ebp - 0x1b94]
movsd xmm1, qword [ebp - 0xaed8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaee8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaee8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477db6
mov eax, dword [ebp - 0x1b94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaed8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaed8], xmm1
jmp 0x477dca
xor eax, eax
je 0x477dc6
jmp 0x477e82
jmp 0x477ded
cvtsi2sd xmm0, dword [ebp - 0x1b94]
movsd xmm1, qword [ebp - 0xaed8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b98], eax
jmp 0x477e8c
xor eax, eax
inc eax
je 0x477df8
jmp 0x477e07
jmp 0x477c5a
jmp 0x477c5a
xor eax, eax
inc eax
je 0x477e82
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1b9c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b9c]
mov eax, dword [ebp - 0x1b9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaed8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1b98], eax
jmp 0x477e8c
mov dword [ebp - 0x1b98], 7
mov eax, dword [ebp - 0x1b90]
shl eax, 2
add eax, dword [ebp - 0x1b8c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1b98]
mov ecx, dword [ebp - 0x1b90]
shl ecx, 2
add ecx, dword [ebp - 0x1b8c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47899a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4781b6
xor eax, eax
je 0x477f36
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x477f72
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xaef0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x478109
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478109
and dword [ebp - 0x1ba0], 0
jmp 0x477fec
cmp dword [ebp - 0x1ba0], 0xa
jae 0x478104
cvtsi2sd xmm0, dword [ebp - 0x1ba0]
movsd xmm1, qword [ebp - 0xaef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaef8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47805b
mov eax, dword [ebp - 0x1ba0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaef0], xmm1
jmp 0x477f5c
cvtsi2sd xmm0, dword [ebp - 0x1ba0]
movsd xmm1, qword [ebp - 0xaef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf00], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4780b8
mov eax, dword [ebp - 0x1ba0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaef0], xmm1
jmp 0x4780cc
xor eax, eax
je 0x4780c8
jmp 0x478184
jmp 0x4780ef
cvtsi2sd xmm0, dword [ebp - 0x1ba0]
movsd xmm1, qword [ebp - 0xaef0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ba4], eax
jmp 0x47818e
xor eax, eax
inc eax
je 0x4780fa
jmp 0x478109
jmp 0x477f5c
jmp 0x477f5c
xor eax, eax
inc eax
je 0x478184
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ba8], eax
cvtsi2sd xmm0, dword [ebp - 0x1ba8]
mov eax, dword [ebp - 0x1ba8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaef0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ba4], eax
jmp 0x47818e
mov dword [ebp - 0x1ba4], 7
mov eax, dword [ebp - 0x1b90]
shl eax, 2
add eax, dword [ebp - 0x1b8c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ba4]
mov ecx, dword [ebp - 0x1b90]
shl ecx, 2
add ecx, dword [ebp - 0x1b8c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478473
xor eax, eax
je 0x4781f3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47822f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xaf08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4783c6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4783c6
and dword [ebp - 0x1bac], 0
jmp 0x4782a9
cmp dword [ebp - 0x1bac], 0xa
jae 0x4783c1
cvtsi2sd xmm0, dword [ebp - 0x1bac]
movsd xmm1, qword [ebp - 0xaf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478318
mov eax, dword [ebp - 0x1bac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf08], xmm1
jmp 0x478219
cvtsi2sd xmm0, dword [ebp - 0x1bac]
movsd xmm1, qword [ebp - 0xaf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478375
mov eax, dword [ebp - 0x1bac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf08], xmm1
jmp 0x478389
xor eax, eax
je 0x478385
jmp 0x478441
jmp 0x4783ac
cvtsi2sd xmm0, dword [ebp - 0x1bac]
movsd xmm1, qword [ebp - 0xaf08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bb0], eax
jmp 0x47844b
xor eax, eax
inc eax
je 0x4783b7
jmp 0x4783c6
jmp 0x478219
jmp 0x478219
xor eax, eax
inc eax
je 0x478441
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1bb4], eax
cvtsi2sd xmm0, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x1bb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaf08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bb0], eax
jmp 0x47844b
mov dword [ebp - 0x1bb0], 7
mov eax, dword [ebp - 0x1b90]
shl eax, 2
add eax, dword [ebp - 0x1b8c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1bb0]
mov ecx, dword [ebp - 0x1b90]
shl ecx, 2
add ecx, dword [ebp - 0x1b8c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1b90]
add eax, 0xffffffbc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaf20], xmm0
xor eax, eax
je 0x47848d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4784c9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaf20]
movsd qword [ebp - 0xaf28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x478660
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478660
and dword [ebp - 0x1bb8], 0
jmp 0x478543
cmp dword [ebp - 0x1bb8], 0xa
jae 0x47865b
cvtsi2sd xmm0, dword [ebp - 0x1bb8]
movsd xmm1, qword [ebp - 0xaf28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4785b2
mov eax, dword [ebp - 0x1bb8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf28], xmm1
jmp 0x4784b3
cvtsi2sd xmm0, dword [ebp - 0x1bb8]
movsd xmm1, qword [ebp - 0xaf28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47860f
mov eax, dword [ebp - 0x1bb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf28]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf28], xmm1
jmp 0x478623
xor eax, eax
je 0x47861f
jmp 0x4786db
jmp 0x478646
cvtsi2sd xmm0, dword [ebp - 0x1bb8]
movsd xmm1, qword [ebp - 0xaf28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bbc], eax
jmp 0x4786e5
xor eax, eax
inc eax
je 0x478651
jmp 0x478660
jmp 0x4784b3
jmp 0x4784b3
xor eax, eax
inc eax
je 0x4786db
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1bc0], eax
cvtsi2sd xmm0, dword [ebp - 0x1bc0]
mov eax, dword [ebp - 0x1bc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaf28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bbc], eax
jmp 0x4786e5
mov dword [ebp - 0x1bbc], 7
mov eax, dword [ebp - 0x1b90]
add eax, 0xffffffbc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xaf40], xmm0
xor eax, eax
je 0x4786ff
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47873b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaf40]
movsd qword [ebp - 0xaf48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4788d2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4788d2
and dword [ebp - 0x1bc4], 0
jmp 0x4787b5
cmp dword [ebp - 0x1bc4], 0xa
jae 0x4788cd
cvtsi2sd xmm0, dword [ebp - 0x1bc4]
movsd xmm1, qword [ebp - 0xaf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478824
mov eax, dword [ebp - 0x1bc4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf48], xmm1
jmp 0x478725
cvtsi2sd xmm0, dword [ebp - 0x1bc4]
movsd xmm1, qword [ebp - 0xaf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478881
mov eax, dword [ebp - 0x1bc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf48], xmm1
jmp 0x478895
xor eax, eax
je 0x478891
jmp 0x47894d
jmp 0x4788b8
cvtsi2sd xmm0, dword [ebp - 0x1bc4]
movsd xmm1, qword [ebp - 0xaf48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bc8], eax
jmp 0x478957
xor eax, eax
inc eax
je 0x4788c3
jmp 0x4788d2
jmp 0x478725
jmp 0x478725
xor eax, eax
inc eax
je 0x47894d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1bcc], eax
cvtsi2sd xmm0, dword [ebp - 0x1bcc]
mov eax, dword [ebp - 0x1bcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaf48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bc8], eax
jmp 0x478957
mov dword [ebp - 0x1bc8], 7
mov eax, dword [ebp - 0x1b90]
shl eax, 2
add eax, dword [ebp - 0x1b8c]
mov eax, dword [eax]
add eax, dword [ebp - 0x1bbc]
mov ecx, dword [ebp - 0x1b90]
shl ecx, 2
add ecx, dword [ebp - 0x1b8c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1bc8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1b90]
shl ecx, 2
add ecx, dword [ebp - 0x1b8c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478c57
xor eax, eax
je 0x4789d7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x478a13
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xaf60], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x478baa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478baa
and dword [ebp - 0x1bd0], 0
jmp 0x478a8d
cmp dword [ebp - 0x1bd0], 0xa
jae 0x478ba5
cvtsi2sd xmm0, dword [ebp - 0x1bd0]
movsd xmm1, qword [ebp - 0xaf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf68], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478afc
mov eax, dword [ebp - 0x1bd0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf60], xmm1
jmp 0x4789fd
cvtsi2sd xmm0, dword [ebp - 0x1bd0]
movsd xmm1, qword [ebp - 0xaf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf70], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478b59
mov eax, dword [ebp - 0x1bd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf60], xmm1
jmp 0x478b6d
xor eax, eax
je 0x478b69
jmp 0x478c25
jmp 0x478b90
cvtsi2sd xmm0, dword [ebp - 0x1bd0]
movsd xmm1, qword [ebp - 0xaf60]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bd4], eax
jmp 0x478c2f
xor eax, eax
inc eax
je 0x478b9b
jmp 0x478baa
jmp 0x4789fd
jmp 0x4789fd
xor eax, eax
inc eax
je 0x478c25
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1bd8], eax
cvtsi2sd xmm0, dword [ebp - 0x1bd8]
mov eax, dword [ebp - 0x1bd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaf60]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bd4], eax
jmp 0x478c2f
mov dword [ebp - 0x1bd4], 7
mov eax, dword [ebp - 0x1b90]
shl eax, 2
add eax, dword [ebp - 0x1b8c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1bd4]
mov ecx, dword [ebp - 0x1b90]
shl ecx, 2
add ecx, dword [ebp - 0x1b8c]
mov dword [ecx], eax
jmp 0x477bdd
mov eax, dword [ebp - 0x1b88]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1b88]
mov dword [ebp - 0x1bdc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1bdc]
mov eax, dword [eax]
mov dword [ebp - 0x1be0], eax
xor eax, eax
mov byte [ebp - 0x4e], al
lea ecx, [ebp - 0x4e]
call fcn.00416cbc
mov dword [ebp - 0x1be4], eax
mov eax, dword [ebp - 0x1be4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x479d3f
mov eax, dword [ebp - 0x1be4]
mov dword [ebp - 0x1be8], eax
and dword [ebp - 0x1bec], 0
jmp 0x478ccd
mov eax, dword [ebp - 0x1bec]
inc eax
mov dword [ebp - 0x1bec], eax
cmp dword [ebp - 0x1bec], 1
jae 0x479d3f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478f97
xor eax, eax
je 0x478d17
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x478d53
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xaf78], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x478eea
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x478eea
and dword [ebp - 0x1bf0], 0
jmp 0x478dcd
cmp dword [ebp - 0x1bf0], 0xa
jae 0x478ee5
cvtsi2sd xmm0, dword [ebp - 0x1bf0]
movsd xmm1, qword [ebp - 0xaf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf80], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478e3c
mov eax, dword [ebp - 0x1bf0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf78], xmm1
jmp 0x478d3d
cvtsi2sd xmm0, dword [ebp - 0x1bf0]
movsd xmm1, qword [ebp - 0xaf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf88], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478e99
mov eax, dword [ebp - 0x1bf0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf78], xmm1
jmp 0x478ead
xor eax, eax
je 0x478ea9
jmp 0x478f65
jmp 0x478ed0
cvtsi2sd xmm0, dword [ebp - 0x1bf0]
movsd xmm1, qword [ebp - 0xaf78]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bf4], eax
jmp 0x478f6f
xor eax, eax
inc eax
je 0x478edb
jmp 0x478eea
jmp 0x478d3d
jmp 0x478d3d
xor eax, eax
inc eax
je 0x478f65
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1bf8], eax
cvtsi2sd xmm0, dword [ebp - 0x1bf8]
mov eax, dword [ebp - 0x1bf8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaf78]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1bf4], eax
jmp 0x478f6f
mov dword [ebp - 0x1bf4], 7
mov eax, dword [ebp - 0x1bec]
shl eax, 2
add eax, dword [ebp - 0x1be8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1bf4]
mov ecx, dword [ebp - 0x1bec]
shl ecx, 2
add ecx, dword [ebp - 0x1be8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x479a7d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x479299
xor eax, eax
je 0x479019
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x479055
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xaf90], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4791ec
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4791ec
and dword [ebp - 0x1bfc], 0
jmp 0x4790cf
cmp dword [ebp - 0x1bfc], 0xa
jae 0x4791e7
cvtsi2sd xmm0, dword [ebp - 0x1bfc]
movsd xmm1, qword [ebp - 0xaf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf98], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47913e
mov eax, dword [ebp - 0x1bfc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf90], xmm1
jmp 0x47903f
cvtsi2sd xmm0, dword [ebp - 0x1bfc]
movsd xmm1, qword [ebp - 0xaf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xafa0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47919b
mov eax, dword [ebp - 0x1bfc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf90], xmm1
jmp 0x4791af
xor eax, eax
je 0x4791ab
jmp 0x479267
jmp 0x4791d2
cvtsi2sd xmm0, dword [ebp - 0x1bfc]
movsd xmm1, qword [ebp - 0xaf90]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c00], eax
jmp 0x479271
xor eax, eax
inc eax
je 0x4791dd
jmp 0x4791ec
jmp 0x47903f
jmp 0x47903f
xor eax, eax
inc eax
je 0x479267
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c04], eax
cvtsi2sd xmm0, dword [ebp - 0x1c04]
mov eax, dword [ebp - 0x1c04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xaf90]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c00], eax
jmp 0x479271
mov dword [ebp - 0x1c00], 7
mov eax, dword [ebp - 0x1bec]
shl eax, 2
add eax, dword [ebp - 0x1be8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c00]
mov ecx, dword [ebp - 0x1bec]
shl ecx, 2
add ecx, dword [ebp - 0x1be8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x479556
xor eax, eax
je 0x4792d6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x479312
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xafa8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4794a9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4794a9
and dword [ebp - 0x1c08], 0
jmp 0x47938c
cmp dword [ebp - 0x1c08], 0xa
jae 0x4794a4
cvtsi2sd xmm0, dword [ebp - 0x1c08]
movsd xmm1, qword [ebp - 0xafa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4793fb
mov eax, dword [ebp - 0x1c08]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafa8], xmm1
jmp 0x4792fc
cvtsi2sd xmm0, dword [ebp - 0x1c08]
movsd xmm1, qword [ebp - 0xafa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479458
mov eax, dword [ebp - 0x1c08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafa8], xmm1
jmp 0x47946c
xor eax, eax
je 0x479468
jmp 0x479524
jmp 0x47948f
cvtsi2sd xmm0, dword [ebp - 0x1c08]
movsd xmm1, qword [ebp - 0xafa8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c0c], eax
jmp 0x47952e
xor eax, eax
inc eax
je 0x47949a
jmp 0x4794a9
jmp 0x4792fc
jmp 0x4792fc
xor eax, eax
inc eax
je 0x479524
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c10], eax
cvtsi2sd xmm0, dword [ebp - 0x1c10]
mov eax, dword [ebp - 0x1c10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xafa8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c0c], eax
jmp 0x47952e
mov dword [ebp - 0x1c0c], 7
mov eax, dword [ebp - 0x1bec]
shl eax, 2
add eax, dword [ebp - 0x1be8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c0c]
mov ecx, dword [ebp - 0x1bec]
shl ecx, 2
add ecx, dword [ebp - 0x1be8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1bec]
add eax, 0xffffffbd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xafc0], xmm0
xor eax, eax
je 0x479570
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4795ac
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xafc0]
movsd qword [ebp - 0xafc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x479743
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x479743
and dword [ebp - 0x1c14], 0
jmp 0x479626
cmp dword [ebp - 0x1c14], 0xa
jae 0x47973e
cvtsi2sd xmm0, dword [ebp - 0x1c14]
movsd xmm1, qword [ebp - 0xafc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479695
mov eax, dword [ebp - 0x1c14]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafc8], xmm1
jmp 0x479596
cvtsi2sd xmm0, dword [ebp - 0x1c14]
movsd xmm1, qword [ebp - 0xafc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4796f2
mov eax, dword [ebp - 0x1c14]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafc8], xmm1
jmp 0x479706
xor eax, eax
je 0x479702
jmp 0x4797be
jmp 0x479729
cvtsi2sd xmm0, dword [ebp - 0x1c14]
movsd xmm1, qword [ebp - 0xafc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c18], eax
jmp 0x4797c8
xor eax, eax
inc eax
je 0x479734
jmp 0x479743
jmp 0x479596
jmp 0x479596
xor eax, eax
inc eax
je 0x4797be
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c1c], eax
cvtsi2sd xmm0, dword [ebp - 0x1c1c]
mov eax, dword [ebp - 0x1c1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xafc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c18], eax
jmp 0x4797c8
mov dword [ebp - 0x1c18], 7
mov eax, dword [ebp - 0x1bec]
add eax, 0xffffffbd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xafe0], xmm0
xor eax, eax
je 0x4797e2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47981e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xafe0]
movsd qword [ebp - 0xafe8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4799b5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4799b5
and dword [ebp - 0x1c20], 0
jmp 0x479898
cmp dword [ebp - 0x1c20], 0xa
jae 0x4799b0
cvtsi2sd xmm0, dword [ebp - 0x1c20]
movsd xmm1, qword [ebp - 0xafe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaff0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaff0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479907
mov eax, dword [ebp - 0x1c20]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafe8], xmm1
jmp 0x479808
cvtsi2sd xmm0, dword [ebp - 0x1c20]
movsd xmm1, qword [ebp - 0xafe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaff8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479964
mov eax, dword [ebp - 0x1c20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xafe8], xmm1
jmp 0x479978
xor eax, eax
je 0x479974
jmp 0x479a30
jmp 0x47999b
cvtsi2sd xmm0, dword [ebp - 0x1c20]
movsd xmm1, qword [ebp - 0xafe8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c24], eax
jmp 0x479a3a
xor eax, eax
inc eax
je 0x4799a6
jmp 0x4799b5
jmp 0x479808
jmp 0x479808
xor eax, eax
inc eax
je 0x479a30
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c28], eax
cvtsi2sd xmm0, dword [ebp - 0x1c28]
mov eax, dword [ebp - 0x1c28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xafe8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c24], eax
jmp 0x479a3a
mov dword [ebp - 0x1c24], 7
mov eax, dword [ebp - 0x1bec]
shl eax, 2
add eax, dword [ebp - 0x1be8]
mov eax, dword [eax]
add eax, dword [ebp - 0x1c18]
mov ecx, dword [ebp - 0x1bec]
shl ecx, 2
add ecx, dword [ebp - 0x1be8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1c24]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1bec]
shl ecx, 2
add ecx, dword [ebp - 0x1be8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x479d3a
xor eax, eax
je 0x479aba
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x479af6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb000], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x479c8d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x479c8d
and dword [ebp - 0x1c2c], 0
jmp 0x479b70
cmp dword [ebp - 0x1c2c], 0xa
jae 0x479c88
cvtsi2sd xmm0, dword [ebp - 0x1c2c]
movsd xmm1, qword [ebp - 0xb000]
addsd xmm1, xmm0
movsd qword [ebp - 0xb008], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb008]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479bdf
mov eax, dword [ebp - 0x1c2c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb000]
addsd xmm1, xmm0
movsd qword [ebp - 0xb000], xmm1
jmp 0x479ae0
cvtsi2sd xmm0, dword [ebp - 0x1c2c]
movsd xmm1, qword [ebp - 0xb000]
addsd xmm1, xmm0
movsd qword [ebp - 0xb010], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb010]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479c3c
mov eax, dword [ebp - 0x1c2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb000]
addsd xmm1, xmm0
movsd qword [ebp - 0xb000], xmm1
jmp 0x479c50
xor eax, eax
je 0x479c4c
jmp 0x479d08
jmp 0x479c73
cvtsi2sd xmm0, dword [ebp - 0x1c2c]
movsd xmm1, qword [ebp - 0xb000]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c30], eax
jmp 0x479d12
xor eax, eax
inc eax
je 0x479c7e
jmp 0x479c8d
jmp 0x479ae0
jmp 0x479ae0
xor eax, eax
inc eax
je 0x479d08
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c34], eax
cvtsi2sd xmm0, dword [ebp - 0x1c34]
mov eax, dword [ebp - 0x1c34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb000]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c30], eax
jmp 0x479d12
mov dword [ebp - 0x1c30], 7
mov eax, dword [ebp - 0x1bec]
shl eax, 2
add eax, dword [ebp - 0x1be8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c30]
mov ecx, dword [ebp - 0x1bec]
shl ecx, 2
add ecx, dword [ebp - 0x1be8]
mov dword [ecx], eax
jmp 0x478cc0
mov eax, dword [ebp - 0x1be4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1be4]
mov dword [ebp - 0x1c38], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1c38]
mov eax, dword [eax]
mov dword [ebp - 0x1c3c], eax
xor eax, eax
mov byte [ebp - 0x4f], al
lea ecx, [ebp - 0x4f]
call fcn.00415eec
mov dword [ebp - 0x1c40], eax
mov eax, dword [ebp - 0x1c40]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x47ae22
mov eax, dword [ebp - 0x1c40]
mov dword [ebp - 0x1c44], eax
and dword [ebp - 0x1c48], 0
jmp 0x479db0
mov eax, dword [ebp - 0x1c48]
inc eax
mov dword [ebp - 0x1c48], eax
cmp dword [ebp - 0x1c48], 1
jae 0x47ae22
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47a07a
xor eax, eax
je 0x479dfa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x479e36
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xb018], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x479fcd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x479fcd
and dword [ebp - 0x1c4c], 0
jmp 0x479eb0
cmp dword [ebp - 0x1c4c], 0xa
jae 0x479fc8
cvtsi2sd xmm0, dword [ebp - 0x1c4c]
movsd xmm1, qword [ebp - 0xb018]
addsd xmm1, xmm0
movsd qword [ebp - 0xb020], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb020]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479f1f
mov eax, dword [ebp - 0x1c4c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb018]
addsd xmm1, xmm0
movsd qword [ebp - 0xb018], xmm1
jmp 0x479e20
cvtsi2sd xmm0, dword [ebp - 0x1c4c]
movsd xmm1, qword [ebp - 0xb018]
addsd xmm1, xmm0
movsd qword [ebp - 0xb028], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb028]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479f7c
mov eax, dword [ebp - 0x1c4c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb018]
addsd xmm1, xmm0
movsd qword [ebp - 0xb018], xmm1
jmp 0x479f90
xor eax, eax
je 0x479f8c
jmp 0x47a048
jmp 0x479fb3
cvtsi2sd xmm0, dword [ebp - 0x1c4c]
movsd xmm1, qword [ebp - 0xb018]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c50], eax
jmp 0x47a052
xor eax, eax
inc eax
je 0x479fbe
jmp 0x479fcd
jmp 0x479e20
jmp 0x479e20
xor eax, eax
inc eax
je 0x47a048
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c54], eax
cvtsi2sd xmm0, dword [ebp - 0x1c54]
mov eax, dword [ebp - 0x1c54]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb018]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c50], eax
jmp 0x47a052
mov dword [ebp - 0x1c50], 7
mov eax, dword [ebp - 0x1c48]
shl eax, 2
add eax, dword [ebp - 0x1c44]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c50]
mov ecx, dword [ebp - 0x1c48]
shl ecx, 2
add ecx, dword [ebp - 0x1c44]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ab60
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47a37c
xor eax, eax
je 0x47a0fc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47a138
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xb030], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47a2cf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47a2cf
and dword [ebp - 0x1c58], 0
jmp 0x47a1b2
cmp dword [ebp - 0x1c58], 0xa
jae 0x47a2ca
cvtsi2sd xmm0, dword [ebp - 0x1c58]
movsd xmm1, qword [ebp - 0xb030]
addsd xmm1, xmm0
movsd qword [ebp - 0xb038], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a221
mov eax, dword [ebp - 0x1c58]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb030]
addsd xmm1, xmm0
movsd qword [ebp - 0xb030], xmm1
jmp 0x47a122
cvtsi2sd xmm0, dword [ebp - 0x1c58]
movsd xmm1, qword [ebp - 0xb030]
addsd xmm1, xmm0
movsd qword [ebp - 0xb040], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb040]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a27e
mov eax, dword [ebp - 0x1c58]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb030]
addsd xmm1, xmm0
movsd qword [ebp - 0xb030], xmm1
jmp 0x47a292
xor eax, eax
je 0x47a28e
jmp 0x47a34a
jmp 0x47a2b5
cvtsi2sd xmm0, dword [ebp - 0x1c58]
movsd xmm1, qword [ebp - 0xb030]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c5c], eax
jmp 0x47a354
xor eax, eax
inc eax
je 0x47a2c0
jmp 0x47a2cf
jmp 0x47a122
jmp 0x47a122
xor eax, eax
inc eax
je 0x47a34a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c60], eax
cvtsi2sd xmm0, dword [ebp - 0x1c60]
mov eax, dword [ebp - 0x1c60]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb030]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c5c], eax
jmp 0x47a354
mov dword [ebp - 0x1c5c], 7
mov eax, dword [ebp - 0x1c48]
shl eax, 2
add eax, dword [ebp - 0x1c44]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c5c]
mov ecx, dword [ebp - 0x1c48]
shl ecx, 2
add ecx, dword [ebp - 0x1c44]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47a639
xor eax, eax
je 0x47a3b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47a3f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb048], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47a58c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47a58c
and dword [ebp - 0x1c64], 0
jmp 0x47a46f
cmp dword [ebp - 0x1c64], 0xa
jae 0x47a587
cvtsi2sd xmm0, dword [ebp - 0x1c64]
movsd xmm1, qword [ebp - 0xb048]
addsd xmm1, xmm0
movsd qword [ebp - 0xb050], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb050]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a4de
mov eax, dword [ebp - 0x1c64]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb048]
addsd xmm1, xmm0
movsd qword [ebp - 0xb048], xmm1
jmp 0x47a3df
cvtsi2sd xmm0, dword [ebp - 0x1c64]
movsd xmm1, qword [ebp - 0xb048]
addsd xmm1, xmm0
movsd qword [ebp - 0xb058], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a53b
mov eax, dword [ebp - 0x1c64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb048]
addsd xmm1, xmm0
movsd qword [ebp - 0xb048], xmm1
jmp 0x47a54f
xor eax, eax
je 0x47a54b
jmp 0x47a607
jmp 0x47a572
cvtsi2sd xmm0, dword [ebp - 0x1c64]
movsd xmm1, qword [ebp - 0xb048]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c68], eax
jmp 0x47a611
xor eax, eax
inc eax
je 0x47a57d
jmp 0x47a58c
jmp 0x47a3df
jmp 0x47a3df
xor eax, eax
inc eax
je 0x47a607
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c6c], eax
cvtsi2sd xmm0, dword [ebp - 0x1c6c]
mov eax, dword [ebp - 0x1c6c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb048]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c68], eax
jmp 0x47a611
mov dword [ebp - 0x1c68], 7
mov eax, dword [ebp - 0x1c48]
shl eax, 2
add eax, dword [ebp - 0x1c44]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c68]
mov ecx, dword [ebp - 0x1c48]
shl ecx, 2
add ecx, dword [ebp - 0x1c44]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c48]
add eax, 0xffffffbd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb060], xmm0
xor eax, eax
je 0x47a653
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47a68f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb060]
movsd qword [ebp - 0xb068], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47a826
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47a826
and dword [ebp - 0x1c70], 0
jmp 0x47a709
cmp dword [ebp - 0x1c70], 0xa
jae 0x47a821
cvtsi2sd xmm0, dword [ebp - 0x1c70]
movsd xmm1, qword [ebp - 0xb068]
addsd xmm1, xmm0
movsd qword [ebp - 0xb070], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb070]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a778
mov eax, dword [ebp - 0x1c70]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb068]
addsd xmm1, xmm0
movsd qword [ebp - 0xb068], xmm1
jmp 0x47a679
cvtsi2sd xmm0, dword [ebp - 0x1c70]
movsd xmm1, qword [ebp - 0xb068]
addsd xmm1, xmm0
movsd qword [ebp - 0xb078], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb078]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a7d5
mov eax, dword [ebp - 0x1c70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb068]
addsd xmm1, xmm0
movsd qword [ebp - 0xb068], xmm1
jmp 0x47a7e9
xor eax, eax
je 0x47a7e5
jmp 0x47a8a1
jmp 0x47a80c
cvtsi2sd xmm0, dword [ebp - 0x1c70]
movsd xmm1, qword [ebp - 0xb068]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c74], eax
jmp 0x47a8ab
xor eax, eax
inc eax
je 0x47a817
jmp 0x47a826
jmp 0x47a679
jmp 0x47a679
xor eax, eax
inc eax
je 0x47a8a1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c78], eax
cvtsi2sd xmm0, dword [ebp - 0x1c78]
mov eax, dword [ebp - 0x1c78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb068]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c74], eax
jmp 0x47a8ab
mov dword [ebp - 0x1c74], 7
mov eax, dword [ebp - 0x1c48]
add eax, 0xffffffbd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb080], xmm0
xor eax, eax
je 0x47a8c5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47a901
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb080]
movsd qword [ebp - 0xb088], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47aa98
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47aa98
and dword [ebp - 0x1c7c], 0
jmp 0x47a97b
cmp dword [ebp - 0x1c7c], 0xa
jae 0x47aa93
cvtsi2sd xmm0, dword [ebp - 0x1c7c]
movsd xmm1, qword [ebp - 0xb088]
addsd xmm1, xmm0
movsd qword [ebp - 0xb090], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb090]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a9ea
mov eax, dword [ebp - 0x1c7c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb088]
addsd xmm1, xmm0
movsd qword [ebp - 0xb088], xmm1
jmp 0x47a8eb
cvtsi2sd xmm0, dword [ebp - 0x1c7c]
movsd xmm1, qword [ebp - 0xb088]
addsd xmm1, xmm0
movsd qword [ebp - 0xb098], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47aa47
mov eax, dword [ebp - 0x1c7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb088]
addsd xmm1, xmm0
movsd qword [ebp - 0xb088], xmm1
jmp 0x47aa5b
xor eax, eax
je 0x47aa57
jmp 0x47ab13
jmp 0x47aa7e
cvtsi2sd xmm0, dword [ebp - 0x1c7c]
movsd xmm1, qword [ebp - 0xb088]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c80], eax
jmp 0x47ab1d
xor eax, eax
inc eax
je 0x47aa89
jmp 0x47aa98
jmp 0x47a8eb
jmp 0x47a8eb
xor eax, eax
inc eax
je 0x47ab13
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c84], eax
cvtsi2sd xmm0, dword [ebp - 0x1c84]
mov eax, dword [ebp - 0x1c84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb088]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c80], eax
jmp 0x47ab1d
mov dword [ebp - 0x1c80], 7
mov eax, dword [ebp - 0x1c48]
shl eax, 2
add eax, dword [ebp - 0x1c44]
mov eax, dword [eax]
add eax, dword [ebp - 0x1c74]
mov ecx, dword [ebp - 0x1c48]
shl ecx, 2
add ecx, dword [ebp - 0x1c44]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1c80]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1c48]
shl ecx, 2
add ecx, dword [ebp - 0x1c44]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47ae1d
xor eax, eax
je 0x47ab9d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47abd9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb0a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ad70
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47ad70
and dword [ebp - 0x1c88], 0
jmp 0x47ac53
cmp dword [ebp - 0x1c88], 0xa
jae 0x47ad6b
cvtsi2sd xmm0, dword [ebp - 0x1c88]
movsd xmm1, qword [ebp - 0xb0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47acc2
mov eax, dword [ebp - 0x1c88]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0a0], xmm1
jmp 0x47abc3
cvtsi2sd xmm0, dword [ebp - 0x1c88]
movsd xmm1, qword [ebp - 0xb0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47ad1f
mov eax, dword [ebp - 0x1c88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0a0], xmm1
jmp 0x47ad33
xor eax, eax
je 0x47ad2f
jmp 0x47adeb
jmp 0x47ad56
cvtsi2sd xmm0, dword [ebp - 0x1c88]
movsd xmm1, qword [ebp - 0xb0a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c8c], eax
jmp 0x47adf5
xor eax, eax
inc eax
je 0x47ad61
jmp 0x47ad70
jmp 0x47abc3
jmp 0x47abc3
xor eax, eax
inc eax
je 0x47adeb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1c90], eax
cvtsi2sd xmm0, dword [ebp - 0x1c90]
mov eax, dword [ebp - 0x1c90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb0a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1c8c], eax
jmp 0x47adf5
mov dword [ebp - 0x1c8c], 7
mov eax, dword [ebp - 0x1c48]
shl eax, 2
add eax, dword [ebp - 0x1c44]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1c8c]
mov ecx, dword [ebp - 0x1c48]
shl ecx, 2
add ecx, dword [ebp - 0x1c44]
mov dword [ecx], eax
jmp 0x479da3
mov eax, dword [ebp - 0x1c40]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1c40]
mov dword [ebp - 0x1c94], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1c94]
mov eax, dword [eax]
mov dword [ebp - 0x1c98], eax
mov eax, dword [ebp - 0x1c3c]
mov dword [ebp - 0x1be0], eax
cmp dword [ebp - 0x1be0], 0
je 0x47bf48
xor eax, eax
mov byte [ebp - 0x50], al
lea ecx, [ebp - 0x50]
call fcn.00416b84
mov dword [ebp - 0x1c9c], eax
mov eax, dword [ebp - 0x1c9c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x47bf1e
mov eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1ca0], eax
and dword [ebp - 0x1ca4], 0
jmp 0x47aeac
mov eax, dword [ebp - 0x1ca4]
inc eax
mov dword [ebp - 0x1ca4], eax
cmp dword [ebp - 0x1ca4], 1
jae 0x47bf1e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b176
xor eax, eax
je 0x47aef6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47af32
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e50]
movsd qword [ebp - 0xb0b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47b0c9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b0c9
and dword [ebp - 0x1ca8], 0
jmp 0x47afac
cmp dword [ebp - 0x1ca8], 0xa
jae 0x47b0c4
cvtsi2sd xmm0, dword [ebp - 0x1ca8]
movsd xmm1, qword [ebp - 0xb0b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b01b
mov eax, dword [ebp - 0x1ca8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0b8], xmm1
jmp 0x47af1c
cvtsi2sd xmm0, dword [ebp - 0x1ca8]
movsd xmm1, qword [ebp - 0xb0b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b078
mov eax, dword [ebp - 0x1ca8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0b8], xmm1
jmp 0x47b08c
xor eax, eax
je 0x47b088
jmp 0x47b144
jmp 0x47b0af
cvtsi2sd xmm0, dword [ebp - 0x1ca8]
movsd xmm1, qword [ebp - 0xb0b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cac], eax
jmp 0x47b14e
xor eax, eax
inc eax
je 0x47b0ba
jmp 0x47b0c9
jmp 0x47af1c
jmp 0x47af1c
xor eax, eax
inc eax
je 0x47b144
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1cb0], eax
cvtsi2sd xmm0, dword [ebp - 0x1cb0]
mov eax, dword [ebp - 0x1cb0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb0b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cac], eax
jmp 0x47b14e
mov dword [ebp - 0x1cac], 7
mov eax, dword [ebp - 0x1ca4]
shl eax, 2
add eax, dword [ebp - 0x1ca0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1cac]
mov ecx, dword [ebp - 0x1ca4]
shl ecx, 2
add ecx, dword [ebp - 0x1ca0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47bc5c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b478
xor eax, eax
je 0x47b1f8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47b234
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xb0d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47b3cb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b3cb
and dword [ebp - 0x1cb4], 0
jmp 0x47b2ae
cmp dword [ebp - 0x1cb4], 0xa
jae 0x47b3c6
cvtsi2sd xmm0, dword [ebp - 0x1cb4]
movsd xmm1, qword [ebp - 0xb0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b31d
mov eax, dword [ebp - 0x1cb4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0d0], xmm1
jmp 0x47b21e
cvtsi2sd xmm0, dword [ebp - 0x1cb4]
movsd xmm1, qword [ebp - 0xb0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b37a
mov eax, dword [ebp - 0x1cb4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0d0], xmm1
jmp 0x47b38e
xor eax, eax
je 0x47b38a
jmp 0x47b446
jmp 0x47b3b1
cvtsi2sd xmm0, dword [ebp - 0x1cb4]
movsd xmm1, qword [ebp - 0xb0d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cb8], eax
jmp 0x47b450
xor eax, eax
inc eax
je 0x47b3bc
jmp 0x47b3cb
jmp 0x47b21e
jmp 0x47b21e
xor eax, eax
inc eax
je 0x47b446
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1cbc], eax
cvtsi2sd xmm0, dword [ebp - 0x1cbc]
mov eax, dword [ebp - 0x1cbc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb0d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cb8], eax
jmp 0x47b450
mov dword [ebp - 0x1cb8], 7
mov eax, dword [ebp - 0x1ca4]
shl eax, 2
add eax, dword [ebp - 0x1ca0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1cb8]
mov ecx, dword [ebp - 0x1ca4]
shl ecx, 2
add ecx, dword [ebp - 0x1ca0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b735
xor eax, eax
je 0x47b4b5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47b4f1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb0e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47b688
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b688
and dword [ebp - 0x1cc0], 0
jmp 0x47b56b
cmp dword [ebp - 0x1cc0], 0xa
jae 0x47b683
cvtsi2sd xmm0, dword [ebp - 0x1cc0]
movsd xmm1, qword [ebp - 0xb0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b5da
mov eax, dword [ebp - 0x1cc0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0e8], xmm1
jmp 0x47b4db
cvtsi2sd xmm0, dword [ebp - 0x1cc0]
movsd xmm1, qword [ebp - 0xb0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b637
mov eax, dword [ebp - 0x1cc0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0e8], xmm1
jmp 0x47b64b
xor eax, eax
je 0x47b647
jmp 0x47b703
jmp 0x47b66e
cvtsi2sd xmm0, dword [ebp - 0x1cc0]
movsd xmm1, qword [ebp - 0xb0e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cc4], eax
jmp 0x47b70d
xor eax, eax
inc eax
je 0x47b679
jmp 0x47b688
jmp 0x47b4db
jmp 0x47b4db
xor eax, eax
inc eax
je 0x47b703
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1cc8], eax
cvtsi2sd xmm0, dword [ebp - 0x1cc8]
mov eax, dword [ebp - 0x1cc8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb0e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cc4], eax
jmp 0x47b70d
mov dword [ebp - 0x1cc4], 7
mov eax, dword [ebp - 0x1ca4]
shl eax, 2
add eax, dword [ebp - 0x1ca0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1cc4]
mov ecx, dword [ebp - 0x1ca4]
shl ecx, 2
add ecx, dword [ebp - 0x1ca0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1ca4]
add eax, 0xffffffbd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb100], xmm0
xor eax, eax
je 0x47b74f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47b78b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb100]
movsd qword [ebp - 0xb108], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47b922
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47b922
and dword [ebp - 0x1ccc], 0
jmp 0x47b805
cmp dword [ebp - 0x1ccc], 0xa
jae 0x47b91d
cvtsi2sd xmm0, dword [ebp - 0x1ccc]
movsd xmm1, qword [ebp - 0xb108]
addsd xmm1, xmm0
movsd qword [ebp - 0xb110], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb110]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b874
mov eax, dword [ebp - 0x1ccc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb108]
addsd xmm1, xmm0
movsd qword [ebp - 0xb108], xmm1
jmp 0x47b775
cvtsi2sd xmm0, dword [ebp - 0x1ccc]
movsd xmm1, qword [ebp - 0xb108]
addsd xmm1, xmm0
movsd qword [ebp - 0xb118], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb118]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b8d1
mov eax, dword [ebp - 0x1ccc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb108]
addsd xmm1, xmm0
movsd qword [ebp - 0xb108], xmm1
jmp 0x47b8e5
xor eax, eax
je 0x47b8e1
jmp 0x47b99d
jmp 0x47b908
cvtsi2sd xmm0, dword [ebp - 0x1ccc]
movsd xmm1, qword [ebp - 0xb108]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cd0], eax
jmp 0x47b9a7
xor eax, eax
inc eax
je 0x47b913
jmp 0x47b922
jmp 0x47b775
jmp 0x47b775
xor eax, eax
inc eax
je 0x47b99d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1cd4], eax
cvtsi2sd xmm0, dword [ebp - 0x1cd4]
mov eax, dword [ebp - 0x1cd4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb108]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cd0], eax
jmp 0x47b9a7
mov dword [ebp - 0x1cd0], 7
mov eax, dword [ebp - 0x1ca4]
add eax, 0xffffffbd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb120], xmm0
xor eax, eax
je 0x47b9c1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47b9fd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb120]
movsd qword [ebp - 0xb128], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47bb94
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47bb94
and dword [ebp - 0x1cd8], 0
jmp 0x47ba77
cmp dword [ebp - 0x1cd8], 0xa
jae 0x47bb8f
cvtsi2sd xmm0, dword [ebp - 0x1cd8]
movsd xmm1, qword [ebp - 0xb128]
addsd xmm1, xmm0
movsd qword [ebp - 0xb130], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb130]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47bae6
mov eax, dword [ebp - 0x1cd8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb128]
addsd xmm1, xmm0
movsd qword [ebp - 0xb128], xmm1
jmp 0x47b9e7
cvtsi2sd xmm0, dword [ebp - 0x1cd8]
movsd xmm1, qword [ebp - 0xb128]
addsd xmm1, xmm0
movsd qword [ebp - 0xb138], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47bb43
mov eax, dword [ebp - 0x1cd8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb128]
addsd xmm1, xmm0
movsd qword [ebp - 0xb128], xmm1
jmp 0x47bb57
xor eax, eax
je 0x47bb53
jmp 0x47bc0f
jmp 0x47bb7a
cvtsi2sd xmm0, dword [ebp - 0x1cd8]
movsd xmm1, qword [ebp - 0xb128]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cdc], eax
jmp 0x47bc19
xor eax, eax
inc eax
je 0x47bb85
jmp 0x47bb94
jmp 0x47b9e7
jmp 0x47b9e7
xor eax, eax
inc eax
je 0x47bc0f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ce0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ce0]
mov eax, dword [ebp - 0x1ce0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb128]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1cdc], eax
jmp 0x47bc19
mov dword [ebp - 0x1cdc], 7
mov eax, dword [ebp - 0x1ca4]
shl eax, 2
add eax, dword [ebp - 0x1ca0]
mov eax, dword [eax]
add eax, dword [ebp - 0x1cd0]
mov ecx, dword [ebp - 0x1ca4]
shl ecx, 2
add ecx, dword [ebp - 0x1ca0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1cdc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1ca4]
shl ecx, 2
add ecx, dword [ebp - 0x1ca0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47bf19
xor eax, eax
je 0x47bc99
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47bcd5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb140], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47be6c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47be6c
and dword [ebp - 0x1ce4], 0
jmp 0x47bd4f
cmp dword [ebp - 0x1ce4], 0xa
jae 0x47be67
cvtsi2sd xmm0, dword [ebp - 0x1ce4]
movsd xmm1, qword [ebp - 0xb140]
addsd xmm1, xmm0
movsd qword [ebp - 0xb148], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb148]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47bdbe
mov eax, dword [ebp - 0x1ce4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb140]
addsd xmm1, xmm0
movsd qword [ebp - 0xb140], xmm1
jmp 0x47bcbf
cvtsi2sd xmm0, dword [ebp - 0x1ce4]
movsd xmm1, qword [ebp - 0xb140]
addsd xmm1, xmm0
movsd qword [ebp - 0xb150], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb150]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47be1b
mov eax, dword [ebp - 0x1ce4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb140]
addsd xmm1, xmm0
movsd qword [ebp - 0xb140], xmm1
jmp 0x47be2f
xor eax, eax
je 0x47be2b
jmp 0x47bee7
jmp 0x47be52
cvtsi2sd xmm0, dword [ebp - 0x1ce4]
movsd xmm1, qword [ebp - 0xb140]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ce8], eax
jmp 0x47bef1
xor eax, eax
inc eax
je 0x47be5d
jmp 0x47be6c
jmp 0x47bcbf
jmp 0x47bcbf
xor eax, eax
inc eax
je 0x47bee7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1cec], eax
cvtsi2sd xmm0, dword [ebp - 0x1cec]
mov eax, dword [ebp - 0x1cec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb140]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ce8], eax
jmp 0x47bef1
mov dword [ebp - 0x1ce8], 7
mov eax, dword [ebp - 0x1ca4]
shl eax, 2
add eax, dword [ebp - 0x1ca0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ce8]
mov ecx, dword [ebp - 0x1ca4]
shl ecx, 2
add ecx, dword [ebp - 0x1ca0]
mov dword [ecx], eax
jmp 0x47ae9f
mov eax, dword [ebp - 0x1c9c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1cf0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1cf0]
mov eax, dword [eax]
mov dword [ebp - 0x1c98], eax
xor eax, eax
mov byte [ebp - 0x51], al
lea ecx, [ebp - 0x51]
call fcn.0041656c
mov dword [ebp - 0x1cf4], eax
mov eax, dword [ebp - 0x1cf4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x47d001
mov eax, dword [ebp - 0x1cf4]
mov dword [ebp - 0x1cf8], eax
and dword [ebp - 0x1cfc], 0
jmp 0x47bf8f
mov eax, dword [ebp - 0x1cfc]
inc eax
mov dword [ebp - 0x1cfc], eax
cmp dword [ebp - 0x1cfc], 1
jae 0x47d001
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47c259
xor eax, eax
je 0x47bfd9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47c015
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xb158], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47c1ac
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47c1ac
and dword [ebp - 0x1d00], 0
jmp 0x47c08f
cmp dword [ebp - 0x1d00], 0xa
jae 0x47c1a7
cvtsi2sd xmm0, dword [ebp - 0x1d00]
movsd xmm1, qword [ebp - 0xb158]
addsd xmm1, xmm0
movsd qword [ebp - 0xb160], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb160]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c0fe
mov eax, dword [ebp - 0x1d00]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb158]
addsd xmm1, xmm0
movsd qword [ebp - 0xb158], xmm1
jmp 0x47bfff
cvtsi2sd xmm0, dword [ebp - 0x1d00]
movsd xmm1, qword [ebp - 0xb158]
addsd xmm1, xmm0
movsd qword [ebp - 0xb168], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb168]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c15b
mov eax, dword [ebp - 0x1d00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb158]
addsd xmm1, xmm0
movsd qword [ebp - 0xb158], xmm1
jmp 0x47c16f
xor eax, eax
je 0x47c16b
jmp 0x47c227
jmp 0x47c192
cvtsi2sd xmm0, dword [ebp - 0x1d00]
movsd xmm1, qword [ebp - 0xb158]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d04], eax
jmp 0x47c231
xor eax, eax
inc eax
je 0x47c19d
jmp 0x47c1ac
jmp 0x47bfff
jmp 0x47bfff
xor eax, eax
inc eax
je 0x47c227
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d08], eax
cvtsi2sd xmm0, dword [ebp - 0x1d08]
mov eax, dword [ebp - 0x1d08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb158]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d04], eax
jmp 0x47c231
mov dword [ebp - 0x1d04], 7
mov eax, dword [ebp - 0x1cfc]
shl eax, 2
add eax, dword [ebp - 0x1cf8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d04]
mov ecx, dword [ebp - 0x1cfc]
shl ecx, 2
add ecx, dword [ebp - 0x1cf8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47cd3f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47c55b
xor eax, eax
je 0x47c2db
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47c317
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb170], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47c4ae
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47c4ae
and dword [ebp - 0x1d0c], 0
jmp 0x47c391
cmp dword [ebp - 0x1d0c], 0xa
jae 0x47c4a9
cvtsi2sd xmm0, dword [ebp - 0x1d0c]
movsd xmm1, qword [ebp - 0xb170]
addsd xmm1, xmm0
movsd qword [ebp - 0xb178], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c400
mov eax, dword [ebp - 0x1d0c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb170]
addsd xmm1, xmm0
movsd qword [ebp - 0xb170], xmm1
jmp 0x47c301
cvtsi2sd xmm0, dword [ebp - 0x1d0c]
movsd xmm1, qword [ebp - 0xb170]
addsd xmm1, xmm0
movsd qword [ebp - 0xb180], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb180]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c45d
mov eax, dword [ebp - 0x1d0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb170]
addsd xmm1, xmm0
movsd qword [ebp - 0xb170], xmm1
jmp 0x47c471
xor eax, eax
je 0x47c46d
jmp 0x47c529
jmp 0x47c494
cvtsi2sd xmm0, dword [ebp - 0x1d0c]
movsd xmm1, qword [ebp - 0xb170]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d10], eax
jmp 0x47c533
xor eax, eax
inc eax
je 0x47c49f
jmp 0x47c4ae
jmp 0x47c301
jmp 0x47c301
xor eax, eax
inc eax
je 0x47c529
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d14], eax
cvtsi2sd xmm0, dword [ebp - 0x1d14]
mov eax, dword [ebp - 0x1d14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb170]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d10], eax
jmp 0x47c533
mov dword [ebp - 0x1d10], 7
mov eax, dword [ebp - 0x1cfc]
shl eax, 2
add eax, dword [ebp - 0x1cf8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d10]
mov ecx, dword [ebp - 0x1cfc]
shl ecx, 2
add ecx, dword [ebp - 0x1cf8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47c818
xor eax, eax
je 0x47c598
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47c5d4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb188], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47c76b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47c76b
and dword [ebp - 0x1d18], 0
jmp 0x47c64e
cmp dword [ebp - 0x1d18], 0xa
jae 0x47c766
cvtsi2sd xmm0, dword [ebp - 0x1d18]
movsd xmm1, qword [ebp - 0xb188]
addsd xmm1, xmm0
movsd qword [ebp - 0xb190], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb190]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c6bd
mov eax, dword [ebp - 0x1d18]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb188]
addsd xmm1, xmm0
movsd qword [ebp - 0xb188], xmm1
jmp 0x47c5be
cvtsi2sd xmm0, dword [ebp - 0x1d18]
movsd xmm1, qword [ebp - 0xb188]
addsd xmm1, xmm0
movsd qword [ebp - 0xb198], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c71a
mov eax, dword [ebp - 0x1d18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb188]
addsd xmm1, xmm0
movsd qword [ebp - 0xb188], xmm1
jmp 0x47c72e
xor eax, eax
je 0x47c72a
jmp 0x47c7e6
jmp 0x47c751
cvtsi2sd xmm0, dword [ebp - 0x1d18]
movsd xmm1, qword [ebp - 0xb188]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d1c], eax
jmp 0x47c7f0
xor eax, eax
inc eax
je 0x47c75c
jmp 0x47c76b
jmp 0x47c5be
jmp 0x47c5be
xor eax, eax
inc eax
je 0x47c7e6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d20], eax
cvtsi2sd xmm0, dword [ebp - 0x1d20]
mov eax, dword [ebp - 0x1d20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb188]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d1c], eax
jmp 0x47c7f0
mov dword [ebp - 0x1d1c], 7
mov eax, dword [ebp - 0x1cfc]
shl eax, 2
add eax, dword [ebp - 0x1cf8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d1c]
mov ecx, dword [ebp - 0x1cfc]
shl ecx, 2
add ecx, dword [ebp - 0x1cf8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1cfc]
add eax, 0xffffffbe
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb1a0], xmm0
xor eax, eax
je 0x47c832
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47c86e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb1a0]
movsd qword [ebp - 0xb1a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ca05
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47ca05
and dword [ebp - 0x1d24], 0
jmp 0x47c8e8
cmp dword [ebp - 0x1d24], 0xa
jae 0x47ca00
cvtsi2sd xmm0, dword [ebp - 0x1d24]
movsd xmm1, qword [ebp - 0xb1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c957
mov eax, dword [ebp - 0x1d24]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1a8], xmm1
jmp 0x47c858
cvtsi2sd xmm0, dword [ebp - 0x1d24]
movsd xmm1, qword [ebp - 0xb1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c9b4
mov eax, dword [ebp - 0x1d24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1a8], xmm1
jmp 0x47c9c8
xor eax, eax
je 0x47c9c4
jmp 0x47ca80
jmp 0x47c9eb
cvtsi2sd xmm0, dword [ebp - 0x1d24]
movsd xmm1, qword [ebp - 0xb1a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d28], eax
jmp 0x47ca8a
xor eax, eax
inc eax
je 0x47c9f6
jmp 0x47ca05
jmp 0x47c858
jmp 0x47c858
xor eax, eax
inc eax
je 0x47ca80
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d2c], eax
cvtsi2sd xmm0, dword [ebp - 0x1d2c]
mov eax, dword [ebp - 0x1d2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb1a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d28], eax
jmp 0x47ca8a
mov dword [ebp - 0x1d28], 7
mov eax, dword [ebp - 0x1cfc]
add eax, 0xffffffbe
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb1c0], xmm0
xor eax, eax
je 0x47caa4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47cae0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb1c0]
movsd qword [ebp - 0xb1c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47cc77
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47cc77
and dword [ebp - 0x1d30], 0
jmp 0x47cb5a
cmp dword [ebp - 0x1d30], 0xa
jae 0x47cc72
cvtsi2sd xmm0, dword [ebp - 0x1d30]
movsd xmm1, qword [ebp - 0xb1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47cbc9
mov eax, dword [ebp - 0x1d30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1c8], xmm1
jmp 0x47caca
cvtsi2sd xmm0, dword [ebp - 0x1d30]
movsd xmm1, qword [ebp - 0xb1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47cc26
mov eax, dword [ebp - 0x1d30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1c8], xmm1
jmp 0x47cc3a
xor eax, eax
je 0x47cc36
jmp 0x47ccf2
jmp 0x47cc5d
cvtsi2sd xmm0, dword [ebp - 0x1d30]
movsd xmm1, qword [ebp - 0xb1c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d34], eax
jmp 0x47ccfc
xor eax, eax
inc eax
je 0x47cc68
jmp 0x47cc77
jmp 0x47caca
jmp 0x47caca
xor eax, eax
inc eax
je 0x47ccf2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d38], eax
cvtsi2sd xmm0, dword [ebp - 0x1d38]
mov eax, dword [ebp - 0x1d38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb1c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d34], eax
jmp 0x47ccfc
mov dword [ebp - 0x1d34], 7
mov eax, dword [ebp - 0x1cfc]
shl eax, 2
add eax, dword [ebp - 0x1cf8]
mov eax, dword [eax]
add eax, dword [ebp - 0x1d28]
mov ecx, dword [ebp - 0x1cfc]
shl ecx, 2
add ecx, dword [ebp - 0x1cf8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1d34]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1cfc]
shl ecx, 2
add ecx, dword [ebp - 0x1cf8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47cffc
xor eax, eax
je 0x47cd7c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47cdb8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb1e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47cf4f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47cf4f
and dword [ebp - 0x1d3c], 0
jmp 0x47ce32
cmp dword [ebp - 0x1d3c], 0xa
jae 0x47cf4a
cvtsi2sd xmm0, dword [ebp - 0x1d3c]
movsd xmm1, qword [ebp - 0xb1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47cea1
mov eax, dword [ebp - 0x1d3c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1e0], xmm1
jmp 0x47cda2
cvtsi2sd xmm0, dword [ebp - 0x1d3c]
movsd xmm1, qword [ebp - 0xb1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47cefe
mov eax, dword [ebp - 0x1d3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1e0], xmm1
jmp 0x47cf12
xor eax, eax
je 0x47cf0e
jmp 0x47cfca
jmp 0x47cf35
cvtsi2sd xmm0, dword [ebp - 0x1d3c]
movsd xmm1, qword [ebp - 0xb1e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d40], eax
jmp 0x47cfd4
xor eax, eax
inc eax
je 0x47cf40
jmp 0x47cf4f
jmp 0x47cda2
jmp 0x47cda2
xor eax, eax
inc eax
je 0x47cfca
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d44], eax
cvtsi2sd xmm0, dword [ebp - 0x1d44]
mov eax, dword [ebp - 0x1d44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb1e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d40], eax
jmp 0x47cfd4
mov dword [ebp - 0x1d40], 7
mov eax, dword [ebp - 0x1cfc]
shl eax, 2
add eax, dword [ebp - 0x1cf8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d40]
mov ecx, dword [ebp - 0x1cfc]
shl ecx, 2
add ecx, dword [ebp - 0x1cf8]
mov dword [ecx], eax
jmp 0x47bf82
mov eax, dword [ebp - 0x1cf4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1cf4]
mov dword [ebp - 0x1d48], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1d48]
mov eax, dword [eax]
mov dword [ebp - 0x1d4c], eax
xor eax, eax
mov byte [ebp - 0x52], al
lea ecx, [ebp - 0x52]
call fcn.004199d6
mov dword [ebp - 0x1d50], eax
mov eax, dword [ebp - 0x1d50]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x47e0e4
mov eax, dword [ebp - 0x1d50]
mov dword [ebp - 0x1d54], eax
and dword [ebp - 0x1d58], 0
jmp 0x47d072
mov eax, dword [ebp - 0x1d58]
inc eax
mov dword [ebp - 0x1d58], eax
cmp dword [ebp - 0x1d58], 1
jae 0x47e0e4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47d33c
xor eax, eax
je 0x47d0bc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47d0f8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e48]
movsd qword [ebp - 0xb1f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47d28f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47d28f
and dword [ebp - 0x1d5c], 0
jmp 0x47d172
cmp dword [ebp - 0x1d5c], 0xa
jae 0x47d28a
cvtsi2sd xmm0, dword [ebp - 0x1d5c]
movsd xmm1, qword [ebp - 0xb1f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb200], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb200]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d1e1
mov eax, dword [ebp - 0x1d5c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1f8], xmm1
jmp 0x47d0e2
cvtsi2sd xmm0, dword [ebp - 0x1d5c]
movsd xmm1, qword [ebp - 0xb1f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb208], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb208]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d23e
mov eax, dword [ebp - 0x1d5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1f8], xmm1
jmp 0x47d252
xor eax, eax
je 0x47d24e
jmp 0x47d30a
jmp 0x47d275
cvtsi2sd xmm0, dword [ebp - 0x1d5c]
movsd xmm1, qword [ebp - 0xb1f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d60], eax
jmp 0x47d314
xor eax, eax
inc eax
je 0x47d280
jmp 0x47d28f
jmp 0x47d0e2
jmp 0x47d0e2
xor eax, eax
inc eax
je 0x47d30a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d64], eax
cvtsi2sd xmm0, dword [ebp - 0x1d64]
mov eax, dword [ebp - 0x1d64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb1f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d60], eax
jmp 0x47d314
mov dword [ebp - 0x1d60], 7
mov eax, dword [ebp - 0x1d58]
shl eax, 2
add eax, dword [ebp - 0x1d54]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d60]
mov ecx, dword [ebp - 0x1d58]
shl ecx, 2
add ecx, dword [ebp - 0x1d54]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47de22
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47d63e
xor eax, eax
je 0x47d3be
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47d3fa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb210], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47d591
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47d591
and dword [ebp - 0x1d68], 0
jmp 0x47d474
cmp dword [ebp - 0x1d68], 0xa
jae 0x47d58c
cvtsi2sd xmm0, dword [ebp - 0x1d68]
movsd xmm1, qword [ebp - 0xb210]
addsd xmm1, xmm0
movsd qword [ebp - 0xb218], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d4e3
mov eax, dword [ebp - 0x1d68]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb210]
addsd xmm1, xmm0
movsd qword [ebp - 0xb210], xmm1
jmp 0x47d3e4
cvtsi2sd xmm0, dword [ebp - 0x1d68]
movsd xmm1, qword [ebp - 0xb210]
addsd xmm1, xmm0
movsd qword [ebp - 0xb220], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb220]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d540
mov eax, dword [ebp - 0x1d68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb210]
addsd xmm1, xmm0
movsd qword [ebp - 0xb210], xmm1
jmp 0x47d554
xor eax, eax
je 0x47d550
jmp 0x47d60c
jmp 0x47d577
cvtsi2sd xmm0, dword [ebp - 0x1d68]
movsd xmm1, qword [ebp - 0xb210]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d6c], eax
jmp 0x47d616
xor eax, eax
inc eax
je 0x47d582
jmp 0x47d591
jmp 0x47d3e4
jmp 0x47d3e4
xor eax, eax
inc eax
je 0x47d60c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d70], eax
cvtsi2sd xmm0, dword [ebp - 0x1d70]
mov eax, dword [ebp - 0x1d70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb210]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d6c], eax
jmp 0x47d616
mov dword [ebp - 0x1d6c], 7
mov eax, dword [ebp - 0x1d58]
shl eax, 2
add eax, dword [ebp - 0x1d54]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d6c]
mov ecx, dword [ebp - 0x1d58]
shl ecx, 2
add ecx, dword [ebp - 0x1d54]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47d8fb
xor eax, eax
je 0x47d67b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47d6b7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb228], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47d84e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47d84e
and dword [ebp - 0x1d74], 0
jmp 0x47d731
cmp dword [ebp - 0x1d74], 0xa
jae 0x47d849
cvtsi2sd xmm0, dword [ebp - 0x1d74]
movsd xmm1, qword [ebp - 0xb228]
addsd xmm1, xmm0
movsd qword [ebp - 0xb230], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb230]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d7a0
mov eax, dword [ebp - 0x1d74]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb228]
addsd xmm1, xmm0
movsd qword [ebp - 0xb228], xmm1
jmp 0x47d6a1
cvtsi2sd xmm0, dword [ebp - 0x1d74]
movsd xmm1, qword [ebp - 0xb228]
addsd xmm1, xmm0
movsd qword [ebp - 0xb238], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d7fd
mov eax, dword [ebp - 0x1d74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb228]
addsd xmm1, xmm0
movsd qword [ebp - 0xb228], xmm1
jmp 0x47d811
xor eax, eax
je 0x47d80d
jmp 0x47d8c9
jmp 0x47d834
cvtsi2sd xmm0, dword [ebp - 0x1d74]
movsd xmm1, qword [ebp - 0xb228]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d78], eax
jmp 0x47d8d3
xor eax, eax
inc eax
je 0x47d83f
jmp 0x47d84e
jmp 0x47d6a1
jmp 0x47d6a1
xor eax, eax
inc eax
je 0x47d8c9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d7c], eax
cvtsi2sd xmm0, dword [ebp - 0x1d7c]
mov eax, dword [ebp - 0x1d7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb228]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d78], eax
jmp 0x47d8d3
mov dword [ebp - 0x1d78], 7
mov eax, dword [ebp - 0x1d58]
shl eax, 2
add eax, dword [ebp - 0x1d54]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d78]
mov ecx, dword [ebp - 0x1d58]
shl ecx, 2
add ecx, dword [ebp - 0x1d54]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d58]
add eax, 0xffffffbe
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb240], xmm0
xor eax, eax
je 0x47d915
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47d951
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb240]
movsd qword [ebp - 0xb248], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47dae8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47dae8
and dword [ebp - 0x1d80], 0
jmp 0x47d9cb
cmp dword [ebp - 0x1d80], 0xa
jae 0x47dae3
cvtsi2sd xmm0, dword [ebp - 0x1d80]
movsd xmm1, qword [ebp - 0xb248]
addsd xmm1, xmm0
movsd qword [ebp - 0xb250], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb250]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47da3a
mov eax, dword [ebp - 0x1d80]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb248]
addsd xmm1, xmm0
movsd qword [ebp - 0xb248], xmm1
jmp 0x47d93b
cvtsi2sd xmm0, dword [ebp - 0x1d80]
movsd xmm1, qword [ebp - 0xb248]
addsd xmm1, xmm0
movsd qword [ebp - 0xb258], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47da97
mov eax, dword [ebp - 0x1d80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb248]
addsd xmm1, xmm0
movsd qword [ebp - 0xb248], xmm1
jmp 0x47daab
xor eax, eax
je 0x47daa7
jmp 0x47db63
jmp 0x47dace
cvtsi2sd xmm0, dword [ebp - 0x1d80]
movsd xmm1, qword [ebp - 0xb248]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d84], eax
jmp 0x47db6d
xor eax, eax
inc eax
je 0x47dad9
jmp 0x47dae8
jmp 0x47d93b
jmp 0x47d93b
xor eax, eax
inc eax
je 0x47db63
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d88], eax
cvtsi2sd xmm0, dword [ebp - 0x1d88]
mov eax, dword [ebp - 0x1d88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb248]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d84], eax
jmp 0x47db6d
mov dword [ebp - 0x1d84], 7
mov eax, dword [ebp - 0x1d58]
add eax, 0xffffffbe
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb260], xmm0
xor eax, eax
je 0x47db87
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47dbc3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb260]
movsd qword [ebp - 0xb268], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47dd5a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47dd5a
and dword [ebp - 0x1d8c], 0
jmp 0x47dc3d
cmp dword [ebp - 0x1d8c], 0xa
jae 0x47dd55
cvtsi2sd xmm0, dword [ebp - 0x1d8c]
movsd xmm1, qword [ebp - 0xb268]
addsd xmm1, xmm0
movsd qword [ebp - 0xb270], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb270]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47dcac
mov eax, dword [ebp - 0x1d8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb268]
addsd xmm1, xmm0
movsd qword [ebp - 0xb268], xmm1
jmp 0x47dbad
cvtsi2sd xmm0, dword [ebp - 0x1d8c]
movsd xmm1, qword [ebp - 0xb268]
addsd xmm1, xmm0
movsd qword [ebp - 0xb278], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47dd09
mov eax, dword [ebp - 0x1d8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb268]
addsd xmm1, xmm0
movsd qword [ebp - 0xb268], xmm1
jmp 0x47dd1d
xor eax, eax
je 0x47dd19
jmp 0x47ddd5
jmp 0x47dd40
cvtsi2sd xmm0, dword [ebp - 0x1d8c]
movsd xmm1, qword [ebp - 0xb268]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d90], eax
jmp 0x47dddf
xor eax, eax
inc eax
je 0x47dd4b
jmp 0x47dd5a
jmp 0x47dbad
jmp 0x47dbad
xor eax, eax
inc eax
je 0x47ddd5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1d94], eax
cvtsi2sd xmm0, dword [ebp - 0x1d94]
mov eax, dword [ebp - 0x1d94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb268]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d90], eax
jmp 0x47dddf
mov dword [ebp - 0x1d90], 7
mov eax, dword [ebp - 0x1d58]
shl eax, 2
add eax, dword [ebp - 0x1d54]
mov eax, dword [eax]
add eax, dword [ebp - 0x1d84]
mov ecx, dword [ebp - 0x1d58]
shl ecx, 2
add ecx, dword [ebp - 0x1d54]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1d90]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1d58]
shl ecx, 2
add ecx, dword [ebp - 0x1d54]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e0df
xor eax, eax
je 0x47de5f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47de9b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb280], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47e032
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e032
and dword [ebp - 0x1d98], 0
jmp 0x47df15
cmp dword [ebp - 0x1d98], 0xa
jae 0x47e02d
cvtsi2sd xmm0, dword [ebp - 0x1d98]
movsd xmm1, qword [ebp - 0xb280]
addsd xmm1, xmm0
movsd qword [ebp - 0xb288], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb288]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47df84
mov eax, dword [ebp - 0x1d98]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb280]
addsd xmm1, xmm0
movsd qword [ebp - 0xb280], xmm1
jmp 0x47de85
cvtsi2sd xmm0, dword [ebp - 0x1d98]
movsd xmm1, qword [ebp - 0xb280]
addsd xmm1, xmm0
movsd qword [ebp - 0xb290], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb290]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47dfe1
mov eax, dword [ebp - 0x1d98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb280]
addsd xmm1, xmm0
movsd qword [ebp - 0xb280], xmm1
jmp 0x47dff5
xor eax, eax
je 0x47dff1
jmp 0x47e0ad
jmp 0x47e018
cvtsi2sd xmm0, dword [ebp - 0x1d98]
movsd xmm1, qword [ebp - 0xb280]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d9c], eax
jmp 0x47e0b7
xor eax, eax
inc eax
je 0x47e023
jmp 0x47e032
jmp 0x47de85
jmp 0x47de85
xor eax, eax
inc eax
je 0x47e0ad
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1da0], eax
cvtsi2sd xmm0, dword [ebp - 0x1da0]
mov eax, dword [ebp - 0x1da0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb280]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1d9c], eax
jmp 0x47e0b7
mov dword [ebp - 0x1d9c], 7
mov eax, dword [ebp - 0x1d58]
shl eax, 2
add eax, dword [ebp - 0x1d54]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1d9c]
mov ecx, dword [ebp - 0x1d58]
shl ecx, 2
add ecx, dword [ebp - 0x1d54]
mov dword [ecx], eax
jmp 0x47d065
mov eax, dword [ebp - 0x1d50]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1d50]
mov dword [ebp - 0x1da4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1da4]
mov eax, dword [eax]
mov dword [ebp - 0x1da8], eax
xor eax, eax
mov byte [ebp - 0x53], al
lea ecx, [ebp - 0x53]
call fcn.004151ec
mov dword [ebp - 0x1dac], eax
mov eax, dword [ebp - 0x1dac]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x47f1c7
mov eax, dword [ebp - 0x1dac]
mov dword [ebp - 0x1db0], eax
and dword [ebp - 0x1db4], 0
jmp 0x47e155
mov eax, dword [ebp - 0x1db4]
inc eax
mov dword [ebp - 0x1db4], eax
cmp dword [ebp - 0x1db4], 1
jae 0x47f1c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e41f
xor eax, eax
je 0x47e19f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47e1db
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb298], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47e372
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e372
and dword [ebp - 0x1db8], 0
jmp 0x47e255
cmp dword [ebp - 0x1db8], 0xa
jae 0x47e36d
cvtsi2sd xmm0, dword [ebp - 0x1db8]
movsd xmm1, qword [ebp - 0xb298]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e2c4
mov eax, dword [ebp - 0x1db8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb298]
addsd xmm1, xmm0
movsd qword [ebp - 0xb298], xmm1
jmp 0x47e1c5
cvtsi2sd xmm0, dword [ebp - 0x1db8]
movsd xmm1, qword [ebp - 0xb298]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e321
mov eax, dword [ebp - 0x1db8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb298]
addsd xmm1, xmm0
movsd qword [ebp - 0xb298], xmm1
jmp 0x47e335
xor eax, eax
je 0x47e331
jmp 0x47e3ed
jmp 0x47e358
cvtsi2sd xmm0, dword [ebp - 0x1db8]
movsd xmm1, qword [ebp - 0xb298]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dbc], eax
jmp 0x47e3f7
xor eax, eax
inc eax
je 0x47e363
jmp 0x47e372
jmp 0x47e1c5
jmp 0x47e1c5
xor eax, eax
inc eax
je 0x47e3ed
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1dc0], eax
cvtsi2sd xmm0, dword [ebp - 0x1dc0]
mov eax, dword [ebp - 0x1dc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb298]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dbc], eax
jmp 0x47e3f7
mov dword [ebp - 0x1dbc], 7
mov eax, dword [ebp - 0x1db4]
shl eax, 2
add eax, dword [ebp - 0x1db0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1dbc]
mov ecx, dword [ebp - 0x1db4]
shl ecx, 2
add ecx, dword [ebp - 0x1db0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ef05
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e721
xor eax, eax
je 0x47e4a1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47e4dd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb2b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47e674
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e674
and dword [ebp - 0x1dc4], 0
jmp 0x47e557
cmp dword [ebp - 0x1dc4], 0xa
jae 0x47e66f
cvtsi2sd xmm0, dword [ebp - 0x1dc4]
movsd xmm1, qword [ebp - 0xb2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e5c6
mov eax, dword [ebp - 0x1dc4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2b0], xmm1
jmp 0x47e4c7
cvtsi2sd xmm0, dword [ebp - 0x1dc4]
movsd xmm1, qword [ebp - 0xb2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e623
mov eax, dword [ebp - 0x1dc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2b0], xmm1
jmp 0x47e637
xor eax, eax
je 0x47e633
jmp 0x47e6ef
jmp 0x47e65a
cvtsi2sd xmm0, dword [ebp - 0x1dc4]
movsd xmm1, qword [ebp - 0xb2b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dc8], eax
jmp 0x47e6f9
xor eax, eax
inc eax
je 0x47e665
jmp 0x47e674
jmp 0x47e4c7
jmp 0x47e4c7
xor eax, eax
inc eax
je 0x47e6ef
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1dcc], eax
cvtsi2sd xmm0, dword [ebp - 0x1dcc]
mov eax, dword [ebp - 0x1dcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb2b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dc8], eax
jmp 0x47e6f9
mov dword [ebp - 0x1dc8], 7
mov eax, dword [ebp - 0x1db4]
shl eax, 2
add eax, dword [ebp - 0x1db0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1dc8]
mov ecx, dword [ebp - 0x1db4]
shl ecx, 2
add ecx, dword [ebp - 0x1db0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e9de
xor eax, eax
je 0x47e75e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47e79a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb2c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47e931
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47e931
and dword [ebp - 0x1dd0], 0
jmp 0x47e814
cmp dword [ebp - 0x1dd0], 0xa
jae 0x47e92c
cvtsi2sd xmm0, dword [ebp - 0x1dd0]
movsd xmm1, qword [ebp - 0xb2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e883
mov eax, dword [ebp - 0x1dd0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2c8], xmm1
jmp 0x47e784
cvtsi2sd xmm0, dword [ebp - 0x1dd0]
movsd xmm1, qword [ebp - 0xb2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e8e0
mov eax, dword [ebp - 0x1dd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2c8], xmm1
jmp 0x47e8f4
xor eax, eax
je 0x47e8f0
jmp 0x47e9ac
jmp 0x47e917
cvtsi2sd xmm0, dword [ebp - 0x1dd0]
movsd xmm1, qword [ebp - 0xb2c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dd4], eax
jmp 0x47e9b6
xor eax, eax
inc eax
je 0x47e922
jmp 0x47e931
jmp 0x47e784
jmp 0x47e784
xor eax, eax
inc eax
je 0x47e9ac
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1dd8], eax
cvtsi2sd xmm0, dword [ebp - 0x1dd8]
mov eax, dword [ebp - 0x1dd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb2c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dd4], eax
jmp 0x47e9b6
mov dword [ebp - 0x1dd4], 7
mov eax, dword [ebp - 0x1db4]
shl eax, 2
add eax, dword [ebp - 0x1db0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1dd4]
mov ecx, dword [ebp - 0x1db4]
shl ecx, 2
add ecx, dword [ebp - 0x1db0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1db4]
add eax, 0xffffffbf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb2e0], xmm0
xor eax, eax
je 0x47e9f8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47ea34
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb2e0]
movsd qword [ebp - 0xb2e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ebcb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47ebcb
and dword [ebp - 0x1ddc], 0
jmp 0x47eaae
cmp dword [ebp - 0x1ddc], 0xa
jae 0x47ebc6
cvtsi2sd xmm0, dword [ebp - 0x1ddc]
movsd xmm1, qword [ebp - 0xb2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47eb1d
mov eax, dword [ebp - 0x1ddc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2e8], xmm1
jmp 0x47ea1e
cvtsi2sd xmm0, dword [ebp - 0x1ddc]
movsd xmm1, qword [ebp - 0xb2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47eb7a
mov eax, dword [ebp - 0x1ddc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2e8], xmm1
jmp 0x47eb8e
xor eax, eax
je 0x47eb8a
jmp 0x47ec46
jmp 0x47ebb1
cvtsi2sd xmm0, dword [ebp - 0x1ddc]
movsd xmm1, qword [ebp - 0xb2e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1de0], eax
jmp 0x47ec50
xor eax, eax
inc eax
je 0x47ebbc
jmp 0x47ebcb
jmp 0x47ea1e
jmp 0x47ea1e
xor eax, eax
inc eax
je 0x47ec46
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1de4], eax
cvtsi2sd xmm0, dword [ebp - 0x1de4]
mov eax, dword [ebp - 0x1de4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb2e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1de0], eax
jmp 0x47ec50
mov dword [ebp - 0x1de0], 7
mov eax, dword [ebp - 0x1db4]
add eax, 0xffffffbf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb300], xmm0
xor eax, eax
je 0x47ec6a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47eca6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb300]
movsd qword [ebp - 0xb308], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ee3d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47ee3d
and dword [ebp - 0x1de8], 0
jmp 0x47ed20
cmp dword [ebp - 0x1de8], 0xa
jae 0x47ee38
cvtsi2sd xmm0, dword [ebp - 0x1de8]
movsd xmm1, qword [ebp - 0xb308]
addsd xmm1, xmm0
movsd qword [ebp - 0xb310], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb310]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47ed8f
mov eax, dword [ebp - 0x1de8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb308]
addsd xmm1, xmm0
movsd qword [ebp - 0xb308], xmm1
jmp 0x47ec90
cvtsi2sd xmm0, dword [ebp - 0x1de8]
movsd xmm1, qword [ebp - 0xb308]
addsd xmm1, xmm0
movsd qword [ebp - 0xb318], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47edec
mov eax, dword [ebp - 0x1de8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb308]
addsd xmm1, xmm0
movsd qword [ebp - 0xb308], xmm1
jmp 0x47ee00
xor eax, eax
je 0x47edfc
jmp 0x47eeb8
jmp 0x47ee23
cvtsi2sd xmm0, dword [ebp - 0x1de8]
movsd xmm1, qword [ebp - 0xb308]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dec], eax
jmp 0x47eec2
xor eax, eax
inc eax
je 0x47ee2e
jmp 0x47ee3d
jmp 0x47ec90
jmp 0x47ec90
xor eax, eax
inc eax
je 0x47eeb8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1df0], eax
cvtsi2sd xmm0, dword [ebp - 0x1df0]
mov eax, dword [ebp - 0x1df0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb308]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1dec], eax
jmp 0x47eec2
mov dword [ebp - 0x1dec], 7
mov eax, dword [ebp - 0x1db4]
shl eax, 2
add eax, dword [ebp - 0x1db0]
mov eax, dword [eax]
add eax, dword [ebp - 0x1de0]
mov ecx, dword [ebp - 0x1db4]
shl ecx, 2
add ecx, dword [ebp - 0x1db0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1dec]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1db4]
shl ecx, 2
add ecx, dword [ebp - 0x1db0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47f1c2
xor eax, eax
je 0x47ef42
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47ef7e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb320], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47f115
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47f115
and dword [ebp - 0x1df4], 0
jmp 0x47eff8
cmp dword [ebp - 0x1df4], 0xa
jae 0x47f110
cvtsi2sd xmm0, dword [ebp - 0x1df4]
movsd xmm1, qword [ebp - 0xb320]
addsd xmm1, xmm0
movsd qword [ebp - 0xb328], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb328]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f067
mov eax, dword [ebp - 0x1df4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb320]
addsd xmm1, xmm0
movsd qword [ebp - 0xb320], xmm1
jmp 0x47ef68
cvtsi2sd xmm0, dword [ebp - 0x1df4]
movsd xmm1, qword [ebp - 0xb320]
addsd xmm1, xmm0
movsd qword [ebp - 0xb330], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb330]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f0c4
mov eax, dword [ebp - 0x1df4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb320]
addsd xmm1, xmm0
movsd qword [ebp - 0xb320], xmm1
jmp 0x47f0d8
xor eax, eax
je 0x47f0d4
jmp 0x47f190
jmp 0x47f0fb
cvtsi2sd xmm0, dword [ebp - 0x1df4]
movsd xmm1, qword [ebp - 0xb320]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1df8], eax
jmp 0x47f19a
xor eax, eax
inc eax
je 0x47f106
jmp 0x47f115
jmp 0x47ef68
jmp 0x47ef68
xor eax, eax
inc eax
je 0x47f190
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1dfc], eax
cvtsi2sd xmm0, dword [ebp - 0x1dfc]
mov eax, dword [ebp - 0x1dfc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb320]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1df8], eax
jmp 0x47f19a
mov dword [ebp - 0x1df8], 7
mov eax, dword [ebp - 0x1db4]
shl eax, 2
add eax, dword [ebp - 0x1db0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1df8]
mov ecx, dword [ebp - 0x1db4]
shl ecx, 2
add ecx, dword [ebp - 0x1db0]
mov dword [ecx], eax
jmp 0x47e148
mov eax, dword [ebp - 0x1dac]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1dac]
mov dword [ebp - 0x1e00], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1e00]
mov eax, dword [eax]
mov dword [ebp - 0x1e04], eax
mov eax, dword [ebp - 0x1da8]
mov dword [ebp - 0x1d4c], eax
cmp dword [ebp - 0x1d4c], 0
je 0x4802ed
xor eax, eax
mov byte [ebp - 0x54], al
lea ecx, [ebp - 0x54]
call fcn.00414cd8
mov dword [ebp - 0x1e08], eax
mov eax, dword [ebp - 0x1e08]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4802c3
mov eax, dword [ebp - 0x1e08]
mov dword [ebp - 0x1e0c], eax
and dword [ebp - 0x1e10], 0
jmp 0x47f251
mov eax, dword [ebp - 0x1e10]
inc eax
mov dword [ebp - 0x1e10], eax
cmp dword [ebp - 0x1e10], 1
jae 0x4802c3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47f51b
xor eax, eax
je 0x47f29b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47f2d7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb338], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47f46e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47f46e
and dword [ebp - 0x1e14], 0
jmp 0x47f351
cmp dword [ebp - 0x1e14], 0xa
jae 0x47f469
cvtsi2sd xmm0, dword [ebp - 0x1e14]
movsd xmm1, qword [ebp - 0xb338]
addsd xmm1, xmm0
movsd qword [ebp - 0xb340], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb340]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f3c0
mov eax, dword [ebp - 0x1e14]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb338]
addsd xmm1, xmm0
movsd qword [ebp - 0xb338], xmm1
jmp 0x47f2c1
cvtsi2sd xmm0, dword [ebp - 0x1e14]
movsd xmm1, qword [ebp - 0xb338]
addsd xmm1, xmm0
movsd qword [ebp - 0xb348], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb348]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f41d
mov eax, dword [ebp - 0x1e14]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb338]
addsd xmm1, xmm0
movsd qword [ebp - 0xb338], xmm1
jmp 0x47f431
xor eax, eax
je 0x47f42d
jmp 0x47f4e9
jmp 0x47f454
cvtsi2sd xmm0, dword [ebp - 0x1e14]
movsd xmm1, qword [ebp - 0xb338]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e18], eax
jmp 0x47f4f3
xor eax, eax
inc eax
je 0x47f45f
jmp 0x47f46e
jmp 0x47f2c1
jmp 0x47f2c1
xor eax, eax
inc eax
je 0x47f4e9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e1c], eax
cvtsi2sd xmm0, dword [ebp - 0x1e1c]
mov eax, dword [ebp - 0x1e1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb338]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e18], eax
jmp 0x47f4f3
mov dword [ebp - 0x1e18], 7
mov eax, dword [ebp - 0x1e10]
shl eax, 2
add eax, dword [ebp - 0x1e0c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e18]
mov ecx, dword [ebp - 0x1e10]
shl ecx, 2
add ecx, dword [ebp - 0x1e0c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x480001
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47f81d
xor eax, eax
je 0x47f59d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47f5d9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb350], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47f770
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47f770
and dword [ebp - 0x1e20], 0
jmp 0x47f653
cmp dword [ebp - 0x1e20], 0xa
jae 0x47f76b
cvtsi2sd xmm0, dword [ebp - 0x1e20]
movsd xmm1, qword [ebp - 0xb350]
addsd xmm1, xmm0
movsd qword [ebp - 0xb358], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f6c2
mov eax, dword [ebp - 0x1e20]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb350]
addsd xmm1, xmm0
movsd qword [ebp - 0xb350], xmm1
jmp 0x47f5c3
cvtsi2sd xmm0, dword [ebp - 0x1e20]
movsd xmm1, qword [ebp - 0xb350]
addsd xmm1, xmm0
movsd qword [ebp - 0xb360], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb360]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f71f
mov eax, dword [ebp - 0x1e20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb350]
addsd xmm1, xmm0
movsd qword [ebp - 0xb350], xmm1
jmp 0x47f733
xor eax, eax
je 0x47f72f
jmp 0x47f7eb
jmp 0x47f756
cvtsi2sd xmm0, dword [ebp - 0x1e20]
movsd xmm1, qword [ebp - 0xb350]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e24], eax
jmp 0x47f7f5
xor eax, eax
inc eax
je 0x47f761
jmp 0x47f770
jmp 0x47f5c3
jmp 0x47f5c3
xor eax, eax
inc eax
je 0x47f7eb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e28], eax
cvtsi2sd xmm0, dword [ebp - 0x1e28]
mov eax, dword [ebp - 0x1e28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb350]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e24], eax
jmp 0x47f7f5
mov dword [ebp - 0x1e24], 7
mov eax, dword [ebp - 0x1e10]
shl eax, 2
add eax, dword [ebp - 0x1e0c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e24]
mov ecx, dword [ebp - 0x1e10]
shl ecx, 2
add ecx, dword [ebp - 0x1e0c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47fada
xor eax, eax
je 0x47f85a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47f896
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb368], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47fa2d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47fa2d
and dword [ebp - 0x1e2c], 0
jmp 0x47f910
cmp dword [ebp - 0x1e2c], 0xa
jae 0x47fa28
cvtsi2sd xmm0, dword [ebp - 0x1e2c]
movsd xmm1, qword [ebp - 0xb368]
addsd xmm1, xmm0
movsd qword [ebp - 0xb370], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb370]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f97f
mov eax, dword [ebp - 0x1e2c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb368]
addsd xmm1, xmm0
movsd qword [ebp - 0xb368], xmm1
jmp 0x47f880
cvtsi2sd xmm0, dword [ebp - 0x1e2c]
movsd xmm1, qword [ebp - 0xb368]
addsd xmm1, xmm0
movsd qword [ebp - 0xb378], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f9dc
mov eax, dword [ebp - 0x1e2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb368]
addsd xmm1, xmm0
movsd qword [ebp - 0xb368], xmm1
jmp 0x47f9f0
xor eax, eax
je 0x47f9ec
jmp 0x47faa8
jmp 0x47fa13
cvtsi2sd xmm0, dword [ebp - 0x1e2c]
movsd xmm1, qword [ebp - 0xb368]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e30], eax
jmp 0x47fab2
xor eax, eax
inc eax
je 0x47fa1e
jmp 0x47fa2d
jmp 0x47f880
jmp 0x47f880
xor eax, eax
inc eax
je 0x47faa8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e34], eax
cvtsi2sd xmm0, dword [ebp - 0x1e34]
mov eax, dword [ebp - 0x1e34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb368]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e30], eax
jmp 0x47fab2
mov dword [ebp - 0x1e30], 7
mov eax, dword [ebp - 0x1e10]
shl eax, 2
add eax, dword [ebp - 0x1e0c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e30]
mov ecx, dword [ebp - 0x1e10]
shl ecx, 2
add ecx, dword [ebp - 0x1e0c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1e10]
add eax, 0xffffffbf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb380], xmm0
xor eax, eax
je 0x47faf4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47fb30
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb380]
movsd qword [ebp - 0xb388], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47fcc7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47fcc7
and dword [ebp - 0x1e38], 0
jmp 0x47fbaa
cmp dword [ebp - 0x1e38], 0xa
jae 0x47fcc2
cvtsi2sd xmm0, dword [ebp - 0x1e38]
movsd xmm1, qword [ebp - 0xb388]
addsd xmm1, xmm0
movsd qword [ebp - 0xb390], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fc19
mov eax, dword [ebp - 0x1e38]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb388]
addsd xmm1, xmm0
movsd qword [ebp - 0xb388], xmm1
jmp 0x47fb1a
cvtsi2sd xmm0, dword [ebp - 0x1e38]
movsd xmm1, qword [ebp - 0xb388]
addsd xmm1, xmm0
movsd qword [ebp - 0xb398], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fc76
mov eax, dword [ebp - 0x1e38]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb388]
addsd xmm1, xmm0
movsd qword [ebp - 0xb388], xmm1
jmp 0x47fc8a
xor eax, eax
je 0x47fc86
jmp 0x47fd42
jmp 0x47fcad
cvtsi2sd xmm0, dword [ebp - 0x1e38]
movsd xmm1, qword [ebp - 0xb388]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e3c], eax
jmp 0x47fd4c
xor eax, eax
inc eax
je 0x47fcb8
jmp 0x47fcc7
jmp 0x47fb1a
jmp 0x47fb1a
xor eax, eax
inc eax
je 0x47fd42
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e40], eax
cvtsi2sd xmm0, dword [ebp - 0x1e40]
mov eax, dword [ebp - 0x1e40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb388]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e3c], eax
jmp 0x47fd4c
mov dword [ebp - 0x1e3c], 7
mov eax, dword [ebp - 0x1e10]
add eax, 0xffffffbf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb3a0], xmm0
xor eax, eax
je 0x47fd66
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x47fda2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb3a0]
movsd qword [ebp - 0xb3a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x47ff39
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x47ff39
and dword [ebp - 0x1e44], 0
jmp 0x47fe1c
cmp dword [ebp - 0x1e44], 0xa
jae 0x47ff34
cvtsi2sd xmm0, dword [ebp - 0x1e44]
movsd xmm1, qword [ebp - 0xb3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fe8b
mov eax, dword [ebp - 0x1e44]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3a8], xmm1
jmp 0x47fd8c
cvtsi2sd xmm0, dword [ebp - 0x1e44]
movsd xmm1, qword [ebp - 0xb3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fee8
mov eax, dword [ebp - 0x1e44]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3a8], xmm1
jmp 0x47fefc
xor eax, eax
je 0x47fef8
jmp 0x47ffb4
jmp 0x47ff1f
cvtsi2sd xmm0, dword [ebp - 0x1e44]
movsd xmm1, qword [ebp - 0xb3a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e48], eax
jmp 0x47ffbe
xor eax, eax
inc eax
je 0x47ff2a
jmp 0x47ff39
jmp 0x47fd8c
jmp 0x47fd8c
xor eax, eax
inc eax
je 0x47ffb4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e4c], eax
cvtsi2sd xmm0, dword [ebp - 0x1e4c]
mov eax, dword [ebp - 0x1e4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb3a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e48], eax
jmp 0x47ffbe
mov dword [ebp - 0x1e48], 7
mov eax, dword [ebp - 0x1e10]
shl eax, 2
add eax, dword [ebp - 0x1e0c]
mov eax, dword [eax]
add eax, dword [ebp - 0x1e3c]
mov ecx, dword [ebp - 0x1e10]
shl ecx, 2
add ecx, dword [ebp - 0x1e0c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1e48]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1e10]
shl ecx, 2
add ecx, dword [ebp - 0x1e0c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4802be
xor eax, eax
je 0x48003e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48007a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb3c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x480211
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x480211
and dword [ebp - 0x1e50], 0
jmp 0x4800f4
cmp dword [ebp - 0x1e50], 0xa
jae 0x48020c
cvtsi2sd xmm0, dword [ebp - 0x1e50]
movsd xmm1, qword [ebp - 0xb3c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480163
mov eax, dword [ebp - 0x1e50]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3c0], xmm1
jmp 0x480064
cvtsi2sd xmm0, dword [ebp - 0x1e50]
movsd xmm1, qword [ebp - 0xb3c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4801c0
mov eax, dword [ebp - 0x1e50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3c0], xmm1
jmp 0x4801d4
xor eax, eax
je 0x4801d0
jmp 0x48028c
jmp 0x4801f7
cvtsi2sd xmm0, dword [ebp - 0x1e50]
movsd xmm1, qword [ebp - 0xb3c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e54], eax
jmp 0x480296
xor eax, eax
inc eax
je 0x480202
jmp 0x480211
jmp 0x480064
jmp 0x480064
xor eax, eax
inc eax
je 0x48028c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e58], eax
cvtsi2sd xmm0, dword [ebp - 0x1e58]
mov eax, dword [ebp - 0x1e58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb3c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e54], eax
jmp 0x480296
mov dword [ebp - 0x1e54], 7
mov eax, dword [ebp - 0x1e10]
shl eax, 2
add eax, dword [ebp - 0x1e0c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e54]
mov ecx, dword [ebp - 0x1e10]
shl ecx, 2
add ecx, dword [ebp - 0x1e0c]
mov dword [ecx], eax
jmp 0x47f244
mov eax, dword [ebp - 0x1e08]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1e08]
mov dword [ebp - 0x1e5c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1e5c]
mov eax, dword [eax]
mov dword [ebp - 0x1e04], eax
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x488a7e
xor eax, eax
mov byte [ebp - 0x55], al
lea ecx, [ebp - 0x55]
call fcn.00417512
mov dword [ebp - 0x1e60], eax
mov eax, dword [ebp - 0x1e60]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4813b2
mov eax, dword [ebp - 0x1e60]
mov dword [ebp - 0x1e64], eax
and dword [ebp - 0x1e68], 0
jmp 0x480340
mov eax, dword [ebp - 0x1e68]
inc eax
mov dword [ebp - 0x1e68], eax
cmp dword [ebp - 0x1e68], 1
jae 0x4813b2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48060a
xor eax, eax
je 0x48038a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4803c6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e40]
movsd qword [ebp - 0xb3d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48055d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48055d
and dword [ebp - 0x1e6c], 0
jmp 0x480440
cmp dword [ebp - 0x1e6c], 0xa
jae 0x480558
cvtsi2sd xmm0, dword [ebp - 0x1e6c]
movsd xmm1, qword [ebp - 0xb3d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4804af
mov eax, dword [ebp - 0x1e6c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3d8], xmm1
jmp 0x4803b0
cvtsi2sd xmm0, dword [ebp - 0x1e6c]
movsd xmm1, qword [ebp - 0xb3d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48050c
mov eax, dword [ebp - 0x1e6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3d8], xmm1
jmp 0x480520
xor eax, eax
je 0x48051c
jmp 0x4805d8
jmp 0x480543
cvtsi2sd xmm0, dword [ebp - 0x1e6c]
movsd xmm1, qword [ebp - 0xb3d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e70], eax
jmp 0x4805e2
xor eax, eax
inc eax
je 0x48054e
jmp 0x48055d
jmp 0x4803b0
jmp 0x4803b0
xor eax, eax
inc eax
je 0x4805d8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e74], eax
cvtsi2sd xmm0, dword [ebp - 0x1e74]
mov eax, dword [ebp - 0x1e74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb3d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e70], eax
jmp 0x4805e2
mov dword [ebp - 0x1e70], 7
mov eax, dword [ebp - 0x1e68]
shl eax, 2
add eax, dword [ebp - 0x1e64]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e70]
mov ecx, dword [ebp - 0x1e68]
shl ecx, 2
add ecx, dword [ebp - 0x1e64]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4810f0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48090c
xor eax, eax
je 0x48068c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4806c8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb3f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48085f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48085f
and dword [ebp - 0x1e78], 0
jmp 0x480742
cmp dword [ebp - 0x1e78], 0xa
jae 0x48085a
cvtsi2sd xmm0, dword [ebp - 0x1e78]
movsd xmm1, qword [ebp - 0xb3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4807b1
mov eax, dword [ebp - 0x1e78]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3f0], xmm1
jmp 0x4806b2
cvtsi2sd xmm0, dword [ebp - 0x1e78]
movsd xmm1, qword [ebp - 0xb3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb400], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb400]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48080e
mov eax, dword [ebp - 0x1e78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3f0], xmm1
jmp 0x480822
xor eax, eax
je 0x48081e
jmp 0x4808da
jmp 0x480845
cvtsi2sd xmm0, dword [ebp - 0x1e78]
movsd xmm1, qword [ebp - 0xb3f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e7c], eax
jmp 0x4808e4
xor eax, eax
inc eax
je 0x480850
jmp 0x48085f
jmp 0x4806b2
jmp 0x4806b2
xor eax, eax
inc eax
je 0x4808da
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e80], eax
cvtsi2sd xmm0, dword [ebp - 0x1e80]
mov eax, dword [ebp - 0x1e80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb3f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e7c], eax
jmp 0x4808e4
mov dword [ebp - 0x1e7c], 7
mov eax, dword [ebp - 0x1e68]
shl eax, 2
add eax, dword [ebp - 0x1e64]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e7c]
mov ecx, dword [ebp - 0x1e68]
shl ecx, 2
add ecx, dword [ebp - 0x1e64]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x480bc9
xor eax, eax
je 0x480949
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x480985
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb408], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x480b1c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x480b1c
and dword [ebp - 0x1e84], 0
jmp 0x4809ff
cmp dword [ebp - 0x1e84], 0xa
jae 0x480b17
cvtsi2sd xmm0, dword [ebp - 0x1e84]
movsd xmm1, qword [ebp - 0xb408]
addsd xmm1, xmm0
movsd qword [ebp - 0xb410], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb410]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480a6e
mov eax, dword [ebp - 0x1e84]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb408]
addsd xmm1, xmm0
movsd qword [ebp - 0xb408], xmm1
jmp 0x48096f
cvtsi2sd xmm0, dword [ebp - 0x1e84]
movsd xmm1, qword [ebp - 0xb408]
addsd xmm1, xmm0
movsd qword [ebp - 0xb418], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480acb
mov eax, dword [ebp - 0x1e84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb408]
addsd xmm1, xmm0
movsd qword [ebp - 0xb408], xmm1
jmp 0x480adf
xor eax, eax
je 0x480adb
jmp 0x480b97
jmp 0x480b02
cvtsi2sd xmm0, dword [ebp - 0x1e84]
movsd xmm1, qword [ebp - 0xb408]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e88], eax
jmp 0x480ba1
xor eax, eax
inc eax
je 0x480b0d
jmp 0x480b1c
jmp 0x48096f
jmp 0x48096f
xor eax, eax
inc eax
je 0x480b97
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e8c], eax
cvtsi2sd xmm0, dword [ebp - 0x1e8c]
mov eax, dword [ebp - 0x1e8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb408]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e88], eax
jmp 0x480ba1
mov dword [ebp - 0x1e88], 7
mov eax, dword [ebp - 0x1e68]
shl eax, 2
add eax, dword [ebp - 0x1e64]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1e88]
mov ecx, dword [ebp - 0x1e68]
shl ecx, 2
add ecx, dword [ebp - 0x1e64]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1e68]
add eax, 0xffffffbf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb420], xmm0
xor eax, eax
je 0x480be3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x480c1f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb420]
movsd qword [ebp - 0xb428], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x480db6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x480db6
and dword [ebp - 0x1e90], 0
jmp 0x480c99
cmp dword [ebp - 0x1e90], 0xa
jae 0x480db1
cvtsi2sd xmm0, dword [ebp - 0x1e90]
movsd xmm1, qword [ebp - 0xb428]
addsd xmm1, xmm0
movsd qword [ebp - 0xb430], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb430]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480d08
mov eax, dword [ebp - 0x1e90]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb428]
addsd xmm1, xmm0
movsd qword [ebp - 0xb428], xmm1
jmp 0x480c09
cvtsi2sd xmm0, dword [ebp - 0x1e90]
movsd xmm1, qword [ebp - 0xb428]
addsd xmm1, xmm0
movsd qword [ebp - 0xb438], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480d65
mov eax, dword [ebp - 0x1e90]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb428]
addsd xmm1, xmm0
movsd qword [ebp - 0xb428], xmm1
jmp 0x480d79
xor eax, eax
je 0x480d75
jmp 0x480e31
jmp 0x480d9c
cvtsi2sd xmm0, dword [ebp - 0x1e90]
movsd xmm1, qword [ebp - 0xb428]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e94], eax
jmp 0x480e3b
xor eax, eax
inc eax
je 0x480da7
jmp 0x480db6
jmp 0x480c09
jmp 0x480c09
xor eax, eax
inc eax
je 0x480e31
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1e98], eax
cvtsi2sd xmm0, dword [ebp - 0x1e98]
mov eax, dword [ebp - 0x1e98]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb428]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1e94], eax
jmp 0x480e3b
mov dword [ebp - 0x1e94], 7
mov eax, dword [ebp - 0x1e68]
add eax, 0xffffffbf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb440], xmm0
xor eax, eax
je 0x480e55
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x480e91
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb440]
movsd qword [ebp - 0xb448], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x481028
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481028
and dword [ebp - 0x1e9c], 0
jmp 0x480f0b
cmp dword [ebp - 0x1e9c], 0xa
jae 0x481023
cvtsi2sd xmm0, dword [ebp - 0x1e9c]
movsd xmm1, qword [ebp - 0xb448]
addsd xmm1, xmm0
movsd qword [ebp - 0xb450], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb450]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480f7a
mov eax, dword [ebp - 0x1e9c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb448]
addsd xmm1, xmm0
movsd qword [ebp - 0xb448], xmm1
jmp 0x480e7b
cvtsi2sd xmm0, dword [ebp - 0x1e9c]
movsd xmm1, qword [ebp - 0xb448]
addsd xmm1, xmm0
movsd qword [ebp - 0xb458], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480fd7
mov eax, dword [ebp - 0x1e9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb448]
addsd xmm1, xmm0
movsd qword [ebp - 0xb448], xmm1
jmp 0x480feb
xor eax, eax
je 0x480fe7
jmp 0x4810a3
jmp 0x48100e
cvtsi2sd xmm0, dword [ebp - 0x1e9c]
movsd xmm1, qword [ebp - 0xb448]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ea0], eax
jmp 0x4810ad
xor eax, eax
inc eax
je 0x481019
jmp 0x481028
jmp 0x480e7b
jmp 0x480e7b
xor eax, eax
inc eax
je 0x4810a3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ea4], eax
cvtsi2sd xmm0, dword [ebp - 0x1ea4]
mov eax, dword [ebp - 0x1ea4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb448]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ea0], eax
jmp 0x4810ad
mov dword [ebp - 0x1ea0], 7
mov eax, dword [ebp - 0x1e68]
shl eax, 2
add eax, dword [ebp - 0x1e64]
mov eax, dword [eax]
add eax, dword [ebp - 0x1e94]
mov ecx, dword [ebp - 0x1e68]
shl ecx, 2
add ecx, dword [ebp - 0x1e64]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1ea0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1e68]
shl ecx, 2
add ecx, dword [ebp - 0x1e64]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4813ad
xor eax, eax
je 0x48112d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x481169
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb460], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x481300
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481300
and dword [ebp - 0x1ea8], 0
jmp 0x4811e3
cmp dword [ebp - 0x1ea8], 0xa
jae 0x4812fb
cvtsi2sd xmm0, dword [ebp - 0x1ea8]
movsd xmm1, qword [ebp - 0xb460]
addsd xmm1, xmm0
movsd qword [ebp - 0xb468], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb468]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481252
mov eax, dword [ebp - 0x1ea8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb460]
addsd xmm1, xmm0
movsd qword [ebp - 0xb460], xmm1
jmp 0x481153
cvtsi2sd xmm0, dword [ebp - 0x1ea8]
movsd xmm1, qword [ebp - 0xb460]
addsd xmm1, xmm0
movsd qword [ebp - 0xb470], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb470]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4812af
mov eax, dword [ebp - 0x1ea8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb460]
addsd xmm1, xmm0
movsd qword [ebp - 0xb460], xmm1
jmp 0x4812c3
xor eax, eax
je 0x4812bf
jmp 0x48137b
jmp 0x4812e6
cvtsi2sd xmm0, dword [ebp - 0x1ea8]
movsd xmm1, qword [ebp - 0xb460]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1eac], eax
jmp 0x481385
xor eax, eax
inc eax
je 0x4812f1
jmp 0x481300
jmp 0x481153
jmp 0x481153
xor eax, eax
inc eax
je 0x48137b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1eb0], eax
cvtsi2sd xmm0, dword [ebp - 0x1eb0]
mov eax, dword [ebp - 0x1eb0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb460]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1eac], eax
jmp 0x481385
mov dword [ebp - 0x1eac], 7
mov eax, dword [ebp - 0x1e68]
shl eax, 2
add eax, dword [ebp - 0x1e64]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1eac]
mov ecx, dword [ebp - 0x1e68]
shl ecx, 2
add ecx, dword [ebp - 0x1e64]
mov dword [ecx], eax
jmp 0x480333
mov eax, dword [ebp - 0x1e60]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1e60]
mov dword [ebp - 0x1eb4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1eb4]
mov eax, dword [eax]
mov dword [ebp - 0x1eb8], eax
xor eax, eax
mov byte [ebp - 0x56], al
lea ecx, [ebp - 0x56]
call fcn.0041545c
mov dword [ebp - 0x1ebc], eax
mov eax, dword [ebp - 0x1ebc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x482495
mov eax, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1ec0], eax
and dword [ebp - 0x1ec4], 0
jmp 0x481423
mov eax, dword [ebp - 0x1ec4]
inc eax
mov dword [ebp - 0x1ec4], eax
cmp dword [ebp - 0x1ec4], 1
jae 0x482495
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4816ed
xor eax, eax
je 0x48146d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4814a9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb478], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x481640
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481640
and dword [ebp - 0x1ec8], 0
jmp 0x481523
cmp dword [ebp - 0x1ec8], 0xa
jae 0x48163b
cvtsi2sd xmm0, dword [ebp - 0x1ec8]
movsd xmm1, qword [ebp - 0xb478]
addsd xmm1, xmm0
movsd qword [ebp - 0xb480], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb480]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481592
mov eax, dword [ebp - 0x1ec8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb478]
addsd xmm1, xmm0
movsd qword [ebp - 0xb478], xmm1
jmp 0x481493
cvtsi2sd xmm0, dword [ebp - 0x1ec8]
movsd xmm1, qword [ebp - 0xb478]
addsd xmm1, xmm0
movsd qword [ebp - 0xb488], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb488]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4815ef
mov eax, dword [ebp - 0x1ec8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb478]
addsd xmm1, xmm0
movsd qword [ebp - 0xb478], xmm1
jmp 0x481603
xor eax, eax
je 0x4815ff
jmp 0x4816bb
jmp 0x481626
cvtsi2sd xmm0, dword [ebp - 0x1ec8]
movsd xmm1, qword [ebp - 0xb478]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ecc], eax
jmp 0x4816c5
xor eax, eax
inc eax
je 0x481631
jmp 0x481640
jmp 0x481493
jmp 0x481493
xor eax, eax
inc eax
je 0x4816bb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ed0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ed0]
mov eax, dword [ebp - 0x1ed0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb478]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ecc], eax
jmp 0x4816c5
mov dword [ebp - 0x1ecc], 7
mov eax, dword [ebp - 0x1ec4]
shl eax, 2
add eax, dword [ebp - 0x1ec0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ecc]
mov ecx, dword [ebp - 0x1ec4]
shl ecx, 2
add ecx, dword [ebp - 0x1ec0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4821d3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4819ef
xor eax, eax
je 0x48176f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4817ab
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb490], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x481942
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481942
and dword [ebp - 0x1ed4], 0
jmp 0x481825
cmp dword [ebp - 0x1ed4], 0xa
jae 0x48193d
cvtsi2sd xmm0, dword [ebp - 0x1ed4]
movsd xmm1, qword [ebp - 0xb490]
addsd xmm1, xmm0
movsd qword [ebp - 0xb498], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481894
mov eax, dword [ebp - 0x1ed4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb490]
addsd xmm1, xmm0
movsd qword [ebp - 0xb490], xmm1
jmp 0x481795
cvtsi2sd xmm0, dword [ebp - 0x1ed4]
movsd xmm1, qword [ebp - 0xb490]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4818f1
mov eax, dword [ebp - 0x1ed4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb490]
addsd xmm1, xmm0
movsd qword [ebp - 0xb490], xmm1
jmp 0x481905
xor eax, eax
je 0x481901
jmp 0x4819bd
jmp 0x481928
cvtsi2sd xmm0, dword [ebp - 0x1ed4]
movsd xmm1, qword [ebp - 0xb490]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ed8], eax
jmp 0x4819c7
xor eax, eax
inc eax
je 0x481933
jmp 0x481942
jmp 0x481795
jmp 0x481795
xor eax, eax
inc eax
je 0x4819bd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1edc], eax
cvtsi2sd xmm0, dword [ebp - 0x1edc]
mov eax, dword [ebp - 0x1edc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb490]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ed8], eax
jmp 0x4819c7
mov dword [ebp - 0x1ed8], 7
mov eax, dword [ebp - 0x1ec4]
shl eax, 2
add eax, dword [ebp - 0x1ec0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ed8]
mov ecx, dword [ebp - 0x1ec4]
shl ecx, 2
add ecx, dword [ebp - 0x1ec0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481cac
xor eax, eax
je 0x481a2c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x481a68
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb4a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x481bff
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481bff
and dword [ebp - 0x1ee0], 0
jmp 0x481ae2
cmp dword [ebp - 0x1ee0], 0xa
jae 0x481bfa
cvtsi2sd xmm0, dword [ebp - 0x1ee0]
movsd xmm1, qword [ebp - 0xb4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481b51
mov eax, dword [ebp - 0x1ee0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4a8], xmm1
jmp 0x481a52
cvtsi2sd xmm0, dword [ebp - 0x1ee0]
movsd xmm1, qword [ebp - 0xb4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481bae
mov eax, dword [ebp - 0x1ee0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4a8], xmm1
jmp 0x481bc2
xor eax, eax
je 0x481bbe
jmp 0x481c7a
jmp 0x481be5
cvtsi2sd xmm0, dword [ebp - 0x1ee0]
movsd xmm1, qword [ebp - 0xb4a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ee4], eax
jmp 0x481c84
xor eax, eax
inc eax
je 0x481bf0
jmp 0x481bff
jmp 0x481a52
jmp 0x481a52
xor eax, eax
inc eax
je 0x481c7a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ee8], eax
cvtsi2sd xmm0, dword [ebp - 0x1ee8]
mov eax, dword [ebp - 0x1ee8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb4a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ee4], eax
jmp 0x481c84
mov dword [ebp - 0x1ee4], 7
mov eax, dword [ebp - 0x1ec4]
shl eax, 2
add eax, dword [ebp - 0x1ec0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ee4]
mov ecx, dword [ebp - 0x1ec4]
shl ecx, 2
add ecx, dword [ebp - 0x1ec0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1ec4]
add eax, 0xffffffc0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb4c0], xmm0
xor eax, eax
je 0x481cc6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x481d02
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb4c0]
movsd qword [ebp - 0xb4c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x481e99
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x481e99
and dword [ebp - 0x1eec], 0
jmp 0x481d7c
cmp dword [ebp - 0x1eec], 0xa
jae 0x481e94
cvtsi2sd xmm0, dword [ebp - 0x1eec]
movsd xmm1, qword [ebp - 0xb4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481deb
mov eax, dword [ebp - 0x1eec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4c8], xmm1
jmp 0x481cec
cvtsi2sd xmm0, dword [ebp - 0x1eec]
movsd xmm1, qword [ebp - 0xb4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481e48
mov eax, dword [ebp - 0x1eec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4c8], xmm1
jmp 0x481e5c
xor eax, eax
je 0x481e58
jmp 0x481f14
jmp 0x481e7f
cvtsi2sd xmm0, dword [ebp - 0x1eec]
movsd xmm1, qword [ebp - 0xb4c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ef0], eax
jmp 0x481f1e
xor eax, eax
inc eax
je 0x481e8a
jmp 0x481e99
jmp 0x481cec
jmp 0x481cec
xor eax, eax
inc eax
je 0x481f14
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ef4], eax
cvtsi2sd xmm0, dword [ebp - 0x1ef4]
mov eax, dword [ebp - 0x1ef4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb4c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ef0], eax
jmp 0x481f1e
mov dword [ebp - 0x1ef0], 7
mov eax, dword [ebp - 0x1ec4]
add eax, 0xffffffc0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb4e0], xmm0
xor eax, eax
je 0x481f38
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x481f74
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb4e0]
movsd qword [ebp - 0xb4e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48210b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48210b
and dword [ebp - 0x1ef8], 0
jmp 0x481fee
cmp dword [ebp - 0x1ef8], 0xa
jae 0x482106
cvtsi2sd xmm0, dword [ebp - 0x1ef8]
movsd xmm1, qword [ebp - 0xb4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48205d
mov eax, dword [ebp - 0x1ef8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4e8], xmm1
jmp 0x481f5e
cvtsi2sd xmm0, dword [ebp - 0x1ef8]
movsd xmm1, qword [ebp - 0xb4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4820ba
mov eax, dword [ebp - 0x1ef8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4e8], xmm1
jmp 0x4820ce
xor eax, eax
je 0x4820ca
jmp 0x482186
jmp 0x4820f1
cvtsi2sd xmm0, dword [ebp - 0x1ef8]
movsd xmm1, qword [ebp - 0xb4e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1efc], eax
jmp 0x482190
xor eax, eax
inc eax
je 0x4820fc
jmp 0x48210b
jmp 0x481f5e
jmp 0x481f5e
xor eax, eax
inc eax
je 0x482186
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f00], eax
cvtsi2sd xmm0, dword [ebp - 0x1f00]
mov eax, dword [ebp - 0x1f00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb4e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1efc], eax
jmp 0x482190
mov dword [ebp - 0x1efc], 7
mov eax, dword [ebp - 0x1ec4]
shl eax, 2
add eax, dword [ebp - 0x1ec0]
mov eax, dword [eax]
add eax, dword [ebp - 0x1ef0]
mov ecx, dword [ebp - 0x1ec4]
shl ecx, 2
add ecx, dword [ebp - 0x1ec0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1efc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1ec4]
shl ecx, 2
add ecx, dword [ebp - 0x1ec0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482490
xor eax, eax
je 0x482210
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48224c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb500], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4823e3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4823e3
and dword [ebp - 0x1f04], 0
jmp 0x4822c6
cmp dword [ebp - 0x1f04], 0xa
jae 0x4823de
cvtsi2sd xmm0, dword [ebp - 0x1f04]
movsd xmm1, qword [ebp - 0xb500]
addsd xmm1, xmm0
movsd qword [ebp - 0xb508], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb508]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482335
mov eax, dword [ebp - 0x1f04]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb500]
addsd xmm1, xmm0
movsd qword [ebp - 0xb500], xmm1
jmp 0x482236
cvtsi2sd xmm0, dword [ebp - 0x1f04]
movsd xmm1, qword [ebp - 0xb500]
addsd xmm1, xmm0
movsd qword [ebp - 0xb510], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb510]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482392
mov eax, dword [ebp - 0x1f04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb500]
addsd xmm1, xmm0
movsd qword [ebp - 0xb500], xmm1
jmp 0x4823a6
xor eax, eax
je 0x4823a2
jmp 0x48245e
jmp 0x4823c9
cvtsi2sd xmm0, dword [ebp - 0x1f04]
movsd xmm1, qword [ebp - 0xb500]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f08], eax
jmp 0x482468
xor eax, eax
inc eax
je 0x4823d4
jmp 0x4823e3
jmp 0x482236
jmp 0x482236
xor eax, eax
inc eax
je 0x48245e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f0c], eax
cvtsi2sd xmm0, dword [ebp - 0x1f0c]
mov eax, dword [ebp - 0x1f0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb500]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f08], eax
jmp 0x482468
mov dword [ebp - 0x1f08], 7
mov eax, dword [ebp - 0x1ec4]
shl eax, 2
add eax, dword [ebp - 0x1ec0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f08]
mov ecx, dword [ebp - 0x1ec4]
shl ecx, 2
add ecx, dword [ebp - 0x1ec0]
mov dword [ecx], eax
jmp 0x481416
mov eax, dword [ebp - 0x1ebc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1f10], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1f10]
mov eax, dword [eax]
mov dword [ebp - 0x1f14], eax
xor eax, eax
mov byte [ebp - 0x57], al
lea ecx, [ebp - 0x57]
call fcn.00417e02
mov dword [ebp - 0x1f18], eax
mov eax, dword [ebp - 0x1f18]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x483578
mov eax, dword [ebp - 0x1f18]
mov dword [ebp - 0x1f1c], eax
and dword [ebp - 0x1f20], 0
jmp 0x482506
mov eax, dword [ebp - 0x1f20]
inc eax
mov dword [ebp - 0x1f20], eax
cmp dword [ebp - 0x1f20], 1
jae 0x483578
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4827d0
xor eax, eax
je 0x482550
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48258c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb518], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x482723
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482723
and dword [ebp - 0x1f24], 0
jmp 0x482606
cmp dword [ebp - 0x1f24], 0xa
jae 0x48271e
cvtsi2sd xmm0, dword [ebp - 0x1f24]
movsd xmm1, qword [ebp - 0xb518]
addsd xmm1, xmm0
movsd qword [ebp - 0xb520], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb520]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482675
mov eax, dword [ebp - 0x1f24]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb518]
addsd xmm1, xmm0
movsd qword [ebp - 0xb518], xmm1
jmp 0x482576
cvtsi2sd xmm0, dword [ebp - 0x1f24]
movsd xmm1, qword [ebp - 0xb518]
addsd xmm1, xmm0
movsd qword [ebp - 0xb528], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb528]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4826d2
mov eax, dword [ebp - 0x1f24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb518]
addsd xmm1, xmm0
movsd qword [ebp - 0xb518], xmm1
jmp 0x4826e6
xor eax, eax
je 0x4826e2
jmp 0x48279e
jmp 0x482709
cvtsi2sd xmm0, dword [ebp - 0x1f24]
movsd xmm1, qword [ebp - 0xb518]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f28], eax
jmp 0x4827a8
xor eax, eax
inc eax
je 0x482714
jmp 0x482723
jmp 0x482576
jmp 0x482576
xor eax, eax
inc eax
je 0x48279e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f2c], eax
cvtsi2sd xmm0, dword [ebp - 0x1f2c]
mov eax, dword [ebp - 0x1f2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb518]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f28], eax
jmp 0x4827a8
mov dword [ebp - 0x1f28], 7
mov eax, dword [ebp - 0x1f20]
shl eax, 2
add eax, dword [ebp - 0x1f1c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f28]
mov ecx, dword [ebp - 0x1f20]
shl ecx, 2
add ecx, dword [ebp - 0x1f1c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4832b6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482ad2
xor eax, eax
je 0x482852
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48288e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb530], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x482a25
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482a25
and dword [ebp - 0x1f30], 0
jmp 0x482908
cmp dword [ebp - 0x1f30], 0xa
jae 0x482a20
cvtsi2sd xmm0, dword [ebp - 0x1f30]
movsd xmm1, qword [ebp - 0xb530]
addsd xmm1, xmm0
movsd qword [ebp - 0xb538], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482977
mov eax, dword [ebp - 0x1f30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb530]
addsd xmm1, xmm0
movsd qword [ebp - 0xb530], xmm1
jmp 0x482878
cvtsi2sd xmm0, dword [ebp - 0x1f30]
movsd xmm1, qword [ebp - 0xb530]
addsd xmm1, xmm0
movsd qword [ebp - 0xb540], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb540]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4829d4
mov eax, dword [ebp - 0x1f30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb530]
addsd xmm1, xmm0
movsd qword [ebp - 0xb530], xmm1
jmp 0x4829e8
xor eax, eax
je 0x4829e4
jmp 0x482aa0
jmp 0x482a0b
cvtsi2sd xmm0, dword [ebp - 0x1f30]
movsd xmm1, qword [ebp - 0xb530]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f34], eax
jmp 0x482aaa
xor eax, eax
inc eax
je 0x482a16
jmp 0x482a25
jmp 0x482878
jmp 0x482878
xor eax, eax
inc eax
je 0x482aa0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f38], eax
cvtsi2sd xmm0, dword [ebp - 0x1f38]
mov eax, dword [ebp - 0x1f38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb530]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f34], eax
jmp 0x482aaa
mov dword [ebp - 0x1f34], 7
mov eax, dword [ebp - 0x1f20]
shl eax, 2
add eax, dword [ebp - 0x1f1c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f34]
mov ecx, dword [ebp - 0x1f20]
shl ecx, 2
add ecx, dword [ebp - 0x1f1c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482d8f
xor eax, eax
je 0x482b0f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x482b4b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb548], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x482ce2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482ce2
and dword [ebp - 0x1f3c], 0
jmp 0x482bc5
cmp dword [ebp - 0x1f3c], 0xa
jae 0x482cdd
cvtsi2sd xmm0, dword [ebp - 0x1f3c]
movsd xmm1, qword [ebp - 0xb548]
addsd xmm1, xmm0
movsd qword [ebp - 0xb550], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb550]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482c34
mov eax, dword [ebp - 0x1f3c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb548]
addsd xmm1, xmm0
movsd qword [ebp - 0xb548], xmm1
jmp 0x482b35
cvtsi2sd xmm0, dword [ebp - 0x1f3c]
movsd xmm1, qword [ebp - 0xb548]
addsd xmm1, xmm0
movsd qword [ebp - 0xb558], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482c91
mov eax, dword [ebp - 0x1f3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb548]
addsd xmm1, xmm0
movsd qword [ebp - 0xb548], xmm1
jmp 0x482ca5
xor eax, eax
je 0x482ca1
jmp 0x482d5d
jmp 0x482cc8
cvtsi2sd xmm0, dword [ebp - 0x1f3c]
movsd xmm1, qword [ebp - 0xb548]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f40], eax
jmp 0x482d67
xor eax, eax
inc eax
je 0x482cd3
jmp 0x482ce2
jmp 0x482b35
jmp 0x482b35
xor eax, eax
inc eax
je 0x482d5d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f44], eax
cvtsi2sd xmm0, dword [ebp - 0x1f44]
mov eax, dword [ebp - 0x1f44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb548]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f40], eax
jmp 0x482d67
mov dword [ebp - 0x1f40], 7
mov eax, dword [ebp - 0x1f20]
shl eax, 2
add eax, dword [ebp - 0x1f1c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f40]
mov ecx, dword [ebp - 0x1f20]
shl ecx, 2
add ecx, dword [ebp - 0x1f1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1f20]
add eax, 0xffffffc0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb560], xmm0
xor eax, eax
je 0x482da9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x482de5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb560]
movsd qword [ebp - 0xb568], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x482f7c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x482f7c
and dword [ebp - 0x1f48], 0
jmp 0x482e5f
cmp dword [ebp - 0x1f48], 0xa
jae 0x482f77
cvtsi2sd xmm0, dword [ebp - 0x1f48]
movsd xmm1, qword [ebp - 0xb568]
addsd xmm1, xmm0
movsd qword [ebp - 0xb570], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb570]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482ece
mov eax, dword [ebp - 0x1f48]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb568]
addsd xmm1, xmm0
movsd qword [ebp - 0xb568], xmm1
jmp 0x482dcf
cvtsi2sd xmm0, dword [ebp - 0x1f48]
movsd xmm1, qword [ebp - 0xb568]
addsd xmm1, xmm0
movsd qword [ebp - 0xb578], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482f2b
mov eax, dword [ebp - 0x1f48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb568]
addsd xmm1, xmm0
movsd qword [ebp - 0xb568], xmm1
jmp 0x482f3f
xor eax, eax
je 0x482f3b
jmp 0x482ff7
jmp 0x482f62
cvtsi2sd xmm0, dword [ebp - 0x1f48]
movsd xmm1, qword [ebp - 0xb568]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f4c], eax
jmp 0x483001
xor eax, eax
inc eax
je 0x482f6d
jmp 0x482f7c
jmp 0x482dcf
jmp 0x482dcf
xor eax, eax
inc eax
je 0x482ff7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f50], eax
cvtsi2sd xmm0, dword [ebp - 0x1f50]
mov eax, dword [ebp - 0x1f50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb568]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f4c], eax
jmp 0x483001
mov dword [ebp - 0x1f4c], 7
mov eax, dword [ebp - 0x1f20]
add eax, 0xffffffc0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb580], xmm0
xor eax, eax
je 0x48301b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x483057
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb580]
movsd qword [ebp - 0xb588], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4831ee
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4831ee
and dword [ebp - 0x1f54], 0
jmp 0x4830d1
cmp dword [ebp - 0x1f54], 0xa
jae 0x4831e9
cvtsi2sd xmm0, dword [ebp - 0x1f54]
movsd xmm1, qword [ebp - 0xb588]
addsd xmm1, xmm0
movsd qword [ebp - 0xb590], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb590]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483140
mov eax, dword [ebp - 0x1f54]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb588]
addsd xmm1, xmm0
movsd qword [ebp - 0xb588], xmm1
jmp 0x483041
cvtsi2sd xmm0, dword [ebp - 0x1f54]
movsd xmm1, qword [ebp - 0xb588]
addsd xmm1, xmm0
movsd qword [ebp - 0xb598], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48319d
mov eax, dword [ebp - 0x1f54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb588]
addsd xmm1, xmm0
movsd qword [ebp - 0xb588], xmm1
jmp 0x4831b1
xor eax, eax
je 0x4831ad
jmp 0x483269
jmp 0x4831d4
cvtsi2sd xmm0, dword [ebp - 0x1f54]
movsd xmm1, qword [ebp - 0xb588]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f58], eax
jmp 0x483273
xor eax, eax
inc eax
je 0x4831df
jmp 0x4831ee
jmp 0x483041
jmp 0x483041
xor eax, eax
inc eax
je 0x483269
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f5c], eax
cvtsi2sd xmm0, dword [ebp - 0x1f5c]
mov eax, dword [ebp - 0x1f5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb588]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f58], eax
jmp 0x483273
mov dword [ebp - 0x1f58], 7
mov eax, dword [ebp - 0x1f20]
shl eax, 2
add eax, dword [ebp - 0x1f1c]
mov eax, dword [eax]
add eax, dword [ebp - 0x1f4c]
mov ecx, dword [ebp - 0x1f20]
shl ecx, 2
add ecx, dword [ebp - 0x1f1c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1f58]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1f20]
shl ecx, 2
add ecx, dword [ebp - 0x1f1c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x483573
xor eax, eax
je 0x4832f3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48332f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb5a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4834c6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4834c6
and dword [ebp - 0x1f60], 0
jmp 0x4833a9
cmp dword [ebp - 0x1f60], 0xa
jae 0x4834c1
cvtsi2sd xmm0, dword [ebp - 0x1f60]
movsd xmm1, qword [ebp - 0xb5a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483418
mov eax, dword [ebp - 0x1f60]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5a0], xmm1
jmp 0x483319
cvtsi2sd xmm0, dword [ebp - 0x1f60]
movsd xmm1, qword [ebp - 0xb5a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483475
mov eax, dword [ebp - 0x1f60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5a0], xmm1
jmp 0x483489
xor eax, eax
je 0x483485
jmp 0x483541
jmp 0x4834ac
cvtsi2sd xmm0, dword [ebp - 0x1f60]
movsd xmm1, qword [ebp - 0xb5a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f64], eax
jmp 0x48354b
xor eax, eax
inc eax
je 0x4834b7
jmp 0x4834c6
jmp 0x483319
jmp 0x483319
xor eax, eax
inc eax
je 0x483541
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f68], eax
cvtsi2sd xmm0, dword [ebp - 0x1f68]
mov eax, dword [ebp - 0x1f68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb5a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f64], eax
jmp 0x48354b
mov dword [ebp - 0x1f64], 7
mov eax, dword [ebp - 0x1f20]
shl eax, 2
add eax, dword [ebp - 0x1f1c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f64]
mov ecx, dword [ebp - 0x1f20]
shl ecx, 2
add ecx, dword [ebp - 0x1f1c]
mov dword [ecx], eax
jmp 0x4824f9
mov eax, dword [ebp - 0x1f18]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1f18]
mov dword [ebp - 0x1f6c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1f6c]
mov eax, dword [eax]
mov dword [ebp - 0x1f70], eax
mov eax, dword [ebp - 0x1f14]
mov dword [ebp - 0x1eb8], eax
cmp dword [ebp - 0x1eb8], 0
je 0x48469e
xor eax, eax
mov byte [ebp - 0x58], al
lea ecx, [ebp - 0x58]
call fcn.00415734
mov dword [ebp - 0x1f74], eax
mov eax, dword [ebp - 0x1f74]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x484674
mov eax, dword [ebp - 0x1f74]
mov dword [ebp - 0x1f78], eax
and dword [ebp - 0x1f7c], 0
jmp 0x483602
mov eax, dword [ebp - 0x1f7c]
inc eax
mov dword [ebp - 0x1f7c], eax
cmp dword [ebp - 0x1f7c], 1
jae 0x484674
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4838cc
xor eax, eax
je 0x48364c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x483688
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e38]
movsd qword [ebp - 0xb5b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48381f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48381f
and dword [ebp - 0x1f80], 0
jmp 0x483702
cmp dword [ebp - 0x1f80], 0xa
jae 0x48381a
cvtsi2sd xmm0, dword [ebp - 0x1f80]
movsd xmm1, qword [ebp - 0xb5b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483771
mov eax, dword [ebp - 0x1f80]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5b8], xmm1
jmp 0x483672
cvtsi2sd xmm0, dword [ebp - 0x1f80]
movsd xmm1, qword [ebp - 0xb5b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4837ce
mov eax, dword [ebp - 0x1f80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5b8], xmm1
jmp 0x4837e2
xor eax, eax
je 0x4837de
jmp 0x48389a
jmp 0x483805
cvtsi2sd xmm0, dword [ebp - 0x1f80]
movsd xmm1, qword [ebp - 0xb5b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f84], eax
jmp 0x4838a4
xor eax, eax
inc eax
je 0x483810
jmp 0x48381f
jmp 0x483672
jmp 0x483672
xor eax, eax
inc eax
je 0x48389a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f88], eax
cvtsi2sd xmm0, dword [ebp - 0x1f88]
mov eax, dword [ebp - 0x1f88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb5b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f84], eax
jmp 0x4838a4
mov dword [ebp - 0x1f84], 7
mov eax, dword [ebp - 0x1f7c]
shl eax, 2
add eax, dword [ebp - 0x1f78]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f84]
mov ecx, dword [ebp - 0x1f7c]
shl ecx, 2
add ecx, dword [ebp - 0x1f78]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4843b2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x483bce
xor eax, eax
je 0x48394e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48398a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb5d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x483b21
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x483b21
and dword [ebp - 0x1f8c], 0
jmp 0x483a04
cmp dword [ebp - 0x1f8c], 0xa
jae 0x483b1c
cvtsi2sd xmm0, dword [ebp - 0x1f8c]
movsd xmm1, qword [ebp - 0xb5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483a73
mov eax, dword [ebp - 0x1f8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5d0], xmm1
jmp 0x483974
cvtsi2sd xmm0, dword [ebp - 0x1f8c]
movsd xmm1, qword [ebp - 0xb5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483ad0
mov eax, dword [ebp - 0x1f8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5d0], xmm1
jmp 0x483ae4
xor eax, eax
je 0x483ae0
jmp 0x483b9c
jmp 0x483b07
cvtsi2sd xmm0, dword [ebp - 0x1f8c]
movsd xmm1, qword [ebp - 0xb5d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f90], eax
jmp 0x483ba6
xor eax, eax
inc eax
je 0x483b12
jmp 0x483b21
jmp 0x483974
jmp 0x483974
xor eax, eax
inc eax
je 0x483b9c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1f94], eax
cvtsi2sd xmm0, dword [ebp - 0x1f94]
mov eax, dword [ebp - 0x1f94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb5d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f90], eax
jmp 0x483ba6
mov dword [ebp - 0x1f90], 7
mov eax, dword [ebp - 0x1f7c]
shl eax, 2
add eax, dword [ebp - 0x1f78]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f90]
mov ecx, dword [ebp - 0x1f7c]
shl ecx, 2
add ecx, dword [ebp - 0x1f78]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x483e8b
xor eax, eax
je 0x483c0b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x483c47
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb5e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x483dde
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x483dde
and dword [ebp - 0x1f98], 0
jmp 0x483cc1
cmp dword [ebp - 0x1f98], 0xa
jae 0x483dd9
cvtsi2sd xmm0, dword [ebp - 0x1f98]
movsd xmm1, qword [ebp - 0xb5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483d30
mov eax, dword [ebp - 0x1f98]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5e8], xmm1
jmp 0x483c31
cvtsi2sd xmm0, dword [ebp - 0x1f98]
movsd xmm1, qword [ebp - 0xb5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483d8d
mov eax, dword [ebp - 0x1f98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5e8], xmm1
jmp 0x483da1
xor eax, eax
je 0x483d9d
jmp 0x483e59
jmp 0x483dc4
cvtsi2sd xmm0, dword [ebp - 0x1f98]
movsd xmm1, qword [ebp - 0xb5e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f9c], eax
jmp 0x483e63
xor eax, eax
inc eax
je 0x483dcf
jmp 0x483dde
jmp 0x483c31
jmp 0x483c31
xor eax, eax
inc eax
je 0x483e59
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1fa0], eax
cvtsi2sd xmm0, dword [ebp - 0x1fa0]
mov eax, dword [ebp - 0x1fa0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb5e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1f9c], eax
jmp 0x483e63
mov dword [ebp - 0x1f9c], 7
mov eax, dword [ebp - 0x1f7c]
shl eax, 2
add eax, dword [ebp - 0x1f78]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1f9c]
mov ecx, dword [ebp - 0x1f7c]
shl ecx, 2
add ecx, dword [ebp - 0x1f78]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1f7c]
add eax, 0xffffffc0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb600], xmm0
xor eax, eax
je 0x483ea5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x483ee1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb600]
movsd qword [ebp - 0xb608], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x484078
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x484078
and dword [ebp - 0x1fa4], 0
jmp 0x483f5b
cmp dword [ebp - 0x1fa4], 0xa
jae 0x484073
cvtsi2sd xmm0, dword [ebp - 0x1fa4]
movsd xmm1, qword [ebp - 0xb608]
addsd xmm1, xmm0
movsd qword [ebp - 0xb610], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb610]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483fca
mov eax, dword [ebp - 0x1fa4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb608]
addsd xmm1, xmm0
movsd qword [ebp - 0xb608], xmm1
jmp 0x483ecb
cvtsi2sd xmm0, dword [ebp - 0x1fa4]
movsd xmm1, qword [ebp - 0xb608]
addsd xmm1, xmm0
movsd qword [ebp - 0xb618], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484027
mov eax, dword [ebp - 0x1fa4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb608]
addsd xmm1, xmm0
movsd qword [ebp - 0xb608], xmm1
jmp 0x48403b
xor eax, eax
je 0x484037
jmp 0x4840f3
jmp 0x48405e
cvtsi2sd xmm0, dword [ebp - 0x1fa4]
movsd xmm1, qword [ebp - 0xb608]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fa8], eax
jmp 0x4840fd
xor eax, eax
inc eax
je 0x484069
jmp 0x484078
jmp 0x483ecb
jmp 0x483ecb
xor eax, eax
inc eax
je 0x4840f3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1fac], eax
cvtsi2sd xmm0, dword [ebp - 0x1fac]
mov eax, dword [ebp - 0x1fac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb608]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fa8], eax
jmp 0x4840fd
mov dword [ebp - 0x1fa8], 7
mov eax, dword [ebp - 0x1f7c]
add eax, 0xffffffc0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb620], xmm0
xor eax, eax
je 0x484117
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x484153
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb620]
movsd qword [ebp - 0xb628], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4842ea
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4842ea
and dword [ebp - 0x1fb0], 0
jmp 0x4841cd
cmp dword [ebp - 0x1fb0], 0xa
jae 0x4842e5
cvtsi2sd xmm0, dword [ebp - 0x1fb0]
movsd xmm1, qword [ebp - 0xb628]
addsd xmm1, xmm0
movsd qword [ebp - 0xb630], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb630]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48423c
mov eax, dword [ebp - 0x1fb0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb628]
addsd xmm1, xmm0
movsd qword [ebp - 0xb628], xmm1
jmp 0x48413d
cvtsi2sd xmm0, dword [ebp - 0x1fb0]
movsd xmm1, qword [ebp - 0xb628]
addsd xmm1, xmm0
movsd qword [ebp - 0xb638], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484299
mov eax, dword [ebp - 0x1fb0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb628]
addsd xmm1, xmm0
movsd qword [ebp - 0xb628], xmm1
jmp 0x4842ad
xor eax, eax
je 0x4842a9
jmp 0x484365
jmp 0x4842d0
cvtsi2sd xmm0, dword [ebp - 0x1fb0]
movsd xmm1, qword [ebp - 0xb628]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fb4], eax
jmp 0x48436f
xor eax, eax
inc eax
je 0x4842db
jmp 0x4842ea
jmp 0x48413d
jmp 0x48413d
xor eax, eax
inc eax
je 0x484365
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1fb8], eax
cvtsi2sd xmm0, dword [ebp - 0x1fb8]
mov eax, dword [ebp - 0x1fb8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb628]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fb4], eax
jmp 0x48436f
mov dword [ebp - 0x1fb4], 7
mov eax, dword [ebp - 0x1f7c]
shl eax, 2
add eax, dword [ebp - 0x1f78]
mov eax, dword [eax]
add eax, dword [ebp - 0x1fa8]
mov ecx, dword [ebp - 0x1f7c]
shl ecx, 2
add ecx, dword [ebp - 0x1f78]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x1fb4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1f7c]
shl ecx, 2
add ecx, dword [ebp - 0x1f78]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48466f
xor eax, eax
je 0x4843ef
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48442b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb640], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4845c2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4845c2
and dword [ebp - 0x1fbc], 0
jmp 0x4844a5
cmp dword [ebp - 0x1fbc], 0xa
jae 0x4845bd
cvtsi2sd xmm0, dword [ebp - 0x1fbc]
movsd xmm1, qword [ebp - 0xb640]
addsd xmm1, xmm0
movsd qword [ebp - 0xb648], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb648]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484514
mov eax, dword [ebp - 0x1fbc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb640]
addsd xmm1, xmm0
movsd qword [ebp - 0xb640], xmm1
jmp 0x484415
cvtsi2sd xmm0, dword [ebp - 0x1fbc]
movsd xmm1, qword [ebp - 0xb640]
addsd xmm1, xmm0
movsd qword [ebp - 0xb650], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb650]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484571
mov eax, dword [ebp - 0x1fbc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb640]
addsd xmm1, xmm0
movsd qword [ebp - 0xb640], xmm1
jmp 0x484585
xor eax, eax
je 0x484581
jmp 0x48463d
jmp 0x4845a8
cvtsi2sd xmm0, dword [ebp - 0x1fbc]
movsd xmm1, qword [ebp - 0xb640]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fc0], eax
jmp 0x484647
xor eax, eax
inc eax
je 0x4845b3
jmp 0x4845c2
jmp 0x484415
jmp 0x484415
xor eax, eax
inc eax
je 0x48463d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1fc4], eax
cvtsi2sd xmm0, dword [ebp - 0x1fc4]
mov eax, dword [ebp - 0x1fc4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb640]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fc0], eax
jmp 0x484647
mov dword [ebp - 0x1fc0], 7
mov eax, dword [ebp - 0x1f7c]
shl eax, 2
add eax, dword [ebp - 0x1f78]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1fc0]
mov ecx, dword [ebp - 0x1f7c]
shl ecx, 2
add ecx, dword [ebp - 0x1f78]
mov dword [ecx], eax
jmp 0x4835f5
mov eax, dword [ebp - 0x1f74]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1f74]
mov dword [ebp - 0x1fc8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x1fc8]
mov eax, dword [eax]
mov dword [ebp - 0x1f70], eax
mov eax, dword [ebp - 0x16078]
mov dword [ebp - 0x1fcc], eax
push 0x173
push 0xe8d11b2d
push 0xf
push 0
call fcn.005c17f6
add esp, 0x10
mov dword [ebp - 0x1fd0], eax
lea eax, [ebp - 0x1fd4]
push eax
push dword [ebp - 0x1fcc]
call dword [ebp - 0x1fd0]
xor eax, eax
mov byte [ebp - 0x59], al
lea ecx, [ebp - 0x59]
call fcn.00415c48
mov dword [ebp - 0x1fd8], eax
mov eax, dword [ebp - 0x1fd8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x485792
mov eax, dword [ebp - 0x1fd8]
mov dword [ebp - 0x1fdc], eax
and dword [ebp - 0x1fe0], 0
jmp 0x484720
mov eax, dword [ebp - 0x1fe0]
inc eax
mov dword [ebp - 0x1fe0], eax
cmp dword [ebp - 0x1fe0], 1
jae 0x485792
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4849ea
xor eax, eax
je 0x48476a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4847a6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb658], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48493d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48493d
and dword [ebp - 0x1fe4], 0
jmp 0x484820
cmp dword [ebp - 0x1fe4], 0xa
jae 0x484938
cvtsi2sd xmm0, dword [ebp - 0x1fe4]
movsd xmm1, qword [ebp - 0xb658]
addsd xmm1, xmm0
movsd qword [ebp - 0xb660], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb660]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48488f
mov eax, dword [ebp - 0x1fe4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb658]
addsd xmm1, xmm0
movsd qword [ebp - 0xb658], xmm1
jmp 0x484790
cvtsi2sd xmm0, dword [ebp - 0x1fe4]
movsd xmm1, qword [ebp - 0xb658]
addsd xmm1, xmm0
movsd qword [ebp - 0xb668], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb668]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4848ec
mov eax, dword [ebp - 0x1fe4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb658]
addsd xmm1, xmm0
movsd qword [ebp - 0xb658], xmm1
jmp 0x484900
xor eax, eax
je 0x4848fc
jmp 0x4849b8
jmp 0x484923
cvtsi2sd xmm0, dword [ebp - 0x1fe4]
movsd xmm1, qword [ebp - 0xb658]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fe8], eax
jmp 0x4849c2
xor eax, eax
inc eax
je 0x48492e
jmp 0x48493d
jmp 0x484790
jmp 0x484790
xor eax, eax
inc eax
je 0x4849b8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1fec], eax
cvtsi2sd xmm0, dword [ebp - 0x1fec]
mov eax, dword [ebp - 0x1fec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb658]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1fe8], eax
jmp 0x4849c2
mov dword [ebp - 0x1fe8], 7
mov eax, dword [ebp - 0x1fe0]
shl eax, 2
add eax, dword [ebp - 0x1fdc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1fe8]
mov ecx, dword [ebp - 0x1fe0]
shl ecx, 2
add ecx, dword [ebp - 0x1fdc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4854d0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x484cec
xor eax, eax
je 0x484a6c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x484aa8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb670], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x484c3f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x484c3f
and dword [ebp - 0x1ff0], 0
jmp 0x484b22
cmp dword [ebp - 0x1ff0], 0xa
jae 0x484c3a
cvtsi2sd xmm0, dword [ebp - 0x1ff0]
movsd xmm1, qword [ebp - 0xb670]
addsd xmm1, xmm0
movsd qword [ebp - 0xb678], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484b91
mov eax, dword [ebp - 0x1ff0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb670]
addsd xmm1, xmm0
movsd qword [ebp - 0xb670], xmm1
jmp 0x484a92
cvtsi2sd xmm0, dword [ebp - 0x1ff0]
movsd xmm1, qword [ebp - 0xb670]
addsd xmm1, xmm0
movsd qword [ebp - 0xb680], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb680]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484bee
mov eax, dword [ebp - 0x1ff0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb670]
addsd xmm1, xmm0
movsd qword [ebp - 0xb670], xmm1
jmp 0x484c02
xor eax, eax
je 0x484bfe
jmp 0x484cba
jmp 0x484c25
cvtsi2sd xmm0, dword [ebp - 0x1ff0]
movsd xmm1, qword [ebp - 0xb670]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ff4], eax
jmp 0x484cc4
xor eax, eax
inc eax
je 0x484c30
jmp 0x484c3f
jmp 0x484a92
jmp 0x484a92
xor eax, eax
inc eax
je 0x484cba
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x1ff8], eax
cvtsi2sd xmm0, dword [ebp - 0x1ff8]
mov eax, dword [ebp - 0x1ff8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb670]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x1ff4], eax
jmp 0x484cc4
mov dword [ebp - 0x1ff4], 7
mov eax, dword [ebp - 0x1fe0]
shl eax, 2
add eax, dword [ebp - 0x1fdc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x1ff4]
mov ecx, dword [ebp - 0x1fe0]
shl ecx, 2
add ecx, dword [ebp - 0x1fdc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x484fa9
xor eax, eax
je 0x484d29
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x484d65
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb688], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x484efc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x484efc
and dword [ebp - 0x1ffc], 0
jmp 0x484ddf
cmp dword [ebp - 0x1ffc], 0xa
jae 0x484ef7
cvtsi2sd xmm0, dword [ebp - 0x1ffc]
movsd xmm1, qword [ebp - 0xb688]
addsd xmm1, xmm0
movsd qword [ebp - 0xb690], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb690]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484e4e
mov eax, dword [ebp - 0x1ffc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb688]
addsd xmm1, xmm0
movsd qword [ebp - 0xb688], xmm1
jmp 0x484d4f
cvtsi2sd xmm0, dword [ebp - 0x1ffc]
movsd xmm1, qword [ebp - 0xb688]
addsd xmm1, xmm0
movsd qword [ebp - 0xb698], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484eab
mov eax, dword [ebp - 0x1ffc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb688]
addsd xmm1, xmm0
movsd qword [ebp - 0xb688], xmm1
jmp 0x484ebf
xor eax, eax
je 0x484ebb
jmp 0x484f77
jmp 0x484ee2
cvtsi2sd xmm0, dword [ebp - 0x1ffc]
movsd xmm1, qword [ebp - 0xb688]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2000], eax
jmp 0x484f81
xor eax, eax
inc eax
je 0x484eed
jmp 0x484efc
jmp 0x484d4f
jmp 0x484d4f
xor eax, eax
inc eax
je 0x484f77
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2004], eax
cvtsi2sd xmm0, dword [ebp - 0x2004]
mov eax, dword [ebp - 0x2004]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb688]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2000], eax
jmp 0x484f81
mov dword [ebp - 0x2000], 7
mov eax, dword [ebp - 0x1fe0]
shl eax, 2
add eax, dword [ebp - 0x1fdc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2000]
mov ecx, dword [ebp - 0x1fe0]
shl ecx, 2
add ecx, dword [ebp - 0x1fdc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1fe0]
add eax, 0xffffffc1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb6a0], xmm0
xor eax, eax
je 0x484fc3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x484fff
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb6a0]
movsd qword [ebp - 0xb6a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x485196
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485196
and dword [ebp - 0x2008], 0
jmp 0x485079
cmp dword [ebp - 0x2008], 0xa
jae 0x485191
cvtsi2sd xmm0, dword [ebp - 0x2008]
movsd xmm1, qword [ebp - 0xb6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4850e8
mov eax, dword [ebp - 0x2008]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6a8], xmm1
jmp 0x484fe9
cvtsi2sd xmm0, dword [ebp - 0x2008]
movsd xmm1, qword [ebp - 0xb6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485145
mov eax, dword [ebp - 0x2008]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6a8], xmm1
jmp 0x485159
xor eax, eax
je 0x485155
jmp 0x485211
jmp 0x48517c
cvtsi2sd xmm0, dword [ebp - 0x2008]
movsd xmm1, qword [ebp - 0xb6a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x200c], eax
jmp 0x48521b
xor eax, eax
inc eax
je 0x485187
jmp 0x485196
jmp 0x484fe9
jmp 0x484fe9
xor eax, eax
inc eax
je 0x485211
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2010], eax
cvtsi2sd xmm0, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x2010]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb6a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x200c], eax
jmp 0x48521b
mov dword [ebp - 0x200c], 7
mov eax, dword [ebp - 0x1fe0]
add eax, 0xffffffc1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb6c0], xmm0
xor eax, eax
je 0x485235
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x485271
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb6c0]
movsd qword [ebp - 0xb6c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x485408
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485408
and dword [ebp - 0x2014], 0
jmp 0x4852eb
cmp dword [ebp - 0x2014], 0xa
jae 0x485403
cvtsi2sd xmm0, dword [ebp - 0x2014]
movsd xmm1, qword [ebp - 0xb6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48535a
mov eax, dword [ebp - 0x2014]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6c8], xmm1
jmp 0x48525b
cvtsi2sd xmm0, dword [ebp - 0x2014]
movsd xmm1, qword [ebp - 0xb6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4853b7
mov eax, dword [ebp - 0x2014]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6c8], xmm1
jmp 0x4853cb
xor eax, eax
je 0x4853c7
jmp 0x485483
jmp 0x4853ee
cvtsi2sd xmm0, dword [ebp - 0x2014]
movsd xmm1, qword [ebp - 0xb6c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2018], eax
jmp 0x48548d
xor eax, eax
inc eax
je 0x4853f9
jmp 0x485408
jmp 0x48525b
jmp 0x48525b
xor eax, eax
inc eax
je 0x485483
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x201c], eax
cvtsi2sd xmm0, dword [ebp - 0x201c]
mov eax, dword [ebp - 0x201c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb6c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2018], eax
jmp 0x48548d
mov dword [ebp - 0x2018], 7
mov eax, dword [ebp - 0x1fe0]
shl eax, 2
add eax, dword [ebp - 0x1fdc]
mov eax, dword [eax]
add eax, dword [ebp - 0x200c]
mov ecx, dword [ebp - 0x1fe0]
shl ecx, 2
add ecx, dword [ebp - 0x1fdc]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2018]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x1fe0]
shl ecx, 2
add ecx, dword [ebp - 0x1fdc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48578d
xor eax, eax
je 0x48550d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x485549
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xb6e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4856e0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4856e0
and dword [ebp - 0x2020], 0
jmp 0x4855c3
cmp dword [ebp - 0x2020], 0xa
jae 0x4856db
cvtsi2sd xmm0, dword [ebp - 0x2020]
movsd xmm1, qword [ebp - 0xb6e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485632
mov eax, dword [ebp - 0x2020]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6e0], xmm1
jmp 0x485533
cvtsi2sd xmm0, dword [ebp - 0x2020]
movsd xmm1, qword [ebp - 0xb6e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48568f
mov eax, dword [ebp - 0x2020]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6e0], xmm1
jmp 0x4856a3
xor eax, eax
je 0x48569f
jmp 0x48575b
jmp 0x4856c6
cvtsi2sd xmm0, dword [ebp - 0x2020]
movsd xmm1, qword [ebp - 0xb6e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2024], eax
jmp 0x485765
xor eax, eax
inc eax
je 0x4856d1
jmp 0x4856e0
jmp 0x485533
jmp 0x485533
xor eax, eax
inc eax
je 0x48575b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2028], eax
cvtsi2sd xmm0, dword [ebp - 0x2028]
mov eax, dword [ebp - 0x2028]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb6e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2024], eax
jmp 0x485765
mov dword [ebp - 0x2024], 7
mov eax, dword [ebp - 0x1fe0]
shl eax, 2
add eax, dword [ebp - 0x1fdc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2024]
mov ecx, dword [ebp - 0x1fe0]
shl ecx, 2
add ecx, dword [ebp - 0x1fdc]
mov dword [ecx], eax
jmp 0x484713
mov eax, dword [ebp - 0x1fd8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1fd8]
mov dword [ebp - 0x202c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x202c]
mov eax, dword [eax]
mov dword [ebp - 0x2030], eax
xor eax, eax
mov byte [ebp - 0x5a], al
lea ecx, [ebp - 0x5a]
call fcn.00414860
mov dword [ebp - 0x2034], eax
mov eax, dword [ebp - 0x2034]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x486875
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2038], eax
and dword [ebp - 0x203c], 0
jmp 0x485803
mov eax, dword [ebp - 0x203c]
inc eax
mov dword [ebp - 0x203c], eax
cmp dword [ebp - 0x203c], 1
jae 0x486875
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485acd
xor eax, eax
je 0x48584d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x485889
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e30]
movsd qword [ebp - 0xb6f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x485a20
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485a20
and dword [ebp - 0x2040], 0
jmp 0x485903
cmp dword [ebp - 0x2040], 0xa
jae 0x485a1b
cvtsi2sd xmm0, dword [ebp - 0x2040]
movsd xmm1, qword [ebp - 0xb6f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb700], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb700]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485972
mov eax, dword [ebp - 0x2040]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6f8], xmm1
jmp 0x485873
cvtsi2sd xmm0, dword [ebp - 0x2040]
movsd xmm1, qword [ebp - 0xb6f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb708], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb708]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4859cf
mov eax, dword [ebp - 0x2040]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6f8], xmm1
jmp 0x4859e3
xor eax, eax
je 0x4859df
jmp 0x485a9b
jmp 0x485a06
cvtsi2sd xmm0, dword [ebp - 0x2040]
movsd xmm1, qword [ebp - 0xb6f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2044], eax
jmp 0x485aa5
xor eax, eax
inc eax
je 0x485a11
jmp 0x485a20
jmp 0x485873
jmp 0x485873
xor eax, eax
inc eax
je 0x485a9b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2048], eax
cvtsi2sd xmm0, dword [ebp - 0x2048]
mov eax, dword [ebp - 0x2048]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb6f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2044], eax
jmp 0x485aa5
mov dword [ebp - 0x2044], 7
mov eax, dword [ebp - 0x203c]
shl eax, 2
add eax, dword [ebp - 0x2038]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2044]
mov ecx, dword [ebp - 0x203c]
shl ecx, 2
add ecx, dword [ebp - 0x2038]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4865b3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485dcf
xor eax, eax
je 0x485b4f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x485b8b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb710], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x485d22
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485d22
and dword [ebp - 0x204c], 0
jmp 0x485c05
cmp dword [ebp - 0x204c], 0xa
jae 0x485d1d
cvtsi2sd xmm0, dword [ebp - 0x204c]
movsd xmm1, qword [ebp - 0xb710]
addsd xmm1, xmm0
movsd qword [ebp - 0xb718], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485c74
mov eax, dword [ebp - 0x204c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb710]
addsd xmm1, xmm0
movsd qword [ebp - 0xb710], xmm1
jmp 0x485b75
cvtsi2sd xmm0, dword [ebp - 0x204c]
movsd xmm1, qword [ebp - 0xb710]
addsd xmm1, xmm0
movsd qword [ebp - 0xb720], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb720]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485cd1
mov eax, dword [ebp - 0x204c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb710]
addsd xmm1, xmm0
movsd qword [ebp - 0xb710], xmm1
jmp 0x485ce5
xor eax, eax
je 0x485ce1
jmp 0x485d9d
jmp 0x485d08
cvtsi2sd xmm0, dword [ebp - 0x204c]
movsd xmm1, qword [ebp - 0xb710]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2050], eax
jmp 0x485da7
xor eax, eax
inc eax
je 0x485d13
jmp 0x485d22
jmp 0x485b75
jmp 0x485b75
xor eax, eax
inc eax
je 0x485d9d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2054], eax
cvtsi2sd xmm0, dword [ebp - 0x2054]
mov eax, dword [ebp - 0x2054]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb710]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2050], eax
jmp 0x485da7
mov dword [ebp - 0x2050], 7
mov eax, dword [ebp - 0x203c]
shl eax, 2
add eax, dword [ebp - 0x2038]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2050]
mov ecx, dword [ebp - 0x203c]
shl ecx, 2
add ecx, dword [ebp - 0x2038]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48608c
xor eax, eax
je 0x485e0c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x485e48
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb728], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x485fdf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x485fdf
and dword [ebp - 0x2058], 0
jmp 0x485ec2
cmp dword [ebp - 0x2058], 0xa
jae 0x485fda
cvtsi2sd xmm0, dword [ebp - 0x2058]
movsd xmm1, qword [ebp - 0xb728]
addsd xmm1, xmm0
movsd qword [ebp - 0xb730], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb730]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485f31
mov eax, dword [ebp - 0x2058]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb728]
addsd xmm1, xmm0
movsd qword [ebp - 0xb728], xmm1
jmp 0x485e32
cvtsi2sd xmm0, dword [ebp - 0x2058]
movsd xmm1, qword [ebp - 0xb728]
addsd xmm1, xmm0
movsd qword [ebp - 0xb738], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485f8e
mov eax, dword [ebp - 0x2058]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb728]
addsd xmm1, xmm0
movsd qword [ebp - 0xb728], xmm1
jmp 0x485fa2
xor eax, eax
je 0x485f9e
jmp 0x48605a
jmp 0x485fc5
cvtsi2sd xmm0, dword [ebp - 0x2058]
movsd xmm1, qword [ebp - 0xb728]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x205c], eax
jmp 0x486064
xor eax, eax
inc eax
je 0x485fd0
jmp 0x485fdf
jmp 0x485e32
jmp 0x485e32
xor eax, eax
inc eax
je 0x48605a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2060], eax
cvtsi2sd xmm0, dword [ebp - 0x2060]
mov eax, dword [ebp - 0x2060]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb728]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x205c], eax
jmp 0x486064
mov dword [ebp - 0x205c], 7
mov eax, dword [ebp - 0x203c]
shl eax, 2
add eax, dword [ebp - 0x2038]
mov eax, dword [eax]
xor eax, dword [ebp - 0x205c]
mov ecx, dword [ebp - 0x203c]
shl ecx, 2
add ecx, dword [ebp - 0x2038]
mov dword [ecx], eax
mov eax, dword [ebp - 0x203c]
add eax, 0xffffffc1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb740], xmm0
xor eax, eax
je 0x4860a6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4860e2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb740]
movsd qword [ebp - 0xb748], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x486279
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x486279
and dword [ebp - 0x2064], 0
jmp 0x48615c
cmp dword [ebp - 0x2064], 0xa
jae 0x486274
cvtsi2sd xmm0, dword [ebp - 0x2064]
movsd xmm1, qword [ebp - 0xb748]
addsd xmm1, xmm0
movsd qword [ebp - 0xb750], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb750]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4861cb
mov eax, dword [ebp - 0x2064]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb748]
addsd xmm1, xmm0
movsd qword [ebp - 0xb748], xmm1
jmp 0x4860cc
cvtsi2sd xmm0, dword [ebp - 0x2064]
movsd xmm1, qword [ebp - 0xb748]
addsd xmm1, xmm0
movsd qword [ebp - 0xb758], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486228
mov eax, dword [ebp - 0x2064]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb748]
addsd xmm1, xmm0
movsd qword [ebp - 0xb748], xmm1
jmp 0x48623c
xor eax, eax
je 0x486238
jmp 0x4862f4
jmp 0x48625f
cvtsi2sd xmm0, dword [ebp - 0x2064]
movsd xmm1, qword [ebp - 0xb748]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2068], eax
jmp 0x4862fe
xor eax, eax
inc eax
je 0x48626a
jmp 0x486279
jmp 0x4860cc
jmp 0x4860cc
xor eax, eax
inc eax
je 0x4862f4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x206c], eax
cvtsi2sd xmm0, dword [ebp - 0x206c]
mov eax, dword [ebp - 0x206c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb748]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2068], eax
jmp 0x4862fe
mov dword [ebp - 0x2068], 7
mov eax, dword [ebp - 0x203c]
add eax, 0xffffffc1
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb760], xmm0
xor eax, eax
je 0x486318
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x486354
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb760]
movsd qword [ebp - 0xb768], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4864eb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4864eb
and dword [ebp - 0x2070], 0
jmp 0x4863ce
cmp dword [ebp - 0x2070], 0xa
jae 0x4864e6
cvtsi2sd xmm0, dword [ebp - 0x2070]
movsd xmm1, qword [ebp - 0xb768]
addsd xmm1, xmm0
movsd qword [ebp - 0xb770], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb770]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48643d
mov eax, dword [ebp - 0x2070]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb768]
addsd xmm1, xmm0
movsd qword [ebp - 0xb768], xmm1
jmp 0x48633e
cvtsi2sd xmm0, dword [ebp - 0x2070]
movsd xmm1, qword [ebp - 0xb768]
addsd xmm1, xmm0
movsd qword [ebp - 0xb778], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48649a
mov eax, dword [ebp - 0x2070]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb768]
addsd xmm1, xmm0
movsd qword [ebp - 0xb768], xmm1
jmp 0x4864ae
xor eax, eax
je 0x4864aa
jmp 0x486566
jmp 0x4864d1
cvtsi2sd xmm0, dword [ebp - 0x2070]
movsd xmm1, qword [ebp - 0xb768]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2074], eax
jmp 0x486570
xor eax, eax
inc eax
je 0x4864dc
jmp 0x4864eb
jmp 0x48633e
jmp 0x48633e
xor eax, eax
inc eax
je 0x486566
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2078], eax
cvtsi2sd xmm0, dword [ebp - 0x2078]
mov eax, dword [ebp - 0x2078]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb768]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2074], eax
jmp 0x486570
mov dword [ebp - 0x2074], 7
mov eax, dword [ebp - 0x203c]
shl eax, 2
add eax, dword [ebp - 0x2038]
mov eax, dword [eax]
add eax, dword [ebp - 0x2068]
mov ecx, dword [ebp - 0x203c]
shl ecx, 2
add ecx, dword [ebp - 0x2038]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2074]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x203c]
shl ecx, 2
add ecx, dword [ebp - 0x2038]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x486870
xor eax, eax
je 0x4865f0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48662c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xb780], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4867c3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4867c3
and dword [ebp - 0x207c], 0
jmp 0x4866a6
cmp dword [ebp - 0x207c], 0xa
jae 0x4867be
cvtsi2sd xmm0, dword [ebp - 0x207c]
movsd xmm1, qword [ebp - 0xb780]
addsd xmm1, xmm0
movsd qword [ebp - 0xb788], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb788]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486715
mov eax, dword [ebp - 0x207c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb780]
addsd xmm1, xmm0
movsd qword [ebp - 0xb780], xmm1
jmp 0x486616
cvtsi2sd xmm0, dword [ebp - 0x207c]
movsd xmm1, qword [ebp - 0xb780]
addsd xmm1, xmm0
movsd qword [ebp - 0xb790], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb790]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486772
mov eax, dword [ebp - 0x207c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb780]
addsd xmm1, xmm0
movsd qword [ebp - 0xb780], xmm1
jmp 0x486786
xor eax, eax
je 0x486782
jmp 0x48683e
jmp 0x4867a9
cvtsi2sd xmm0, dword [ebp - 0x207c]
movsd xmm1, qword [ebp - 0xb780]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2080], eax
jmp 0x486848
xor eax, eax
inc eax
je 0x4867b4
jmp 0x4867c3
jmp 0x486616
jmp 0x486616
xor eax, eax
inc eax
je 0x48683e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2084], eax
cvtsi2sd xmm0, dword [ebp - 0x2084]
mov eax, dword [ebp - 0x2084]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb780]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2080], eax
jmp 0x486848
mov dword [ebp - 0x2080], 7
mov eax, dword [ebp - 0x203c]
shl eax, 2
add eax, dword [ebp - 0x2038]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2080]
mov ecx, dword [ebp - 0x203c]
shl ecx, 2
add ecx, dword [ebp - 0x2038]
mov dword [ecx], eax
jmp 0x4857f6
mov eax, dword [ebp - 0x2034]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2034]
mov dword [ebp - 0x2088], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2088]
mov eax, dword [eax]
mov dword [ebp - 0x208c], eax
xor eax, eax
mov byte [ebp - 0x5b], al
lea ecx, [ebp - 0x5b]
call fcn.00418656
mov dword [ebp - 0x2090], eax
mov eax, dword [ebp - 0x2090]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x487958
mov eax, dword [ebp - 0x2090]
mov dword [ebp - 0x2094], eax
and dword [ebp - 0x2098], 0
jmp 0x4868e6
mov eax, dword [ebp - 0x2098]
inc eax
mov dword [ebp - 0x2098], eax
cmp dword [ebp - 0x2098], 1
jae 0x487958
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x486bb0
xor eax, eax
je 0x486930
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48696c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb798], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x486b03
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x486b03
and dword [ebp - 0x209c], 0
jmp 0x4869e6
cmp dword [ebp - 0x209c], 0xa
jae 0x486afe
cvtsi2sd xmm0, dword [ebp - 0x209c]
movsd xmm1, qword [ebp - 0xb798]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486a55
mov eax, dword [ebp - 0x209c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb798]
addsd xmm1, xmm0
movsd qword [ebp - 0xb798], xmm1
jmp 0x486956
cvtsi2sd xmm0, dword [ebp - 0x209c]
movsd xmm1, qword [ebp - 0xb798]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486ab2
mov eax, dword [ebp - 0x209c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb798]
addsd xmm1, xmm0
movsd qword [ebp - 0xb798], xmm1
jmp 0x486ac6
xor eax, eax
je 0x486ac2
jmp 0x486b7e
jmp 0x486ae9
cvtsi2sd xmm0, dword [ebp - 0x209c]
movsd xmm1, qword [ebp - 0xb798]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20a0], eax
jmp 0x486b88
xor eax, eax
inc eax
je 0x486af4
jmp 0x486b03
jmp 0x486956
jmp 0x486956
xor eax, eax
inc eax
je 0x486b7e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20a4], eax
cvtsi2sd xmm0, dword [ebp - 0x20a4]
mov eax, dword [ebp - 0x20a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb798]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20a0], eax
jmp 0x486b88
mov dword [ebp - 0x20a0], 7
mov eax, dword [ebp - 0x2098]
shl eax, 2
add eax, dword [ebp - 0x2094]
mov eax, dword [eax]
xor eax, dword [ebp - 0x20a0]
mov ecx, dword [ebp - 0x2098]
shl ecx, 2
add ecx, dword [ebp - 0x2094]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x487696
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x486eb2
xor eax, eax
je 0x486c32
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x486c6e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb7b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x486e05
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x486e05
and dword [ebp - 0x20a8], 0
jmp 0x486ce8
cmp dword [ebp - 0x20a8], 0xa
jae 0x486e00
cvtsi2sd xmm0, dword [ebp - 0x20a8]
movsd xmm1, qword [ebp - 0xb7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486d57
mov eax, dword [ebp - 0x20a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7b0], xmm1
jmp 0x486c58
cvtsi2sd xmm0, dword [ebp - 0x20a8]
movsd xmm1, qword [ebp - 0xb7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486db4
mov eax, dword [ebp - 0x20a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7b0], xmm1
jmp 0x486dc8
xor eax, eax
je 0x486dc4
jmp 0x486e80
jmp 0x486deb
cvtsi2sd xmm0, dword [ebp - 0x20a8]
movsd xmm1, qword [ebp - 0xb7b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20ac], eax
jmp 0x486e8a
xor eax, eax
inc eax
je 0x486df6
jmp 0x486e05
jmp 0x486c58
jmp 0x486c58
xor eax, eax
inc eax
je 0x486e80
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20b0], eax
cvtsi2sd xmm0, dword [ebp - 0x20b0]
mov eax, dword [ebp - 0x20b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb7b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20ac], eax
jmp 0x486e8a
mov dword [ebp - 0x20ac], 7
mov eax, dword [ebp - 0x2098]
shl eax, 2
add eax, dword [ebp - 0x2094]
mov eax, dword [eax]
xor eax, dword [ebp - 0x20ac]
mov ecx, dword [ebp - 0x2098]
shl ecx, 2
add ecx, dword [ebp - 0x2094]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48716f
xor eax, eax
je 0x486eef
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x486f2b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xb7c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4870c2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4870c2
and dword [ebp - 0x20b4], 0
jmp 0x486fa5
cmp dword [ebp - 0x20b4], 0xa
jae 0x4870bd
cvtsi2sd xmm0, dword [ebp - 0x20b4]
movsd xmm1, qword [ebp - 0xb7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487014
mov eax, dword [ebp - 0x20b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7c8], xmm1
jmp 0x486f15
cvtsi2sd xmm0, dword [ebp - 0x20b4]
movsd xmm1, qword [ebp - 0xb7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487071
mov eax, dword [ebp - 0x20b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7c8], xmm1
jmp 0x487085
xor eax, eax
je 0x487081
jmp 0x48713d
jmp 0x4870a8
cvtsi2sd xmm0, dword [ebp - 0x20b4]
movsd xmm1, qword [ebp - 0xb7c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20b8], eax
jmp 0x487147
xor eax, eax
inc eax
je 0x4870b3
jmp 0x4870c2
jmp 0x486f15
jmp 0x486f15
xor eax, eax
inc eax
je 0x48713d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20bc], eax
cvtsi2sd xmm0, dword [ebp - 0x20bc]
mov eax, dword [ebp - 0x20bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb7c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20b8], eax
jmp 0x487147
mov dword [ebp - 0x20b8], 7
mov eax, dword [ebp - 0x2098]
shl eax, 2
add eax, dword [ebp - 0x2094]
mov eax, dword [eax]
xor eax, dword [ebp - 0x20b8]
mov ecx, dword [ebp - 0x2098]
shl ecx, 2
add ecx, dword [ebp - 0x2094]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2098]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb7e0], xmm0
xor eax, eax
je 0x487189
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4871c5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb7e0]
movsd qword [ebp - 0xb7e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48735c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48735c
and dword [ebp - 0x20c0], 0
jmp 0x48723f
cmp dword [ebp - 0x20c0], 0xa
jae 0x487357
cvtsi2sd xmm0, dword [ebp - 0x20c0]
movsd xmm1, qword [ebp - 0xb7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4872ae
mov eax, dword [ebp - 0x20c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7e8], xmm1
jmp 0x4871af
cvtsi2sd xmm0, dword [ebp - 0x20c0]
movsd xmm1, qword [ebp - 0xb7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48730b
mov eax, dword [ebp - 0x20c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7e8], xmm1
jmp 0x48731f
xor eax, eax
je 0x48731b
jmp 0x4873d7
jmp 0x487342
cvtsi2sd xmm0, dword [ebp - 0x20c0]
movsd xmm1, qword [ebp - 0xb7e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20c4], eax
jmp 0x4873e1
xor eax, eax
inc eax
je 0x48734d
jmp 0x48735c
jmp 0x4871af
jmp 0x4871af
xor eax, eax
inc eax
je 0x4873d7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20c8], eax
cvtsi2sd xmm0, dword [ebp - 0x20c8]
mov eax, dword [ebp - 0x20c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb7e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20c4], eax
jmp 0x4873e1
mov dword [ebp - 0x20c4], 7
mov eax, dword [ebp - 0x2098]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb800], xmm0
xor eax, eax
je 0x4873fb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x487437
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb800]
movsd qword [ebp - 0xb808], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4875ce
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4875ce
and dword [ebp - 0x20cc], 0
jmp 0x4874b1
cmp dword [ebp - 0x20cc], 0xa
jae 0x4875c9
cvtsi2sd xmm0, dword [ebp - 0x20cc]
movsd xmm1, qword [ebp - 0xb808]
addsd xmm1, xmm0
movsd qword [ebp - 0xb810], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb810]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487520
mov eax, dword [ebp - 0x20cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb808]
addsd xmm1, xmm0
movsd qword [ebp - 0xb808], xmm1
jmp 0x487421
cvtsi2sd xmm0, dword [ebp - 0x20cc]
movsd xmm1, qword [ebp - 0xb808]
addsd xmm1, xmm0
movsd qword [ebp - 0xb818], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48757d
mov eax, dword [ebp - 0x20cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb808]
addsd xmm1, xmm0
movsd qword [ebp - 0xb808], xmm1
jmp 0x487591
xor eax, eax
je 0x48758d
jmp 0x487649
jmp 0x4875b4
cvtsi2sd xmm0, dword [ebp - 0x20cc]
movsd xmm1, qword [ebp - 0xb808]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20d0], eax
jmp 0x487653
xor eax, eax
inc eax
je 0x4875bf
jmp 0x4875ce
jmp 0x487421
jmp 0x487421
xor eax, eax
inc eax
je 0x487649
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20d4], eax
cvtsi2sd xmm0, dword [ebp - 0x20d4]
mov eax, dword [ebp - 0x20d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb808]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20d0], eax
jmp 0x487653
mov dword [ebp - 0x20d0], 7
mov eax, dword [ebp - 0x2098]
shl eax, 2
add eax, dword [ebp - 0x2094]
mov eax, dword [eax]
add eax, dword [ebp - 0x20c4]
mov ecx, dword [ebp - 0x2098]
shl ecx, 2
add ecx, dword [ebp - 0x2094]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x20d0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2098]
shl ecx, 2
add ecx, dword [ebp - 0x2094]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x487953
xor eax, eax
je 0x4876d3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48770f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xb820], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4878a6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4878a6
and dword [ebp - 0x20d8], 0
jmp 0x487789
cmp dword [ebp - 0x20d8], 0xa
jae 0x4878a1
cvtsi2sd xmm0, dword [ebp - 0x20d8]
movsd xmm1, qword [ebp - 0xb820]
addsd xmm1, xmm0
movsd qword [ebp - 0xb828], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb828]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4877f8
mov eax, dword [ebp - 0x20d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb820]
addsd xmm1, xmm0
movsd qword [ebp - 0xb820], xmm1
jmp 0x4876f9
cvtsi2sd xmm0, dword [ebp - 0x20d8]
movsd xmm1, qword [ebp - 0xb820]
addsd xmm1, xmm0
movsd qword [ebp - 0xb830], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb830]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487855
mov eax, dword [ebp - 0x20d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb820]
addsd xmm1, xmm0
movsd qword [ebp - 0xb820], xmm1
jmp 0x487869
xor eax, eax
je 0x487865
jmp 0x487921
jmp 0x48788c
cvtsi2sd xmm0, dword [ebp - 0x20d8]
movsd xmm1, qword [ebp - 0xb820]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20dc], eax
jmp 0x48792b
xor eax, eax
inc eax
je 0x487897
jmp 0x4878a6
jmp 0x4876f9
jmp 0x4876f9
xor eax, eax
inc eax
je 0x487921
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x20e0], eax
cvtsi2sd xmm0, dword [ebp - 0x20e0]
mov eax, dword [ebp - 0x20e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb820]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20dc], eax
jmp 0x48792b
mov dword [ebp - 0x20dc], 7
mov eax, dword [ebp - 0x2098]
shl eax, 2
add eax, dword [ebp - 0x2094]
mov eax, dword [eax]
xor eax, dword [ebp - 0x20dc]
mov ecx, dword [ebp - 0x2098]
shl ecx, 2
add ecx, dword [ebp - 0x2094]
mov dword [ecx], eax
jmp 0x4868d9
mov eax, dword [ebp - 0x2090]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2090]
mov dword [ebp - 0x20e4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x20e4]
mov eax, dword [eax]
mov dword [ebp - 0x20e8], eax
mov eax, dword [ebp - 0x208c]
mov dword [ebp - 0x2030], eax
cmp dword [ebp - 0x2030], 0
je 0x488a7e
xor eax, eax
mov byte [ebp - 0x5c], al
lea ecx, [ebp - 0x5c]
call fcn.00418212
mov dword [ebp - 0x20ec], eax
mov eax, dword [ebp - 0x20ec]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x488a54
mov eax, dword [ebp - 0x20ec]
mov dword [ebp - 0x20f0], eax
and dword [ebp - 0x20f4], 0
jmp 0x4879e2
mov eax, dword [ebp - 0x20f4]
inc eax
mov dword [ebp - 0x20f4], eax
cmp dword [ebp - 0x20f4], 1
jae 0x488a54
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x487cac
xor eax, eax
je 0x487a2c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x487a68
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb838], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x487bff
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x487bff
and dword [ebp - 0x20f8], 0
jmp 0x487ae2
cmp dword [ebp - 0x20f8], 0xa
jae 0x487bfa
cvtsi2sd xmm0, dword [ebp - 0x20f8]
movsd xmm1, qword [ebp - 0xb838]
addsd xmm1, xmm0
movsd qword [ebp - 0xb840], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb840]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487b51
mov eax, dword [ebp - 0x20f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb838]
addsd xmm1, xmm0
movsd qword [ebp - 0xb838], xmm1
jmp 0x487a52
cvtsi2sd xmm0, dword [ebp - 0x20f8]
movsd xmm1, qword [ebp - 0xb838]
addsd xmm1, xmm0
movsd qword [ebp - 0xb848], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb848]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487bae
mov eax, dword [ebp - 0x20f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb838]
addsd xmm1, xmm0
movsd qword [ebp - 0xb838], xmm1
jmp 0x487bc2
xor eax, eax
je 0x487bbe
jmp 0x487c7a
jmp 0x487be5
cvtsi2sd xmm0, dword [ebp - 0x20f8]
movsd xmm1, qword [ebp - 0xb838]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20fc], eax
jmp 0x487c84
xor eax, eax
inc eax
je 0x487bf0
jmp 0x487bff
jmp 0x487a52
jmp 0x487a52
xor eax, eax
inc eax
je 0x487c7a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2100], eax
cvtsi2sd xmm0, dword [ebp - 0x2100]
mov eax, dword [ebp - 0x2100]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb838]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x20fc], eax
jmp 0x487c84
mov dword [ebp - 0x20fc], 7
mov eax, dword [ebp - 0x20f4]
shl eax, 2
add eax, dword [ebp - 0x20f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x20fc]
mov ecx, dword [ebp - 0x20f4]
shl ecx, 2
add ecx, dword [ebp - 0x20f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x488792
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x487fae
xor eax, eax
je 0x487d2e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x487d6a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb850], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x487f01
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x487f01
and dword [ebp - 0x2104], 0
jmp 0x487de4
cmp dword [ebp - 0x2104], 0xa
jae 0x487efc
cvtsi2sd xmm0, dword [ebp - 0x2104]
movsd xmm1, qword [ebp - 0xb850]
addsd xmm1, xmm0
movsd qword [ebp - 0xb858], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487e53
mov eax, dword [ebp - 0x2104]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb850]
addsd xmm1, xmm0
movsd qword [ebp - 0xb850], xmm1
jmp 0x487d54
cvtsi2sd xmm0, dword [ebp - 0x2104]
movsd xmm1, qword [ebp - 0xb850]
addsd xmm1, xmm0
movsd qword [ebp - 0xb860], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb860]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487eb0
mov eax, dword [ebp - 0x2104]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb850]
addsd xmm1, xmm0
movsd qword [ebp - 0xb850], xmm1
jmp 0x487ec4
xor eax, eax
je 0x487ec0
jmp 0x487f7c
jmp 0x487ee7
cvtsi2sd xmm0, dword [ebp - 0x2104]
movsd xmm1, qword [ebp - 0xb850]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2108], eax
jmp 0x487f86
xor eax, eax
inc eax
je 0x487ef2
jmp 0x487f01
jmp 0x487d54
jmp 0x487d54
xor eax, eax
inc eax
je 0x487f7c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x210c], eax
cvtsi2sd xmm0, dword [ebp - 0x210c]
mov eax, dword [ebp - 0x210c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb850]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2108], eax
jmp 0x487f86
mov dword [ebp - 0x2108], 7
mov eax, dword [ebp - 0x20f4]
shl eax, 2
add eax, dword [ebp - 0x20f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2108]
mov ecx, dword [ebp - 0x20f4]
shl ecx, 2
add ecx, dword [ebp - 0x20f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48826b
xor eax, eax
je 0x487feb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x488027
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xb868], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4881be
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4881be
and dword [ebp - 0x2110], 0
jmp 0x4880a1
cmp dword [ebp - 0x2110], 0xa
jae 0x4881b9
cvtsi2sd xmm0, dword [ebp - 0x2110]
movsd xmm1, qword [ebp - 0xb868]
addsd xmm1, xmm0
movsd qword [ebp - 0xb870], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb870]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488110
mov eax, dword [ebp - 0x2110]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb868]
addsd xmm1, xmm0
movsd qword [ebp - 0xb868], xmm1
jmp 0x488011
cvtsi2sd xmm0, dword [ebp - 0x2110]
movsd xmm1, qword [ebp - 0xb868]
addsd xmm1, xmm0
movsd qword [ebp - 0xb878], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48816d
mov eax, dword [ebp - 0x2110]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb868]
addsd xmm1, xmm0
movsd qword [ebp - 0xb868], xmm1
jmp 0x488181
xor eax, eax
je 0x48817d
jmp 0x488239
jmp 0x4881a4
cvtsi2sd xmm0, dword [ebp - 0x2110]
movsd xmm1, qword [ebp - 0xb868]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2114], eax
jmp 0x488243
xor eax, eax
inc eax
je 0x4881af
jmp 0x4881be
jmp 0x488011
jmp 0x488011
xor eax, eax
inc eax
je 0x488239
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2118], eax
cvtsi2sd xmm0, dword [ebp - 0x2118]
mov eax, dword [ebp - 0x2118]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb868]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2114], eax
jmp 0x488243
mov dword [ebp - 0x2114], 7
mov eax, dword [ebp - 0x20f4]
shl eax, 2
add eax, dword [ebp - 0x20f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2114]
mov ecx, dword [ebp - 0x20f4]
shl ecx, 2
add ecx, dword [ebp - 0x20f0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20f4]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb880], xmm0
xor eax, eax
je 0x488285
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4882c1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb880]
movsd qword [ebp - 0xb888], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x488458
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x488458
and dword [ebp - 0x211c], 0
jmp 0x48833b
cmp dword [ebp - 0x211c], 0xa
jae 0x488453
cvtsi2sd xmm0, dword [ebp - 0x211c]
movsd xmm1, qword [ebp - 0xb888]
addsd xmm1, xmm0
movsd qword [ebp - 0xb890], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb890]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4883aa
mov eax, dword [ebp - 0x211c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb888]
addsd xmm1, xmm0
movsd qword [ebp - 0xb888], xmm1
jmp 0x4882ab
cvtsi2sd xmm0, dword [ebp - 0x211c]
movsd xmm1, qword [ebp - 0xb888]
addsd xmm1, xmm0
movsd qword [ebp - 0xb898], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488407
mov eax, dword [ebp - 0x211c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb888]
addsd xmm1, xmm0
movsd qword [ebp - 0xb888], xmm1
jmp 0x48841b
xor eax, eax
je 0x488417
jmp 0x4884d3
jmp 0x48843e
cvtsi2sd xmm0, dword [ebp - 0x211c]
movsd xmm1, qword [ebp - 0xb888]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2120], eax
jmp 0x4884dd
xor eax, eax
inc eax
je 0x488449
jmp 0x488458
jmp 0x4882ab
jmp 0x4882ab
xor eax, eax
inc eax
je 0x4884d3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2124], eax
cvtsi2sd xmm0, dword [ebp - 0x2124]
mov eax, dword [ebp - 0x2124]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb888]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2120], eax
jmp 0x4884dd
mov dword [ebp - 0x2120], 7
mov eax, dword [ebp - 0x20f4]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb8a0], xmm0
xor eax, eax
je 0x4884f7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x488533
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb8a0]
movsd qword [ebp - 0xb8a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4886ca
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4886ca
and dword [ebp - 0x2128], 0
jmp 0x4885ad
cmp dword [ebp - 0x2128], 0xa
jae 0x4886c5
cvtsi2sd xmm0, dword [ebp - 0x2128]
movsd xmm1, qword [ebp - 0xb8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48861c
mov eax, dword [ebp - 0x2128]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8a8], xmm1
jmp 0x48851d
cvtsi2sd xmm0, dword [ebp - 0x2128]
movsd xmm1, qword [ebp - 0xb8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488679
mov eax, dword [ebp - 0x2128]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8a8], xmm1
jmp 0x48868d
xor eax, eax
je 0x488689
jmp 0x488745
jmp 0x4886b0
cvtsi2sd xmm0, dword [ebp - 0x2128]
movsd xmm1, qword [ebp - 0xb8a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x212c], eax
jmp 0x48874f
xor eax, eax
inc eax
je 0x4886bb
jmp 0x4886ca
jmp 0x48851d
jmp 0x48851d
xor eax, eax
inc eax
je 0x488745
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2130], eax
cvtsi2sd xmm0, dword [ebp - 0x2130]
mov eax, dword [ebp - 0x2130]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb8a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x212c], eax
jmp 0x48874f
mov dword [ebp - 0x212c], 7
mov eax, dword [ebp - 0x20f4]
shl eax, 2
add eax, dword [ebp - 0x20f0]
mov eax, dword [eax]
add eax, dword [ebp - 0x2120]
mov ecx, dword [ebp - 0x20f4]
shl ecx, 2
add ecx, dword [ebp - 0x20f0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x212c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x20f4]
shl ecx, 2
add ecx, dword [ebp - 0x20f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x488a4f
xor eax, eax
je 0x4887cf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48880b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xb8c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4889a2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4889a2
and dword [ebp - 0x2134], 0
jmp 0x488885
cmp dword [ebp - 0x2134], 0xa
jae 0x48899d
cvtsi2sd xmm0, dword [ebp - 0x2134]
movsd xmm1, qword [ebp - 0xb8c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4888f4
mov eax, dword [ebp - 0x2134]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8c0], xmm1
jmp 0x4887f5
cvtsi2sd xmm0, dword [ebp - 0x2134]
movsd xmm1, qword [ebp - 0xb8c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488951
mov eax, dword [ebp - 0x2134]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8c0], xmm1
jmp 0x488965
xor eax, eax
je 0x488961
jmp 0x488a1d
jmp 0x488988
cvtsi2sd xmm0, dword [ebp - 0x2134]
movsd xmm1, qword [ebp - 0xb8c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2138], eax
jmp 0x488a27
xor eax, eax
inc eax
je 0x488993
jmp 0x4889a2
jmp 0x4887f5
jmp 0x4887f5
xor eax, eax
inc eax
je 0x488a1d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x213c], eax
cvtsi2sd xmm0, dword [ebp - 0x213c]
mov eax, dword [ebp - 0x213c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb8c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2138], eax
jmp 0x488a27
mov dword [ebp - 0x2138], 7
mov eax, dword [ebp - 0x20f4]
shl eax, 2
add eax, dword [ebp - 0x20f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2138]
mov ecx, dword [ebp - 0x20f4]
shl ecx, 2
add ecx, dword [ebp - 0x20f0]
mov dword [ecx], eax
jmp 0x4879d5
mov eax, dword [ebp - 0x20ec]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x20ec]
mov dword [ebp - 0x2140], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2140]
mov eax, dword [eax]
mov dword [ebp - 0x20e8], eax
xor eax, eax
mov byte [ebp - 0x5d], al
lea ecx, [ebp - 0x5d]
call fcn.00417b2a
mov dword [ebp - 0x2144], eax
mov eax, dword [ebp - 0x2144]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x489b37
mov eax, dword [ebp - 0x2144]
mov dword [ebp - 0x2148], eax
and dword [ebp - 0x214c], 0
jmp 0x488ac5
mov eax, dword [ebp - 0x214c]
inc eax
mov dword [ebp - 0x214c], eax
cmp dword [ebp - 0x214c], 1
jae 0x489b37
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x488d8f
xor eax, eax
je 0x488b0f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x488b4b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e28]
movsd qword [ebp - 0xb8d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x488ce2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x488ce2
and dword [ebp - 0x2150], 0
jmp 0x488bc5
cmp dword [ebp - 0x2150], 0xa
jae 0x488cdd
cvtsi2sd xmm0, dword [ebp - 0x2150]
movsd xmm1, qword [ebp - 0xb8d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488c34
mov eax, dword [ebp - 0x2150]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8d8], xmm1
jmp 0x488b35
cvtsi2sd xmm0, dword [ebp - 0x2150]
movsd xmm1, qword [ebp - 0xb8d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488c91
mov eax, dword [ebp - 0x2150]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8d8], xmm1
jmp 0x488ca5
xor eax, eax
je 0x488ca1
jmp 0x488d5d
jmp 0x488cc8
cvtsi2sd xmm0, dword [ebp - 0x2150]
movsd xmm1, qword [ebp - 0xb8d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2154], eax
jmp 0x488d67
xor eax, eax
inc eax
je 0x488cd3
jmp 0x488ce2
jmp 0x488b35
jmp 0x488b35
xor eax, eax
inc eax
je 0x488d5d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2158], eax
cvtsi2sd xmm0, dword [ebp - 0x2158]
mov eax, dword [ebp - 0x2158]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb8d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2154], eax
jmp 0x488d67
mov dword [ebp - 0x2154], 7
mov eax, dword [ebp - 0x214c]
shl eax, 2
add eax, dword [ebp - 0x2148]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2154]
mov ecx, dword [ebp - 0x214c]
shl ecx, 2
add ecx, dword [ebp - 0x2148]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x489875
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x489091
xor eax, eax
je 0x488e11
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x488e4d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb8f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x488fe4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x488fe4
and dword [ebp - 0x215c], 0
jmp 0x488ec7
cmp dword [ebp - 0x215c], 0xa
jae 0x488fdf
cvtsi2sd xmm0, dword [ebp - 0x215c]
movsd xmm1, qword [ebp - 0xb8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488f36
mov eax, dword [ebp - 0x215c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8f0], xmm1
jmp 0x488e37
cvtsi2sd xmm0, dword [ebp - 0x215c]
movsd xmm1, qword [ebp - 0xb8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb900], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb900]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488f93
mov eax, dword [ebp - 0x215c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8f0], xmm1
jmp 0x488fa7
xor eax, eax
je 0x488fa3
jmp 0x48905f
jmp 0x488fca
cvtsi2sd xmm0, dword [ebp - 0x215c]
movsd xmm1, qword [ebp - 0xb8f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2160], eax
jmp 0x489069
xor eax, eax
inc eax
je 0x488fd5
jmp 0x488fe4
jmp 0x488e37
jmp 0x488e37
xor eax, eax
inc eax
je 0x48905f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2164], eax
cvtsi2sd xmm0, dword [ebp - 0x2164]
mov eax, dword [ebp - 0x2164]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb8f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2160], eax
jmp 0x489069
mov dword [ebp - 0x2160], 7
mov eax, dword [ebp - 0x214c]
shl eax, 2
add eax, dword [ebp - 0x2148]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2160]
mov ecx, dword [ebp - 0x214c]
shl ecx, 2
add ecx, dword [ebp - 0x2148]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48934e
xor eax, eax
je 0x4890ce
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48910a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xb908], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4892a1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4892a1
and dword [ebp - 0x2168], 0
jmp 0x489184
cmp dword [ebp - 0x2168], 0xa
jae 0x48929c
cvtsi2sd xmm0, dword [ebp - 0x2168]
movsd xmm1, qword [ebp - 0xb908]
addsd xmm1, xmm0
movsd qword [ebp - 0xb910], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb910]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4891f3
mov eax, dword [ebp - 0x2168]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb908]
addsd xmm1, xmm0
movsd qword [ebp - 0xb908], xmm1
jmp 0x4890f4
cvtsi2sd xmm0, dword [ebp - 0x2168]
movsd xmm1, qword [ebp - 0xb908]
addsd xmm1, xmm0
movsd qword [ebp - 0xb918], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489250
mov eax, dword [ebp - 0x2168]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb908]
addsd xmm1, xmm0
movsd qword [ebp - 0xb908], xmm1
jmp 0x489264
xor eax, eax
je 0x489260
jmp 0x48931c
jmp 0x489287
cvtsi2sd xmm0, dword [ebp - 0x2168]
movsd xmm1, qword [ebp - 0xb908]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x216c], eax
jmp 0x489326
xor eax, eax
inc eax
je 0x489292
jmp 0x4892a1
jmp 0x4890f4
jmp 0x4890f4
xor eax, eax
inc eax
je 0x48931c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2170], eax
cvtsi2sd xmm0, dword [ebp - 0x2170]
mov eax, dword [ebp - 0x2170]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb908]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x216c], eax
jmp 0x489326
mov dword [ebp - 0x216c], 7
mov eax, dword [ebp - 0x214c]
shl eax, 2
add eax, dword [ebp - 0x2148]
mov eax, dword [eax]
xor eax, dword [ebp - 0x216c]
mov ecx, dword [ebp - 0x214c]
shl ecx, 2
add ecx, dword [ebp - 0x2148]
mov dword [ecx], eax
mov eax, dword [ebp - 0x214c]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb920], xmm0
xor eax, eax
je 0x489368
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4893a4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb920]
movsd qword [ebp - 0xb928], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48953b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48953b
and dword [ebp - 0x2174], 0
jmp 0x48941e
cmp dword [ebp - 0x2174], 0xa
jae 0x489536
cvtsi2sd xmm0, dword [ebp - 0x2174]
movsd xmm1, qword [ebp - 0xb928]
addsd xmm1, xmm0
movsd qword [ebp - 0xb930], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb930]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48948d
mov eax, dword [ebp - 0x2174]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb928]
addsd xmm1, xmm0
movsd qword [ebp - 0xb928], xmm1
jmp 0x48938e
cvtsi2sd xmm0, dword [ebp - 0x2174]
movsd xmm1, qword [ebp - 0xb928]
addsd xmm1, xmm0
movsd qword [ebp - 0xb938], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4894ea
mov eax, dword [ebp - 0x2174]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb928]
addsd xmm1, xmm0
movsd qword [ebp - 0xb928], xmm1
jmp 0x4894fe
xor eax, eax
je 0x4894fa
jmp 0x4895b6
jmp 0x489521
cvtsi2sd xmm0, dword [ebp - 0x2174]
movsd xmm1, qword [ebp - 0xb928]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2178], eax
jmp 0x4895c0
xor eax, eax
inc eax
je 0x48952c
jmp 0x48953b
jmp 0x48938e
jmp 0x48938e
xor eax, eax
inc eax
je 0x4895b6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x217c], eax
cvtsi2sd xmm0, dword [ebp - 0x217c]
mov eax, dword [ebp - 0x217c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb928]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2178], eax
jmp 0x4895c0
mov dword [ebp - 0x2178], 7
mov eax, dword [ebp - 0x214c]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb940], xmm0
xor eax, eax
je 0x4895da
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x489616
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb940]
movsd qword [ebp - 0xb948], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4897ad
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4897ad
and dword [ebp - 0x2180], 0
jmp 0x489690
cmp dword [ebp - 0x2180], 0xa
jae 0x4897a8
cvtsi2sd xmm0, dword [ebp - 0x2180]
movsd xmm1, qword [ebp - 0xb948]
addsd xmm1, xmm0
movsd qword [ebp - 0xb950], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb950]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4896ff
mov eax, dword [ebp - 0x2180]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb948]
addsd xmm1, xmm0
movsd qword [ebp - 0xb948], xmm1
jmp 0x489600
cvtsi2sd xmm0, dword [ebp - 0x2180]
movsd xmm1, qword [ebp - 0xb948]
addsd xmm1, xmm0
movsd qword [ebp - 0xb958], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48975c
mov eax, dword [ebp - 0x2180]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb948]
addsd xmm1, xmm0
movsd qword [ebp - 0xb948], xmm1
jmp 0x489770
xor eax, eax
je 0x48976c
jmp 0x489828
jmp 0x489793
cvtsi2sd xmm0, dword [ebp - 0x2180]
movsd xmm1, qword [ebp - 0xb948]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2184], eax
jmp 0x489832
xor eax, eax
inc eax
je 0x48979e
jmp 0x4897ad
jmp 0x489600
jmp 0x489600
xor eax, eax
inc eax
je 0x489828
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2188], eax
cvtsi2sd xmm0, dword [ebp - 0x2188]
mov eax, dword [ebp - 0x2188]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb948]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2184], eax
jmp 0x489832
mov dword [ebp - 0x2184], 7
mov eax, dword [ebp - 0x214c]
shl eax, 2
add eax, dword [ebp - 0x2148]
mov eax, dword [eax]
add eax, dword [ebp - 0x2178]
mov ecx, dword [ebp - 0x214c]
shl ecx, 2
add ecx, dword [ebp - 0x2148]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2184]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x214c]
shl ecx, 2
add ecx, dword [ebp - 0x2148]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x489b32
xor eax, eax
je 0x4898b2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4898ee
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xb960], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x489a85
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x489a85
and dword [ebp - 0x218c], 0
jmp 0x489968
cmp dword [ebp - 0x218c], 0xa
jae 0x489a80
cvtsi2sd xmm0, dword [ebp - 0x218c]
movsd xmm1, qword [ebp - 0xb960]
addsd xmm1, xmm0
movsd qword [ebp - 0xb968], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb968]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4899d7
mov eax, dword [ebp - 0x218c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb960]
addsd xmm1, xmm0
movsd qword [ebp - 0xb960], xmm1
jmp 0x4898d8
cvtsi2sd xmm0, dword [ebp - 0x218c]
movsd xmm1, qword [ebp - 0xb960]
addsd xmm1, xmm0
movsd qword [ebp - 0xb970], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb970]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489a34
mov eax, dword [ebp - 0x218c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb960]
addsd xmm1, xmm0
movsd qword [ebp - 0xb960], xmm1
jmp 0x489a48
xor eax, eax
je 0x489a44
jmp 0x489b00
jmp 0x489a6b
cvtsi2sd xmm0, dword [ebp - 0x218c]
movsd xmm1, qword [ebp - 0xb960]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2190], eax
jmp 0x489b0a
xor eax, eax
inc eax
je 0x489a76
jmp 0x489a85
jmp 0x4898d8
jmp 0x4898d8
xor eax, eax
inc eax
je 0x489b00
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2194], eax
cvtsi2sd xmm0, dword [ebp - 0x2194]
mov eax, dword [ebp - 0x2194]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb960]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2190], eax
jmp 0x489b0a
mov dword [ebp - 0x2190], 7
mov eax, dword [ebp - 0x214c]
shl eax, 2
add eax, dword [ebp - 0x2148]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2190]
mov ecx, dword [ebp - 0x214c]
shl ecx, 2
add ecx, dword [ebp - 0x2148]
mov dword [ecx], eax
jmp 0x488ab8
mov eax, dword [ebp - 0x2144]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2144]
mov dword [ebp - 0x2198], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2198]
mov eax, dword [eax]
mov dword [ebp - 0x219c], eax
xor eax, eax
mov byte [ebp - 0x5e], al
lea ecx, [ebp - 0x5e]
call fcn.00416c54
mov dword [ebp - 0x21a0], eax
mov eax, dword [ebp - 0x21a0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x48ac1a
mov eax, dword [ebp - 0x21a0]
mov dword [ebp - 0x21a4], eax
and dword [ebp - 0x21a8], 0
jmp 0x489ba8
mov eax, dword [ebp - 0x21a8]
inc eax
mov dword [ebp - 0x21a8], eax
cmp dword [ebp - 0x21a8], 1
jae 0x48ac1a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x489e72
xor eax, eax
je 0x489bf2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x489c2e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xb978], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x489dc5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x489dc5
and dword [ebp - 0x21ac], 0
jmp 0x489ca8
cmp dword [ebp - 0x21ac], 0xa
jae 0x489dc0
cvtsi2sd xmm0, dword [ebp - 0x21ac]
movsd xmm1, qword [ebp - 0xb978]
addsd xmm1, xmm0
movsd qword [ebp - 0xb980], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb980]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489d17
mov eax, dword [ebp - 0x21ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb978]
addsd xmm1, xmm0
movsd qword [ebp - 0xb978], xmm1
jmp 0x489c18
cvtsi2sd xmm0, dword [ebp - 0x21ac]
movsd xmm1, qword [ebp - 0xb978]
addsd xmm1, xmm0
movsd qword [ebp - 0xb988], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb988]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489d74
mov eax, dword [ebp - 0x21ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb978]
addsd xmm1, xmm0
movsd qword [ebp - 0xb978], xmm1
jmp 0x489d88
xor eax, eax
je 0x489d84
jmp 0x489e40
jmp 0x489dab
cvtsi2sd xmm0, dword [ebp - 0x21ac]
movsd xmm1, qword [ebp - 0xb978]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21b0], eax
jmp 0x489e4a
xor eax, eax
inc eax
je 0x489db6
jmp 0x489dc5
jmp 0x489c18
jmp 0x489c18
xor eax, eax
inc eax
je 0x489e40
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x21b4], eax
cvtsi2sd xmm0, dword [ebp - 0x21b4]
mov eax, dword [ebp - 0x21b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb978]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21b0], eax
jmp 0x489e4a
mov dword [ebp - 0x21b0], 7
mov eax, dword [ebp - 0x21a8]
shl eax, 2
add eax, dword [ebp - 0x21a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x21b0]
mov ecx, dword [ebp - 0x21a8]
shl ecx, 2
add ecx, dword [ebp - 0x21a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48a958
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48a174
xor eax, eax
je 0x489ef4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x489f30
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xb990], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48a0c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48a0c7
and dword [ebp - 0x21b8], 0
jmp 0x489faa
cmp dword [ebp - 0x21b8], 0xa
jae 0x48a0c2
cvtsi2sd xmm0, dword [ebp - 0x21b8]
movsd xmm1, qword [ebp - 0xb990]
addsd xmm1, xmm0
movsd qword [ebp - 0xb998], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a019
mov eax, dword [ebp - 0x21b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb990]
addsd xmm1, xmm0
movsd qword [ebp - 0xb990], xmm1
jmp 0x489f1a
cvtsi2sd xmm0, dword [ebp - 0x21b8]
movsd xmm1, qword [ebp - 0xb990]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a076
mov eax, dword [ebp - 0x21b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb990]
addsd xmm1, xmm0
movsd qword [ebp - 0xb990], xmm1
jmp 0x48a08a
xor eax, eax
je 0x48a086
jmp 0x48a142
jmp 0x48a0ad
cvtsi2sd xmm0, dword [ebp - 0x21b8]
movsd xmm1, qword [ebp - 0xb990]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21bc], eax
jmp 0x48a14c
xor eax, eax
inc eax
je 0x48a0b8
jmp 0x48a0c7
jmp 0x489f1a
jmp 0x489f1a
xor eax, eax
inc eax
je 0x48a142
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x21c0], eax
cvtsi2sd xmm0, dword [ebp - 0x21c0]
mov eax, dword [ebp - 0x21c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb990]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21bc], eax
jmp 0x48a14c
mov dword [ebp - 0x21bc], 7
mov eax, dword [ebp - 0x21a8]
shl eax, 2
add eax, dword [ebp - 0x21a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x21bc]
mov ecx, dword [ebp - 0x21a8]
shl ecx, 2
add ecx, dword [ebp - 0x21a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48a431
xor eax, eax
je 0x48a1b1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48a1ed
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xb9a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48a384
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48a384
and dword [ebp - 0x21c4], 0
jmp 0x48a267
cmp dword [ebp - 0x21c4], 0xa
jae 0x48a37f
cvtsi2sd xmm0, dword [ebp - 0x21c4]
movsd xmm1, qword [ebp - 0xb9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a2d6
mov eax, dword [ebp - 0x21c4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9a8], xmm1
jmp 0x48a1d7
cvtsi2sd xmm0, dword [ebp - 0x21c4]
movsd xmm1, qword [ebp - 0xb9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a333
mov eax, dword [ebp - 0x21c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9a8], xmm1
jmp 0x48a347
xor eax, eax
je 0x48a343
jmp 0x48a3ff
jmp 0x48a36a
cvtsi2sd xmm0, dword [ebp - 0x21c4]
movsd xmm1, qword [ebp - 0xb9a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21c8], eax
jmp 0x48a409
xor eax, eax
inc eax
je 0x48a375
jmp 0x48a384
jmp 0x48a1d7
jmp 0x48a1d7
xor eax, eax
inc eax
je 0x48a3ff
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x21cc], eax
cvtsi2sd xmm0, dword [ebp - 0x21cc]
mov eax, dword [ebp - 0x21cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb9a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21c8], eax
jmp 0x48a409
mov dword [ebp - 0x21c8], 7
mov eax, dword [ebp - 0x21a8]
shl eax, 2
add eax, dword [ebp - 0x21a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x21c8]
mov ecx, dword [ebp - 0x21a8]
shl ecx, 2
add ecx, dword [ebp - 0x21a4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x21a8]
add eax, 0xffffffc3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb9c0], xmm0
xor eax, eax
je 0x48a44b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48a487
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb9c0]
movsd qword [ebp - 0xb9c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48a61e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48a61e
and dword [ebp - 0x21d0], 0
jmp 0x48a501
cmp dword [ebp - 0x21d0], 0xa
jae 0x48a619
cvtsi2sd xmm0, dword [ebp - 0x21d0]
movsd xmm1, qword [ebp - 0xb9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a570
mov eax, dword [ebp - 0x21d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9c8], xmm1
jmp 0x48a471
cvtsi2sd xmm0, dword [ebp - 0x21d0]
movsd xmm1, qword [ebp - 0xb9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a5cd
mov eax, dword [ebp - 0x21d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9c8], xmm1
jmp 0x48a5e1
xor eax, eax
je 0x48a5dd
jmp 0x48a699
jmp 0x48a604
cvtsi2sd xmm0, dword [ebp - 0x21d0]
movsd xmm1, qword [ebp - 0xb9c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21d4], eax
jmp 0x48a6a3
xor eax, eax
inc eax
je 0x48a60f
jmp 0x48a61e
jmp 0x48a471
jmp 0x48a471
xor eax, eax
inc eax
je 0x48a699
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x21d8], eax
cvtsi2sd xmm0, dword [ebp - 0x21d8]
mov eax, dword [ebp - 0x21d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb9c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21d4], eax
jmp 0x48a6a3
mov dword [ebp - 0x21d4], 7
mov eax, dword [ebp - 0x21a8]
add eax, 0xffffffc3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xb9e0], xmm0
xor eax, eax
je 0x48a6bd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48a6f9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb9e0]
movsd qword [ebp - 0xb9e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48a890
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48a890
and dword [ebp - 0x21dc], 0
jmp 0x48a773
cmp dword [ebp - 0x21dc], 0xa
jae 0x48a88b
cvtsi2sd xmm0, dword [ebp - 0x21dc]
movsd xmm1, qword [ebp - 0xb9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a7e2
mov eax, dword [ebp - 0x21dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9e8], xmm1
jmp 0x48a6e3
cvtsi2sd xmm0, dword [ebp - 0x21dc]
movsd xmm1, qword [ebp - 0xb9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a83f
mov eax, dword [ebp - 0x21dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9e8], xmm1
jmp 0x48a853
xor eax, eax
je 0x48a84f
jmp 0x48a90b
jmp 0x48a876
cvtsi2sd xmm0, dword [ebp - 0x21dc]
movsd xmm1, qword [ebp - 0xb9e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21e0], eax
jmp 0x48a915
xor eax, eax
inc eax
je 0x48a881
jmp 0x48a890
jmp 0x48a6e3
jmp 0x48a6e3
xor eax, eax
inc eax
je 0x48a90b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x21e4], eax
cvtsi2sd xmm0, dword [ebp - 0x21e4]
mov eax, dword [ebp - 0x21e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xb9e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21e0], eax
jmp 0x48a915
mov dword [ebp - 0x21e0], 7
mov eax, dword [ebp - 0x21a8]
shl eax, 2
add eax, dword [ebp - 0x21a4]
mov eax, dword [eax]
add eax, dword [ebp - 0x21d4]
mov ecx, dword [ebp - 0x21a8]
shl ecx, 2
add ecx, dword [ebp - 0x21a4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x21e0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x21a8]
shl ecx, 2
add ecx, dword [ebp - 0x21a4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48ac15
xor eax, eax
je 0x48a995
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48a9d1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xba00], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48ab68
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48ab68
and dword [ebp - 0x21e8], 0
jmp 0x48aa4b
cmp dword [ebp - 0x21e8], 0xa
jae 0x48ab63
cvtsi2sd xmm0, dword [ebp - 0x21e8]
movsd xmm1, qword [ebp - 0xba00]
addsd xmm1, xmm0
movsd qword [ebp - 0xba08], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48aaba
mov eax, dword [ebp - 0x21e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba00]
addsd xmm1, xmm0
movsd qword [ebp - 0xba00], xmm1
jmp 0x48a9bb
cvtsi2sd xmm0, dword [ebp - 0x21e8]
movsd xmm1, qword [ebp - 0xba00]
addsd xmm1, xmm0
movsd qword [ebp - 0xba10], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ab17
mov eax, dword [ebp - 0x21e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba00]
addsd xmm1, xmm0
movsd qword [ebp - 0xba00], xmm1
jmp 0x48ab2b
xor eax, eax
je 0x48ab27
jmp 0x48abe3
jmp 0x48ab4e
cvtsi2sd xmm0, dword [ebp - 0x21e8]
movsd xmm1, qword [ebp - 0xba00]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21ec], eax
jmp 0x48abed
xor eax, eax
inc eax
je 0x48ab59
jmp 0x48ab68
jmp 0x48a9bb
jmp 0x48a9bb
xor eax, eax
inc eax
je 0x48abe3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x21f0], eax
cvtsi2sd xmm0, dword [ebp - 0x21f0]
mov eax, dword [ebp - 0x21f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xba00]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x21ec], eax
jmp 0x48abed
mov dword [ebp - 0x21ec], 7
mov eax, dword [ebp - 0x21a8]
shl eax, 2
add eax, dword [ebp - 0x21a4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x21ec]
mov ecx, dword [ebp - 0x21a8]
shl ecx, 2
add ecx, dword [ebp - 0x21a4]
mov dword [ecx], eax
jmp 0x489b9b
mov eax, dword [ebp - 0x21a0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x21a0]
mov dword [ebp - 0x21f4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x21f4]
mov eax, dword [eax]
mov dword [ebp - 0x21f8], eax
xor eax, eax
mov byte [ebp - 0x5f], al
lea ecx, [ebp - 0x5f]
call fcn.004188c6
mov dword [ebp - 0x21fc], eax
mov eax, dword [ebp - 0x21fc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x48bcfd
mov eax, dword [ebp - 0x21fc]
mov dword [ebp - 0x2200], eax
and dword [ebp - 0x2204], 0
jmp 0x48ac8b
mov eax, dword [ebp - 0x2204]
inc eax
mov dword [ebp - 0x2204], eax
cmp dword [ebp - 0x2204], 1
jae 0x48bcfd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48af55
xor eax, eax
je 0x48acd5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48ad11
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e20]
movsd qword [ebp - 0xba18], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48aea8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48aea8
and dword [ebp - 0x2208], 0
jmp 0x48ad8b
cmp dword [ebp - 0x2208], 0xa
jae 0x48aea3
cvtsi2sd xmm0, dword [ebp - 0x2208]
movsd xmm1, qword [ebp - 0xba18]
addsd xmm1, xmm0
movsd qword [ebp - 0xba20], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48adfa
mov eax, dword [ebp - 0x2208]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba18]
addsd xmm1, xmm0
movsd qword [ebp - 0xba18], xmm1
jmp 0x48acfb
cvtsi2sd xmm0, dword [ebp - 0x2208]
movsd xmm1, qword [ebp - 0xba18]
addsd xmm1, xmm0
movsd qword [ebp - 0xba28], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ae57
mov eax, dword [ebp - 0x2208]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba18]
addsd xmm1, xmm0
movsd qword [ebp - 0xba18], xmm1
jmp 0x48ae6b
xor eax, eax
je 0x48ae67
jmp 0x48af23
jmp 0x48ae8e
cvtsi2sd xmm0, dword [ebp - 0x2208]
movsd xmm1, qword [ebp - 0xba18]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x220c], eax
jmp 0x48af2d
xor eax, eax
inc eax
je 0x48ae99
jmp 0x48aea8
jmp 0x48acfb
jmp 0x48acfb
xor eax, eax
inc eax
je 0x48af23
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2210], eax
cvtsi2sd xmm0, dword [ebp - 0x2210]
mov eax, dword [ebp - 0x2210]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xba18]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x220c], eax
jmp 0x48af2d
mov dword [ebp - 0x220c], 7
mov eax, dword [ebp - 0x2204]
shl eax, 2
add eax, dword [ebp - 0x2200]
mov eax, dword [eax]
xor eax, dword [ebp - 0x220c]
mov ecx, dword [ebp - 0x2204]
shl ecx, 2
add ecx, dword [ebp - 0x2200]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48ba3b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48b257
xor eax, eax
je 0x48afd7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48b013
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xba30], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48b1aa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48b1aa
and dword [ebp - 0x2214], 0
jmp 0x48b08d
cmp dword [ebp - 0x2214], 0xa
jae 0x48b1a5
cvtsi2sd xmm0, dword [ebp - 0x2214]
movsd xmm1, qword [ebp - 0xba30]
addsd xmm1, xmm0
movsd qword [ebp - 0xba38], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b0fc
mov eax, dword [ebp - 0x2214]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba30]
addsd xmm1, xmm0
movsd qword [ebp - 0xba30], xmm1
jmp 0x48affd
cvtsi2sd xmm0, dword [ebp - 0x2214]
movsd xmm1, qword [ebp - 0xba30]
addsd xmm1, xmm0
movsd qword [ebp - 0xba40], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b159
mov eax, dword [ebp - 0x2214]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba30]
addsd xmm1, xmm0
movsd qword [ebp - 0xba30], xmm1
jmp 0x48b16d
xor eax, eax
je 0x48b169
jmp 0x48b225
jmp 0x48b190
cvtsi2sd xmm0, dword [ebp - 0x2214]
movsd xmm1, qword [ebp - 0xba30]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2218], eax
jmp 0x48b22f
xor eax, eax
inc eax
je 0x48b19b
jmp 0x48b1aa
jmp 0x48affd
jmp 0x48affd
xor eax, eax
inc eax
je 0x48b225
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x221c], eax
cvtsi2sd xmm0, dword [ebp - 0x221c]
mov eax, dword [ebp - 0x221c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xba30]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2218], eax
jmp 0x48b22f
mov dword [ebp - 0x2218], 7
mov eax, dword [ebp - 0x2204]
shl eax, 2
add eax, dword [ebp - 0x2200]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2218]
mov ecx, dword [ebp - 0x2204]
shl ecx, 2
add ecx, dword [ebp - 0x2200]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48b514
xor eax, eax
je 0x48b294
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48b2d0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xba48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48b467
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48b467
and dword [ebp - 0x2220], 0
jmp 0x48b34a
cmp dword [ebp - 0x2220], 0xa
jae 0x48b462
cvtsi2sd xmm0, dword [ebp - 0x2220]
movsd xmm1, qword [ebp - 0xba48]
addsd xmm1, xmm0
movsd qword [ebp - 0xba50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b3b9
mov eax, dword [ebp - 0x2220]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba48]
addsd xmm1, xmm0
movsd qword [ebp - 0xba48], xmm1
jmp 0x48b2ba
cvtsi2sd xmm0, dword [ebp - 0x2220]
movsd xmm1, qword [ebp - 0xba48]
addsd xmm1, xmm0
movsd qword [ebp - 0xba58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b416
mov eax, dword [ebp - 0x2220]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba48]
addsd xmm1, xmm0
movsd qword [ebp - 0xba48], xmm1
jmp 0x48b42a
xor eax, eax
je 0x48b426
jmp 0x48b4e2
jmp 0x48b44d
cvtsi2sd xmm0, dword [ebp - 0x2220]
movsd xmm1, qword [ebp - 0xba48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2224], eax
jmp 0x48b4ec
xor eax, eax
inc eax
je 0x48b458
jmp 0x48b467
jmp 0x48b2ba
jmp 0x48b2ba
xor eax, eax
inc eax
je 0x48b4e2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2228], eax
cvtsi2sd xmm0, dword [ebp - 0x2228]
mov eax, dword [ebp - 0x2228]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xba48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2224], eax
jmp 0x48b4ec
mov dword [ebp - 0x2224], 7
mov eax, dword [ebp - 0x2204]
shl eax, 2
add eax, dword [ebp - 0x2200]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2224]
mov ecx, dword [ebp - 0x2204]
shl ecx, 2
add ecx, dword [ebp - 0x2200]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2204]
add eax, 0xffffffc3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xba60], xmm0
xor eax, eax
je 0x48b52e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48b56a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xba60]
movsd qword [ebp - 0xba68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48b701
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48b701
and dword [ebp - 0x222c], 0
jmp 0x48b5e4
cmp dword [ebp - 0x222c], 0xa
jae 0x48b6fc
cvtsi2sd xmm0, dword [ebp - 0x222c]
movsd xmm1, qword [ebp - 0xba68]
addsd xmm1, xmm0
movsd qword [ebp - 0xba70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b653
mov eax, dword [ebp - 0x222c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba68]
addsd xmm1, xmm0
movsd qword [ebp - 0xba68], xmm1
jmp 0x48b554
cvtsi2sd xmm0, dword [ebp - 0x222c]
movsd xmm1, qword [ebp - 0xba68]
addsd xmm1, xmm0
movsd qword [ebp - 0xba78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b6b0
mov eax, dword [ebp - 0x222c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba68]
addsd xmm1, xmm0
movsd qword [ebp - 0xba68], xmm1
jmp 0x48b6c4
xor eax, eax
je 0x48b6c0
jmp 0x48b77c
jmp 0x48b6e7
cvtsi2sd xmm0, dword [ebp - 0x222c]
movsd xmm1, qword [ebp - 0xba68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2230], eax
jmp 0x48b786
xor eax, eax
inc eax
je 0x48b6f2
jmp 0x48b701
jmp 0x48b554
jmp 0x48b554
xor eax, eax
inc eax
je 0x48b77c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2234], eax
cvtsi2sd xmm0, dword [ebp - 0x2234]
mov eax, dword [ebp - 0x2234]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xba68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2230], eax
jmp 0x48b786
mov dword [ebp - 0x2230], 7
mov eax, dword [ebp - 0x2204]
add eax, 0xffffffc3
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xba80], xmm0
xor eax, eax
je 0x48b7a0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48b7dc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xba80]
movsd qword [ebp - 0xba88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48b973
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48b973
and dword [ebp - 0x2238], 0
jmp 0x48b856
cmp dword [ebp - 0x2238], 0xa
jae 0x48b96e
cvtsi2sd xmm0, dword [ebp - 0x2238]
movsd xmm1, qword [ebp - 0xba88]
addsd xmm1, xmm0
movsd qword [ebp - 0xba90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b8c5
mov eax, dword [ebp - 0x2238]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba88]
addsd xmm1, xmm0
movsd qword [ebp - 0xba88], xmm1
jmp 0x48b7c6
cvtsi2sd xmm0, dword [ebp - 0x2238]
movsd xmm1, qword [ebp - 0xba88]
addsd xmm1, xmm0
movsd qword [ebp - 0xba98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b922
mov eax, dword [ebp - 0x2238]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba88]
addsd xmm1, xmm0
movsd qword [ebp - 0xba88], xmm1
jmp 0x48b936
xor eax, eax
je 0x48b932
jmp 0x48b9ee
jmp 0x48b959
cvtsi2sd xmm0, dword [ebp - 0x2238]
movsd xmm1, qword [ebp - 0xba88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x223c], eax
jmp 0x48b9f8
xor eax, eax
inc eax
je 0x48b964
jmp 0x48b973
jmp 0x48b7c6
jmp 0x48b7c6
xor eax, eax
inc eax
je 0x48b9ee
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2240], eax
cvtsi2sd xmm0, dword [ebp - 0x2240]
mov eax, dword [ebp - 0x2240]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xba88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x223c], eax
jmp 0x48b9f8
mov dword [ebp - 0x223c], 7
mov eax, dword [ebp - 0x2204]
shl eax, 2
add eax, dword [ebp - 0x2200]
mov eax, dword [eax]
add eax, dword [ebp - 0x2230]
mov ecx, dword [ebp - 0x2204]
shl ecx, 2
add ecx, dword [ebp - 0x2200]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x223c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2204]
shl ecx, 2
add ecx, dword [ebp - 0x2200]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48bcf8
xor eax, eax
je 0x48ba78
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48bab4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbaa0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48bc4b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48bc4b
and dword [ebp - 0x2244], 0
jmp 0x48bb2e
cmp dword [ebp - 0x2244], 0xa
jae 0x48bc46
cvtsi2sd xmm0, dword [ebp - 0x2244]
movsd xmm1, qword [ebp - 0xbaa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaa8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bb9d
mov eax, dword [ebp - 0x2244]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaa0], xmm1
jmp 0x48ba9e
cvtsi2sd xmm0, dword [ebp - 0x2244]
movsd xmm1, qword [ebp - 0xbaa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbab0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbab0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bbfa
mov eax, dword [ebp - 0x2244]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaa0], xmm1
jmp 0x48bc0e
xor eax, eax
je 0x48bc0a
jmp 0x48bcc6
jmp 0x48bc31
cvtsi2sd xmm0, dword [ebp - 0x2244]
movsd xmm1, qword [ebp - 0xbaa0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2248], eax
jmp 0x48bcd0
xor eax, eax
inc eax
je 0x48bc3c
jmp 0x48bc4b
jmp 0x48ba9e
jmp 0x48ba9e
xor eax, eax
inc eax
je 0x48bcc6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x224c], eax
cvtsi2sd xmm0, dword [ebp - 0x224c]
mov eax, dword [ebp - 0x224c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbaa0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2248], eax
jmp 0x48bcd0
mov dword [ebp - 0x2248], 7
mov eax, dword [ebp - 0x2204]
shl eax, 2
add eax, dword [ebp - 0x2200]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2248]
mov ecx, dword [ebp - 0x2204]
shl ecx, 2
add ecx, dword [ebp - 0x2200]
mov dword [ecx], eax
jmp 0x48ac7e
mov eax, dword [ebp - 0x21fc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x21fc]
mov dword [ebp - 0x2250], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2250]
mov eax, dword [eax]
mov dword [ebp - 0x2254], eax
mov eax, dword [ebp - 0x21f8]
mov dword [ebp - 0x219c], eax
cmp dword [ebp - 0x219c], 0
je 0x48ce23
xor eax, eax
mov byte [ebp - 0x60], al
lea ecx, [ebp - 0x60]
call fcn.00418d0a
mov dword [ebp - 0x2258], eax
mov eax, dword [ebp - 0x2258]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x48cdf9
mov eax, dword [ebp - 0x2258]
mov dword [ebp - 0x225c], eax
and dword [ebp - 0x2260], 0
jmp 0x48bd87
mov eax, dword [ebp - 0x2260]
inc eax
mov dword [ebp - 0x2260], eax
cmp dword [ebp - 0x2260], 1
jae 0x48cdf9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48c051
xor eax, eax
je 0x48bdd1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48be0d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xbab8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48bfa4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48bfa4
and dword [ebp - 0x2264], 0
jmp 0x48be87
cmp dword [ebp - 0x2264], 0xa
jae 0x48bf9f
cvtsi2sd xmm0, dword [ebp - 0x2264]
movsd xmm1, qword [ebp - 0xbab8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbac0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbac0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bef6
mov eax, dword [ebp - 0x2264]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbab8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbab8], xmm1
jmp 0x48bdf7
cvtsi2sd xmm0, dword [ebp - 0x2264]
movsd xmm1, qword [ebp - 0xbab8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbac8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbac8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bf53
mov eax, dword [ebp - 0x2264]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbab8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbab8], xmm1
jmp 0x48bf67
xor eax, eax
je 0x48bf63
jmp 0x48c01f
jmp 0x48bf8a
cvtsi2sd xmm0, dword [ebp - 0x2264]
movsd xmm1, qword [ebp - 0xbab8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2268], eax
jmp 0x48c029
xor eax, eax
inc eax
je 0x48bf95
jmp 0x48bfa4
jmp 0x48bdf7
jmp 0x48bdf7
xor eax, eax
inc eax
je 0x48c01f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x226c], eax
cvtsi2sd xmm0, dword [ebp - 0x226c]
mov eax, dword [ebp - 0x226c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbab8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2268], eax
jmp 0x48c029
mov dword [ebp - 0x2268], 7
mov eax, dword [ebp - 0x2260]
shl eax, 2
add eax, dword [ebp - 0x225c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2268]
mov ecx, dword [ebp - 0x2260]
shl ecx, 2
add ecx, dword [ebp - 0x225c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48cb37
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48c353
xor eax, eax
je 0x48c0d3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48c10f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xbad0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48c2a6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48c2a6
and dword [ebp - 0x2270], 0
jmp 0x48c189
cmp dword [ebp - 0x2270], 0xa
jae 0x48c2a1
cvtsi2sd xmm0, dword [ebp - 0x2270]
movsd xmm1, qword [ebp - 0xbad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbad8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c1f8
mov eax, dword [ebp - 0x2270]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbad0], xmm1
jmp 0x48c0f9
cvtsi2sd xmm0, dword [ebp - 0x2270]
movsd xmm1, qword [ebp - 0xbad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbae0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbae0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c255
mov eax, dword [ebp - 0x2270]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbad0], xmm1
jmp 0x48c269
xor eax, eax
je 0x48c265
jmp 0x48c321
jmp 0x48c28c
cvtsi2sd xmm0, dword [ebp - 0x2270]
movsd xmm1, qword [ebp - 0xbad0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2274], eax
jmp 0x48c32b
xor eax, eax
inc eax
je 0x48c297
jmp 0x48c2a6
jmp 0x48c0f9
jmp 0x48c0f9
xor eax, eax
inc eax
je 0x48c321
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2278], eax
cvtsi2sd xmm0, dword [ebp - 0x2278]
mov eax, dword [ebp - 0x2278]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbad0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2274], eax
jmp 0x48c32b
mov dword [ebp - 0x2274], 7
mov eax, dword [ebp - 0x2260]
shl eax, 2
add eax, dword [ebp - 0x225c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2274]
mov ecx, dword [ebp - 0x2260]
shl ecx, 2
add ecx, dword [ebp - 0x225c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48c610
xor eax, eax
je 0x48c390
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48c3cc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbae8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48c563
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48c563
and dword [ebp - 0x227c], 0
jmp 0x48c446
cmp dword [ebp - 0x227c], 0xa
jae 0x48c55e
cvtsi2sd xmm0, dword [ebp - 0x227c]
movsd xmm1, qword [ebp - 0xbae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c4b5
mov eax, dword [ebp - 0x227c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbae8], xmm1
jmp 0x48c3b6
cvtsi2sd xmm0, dword [ebp - 0x227c]
movsd xmm1, qword [ebp - 0xbae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c512
mov eax, dword [ebp - 0x227c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbae8], xmm1
jmp 0x48c526
xor eax, eax
je 0x48c522
jmp 0x48c5de
jmp 0x48c549
cvtsi2sd xmm0, dword [ebp - 0x227c]
movsd xmm1, qword [ebp - 0xbae8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2280], eax
jmp 0x48c5e8
xor eax, eax
inc eax
je 0x48c554
jmp 0x48c563
jmp 0x48c3b6
jmp 0x48c3b6
xor eax, eax
inc eax
je 0x48c5de
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2284], eax
cvtsi2sd xmm0, dword [ebp - 0x2284]
mov eax, dword [ebp - 0x2284]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbae8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2280], eax
jmp 0x48c5e8
mov dword [ebp - 0x2280], 7
mov eax, dword [ebp - 0x2260]
shl eax, 2
add eax, dword [ebp - 0x225c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2280]
mov ecx, dword [ebp - 0x2260]
shl ecx, 2
add ecx, dword [ebp - 0x225c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2260]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbb00], xmm0
xor eax, eax
je 0x48c62a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48c666
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbb00]
movsd qword [ebp - 0xbb08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48c7fd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48c7fd
and dword [ebp - 0x2288], 0
jmp 0x48c6e0
cmp dword [ebp - 0x2288], 0xa
jae 0x48c7f8
cvtsi2sd xmm0, dword [ebp - 0x2288]
movsd xmm1, qword [ebp - 0xbb08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c74f
mov eax, dword [ebp - 0x2288]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb08], xmm1
jmp 0x48c650
cvtsi2sd xmm0, dword [ebp - 0x2288]
movsd xmm1, qword [ebp - 0xbb08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c7ac
mov eax, dword [ebp - 0x2288]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb08], xmm1
jmp 0x48c7c0
xor eax, eax
je 0x48c7bc
jmp 0x48c878
jmp 0x48c7e3
cvtsi2sd xmm0, dword [ebp - 0x2288]
movsd xmm1, qword [ebp - 0xbb08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x228c], eax
jmp 0x48c882
xor eax, eax
inc eax
je 0x48c7ee
jmp 0x48c7fd
jmp 0x48c650
jmp 0x48c650
xor eax, eax
inc eax
je 0x48c878
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2290], eax
cvtsi2sd xmm0, dword [ebp - 0x2290]
mov eax, dword [ebp - 0x2290]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbb08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x228c], eax
jmp 0x48c882
mov dword [ebp - 0x228c], 7
mov eax, dword [ebp - 0x2260]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbb20], xmm0
xor eax, eax
je 0x48c89c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48c8d8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbb20]
movsd qword [ebp - 0xbb28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48ca6f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48ca6f
and dword [ebp - 0x2294], 0
jmp 0x48c952
cmp dword [ebp - 0x2294], 0xa
jae 0x48ca6a
cvtsi2sd xmm0, dword [ebp - 0x2294]
movsd xmm1, qword [ebp - 0xbb28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c9c1
mov eax, dword [ebp - 0x2294]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb28], xmm1
jmp 0x48c8c2
cvtsi2sd xmm0, dword [ebp - 0x2294]
movsd xmm1, qword [ebp - 0xbb28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ca1e
mov eax, dword [ebp - 0x2294]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb28], xmm1
jmp 0x48ca32
xor eax, eax
je 0x48ca2e
jmp 0x48caea
jmp 0x48ca55
cvtsi2sd xmm0, dword [ebp - 0x2294]
movsd xmm1, qword [ebp - 0xbb28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2298], eax
jmp 0x48caf4
xor eax, eax
inc eax
je 0x48ca60
jmp 0x48ca6f
jmp 0x48c8c2
jmp 0x48c8c2
xor eax, eax
inc eax
je 0x48caea
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x229c], eax
cvtsi2sd xmm0, dword [ebp - 0x229c]
mov eax, dword [ebp - 0x229c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbb28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2298], eax
jmp 0x48caf4
mov dword [ebp - 0x2298], 7
mov eax, dword [ebp - 0x2260]
shl eax, 2
add eax, dword [ebp - 0x225c]
mov eax, dword [eax]
add eax, dword [ebp - 0x228c]
mov ecx, dword [ebp - 0x2260]
shl ecx, 2
add ecx, dword [ebp - 0x225c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2298]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2260]
shl ecx, 2
add ecx, dword [ebp - 0x225c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48cdf4
xor eax, eax
je 0x48cb74
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48cbb0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbb40], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48cd47
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48cd47
and dword [ebp - 0x22a0], 0
jmp 0x48cc2a
cmp dword [ebp - 0x22a0], 0xa
jae 0x48cd42
cvtsi2sd xmm0, dword [ebp - 0x22a0]
movsd xmm1, qword [ebp - 0xbb40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb48], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48cc99
mov eax, dword [ebp - 0x22a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb40], xmm1
jmp 0x48cb9a
cvtsi2sd xmm0, dword [ebp - 0x22a0]
movsd xmm1, qword [ebp - 0xbb40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb50], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ccf6
mov eax, dword [ebp - 0x22a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb40], xmm1
jmp 0x48cd0a
xor eax, eax
je 0x48cd06
jmp 0x48cdc2
jmp 0x48cd2d
cvtsi2sd xmm0, dword [ebp - 0x22a0]
movsd xmm1, qword [ebp - 0xbb40]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22a4], eax
jmp 0x48cdcc
xor eax, eax
inc eax
je 0x48cd38
jmp 0x48cd47
jmp 0x48cb9a
jmp 0x48cb9a
xor eax, eax
inc eax
je 0x48cdc2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x22a8], eax
cvtsi2sd xmm0, dword [ebp - 0x22a8]
mov eax, dword [ebp - 0x22a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbb40]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22a4], eax
jmp 0x48cdcc
mov dword [ebp - 0x22a4], 7
mov eax, dword [ebp - 0x2260]
shl eax, 2
add eax, dword [ebp - 0x225c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x22a4]
mov ecx, dword [ebp - 0x2260]
shl ecx, 2
add ecx, dword [ebp - 0x225c]
mov dword [ecx], eax
jmp 0x48bd7a
mov eax, dword [ebp - 0x2258]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2258]
mov dword [ebp - 0x22ac], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x22ac]
mov eax, dword [eax]
mov dword [ebp - 0x2254], eax
xor eax, eax
mov byte [ebp - 0x61], al
push 6
pop ecx
mov esi, str._PDY_U_t_t
lea edi, [ebp - 0x160ec]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
mov byte [ebp - 0x62], al
lea ecx, [ebp - 0x62]
call fcn.00415630
mov dword [ebp - 0x22b0], eax
mov eax, dword [ebp - 0x22b0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x48def3
mov eax, dword [ebp - 0x22b0]
mov dword [ebp - 0x22b4], eax
and dword [ebp - 0x22b8], 0
jmp 0x48ce81
mov eax, dword [ebp - 0x22b8]
inc eax
mov dword [ebp - 0x22b8], eax
cmp dword [ebp - 0x22b8], 1
jae 0x48def3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d14b
xor eax, eax
je 0x48cecb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48cf07
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xbb58], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48d09e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d09e
and dword [ebp - 0x22bc], 0
jmp 0x48cf81
cmp dword [ebp - 0x22bc], 0xa
jae 0x48d099
cvtsi2sd xmm0, dword [ebp - 0x22bc]
movsd xmm1, qword [ebp - 0xbb58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb60], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48cff0
mov eax, dword [ebp - 0x22bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb58], xmm1
jmp 0x48cef1
cvtsi2sd xmm0, dword [ebp - 0x22bc]
movsd xmm1, qword [ebp - 0xbb58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb68], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d04d
mov eax, dword [ebp - 0x22bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb58], xmm1
jmp 0x48d061
xor eax, eax
je 0x48d05d
jmp 0x48d119
jmp 0x48d084
cvtsi2sd xmm0, dword [ebp - 0x22bc]
movsd xmm1, qword [ebp - 0xbb58]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22c0], eax
jmp 0x48d123
xor eax, eax
inc eax
je 0x48d08f
jmp 0x48d09e
jmp 0x48cef1
jmp 0x48cef1
xor eax, eax
inc eax
je 0x48d119
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x22c4], eax
cvtsi2sd xmm0, dword [ebp - 0x22c4]
mov eax, dword [ebp - 0x22c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbb58]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22c0], eax
jmp 0x48d123
mov dword [ebp - 0x22c0], 7
mov eax, dword [ebp - 0x22b8]
shl eax, 2
add eax, dword [ebp - 0x22b4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x22c0]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48dc31
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d44d
xor eax, eax
je 0x48d1cd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48d209
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xbb70], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48d3a0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d3a0
and dword [ebp - 0x22c8], 0
jmp 0x48d283
cmp dword [ebp - 0x22c8], 0xa
jae 0x48d39b
cvtsi2sd xmm0, dword [ebp - 0x22c8]
movsd xmm1, qword [ebp - 0xbb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb78], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d2f2
mov eax, dword [ebp - 0x22c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb70], xmm1
jmp 0x48d1f3
cvtsi2sd xmm0, dword [ebp - 0x22c8]
movsd xmm1, qword [ebp - 0xbb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb80], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d34f
mov eax, dword [ebp - 0x22c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb70], xmm1
jmp 0x48d363
xor eax, eax
je 0x48d35f
jmp 0x48d41b
jmp 0x48d386
cvtsi2sd xmm0, dword [ebp - 0x22c8]
movsd xmm1, qword [ebp - 0xbb70]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22cc], eax
jmp 0x48d425
xor eax, eax
inc eax
je 0x48d391
jmp 0x48d3a0
jmp 0x48d1f3
jmp 0x48d1f3
xor eax, eax
inc eax
je 0x48d41b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x22d0], eax
cvtsi2sd xmm0, dword [ebp - 0x22d0]
mov eax, dword [ebp - 0x22d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbb70]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22cc], eax
jmp 0x48d425
mov dword [ebp - 0x22cc], 7
mov eax, dword [ebp - 0x22b8]
shl eax, 2
add eax, dword [ebp - 0x22b4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x22cc]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d70a
xor eax, eax
je 0x48d48a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48d4c6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbb88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48d65d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d65d
and dword [ebp - 0x22d4], 0
jmp 0x48d540
cmp dword [ebp - 0x22d4], 0xa
jae 0x48d658
cvtsi2sd xmm0, dword [ebp - 0x22d4]
movsd xmm1, qword [ebp - 0xbb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d5af
mov eax, dword [ebp - 0x22d4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb88], xmm1
jmp 0x48d4b0
cvtsi2sd xmm0, dword [ebp - 0x22d4]
movsd xmm1, qword [ebp - 0xbb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d60c
mov eax, dword [ebp - 0x22d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb88], xmm1
jmp 0x48d620
xor eax, eax
je 0x48d61c
jmp 0x48d6d8
jmp 0x48d643
cvtsi2sd xmm0, dword [ebp - 0x22d4]
movsd xmm1, qword [ebp - 0xbb88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22d8], eax
jmp 0x48d6e2
xor eax, eax
inc eax
je 0x48d64e
jmp 0x48d65d
jmp 0x48d4b0
jmp 0x48d4b0
xor eax, eax
inc eax
je 0x48d6d8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x22dc], eax
cvtsi2sd xmm0, dword [ebp - 0x22dc]
mov eax, dword [ebp - 0x22dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbb88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22d8], eax
jmp 0x48d6e2
mov dword [ebp - 0x22d8], 7
mov eax, dword [ebp - 0x22b8]
shl eax, 2
add eax, dword [ebp - 0x22b4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x22d8]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x22b8]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbba0], xmm0
xor eax, eax
je 0x48d724
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48d760
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbba0]
movsd qword [ebp - 0xbba8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48d8f7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48d8f7
and dword [ebp - 0x22e0], 0
jmp 0x48d7da
cmp dword [ebp - 0x22e0], 0xa
jae 0x48d8f2
cvtsi2sd xmm0, dword [ebp - 0x22e0]
movsd xmm1, qword [ebp - 0xbba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d849
mov eax, dword [ebp - 0x22e0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbba8], xmm1
jmp 0x48d74a
cvtsi2sd xmm0, dword [ebp - 0x22e0]
movsd xmm1, qword [ebp - 0xbba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d8a6
mov eax, dword [ebp - 0x22e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbba8], xmm1
jmp 0x48d8ba
xor eax, eax
je 0x48d8b6
jmp 0x48d972
jmp 0x48d8dd
cvtsi2sd xmm0, dword [ebp - 0x22e0]
movsd xmm1, qword [ebp - 0xbba8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22e4], eax
jmp 0x48d97c
xor eax, eax
inc eax
je 0x48d8e8
jmp 0x48d8f7
jmp 0x48d74a
jmp 0x48d74a
xor eax, eax
inc eax
je 0x48d972
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x22e8], eax
cvtsi2sd xmm0, dword [ebp - 0x22e8]
mov eax, dword [ebp - 0x22e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbba8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22e4], eax
jmp 0x48d97c
mov dword [ebp - 0x22e4], 7
mov eax, dword [ebp - 0x22b8]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbbc0], xmm0
xor eax, eax
je 0x48d996
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48d9d2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbbc0]
movsd qword [ebp - 0xbbc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48db69
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48db69
and dword [ebp - 0x22ec], 0
jmp 0x48da4c
cmp dword [ebp - 0x22ec], 0xa
jae 0x48db64
cvtsi2sd xmm0, dword [ebp - 0x22ec]
movsd xmm1, qword [ebp - 0xbbc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48dabb
mov eax, dword [ebp - 0x22ec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbc8], xmm1
jmp 0x48d9bc
cvtsi2sd xmm0, dword [ebp - 0x22ec]
movsd xmm1, qword [ebp - 0xbbc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48db18
mov eax, dword [ebp - 0x22ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbc8], xmm1
jmp 0x48db2c
xor eax, eax
je 0x48db28
jmp 0x48dbe4
jmp 0x48db4f
cvtsi2sd xmm0, dword [ebp - 0x22ec]
movsd xmm1, qword [ebp - 0xbbc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22f0], eax
jmp 0x48dbee
xor eax, eax
inc eax
je 0x48db5a
jmp 0x48db69
jmp 0x48d9bc
jmp 0x48d9bc
xor eax, eax
inc eax
je 0x48dbe4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x22f4], eax
cvtsi2sd xmm0, dword [ebp - 0x22f4]
mov eax, dword [ebp - 0x22f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbbc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22f0], eax
jmp 0x48dbee
mov dword [ebp - 0x22f0], 7
mov eax, dword [ebp - 0x22b8]
shl eax, 2
add eax, dword [ebp - 0x22b4]
mov eax, dword [eax]
add eax, dword [ebp - 0x22e4]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x22f0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48deee
xor eax, eax
je 0x48dc6e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48dcaa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbbe0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48de41
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48de41
and dword [ebp - 0x22f8], 0
jmp 0x48dd24
cmp dword [ebp - 0x22f8], 0xa
jae 0x48de3c
cvtsi2sd xmm0, dword [ebp - 0x22f8]
movsd xmm1, qword [ebp - 0xbbe0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbe8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbe8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48dd93
mov eax, dword [ebp - 0x22f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbe0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbe0], xmm1
jmp 0x48dc94
cvtsi2sd xmm0, dword [ebp - 0x22f8]
movsd xmm1, qword [ebp - 0xbbe0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbf0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ddf0
mov eax, dword [ebp - 0x22f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbe0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbe0], xmm1
jmp 0x48de04
xor eax, eax
je 0x48de00
jmp 0x48debc
jmp 0x48de27
cvtsi2sd xmm0, dword [ebp - 0x22f8]
movsd xmm1, qword [ebp - 0xbbe0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22fc], eax
jmp 0x48dec6
xor eax, eax
inc eax
je 0x48de32
jmp 0x48de41
jmp 0x48dc94
jmp 0x48dc94
xor eax, eax
inc eax
je 0x48debc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2300], eax
cvtsi2sd xmm0, dword [ebp - 0x2300]
mov eax, dword [ebp - 0x2300]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbbe0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x22fc], eax
jmp 0x48dec6
mov dword [ebp - 0x22fc], 7
mov eax, dword [ebp - 0x22b8]
shl eax, 2
add eax, dword [ebp - 0x22b4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x22fc]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
jmp 0x48ce74
mov eax, dword [ebp - 0x22b0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x22b0]
mov dword [ebp - 0x2304], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2304]
mov eax, dword [eax]
mov dword [ebp - 0x2308], eax
xor eax, eax
mov byte [ebp - 0x63], al
lea ecx, [ebp - 0x63]
call fcn.004186f2
mov dword [ebp - 0x230c], eax
mov eax, dword [ebp - 0x230c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x48efd6
mov eax, dword [ebp - 0x230c]
mov dword [ebp - 0x2310], eax
and dword [ebp - 0x2314], 0
jmp 0x48df64
mov eax, dword [ebp - 0x2314]
inc eax
mov dword [ebp - 0x2314], eax
cmp dword [ebp - 0x2314], 1
jae 0x48efd6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e22e
xor eax, eax
je 0x48dfae
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48dfea
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e18]
movsd qword [ebp - 0xbbf8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48e181
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e181
and dword [ebp - 0x2318], 0
jmp 0x48e064
cmp dword [ebp - 0x2318], 0xa
jae 0x48e17c
cvtsi2sd xmm0, dword [ebp - 0x2318]
movsd xmm1, qword [ebp - 0xbbf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc00], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e0d3
mov eax, dword [ebp - 0x2318]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbf8], xmm1
jmp 0x48dfd4
cvtsi2sd xmm0, dword [ebp - 0x2318]
movsd xmm1, qword [ebp - 0xbbf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc08], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e130
mov eax, dword [ebp - 0x2318]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbf8], xmm1
jmp 0x48e144
xor eax, eax
je 0x48e140
jmp 0x48e1fc
jmp 0x48e167
cvtsi2sd xmm0, dword [ebp - 0x2318]
movsd xmm1, qword [ebp - 0xbbf8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x231c], eax
jmp 0x48e206
xor eax, eax
inc eax
je 0x48e172
jmp 0x48e181
jmp 0x48dfd4
jmp 0x48dfd4
xor eax, eax
inc eax
je 0x48e1fc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2320], eax
cvtsi2sd xmm0, dword [ebp - 0x2320]
mov eax, dword [ebp - 0x2320]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbbf8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x231c], eax
jmp 0x48e206
mov dword [ebp - 0x231c], 7
mov eax, dword [ebp - 0x2314]
shl eax, 2
add eax, dword [ebp - 0x2310]
mov eax, dword [eax]
xor eax, dword [ebp - 0x231c]
mov ecx, dword [ebp - 0x2314]
shl ecx, 2
add ecx, dword [ebp - 0x2310]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48ed14
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e530
xor eax, eax
je 0x48e2b0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48e2ec
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xbc10], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48e483
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e483
and dword [ebp - 0x2324], 0
jmp 0x48e366
cmp dword [ebp - 0x2324], 0xa
jae 0x48e47e
cvtsi2sd xmm0, dword [ebp - 0x2324]
movsd xmm1, qword [ebp - 0xbc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc18], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e3d5
mov eax, dword [ebp - 0x2324]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc10], xmm1
jmp 0x48e2d6
cvtsi2sd xmm0, dword [ebp - 0x2324]
movsd xmm1, qword [ebp - 0xbc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc20], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e432
mov eax, dword [ebp - 0x2324]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc10], xmm1
jmp 0x48e446
xor eax, eax
je 0x48e442
jmp 0x48e4fe
jmp 0x48e469
cvtsi2sd xmm0, dword [ebp - 0x2324]
movsd xmm1, qword [ebp - 0xbc10]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2328], eax
jmp 0x48e508
xor eax, eax
inc eax
je 0x48e474
jmp 0x48e483
jmp 0x48e2d6
jmp 0x48e2d6
xor eax, eax
inc eax
je 0x48e4fe
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x232c], eax
cvtsi2sd xmm0, dword [ebp - 0x232c]
mov eax, dword [ebp - 0x232c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbc10]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2328], eax
jmp 0x48e508
mov dword [ebp - 0x2328], 7
mov eax, dword [ebp - 0x2314]
shl eax, 2
add eax, dword [ebp - 0x2310]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2328]
mov ecx, dword [ebp - 0x2314]
shl ecx, 2
add ecx, dword [ebp - 0x2310]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e7ed
xor eax, eax
je 0x48e56d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48e5a9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbc28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48e740
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e740
and dword [ebp - 0x2330], 0
jmp 0x48e623
cmp dword [ebp - 0x2330], 0xa
jae 0x48e73b
cvtsi2sd xmm0, dword [ebp - 0x2330]
movsd xmm1, qword [ebp - 0xbc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e692
mov eax, dword [ebp - 0x2330]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc28], xmm1
jmp 0x48e593
cvtsi2sd xmm0, dword [ebp - 0x2330]
movsd xmm1, qword [ebp - 0xbc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e6ef
mov eax, dword [ebp - 0x2330]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc28], xmm1
jmp 0x48e703
xor eax, eax
je 0x48e6ff
jmp 0x48e7bb
jmp 0x48e726
cvtsi2sd xmm0, dword [ebp - 0x2330]
movsd xmm1, qword [ebp - 0xbc28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2334], eax
jmp 0x48e7c5
xor eax, eax
inc eax
je 0x48e731
jmp 0x48e740
jmp 0x48e593
jmp 0x48e593
xor eax, eax
inc eax
je 0x48e7bb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2338], eax
cvtsi2sd xmm0, dword [ebp - 0x2338]
mov eax, dword [ebp - 0x2338]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbc28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2334], eax
jmp 0x48e7c5
mov dword [ebp - 0x2334], 7
mov eax, dword [ebp - 0x2314]
shl eax, 2
add eax, dword [ebp - 0x2310]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2334]
mov ecx, dword [ebp - 0x2314]
shl ecx, 2
add ecx, dword [ebp - 0x2310]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2314]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbc40], xmm0
xor eax, eax
je 0x48e807
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48e843
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbc40]
movsd qword [ebp - 0xbc48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48e9da
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48e9da
and dword [ebp - 0x233c], 0
jmp 0x48e8bd
cmp dword [ebp - 0x233c], 0xa
jae 0x48e9d5
cvtsi2sd xmm0, dword [ebp - 0x233c]
movsd xmm1, qword [ebp - 0xbc48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e92c
mov eax, dword [ebp - 0x233c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc48], xmm1
jmp 0x48e82d
cvtsi2sd xmm0, dword [ebp - 0x233c]
movsd xmm1, qword [ebp - 0xbc48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e989
mov eax, dword [ebp - 0x233c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc48], xmm1
jmp 0x48e99d
xor eax, eax
je 0x48e999
jmp 0x48ea55
jmp 0x48e9c0
cvtsi2sd xmm0, dword [ebp - 0x233c]
movsd xmm1, qword [ebp - 0xbc48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2340], eax
jmp 0x48ea5f
xor eax, eax
inc eax
je 0x48e9cb
jmp 0x48e9da
jmp 0x48e82d
jmp 0x48e82d
xor eax, eax
inc eax
je 0x48ea55
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2344], eax
cvtsi2sd xmm0, dword [ebp - 0x2344]
mov eax, dword [ebp - 0x2344]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbc48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2340], eax
jmp 0x48ea5f
mov dword [ebp - 0x2340], 7
mov eax, dword [ebp - 0x2314]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbc60], xmm0
xor eax, eax
je 0x48ea79
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48eab5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbc60]
movsd qword [ebp - 0xbc68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48ec4c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48ec4c
and dword [ebp - 0x2348], 0
jmp 0x48eb2f
cmp dword [ebp - 0x2348], 0xa
jae 0x48ec47
cvtsi2sd xmm0, dword [ebp - 0x2348]
movsd xmm1, qword [ebp - 0xbc68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48eb9e
mov eax, dword [ebp - 0x2348]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc68], xmm1
jmp 0x48ea9f
cvtsi2sd xmm0, dword [ebp - 0x2348]
movsd xmm1, qword [ebp - 0xbc68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ebfb
mov eax, dword [ebp - 0x2348]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc68], xmm1
jmp 0x48ec0f
xor eax, eax
je 0x48ec0b
jmp 0x48ecc7
jmp 0x48ec32
cvtsi2sd xmm0, dword [ebp - 0x2348]
movsd xmm1, qword [ebp - 0xbc68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x234c], eax
jmp 0x48ecd1
xor eax, eax
inc eax
je 0x48ec3d
jmp 0x48ec4c
jmp 0x48ea9f
jmp 0x48ea9f
xor eax, eax
inc eax
je 0x48ecc7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2350], eax
cvtsi2sd xmm0, dword [ebp - 0x2350]
mov eax, dword [ebp - 0x2350]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbc68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x234c], eax
jmp 0x48ecd1
mov dword [ebp - 0x234c], 7
mov eax, dword [ebp - 0x2314]
shl eax, 2
add eax, dword [ebp - 0x2310]
mov eax, dword [eax]
add eax, dword [ebp - 0x2340]
mov ecx, dword [ebp - 0x2314]
shl ecx, 2
add ecx, dword [ebp - 0x2310]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x234c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2314]
shl ecx, 2
add ecx, dword [ebp - 0x2310]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48efd1
xor eax, eax
je 0x48ed51
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48ed8d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbc80], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48ef24
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48ef24
and dword [ebp - 0x2354], 0
jmp 0x48ee07
cmp dword [ebp - 0x2354], 0xa
jae 0x48ef1f
cvtsi2sd xmm0, dword [ebp - 0x2354]
movsd xmm1, qword [ebp - 0xbc80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc88], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ee76
mov eax, dword [ebp - 0x2354]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc80], xmm1
jmp 0x48ed77
cvtsi2sd xmm0, dword [ebp - 0x2354]
movsd xmm1, qword [ebp - 0xbc80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc90], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48eed3
mov eax, dword [ebp - 0x2354]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc80], xmm1
jmp 0x48eee7
xor eax, eax
je 0x48eee3
jmp 0x48ef9f
jmp 0x48ef0a
cvtsi2sd xmm0, dword [ebp - 0x2354]
movsd xmm1, qword [ebp - 0xbc80]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2358], eax
jmp 0x48efa9
xor eax, eax
inc eax
je 0x48ef15
jmp 0x48ef24
jmp 0x48ed77
jmp 0x48ed77
xor eax, eax
inc eax
je 0x48ef9f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x235c], eax
cvtsi2sd xmm0, dword [ebp - 0x235c]
mov eax, dword [ebp - 0x235c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbc80]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2358], eax
jmp 0x48efa9
mov dword [ebp - 0x2358], 7
mov eax, dword [ebp - 0x2314]
shl eax, 2
add eax, dword [ebp - 0x2310]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2358]
mov ecx, dword [ebp - 0x2314]
shl ecx, 2
add ecx, dword [ebp - 0x2310]
mov dword [ecx], eax
jmp 0x48df57
mov eax, dword [ebp - 0x230c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x230c]
mov dword [ebp - 0x2360], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2360]
mov eax, dword [eax]
mov dword [ebp - 0x2364], eax
xor eax, eax
mov byte [ebp - 0x64], al
lea ecx, [ebp - 0x64]
call fcn.00414da8
mov dword [ebp - 0x2368], eax
mov eax, dword [ebp - 0x2368]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4900b9
mov eax, dword [ebp - 0x2368]
mov dword [ebp - 0x236c], eax
and dword [ebp - 0x2370], 0
jmp 0x48f047
mov eax, dword [ebp - 0x2370]
inc eax
mov dword [ebp - 0x2370], eax
cmp dword [ebp - 0x2370], 1
jae 0x4900b9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48f311
xor eax, eax
je 0x48f091
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48f0cd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xbc98], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48f264
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48f264
and dword [ebp - 0x2374], 0
jmp 0x48f147
cmp dword [ebp - 0x2374], 0xa
jae 0x48f25f
cvtsi2sd xmm0, dword [ebp - 0x2374]
movsd xmm1, qword [ebp - 0xbc98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbca0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbca0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f1b6
mov eax, dword [ebp - 0x2374]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc98], xmm1
jmp 0x48f0b7
cvtsi2sd xmm0, dword [ebp - 0x2374]
movsd xmm1, qword [ebp - 0xbc98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbca8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbca8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f213
mov eax, dword [ebp - 0x2374]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc98], xmm1
jmp 0x48f227
xor eax, eax
je 0x48f223
jmp 0x48f2df
jmp 0x48f24a
cvtsi2sd xmm0, dword [ebp - 0x2374]
movsd xmm1, qword [ebp - 0xbc98]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2378], eax
jmp 0x48f2e9
xor eax, eax
inc eax
je 0x48f255
jmp 0x48f264
jmp 0x48f0b7
jmp 0x48f0b7
xor eax, eax
inc eax
je 0x48f2df
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x237c], eax
cvtsi2sd xmm0, dword [ebp - 0x237c]
mov eax, dword [ebp - 0x237c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbc98]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2378], eax
jmp 0x48f2e9
mov dword [ebp - 0x2378], 7
mov eax, dword [ebp - 0x2370]
shl eax, 2
add eax, dword [ebp - 0x236c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2378]
mov ecx, dword [ebp - 0x2370]
shl ecx, 2
add ecx, dword [ebp - 0x236c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48fdf7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48f613
xor eax, eax
je 0x48f393
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48f3cf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbcb0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48f566
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48f566
and dword [ebp - 0x2380], 0
jmp 0x48f449
cmp dword [ebp - 0x2380], 0xa
jae 0x48f561
cvtsi2sd xmm0, dword [ebp - 0x2380]
movsd xmm1, qword [ebp - 0xbcb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcb8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f4b8
mov eax, dword [ebp - 0x2380]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcb0], xmm1
jmp 0x48f3b9
cvtsi2sd xmm0, dword [ebp - 0x2380]
movsd xmm1, qword [ebp - 0xbcb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcc0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f515
mov eax, dword [ebp - 0x2380]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcb0], xmm1
jmp 0x48f529
xor eax, eax
je 0x48f525
jmp 0x48f5e1
jmp 0x48f54c
cvtsi2sd xmm0, dword [ebp - 0x2380]
movsd xmm1, qword [ebp - 0xbcb0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2384], eax
jmp 0x48f5eb
xor eax, eax
inc eax
je 0x48f557
jmp 0x48f566
jmp 0x48f3b9
jmp 0x48f3b9
xor eax, eax
inc eax
je 0x48f5e1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2388], eax
cvtsi2sd xmm0, dword [ebp - 0x2388]
mov eax, dword [ebp - 0x2388]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbcb0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2384], eax
jmp 0x48f5eb
mov dword [ebp - 0x2384], 7
mov eax, dword [ebp - 0x2370]
shl eax, 2
add eax, dword [ebp - 0x236c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2384]
mov ecx, dword [ebp - 0x2370]
shl ecx, 2
add ecx, dword [ebp - 0x236c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48f8d0
xor eax, eax
je 0x48f650
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48f68c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbcc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48f823
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48f823
and dword [ebp - 0x238c], 0
jmp 0x48f706
cmp dword [ebp - 0x238c], 0xa
jae 0x48f81e
cvtsi2sd xmm0, dword [ebp - 0x238c]
movsd xmm1, qword [ebp - 0xbcc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcd0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f775
mov eax, dword [ebp - 0x238c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcc8], xmm1
jmp 0x48f676
cvtsi2sd xmm0, dword [ebp - 0x238c]
movsd xmm1, qword [ebp - 0xbcc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcd8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f7d2
mov eax, dword [ebp - 0x238c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcc8], xmm1
jmp 0x48f7e6
xor eax, eax
je 0x48f7e2
jmp 0x48f89e
jmp 0x48f809
cvtsi2sd xmm0, dword [ebp - 0x238c]
movsd xmm1, qword [ebp - 0xbcc8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2390], eax
jmp 0x48f8a8
xor eax, eax
inc eax
je 0x48f814
jmp 0x48f823
jmp 0x48f676
jmp 0x48f676
xor eax, eax
inc eax
je 0x48f89e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2394], eax
cvtsi2sd xmm0, dword [ebp - 0x2394]
mov eax, dword [ebp - 0x2394]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbcc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2390], eax
jmp 0x48f8a8
mov dword [ebp - 0x2390], 7
mov eax, dword [ebp - 0x2370]
shl eax, 2
add eax, dword [ebp - 0x236c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2390]
mov ecx, dword [ebp - 0x2370]
shl ecx, 2
add ecx, dword [ebp - 0x236c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2370]
add eax, 0xffffffc5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbce0], xmm0
xor eax, eax
je 0x48f8ea
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48f926
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbce0]
movsd qword [ebp - 0xbce8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48fabd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48fabd
and dword [ebp - 0x2398], 0
jmp 0x48f9a0
cmp dword [ebp - 0x2398], 0xa
jae 0x48fab8
cvtsi2sd xmm0, dword [ebp - 0x2398]
movsd xmm1, qword [ebp - 0xbce8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcf0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fa0f
mov eax, dword [ebp - 0x2398]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbce8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbce8], xmm1
jmp 0x48f910
cvtsi2sd xmm0, dword [ebp - 0x2398]
movsd xmm1, qword [ebp - 0xbce8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcf8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fa6c
mov eax, dword [ebp - 0x2398]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbce8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbce8], xmm1
jmp 0x48fa80
xor eax, eax
je 0x48fa7c
jmp 0x48fb38
jmp 0x48faa3
cvtsi2sd xmm0, dword [ebp - 0x2398]
movsd xmm1, qword [ebp - 0xbce8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x239c], eax
jmp 0x48fb42
xor eax, eax
inc eax
je 0x48faae
jmp 0x48fabd
jmp 0x48f910
jmp 0x48f910
xor eax, eax
inc eax
je 0x48fb38
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23a0], eax
cvtsi2sd xmm0, dword [ebp - 0x23a0]
mov eax, dword [ebp - 0x23a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbce8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x239c], eax
jmp 0x48fb42
mov dword [ebp - 0x239c], 7
mov eax, dword [ebp - 0x2370]
add eax, 0xffffffc5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbd00], xmm0
xor eax, eax
je 0x48fb5c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48fb98
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbd00]
movsd qword [ebp - 0xbd08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x48fd2f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x48fd2f
and dword [ebp - 0x23a4], 0
jmp 0x48fc12
cmp dword [ebp - 0x23a4], 0xa
jae 0x48fd2a
cvtsi2sd xmm0, dword [ebp - 0x23a4]
movsd xmm1, qword [ebp - 0xbd08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fc81
mov eax, dword [ebp - 0x23a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd08], xmm1
jmp 0x48fb82
cvtsi2sd xmm0, dword [ebp - 0x23a4]
movsd xmm1, qword [ebp - 0xbd08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fcde
mov eax, dword [ebp - 0x23a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd08], xmm1
jmp 0x48fcf2
xor eax, eax
je 0x48fcee
jmp 0x48fdaa
jmp 0x48fd15
cvtsi2sd xmm0, dword [ebp - 0x23a4]
movsd xmm1, qword [ebp - 0xbd08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23a8], eax
jmp 0x48fdb4
xor eax, eax
inc eax
je 0x48fd20
jmp 0x48fd2f
jmp 0x48fb82
jmp 0x48fb82
xor eax, eax
inc eax
je 0x48fdaa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23ac], eax
cvtsi2sd xmm0, dword [ebp - 0x23ac]
mov eax, dword [ebp - 0x23ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbd08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23a8], eax
jmp 0x48fdb4
mov dword [ebp - 0x23a8], 7
mov eax, dword [ebp - 0x2370]
shl eax, 2
add eax, dword [ebp - 0x236c]
mov eax, dword [eax]
add eax, dword [ebp - 0x239c]
mov ecx, dword [ebp - 0x2370]
shl ecx, 2
add ecx, dword [ebp - 0x236c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x23a8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2370]
shl ecx, 2
add ecx, dword [ebp - 0x236c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4900b4
xor eax, eax
je 0x48fe34
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x48fe70
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xbd20], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x490007
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x490007
and dword [ebp - 0x23b0], 0
jmp 0x48feea
cmp dword [ebp - 0x23b0], 0xa
jae 0x490002
cvtsi2sd xmm0, dword [ebp - 0x23b0]
movsd xmm1, qword [ebp - 0xbd20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd28], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ff59
mov eax, dword [ebp - 0x23b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd20], xmm1
jmp 0x48fe5a
cvtsi2sd xmm0, dword [ebp - 0x23b0]
movsd xmm1, qword [ebp - 0xbd20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd30], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ffb6
mov eax, dword [ebp - 0x23b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd20], xmm1
jmp 0x48ffca
xor eax, eax
je 0x48ffc6
jmp 0x490082
jmp 0x48ffed
cvtsi2sd xmm0, dword [ebp - 0x23b0]
movsd xmm1, qword [ebp - 0xbd20]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23b4], eax
jmp 0x49008c
xor eax, eax
inc eax
je 0x48fff8
jmp 0x490007
jmp 0x48fe5a
jmp 0x48fe5a
xor eax, eax
inc eax
je 0x490082
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23b8], eax
cvtsi2sd xmm0, dword [ebp - 0x23b8]
mov eax, dword [ebp - 0x23b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbd20]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23b4], eax
jmp 0x49008c
mov dword [ebp - 0x23b4], 7
mov eax, dword [ebp - 0x2370]
shl eax, 2
add eax, dword [ebp - 0x236c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x23b4]
mov ecx, dword [ebp - 0x2370]
shl ecx, 2
add ecx, dword [ebp - 0x236c]
mov dword [ecx], eax
jmp 0x48f03a
mov eax, dword [ebp - 0x2368]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2368]
mov dword [ebp - 0x23bc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x23bc]
mov eax, dword [eax]
mov dword [ebp - 0x23c0], eax
mov eax, dword [ebp - 0x2364]
mov dword [ebp - 0x2308], eax
cmp dword [ebp - 0x2308], 0
je 0x4911df
xor eax, eax
mov byte [ebp - 0x65], al
lea ecx, [ebp - 0x65]
call fcn.004168e0
mov dword [ebp - 0x23c4], eax
mov eax, dword [ebp - 0x23c4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4911b5
mov eax, dword [ebp - 0x23c4]
mov dword [ebp - 0x23c8], eax
and dword [ebp - 0x23cc], 0
jmp 0x490143
mov eax, dword [ebp - 0x23cc]
inc eax
mov dword [ebp - 0x23cc], eax
cmp dword [ebp - 0x23cc], 1
jae 0x4911b5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49040d
xor eax, eax
je 0x49018d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4901c9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e10]
movsd qword [ebp - 0xbd38], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x490360
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x490360
and dword [ebp - 0x23d0], 0
jmp 0x490243
cmp dword [ebp - 0x23d0], 0xa
jae 0x49035b
cvtsi2sd xmm0, dword [ebp - 0x23d0]
movsd xmm1, qword [ebp - 0xbd38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd40], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4902b2
mov eax, dword [ebp - 0x23d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd38], xmm1
jmp 0x4901b3
cvtsi2sd xmm0, dword [ebp - 0x23d0]
movsd xmm1, qword [ebp - 0xbd38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd48], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49030f
mov eax, dword [ebp - 0x23d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd38], xmm1
jmp 0x490323
xor eax, eax
je 0x49031f
jmp 0x4903db
jmp 0x490346
cvtsi2sd xmm0, dword [ebp - 0x23d0]
movsd xmm1, qword [ebp - 0xbd38]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23d4], eax
jmp 0x4903e5
xor eax, eax
inc eax
je 0x490351
jmp 0x490360
jmp 0x4901b3
jmp 0x4901b3
xor eax, eax
inc eax
je 0x4903db
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23d8], eax
cvtsi2sd xmm0, dword [ebp - 0x23d8]
mov eax, dword [ebp - 0x23d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbd38]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23d4], eax
jmp 0x4903e5
mov dword [ebp - 0x23d4], 7
mov eax, dword [ebp - 0x23cc]
shl eax, 2
add eax, dword [ebp - 0x23c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x23d4]
mov ecx, dword [ebp - 0x23cc]
shl ecx, 2
add ecx, dword [ebp - 0x23c8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x490ef3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49070f
xor eax, eax
je 0x49048f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4904cb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbd50], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x490662
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x490662
and dword [ebp - 0x23dc], 0
jmp 0x490545
cmp dword [ebp - 0x23dc], 0xa
jae 0x49065d
cvtsi2sd xmm0, dword [ebp - 0x23dc]
movsd xmm1, qword [ebp - 0xbd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd58], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4905b4
mov eax, dword [ebp - 0x23dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd50], xmm1
jmp 0x4904b5
cvtsi2sd xmm0, dword [ebp - 0x23dc]
movsd xmm1, qword [ebp - 0xbd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd60], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490611
mov eax, dword [ebp - 0x23dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd50], xmm1
jmp 0x490625
xor eax, eax
je 0x490621
jmp 0x4906dd
jmp 0x490648
cvtsi2sd xmm0, dword [ebp - 0x23dc]
movsd xmm1, qword [ebp - 0xbd50]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23e0], eax
jmp 0x4906e7
xor eax, eax
inc eax
je 0x490653
jmp 0x490662
jmp 0x4904b5
jmp 0x4904b5
xor eax, eax
inc eax
je 0x4906dd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23e4], eax
cvtsi2sd xmm0, dword [ebp - 0x23e4]
mov eax, dword [ebp - 0x23e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbd50]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23e0], eax
jmp 0x4906e7
mov dword [ebp - 0x23e0], 7
mov eax, dword [ebp - 0x23cc]
shl eax, 2
add eax, dword [ebp - 0x23c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x23e0]
mov ecx, dword [ebp - 0x23cc]
shl ecx, 2
add ecx, dword [ebp - 0x23c8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4909cc
xor eax, eax
je 0x49074c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x490788
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbd68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49091f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49091f
and dword [ebp - 0x23e8], 0
jmp 0x490802
cmp dword [ebp - 0x23e8], 0xa
jae 0x49091a
cvtsi2sd xmm0, dword [ebp - 0x23e8]
movsd xmm1, qword [ebp - 0xbd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490871
mov eax, dword [ebp - 0x23e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd68], xmm1
jmp 0x490772
cvtsi2sd xmm0, dword [ebp - 0x23e8]
movsd xmm1, qword [ebp - 0xbd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4908ce
mov eax, dword [ebp - 0x23e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd68], xmm1
jmp 0x4908e2
xor eax, eax
je 0x4908de
jmp 0x49099a
jmp 0x490905
cvtsi2sd xmm0, dword [ebp - 0x23e8]
movsd xmm1, qword [ebp - 0xbd68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23ec], eax
jmp 0x4909a4
xor eax, eax
inc eax
je 0x490910
jmp 0x49091f
jmp 0x490772
jmp 0x490772
xor eax, eax
inc eax
je 0x49099a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23f0], eax
cvtsi2sd xmm0, dword [ebp - 0x23f0]
mov eax, dword [ebp - 0x23f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbd68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23ec], eax
jmp 0x4909a4
mov dword [ebp - 0x23ec], 7
mov eax, dword [ebp - 0x23cc]
shl eax, 2
add eax, dword [ebp - 0x23c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x23ec]
mov ecx, dword [ebp - 0x23cc]
shl ecx, 2
add ecx, dword [ebp - 0x23c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x23cc]
add eax, 0xffffffc5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbd80], xmm0
xor eax, eax
je 0x4909e6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x490a22
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbd80]
movsd qword [ebp - 0xbd88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x490bb9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x490bb9
and dword [ebp - 0x23f4], 0
jmp 0x490a9c
cmp dword [ebp - 0x23f4], 0xa
jae 0x490bb4
cvtsi2sd xmm0, dword [ebp - 0x23f4]
movsd xmm1, qword [ebp - 0xbd88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490b0b
mov eax, dword [ebp - 0x23f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd88], xmm1
jmp 0x490a0c
cvtsi2sd xmm0, dword [ebp - 0x23f4]
movsd xmm1, qword [ebp - 0xbd88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490b68
mov eax, dword [ebp - 0x23f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd88], xmm1
jmp 0x490b7c
xor eax, eax
je 0x490b78
jmp 0x490c34
jmp 0x490b9f
cvtsi2sd xmm0, dword [ebp - 0x23f4]
movsd xmm1, qword [ebp - 0xbd88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23f8], eax
jmp 0x490c3e
xor eax, eax
inc eax
je 0x490baa
jmp 0x490bb9
jmp 0x490a0c
jmp 0x490a0c
xor eax, eax
inc eax
je 0x490c34
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x23fc], eax
cvtsi2sd xmm0, dword [ebp - 0x23fc]
mov eax, dword [ebp - 0x23fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbd88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x23f8], eax
jmp 0x490c3e
mov dword [ebp - 0x23f8], 7
mov eax, dword [ebp - 0x23cc]
add eax, 0xffffffc5
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbda0], xmm0
xor eax, eax
je 0x490c58
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x490c94
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbda0]
movsd qword [ebp - 0xbda8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x490e2b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x490e2b
and dword [ebp - 0x2400], 0
jmp 0x490d0e
cmp dword [ebp - 0x2400], 0xa
jae 0x490e26
cvtsi2sd xmm0, dword [ebp - 0x2400]
movsd xmm1, qword [ebp - 0xbda8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490d7d
mov eax, dword [ebp - 0x2400]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbda8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbda8], xmm1
jmp 0x490c7e
cvtsi2sd xmm0, dword [ebp - 0x2400]
movsd xmm1, qword [ebp - 0xbda8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490dda
mov eax, dword [ebp - 0x2400]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbda8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbda8], xmm1
jmp 0x490dee
xor eax, eax
je 0x490dea
jmp 0x490ea6
jmp 0x490e11
cvtsi2sd xmm0, dword [ebp - 0x2400]
movsd xmm1, qword [ebp - 0xbda8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2404], eax
jmp 0x490eb0
xor eax, eax
inc eax
je 0x490e1c
jmp 0x490e2b
jmp 0x490c7e
jmp 0x490c7e
xor eax, eax
inc eax
je 0x490ea6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2408], eax
cvtsi2sd xmm0, dword [ebp - 0x2408]
mov eax, dword [ebp - 0x2408]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbda8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2404], eax
jmp 0x490eb0
mov dword [ebp - 0x2404], 7
mov eax, dword [ebp - 0x23cc]
shl eax, 2
add eax, dword [ebp - 0x23c8]
mov eax, dword [eax]
add eax, dword [ebp - 0x23f8]
mov ecx, dword [ebp - 0x23cc]
shl ecx, 2
add ecx, dword [ebp - 0x23c8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2404]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x23cc]
shl ecx, 2
add ecx, dword [ebp - 0x23c8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4911b0
xor eax, eax
je 0x490f30
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x490f6c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xbdc0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x491103
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491103
and dword [ebp - 0x240c], 0
jmp 0x490fe6
cmp dword [ebp - 0x240c], 0xa
jae 0x4910fe
cvtsi2sd xmm0, dword [ebp - 0x240c]
movsd xmm1, qword [ebp - 0xbdc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdc8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491055
mov eax, dword [ebp - 0x240c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdc0], xmm1
jmp 0x490f56
cvtsi2sd xmm0, dword [ebp - 0x240c]
movsd xmm1, qword [ebp - 0xbdc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdd0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4910b2
mov eax, dword [ebp - 0x240c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdc0], xmm1
jmp 0x4910c6
xor eax, eax
je 0x4910c2
jmp 0x49117e
jmp 0x4910e9
cvtsi2sd xmm0, dword [ebp - 0x240c]
movsd xmm1, qword [ebp - 0xbdc0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2410], eax
jmp 0x491188
xor eax, eax
inc eax
je 0x4910f4
jmp 0x491103
jmp 0x490f56
jmp 0x490f56
xor eax, eax
inc eax
je 0x49117e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2414], eax
cvtsi2sd xmm0, dword [ebp - 0x2414]
mov eax, dword [ebp - 0x2414]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbdc0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2410], eax
jmp 0x491188
mov dword [ebp - 0x2410], 7
mov eax, dword [ebp - 0x23cc]
shl eax, 2
add eax, dword [ebp - 0x23c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2410]
mov ecx, dword [ebp - 0x23cc]
shl ecx, 2
add ecx, dword [ebp - 0x23c8]
mov dword [ecx], eax
jmp 0x490136
mov eax, dword [ebp - 0x23c4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x23c4]
mov dword [ebp - 0x2418], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2418]
mov eax, dword [eax]
mov dword [ebp - 0x23c0], eax
xor eax, eax
mov byte [ebp - 0x66], al
push 2
pop eax
imul eax, eax, 0xc
lea ecx, [ebp - 0x160ec]
movzx eax, word [ecx + eax]
neg eax
sbb eax, eax
neg eax
movzx eax, al
test eax, eax
je 0x491257
and dword [ebp - 0x241c], 0
jmp 0x491217
mov eax, dword [ebp - 0x241c]
inc eax
mov dword [ebp - 0x241c], eax
cmp dword [ebp - 0x241c], 0xd
jge 0x491257
mov eax, dword [ebp - 0x241c]
shl eax, 1
lea ecx, [ebp - 0x160ec]
movzx ecx, word [ecx + eax]
mov eax, dword [ebp - 0x241c]
cdq
push 0x36
pop esi
idiv esi
add edx, 0x34
xor ecx, edx
lea eax, [ebp - 0x160ec]
mov edx, dword [ebp - 0x241c]
shl edx, 1
mov word [eax + edx], cx
jmp 0x49120a
lea ecx, [ebp - 0x66]
call fcn.004185ba
mov dword [ebp - 0x2420], eax
mov eax, dword [ebp - 0x2420]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49230b
mov eax, dword [ebp - 0x2420]
mov dword [ebp - 0x2424], eax
and dword [ebp - 0x2428], 0
jmp 0x491299
mov eax, dword [ebp - 0x2428]
inc eax
mov dword [ebp - 0x2428], eax
cmp dword [ebp - 0x2428], 1
jae 0x49230b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491563
xor eax, eax
je 0x4912e3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49131f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbdd8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4914b6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4914b6
and dword [ebp - 0x242c], 0
jmp 0x491399
cmp dword [ebp - 0x242c], 0xa
jae 0x4914b1
cvtsi2sd xmm0, dword [ebp - 0x242c]
movsd xmm1, qword [ebp - 0xbdd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbde0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbde0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491408
mov eax, dword [ebp - 0x242c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdd8], xmm1
jmp 0x491309
cvtsi2sd xmm0, dword [ebp - 0x242c]
movsd xmm1, qword [ebp - 0xbdd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbde8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbde8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491465
mov eax, dword [ebp - 0x242c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdd8], xmm1
jmp 0x491479
xor eax, eax
je 0x491475
jmp 0x491531
jmp 0x49149c
cvtsi2sd xmm0, dword [ebp - 0x242c]
movsd xmm1, qword [ebp - 0xbdd8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2430], eax
jmp 0x49153b
xor eax, eax
inc eax
je 0x4914a7
jmp 0x4914b6
jmp 0x491309
jmp 0x491309
xor eax, eax
inc eax
je 0x491531
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2434], eax
cvtsi2sd xmm0, dword [ebp - 0x2434]
mov eax, dword [ebp - 0x2434]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbdd8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2430], eax
jmp 0x49153b
mov dword [ebp - 0x2430], 7
mov eax, dword [ebp - 0x2428]
shl eax, 2
add eax, dword [ebp - 0x2424]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2430]
mov ecx, dword [ebp - 0x2428]
shl ecx, 2
add ecx, dword [ebp - 0x2424]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x492049
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491865
xor eax, eax
je 0x4915e5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x491621
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbdf0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4917b8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4917b8
and dword [ebp - 0x2438], 0
jmp 0x49169b
cmp dword [ebp - 0x2438], 0xa
jae 0x4917b3
cvtsi2sd xmm0, dword [ebp - 0x2438]
movsd xmm1, qword [ebp - 0xbdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdf8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49170a
mov eax, dword [ebp - 0x2438]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdf0], xmm1
jmp 0x49160b
cvtsi2sd xmm0, dword [ebp - 0x2438]
movsd xmm1, qword [ebp - 0xbdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe00], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491767
mov eax, dword [ebp - 0x2438]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdf0], xmm1
jmp 0x49177b
xor eax, eax
je 0x491777
jmp 0x491833
jmp 0x49179e
cvtsi2sd xmm0, dword [ebp - 0x2438]
movsd xmm1, qword [ebp - 0xbdf0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x243c], eax
jmp 0x49183d
xor eax, eax
inc eax
je 0x4917a9
jmp 0x4917b8
jmp 0x49160b
jmp 0x49160b
xor eax, eax
inc eax
je 0x491833
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2440], eax
cvtsi2sd xmm0, dword [ebp - 0x2440]
mov eax, dword [ebp - 0x2440]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbdf0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x243c], eax
jmp 0x49183d
mov dword [ebp - 0x243c], 7
mov eax, dword [ebp - 0x2428]
shl eax, 2
add eax, dword [ebp - 0x2424]
mov eax, dword [eax]
xor eax, dword [ebp - 0x243c]
mov ecx, dword [ebp - 0x2428]
shl ecx, 2
add ecx, dword [ebp - 0x2424]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491b22
xor eax, eax
je 0x4918a2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4918de
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xbe08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x491a75
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491a75
and dword [ebp - 0x2444], 0
jmp 0x491958
cmp dword [ebp - 0x2444], 0xa
jae 0x491a70
cvtsi2sd xmm0, dword [ebp - 0x2444]
movsd xmm1, qword [ebp - 0xbe08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4919c7
mov eax, dword [ebp - 0x2444]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe08], xmm1
jmp 0x4918c8
cvtsi2sd xmm0, dword [ebp - 0x2444]
movsd xmm1, qword [ebp - 0xbe08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491a24
mov eax, dword [ebp - 0x2444]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe08], xmm1
jmp 0x491a38
xor eax, eax
je 0x491a34
jmp 0x491af0
jmp 0x491a5b
cvtsi2sd xmm0, dword [ebp - 0x2444]
movsd xmm1, qword [ebp - 0xbe08]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2448], eax
jmp 0x491afa
xor eax, eax
inc eax
je 0x491a66
jmp 0x491a75
jmp 0x4918c8
jmp 0x4918c8
xor eax, eax
inc eax
je 0x491af0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x244c], eax
cvtsi2sd xmm0, dword [ebp - 0x244c]
mov eax, dword [ebp - 0x244c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbe08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2448], eax
jmp 0x491afa
mov dword [ebp - 0x2448], 7
mov eax, dword [ebp - 0x2428]
shl eax, 2
add eax, dword [ebp - 0x2424]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2448]
mov ecx, dword [ebp - 0x2428]
shl ecx, 2
add ecx, dword [ebp - 0x2424]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2428]
add eax, 0xffffffc6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbe20], xmm0
xor eax, eax
je 0x491b3c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x491b78
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbe20]
movsd qword [ebp - 0xbe28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x491d0f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491d0f
and dword [ebp - 0x2450], 0
jmp 0x491bf2
cmp dword [ebp - 0x2450], 0xa
jae 0x491d0a
cvtsi2sd xmm0, dword [ebp - 0x2450]
movsd xmm1, qword [ebp - 0xbe28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe30], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491c61
mov eax, dword [ebp - 0x2450]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe28], xmm1
jmp 0x491b62
cvtsi2sd xmm0, dword [ebp - 0x2450]
movsd xmm1, qword [ebp - 0xbe28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe38], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491cbe
mov eax, dword [ebp - 0x2450]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe28], xmm1
jmp 0x491cd2
xor eax, eax
je 0x491cce
jmp 0x491d8a
jmp 0x491cf5
cvtsi2sd xmm0, dword [ebp - 0x2450]
movsd xmm1, qword [ebp - 0xbe28]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2454], eax
jmp 0x491d94
xor eax, eax
inc eax
je 0x491d00
jmp 0x491d0f
jmp 0x491b62
jmp 0x491b62
xor eax, eax
inc eax
je 0x491d8a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2458], eax
cvtsi2sd xmm0, dword [ebp - 0x2458]
mov eax, dword [ebp - 0x2458]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbe28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2454], eax
jmp 0x491d94
mov dword [ebp - 0x2454], 7
mov eax, dword [ebp - 0x2428]
add eax, 0xffffffc6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbe40], xmm0
xor eax, eax
je 0x491dae
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x491dea
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbe40]
movsd qword [ebp - 0xbe48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x491f81
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x491f81
and dword [ebp - 0x245c], 0
jmp 0x491e64
cmp dword [ebp - 0x245c], 0xa
jae 0x491f7c
cvtsi2sd xmm0, dword [ebp - 0x245c]
movsd xmm1, qword [ebp - 0xbe48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491ed3
mov eax, dword [ebp - 0x245c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe48], xmm1
jmp 0x491dd4
cvtsi2sd xmm0, dword [ebp - 0x245c]
movsd xmm1, qword [ebp - 0xbe48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491f30
mov eax, dword [ebp - 0x245c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe48], xmm1
jmp 0x491f44
xor eax, eax
je 0x491f40
jmp 0x491ffc
jmp 0x491f67
cvtsi2sd xmm0, dword [ebp - 0x245c]
movsd xmm1, qword [ebp - 0xbe48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2460], eax
jmp 0x492006
xor eax, eax
inc eax
je 0x491f72
jmp 0x491f81
jmp 0x491dd4
jmp 0x491dd4
xor eax, eax
inc eax
je 0x491ffc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2464], eax
cvtsi2sd xmm0, dword [ebp - 0x2464]
mov eax, dword [ebp - 0x2464]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbe48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2460], eax
jmp 0x492006
mov dword [ebp - 0x2460], 7
mov eax, dword [ebp - 0x2428]
shl eax, 2
add eax, dword [ebp - 0x2424]
mov eax, dword [eax]
add eax, dword [ebp - 0x2454]
mov ecx, dword [ebp - 0x2428]
shl ecx, 2
add ecx, dword [ebp - 0x2424]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2460]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2428]
shl ecx, 2
add ecx, dword [ebp - 0x2424]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492306
xor eax, eax
je 0x492086
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4920c2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xbe60], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x492259
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492259
and dword [ebp - 0x2468], 0
jmp 0x49213c
cmp dword [ebp - 0x2468], 0xa
jae 0x492254
cvtsi2sd xmm0, dword [ebp - 0x2468]
movsd xmm1, qword [ebp - 0xbe60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe68], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4921ab
mov eax, dword [ebp - 0x2468]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe60], xmm1
jmp 0x4920ac
cvtsi2sd xmm0, dword [ebp - 0x2468]
movsd xmm1, qword [ebp - 0xbe60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe70], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492208
mov eax, dword [ebp - 0x2468]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe60], xmm1
jmp 0x49221c
xor eax, eax
je 0x492218
jmp 0x4922d4
jmp 0x49223f
cvtsi2sd xmm0, dword [ebp - 0x2468]
movsd xmm1, qword [ebp - 0xbe60]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x246c], eax
jmp 0x4922de
xor eax, eax
inc eax
je 0x49224a
jmp 0x492259
jmp 0x4920ac
jmp 0x4920ac
xor eax, eax
inc eax
je 0x4922d4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2470], eax
cvtsi2sd xmm0, dword [ebp - 0x2470]
mov eax, dword [ebp - 0x2470]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbe60]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x246c], eax
jmp 0x4922de
mov dword [ebp - 0x246c], 7
mov eax, dword [ebp - 0x2428]
shl eax, 2
add eax, dword [ebp - 0x2424]
mov eax, dword [eax]
xor eax, dword [ebp - 0x246c]
mov ecx, dword [ebp - 0x2428]
shl ecx, 2
add ecx, dword [ebp - 0x2424]
mov dword [ecx], eax
jmp 0x49128c
mov eax, dword [ebp - 0x2420]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2420]
mov dword [ebp - 0x2474], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2474]
mov eax, dword [eax]
mov dword [ebp - 0x2478], eax
lea eax, [ebp - 0x160ec]
push eax
mov eax, dword [ebp - 0x2478]
shl eax, 2
add eax, 0x7cbd40
call dword [eax]
mov dword [ebp - 0x247c], eax
cmp dword [ebp - 0x247c], 0
jne 0x492362
xor al, al
jmp 0x5a5114
xor eax, eax
mov byte [ebp - 0x67], al
lea ecx, [ebp - 0x67]
call fcn.00419c7a
mov dword [ebp - 0x2480], eax
mov eax, dword [ebp - 0x2480]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49341b
mov eax, dword [ebp - 0x2480]
mov dword [ebp - 0x2484], eax
and dword [ebp - 0x2488], 0
jmp 0x4923a9
mov eax, dword [ebp - 0x2488]
inc eax
mov dword [ebp - 0x2488], eax
cmp dword [ebp - 0x2488], 1
jae 0x49341b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492673
xor eax, eax
je 0x4923f3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49242f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e08]
movsd qword [ebp - 0xbe78], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4925c6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4925c6
and dword [ebp - 0x248c], 0
jmp 0x4924a9
cmp dword [ebp - 0x248c], 0xa
jae 0x4925c1
cvtsi2sd xmm0, dword [ebp - 0x248c]
movsd xmm1, qword [ebp - 0xbe78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe80], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492518
mov eax, dword [ebp - 0x248c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe78], xmm1
jmp 0x492419
cvtsi2sd xmm0, dword [ebp - 0x248c]
movsd xmm1, qword [ebp - 0xbe78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe88], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492575
mov eax, dword [ebp - 0x248c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe78], xmm1
jmp 0x492589
xor eax, eax
je 0x492585
jmp 0x492641
jmp 0x4925ac
cvtsi2sd xmm0, dword [ebp - 0x248c]
movsd xmm1, qword [ebp - 0xbe78]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2490], eax
jmp 0x49264b
xor eax, eax
inc eax
je 0x4925b7
jmp 0x4925c6
jmp 0x492419
jmp 0x492419
xor eax, eax
inc eax
je 0x492641
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2494], eax
cvtsi2sd xmm0, dword [ebp - 0x2494]
mov eax, dword [ebp - 0x2494]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbe78]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2490], eax
jmp 0x49264b
mov dword [ebp - 0x2490], 7
mov eax, dword [ebp - 0x2488]
shl eax, 2
add eax, dword [ebp - 0x2484]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2490]
mov ecx, dword [ebp - 0x2488]
shl ecx, 2
add ecx, dword [ebp - 0x2484]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x493159
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492975
xor eax, eax
je 0x4926f5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x492731
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbe90], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4928c8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4928c8
and dword [ebp - 0x2498], 0
jmp 0x4927ab
cmp dword [ebp - 0x2498], 0xa
jae 0x4928c3
cvtsi2sd xmm0, dword [ebp - 0x2498]
movsd xmm1, qword [ebp - 0xbe90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe98], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49281a
mov eax, dword [ebp - 0x2498]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe90], xmm1
jmp 0x49271b
cvtsi2sd xmm0, dword [ebp - 0x2498]
movsd xmm1, qword [ebp - 0xbe90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbea0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbea0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492877
mov eax, dword [ebp - 0x2498]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe90], xmm1
jmp 0x49288b
xor eax, eax
je 0x492887
jmp 0x492943
jmp 0x4928ae
cvtsi2sd xmm0, dword [ebp - 0x2498]
movsd xmm1, qword [ebp - 0xbe90]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x249c], eax
jmp 0x49294d
xor eax, eax
inc eax
je 0x4928b9
jmp 0x4928c8
jmp 0x49271b
jmp 0x49271b
xor eax, eax
inc eax
je 0x492943
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24a0], eax
cvtsi2sd xmm0, dword [ebp - 0x24a0]
mov eax, dword [ebp - 0x24a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbe90]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x249c], eax
jmp 0x49294d
mov dword [ebp - 0x249c], 7
mov eax, dword [ebp - 0x2488]
shl eax, 2
add eax, dword [ebp - 0x2484]
mov eax, dword [eax]
xor eax, dword [ebp - 0x249c]
mov ecx, dword [ebp - 0x2488]
shl ecx, 2
add ecx, dword [ebp - 0x2484]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492c32
xor eax, eax
je 0x4929b2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4929ee
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xbea8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x492b85
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492b85
and dword [ebp - 0x24a4], 0
jmp 0x492a68
cmp dword [ebp - 0x24a4], 0xa
jae 0x492b80
cvtsi2sd xmm0, dword [ebp - 0x24a4]
movsd xmm1, qword [ebp - 0xbea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbeb0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbeb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492ad7
mov eax, dword [ebp - 0x24a4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbea8], xmm1
jmp 0x4929d8
cvtsi2sd xmm0, dword [ebp - 0x24a4]
movsd xmm1, qword [ebp - 0xbea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbeb8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbeb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492b34
mov eax, dword [ebp - 0x24a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbea8], xmm1
jmp 0x492b48
xor eax, eax
je 0x492b44
jmp 0x492c00
jmp 0x492b6b
cvtsi2sd xmm0, dword [ebp - 0x24a4]
movsd xmm1, qword [ebp - 0xbea8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24a8], eax
jmp 0x492c0a
xor eax, eax
inc eax
je 0x492b76
jmp 0x492b85
jmp 0x4929d8
jmp 0x4929d8
xor eax, eax
inc eax
je 0x492c00
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24ac], eax
cvtsi2sd xmm0, dword [ebp - 0x24ac]
mov eax, dword [ebp - 0x24ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbea8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24a8], eax
jmp 0x492c0a
mov dword [ebp - 0x24a8], 7
mov eax, dword [ebp - 0x2488]
shl eax, 2
add eax, dword [ebp - 0x2484]
mov eax, dword [eax]
xor eax, dword [ebp - 0x24a8]
mov ecx, dword [ebp - 0x2488]
shl ecx, 2
add ecx, dword [ebp - 0x2484]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2488]
add eax, 0xffffffc6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbec0], xmm0
xor eax, eax
je 0x492c4c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x492c88
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbec0]
movsd qword [ebp - 0xbec8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x492e1f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x492e1f
and dword [ebp - 0x24b0], 0
jmp 0x492d02
cmp dword [ebp - 0x24b0], 0xa
jae 0x492e1a
cvtsi2sd xmm0, dword [ebp - 0x24b0]
movsd xmm1, qword [ebp - 0xbec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbed0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbed0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492d71
mov eax, dword [ebp - 0x24b0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbec8], xmm1
jmp 0x492c72
cvtsi2sd xmm0, dword [ebp - 0x24b0]
movsd xmm1, qword [ebp - 0xbec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbed8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492dce
mov eax, dword [ebp - 0x24b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbec8], xmm1
jmp 0x492de2
xor eax, eax
je 0x492dde
jmp 0x492e9a
jmp 0x492e05
cvtsi2sd xmm0, dword [ebp - 0x24b0]
movsd xmm1, qword [ebp - 0xbec8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24b4], eax
jmp 0x492ea4
xor eax, eax
inc eax
je 0x492e10
jmp 0x492e1f
jmp 0x492c72
jmp 0x492c72
xor eax, eax
inc eax
je 0x492e9a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24b8], eax
cvtsi2sd xmm0, dword [ebp - 0x24b8]
mov eax, dword [ebp - 0x24b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbec8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24b4], eax
jmp 0x492ea4
mov dword [ebp - 0x24b4], 7
mov eax, dword [ebp - 0x2488]
add eax, 0xffffffc6
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbee0], xmm0
xor eax, eax
je 0x492ebe
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x492efa
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbee0]
movsd qword [ebp - 0xbee8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x493091
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493091
and dword [ebp - 0x24bc], 0
jmp 0x492f74
cmp dword [ebp - 0x24bc], 0xa
jae 0x49308c
cvtsi2sd xmm0, dword [ebp - 0x24bc]
movsd xmm1, qword [ebp - 0xbee8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbef0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbef0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492fe3
mov eax, dword [ebp - 0x24bc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbee8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbee8], xmm1
jmp 0x492ee4
cvtsi2sd xmm0, dword [ebp - 0x24bc]
movsd xmm1, qword [ebp - 0xbee8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbef8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493040
mov eax, dword [ebp - 0x24bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbee8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbee8], xmm1
jmp 0x493054
xor eax, eax
je 0x493050
jmp 0x49310c
jmp 0x493077
cvtsi2sd xmm0, dword [ebp - 0x24bc]
movsd xmm1, qword [ebp - 0xbee8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24c0], eax
jmp 0x493116
xor eax, eax
inc eax
je 0x493082
jmp 0x493091
jmp 0x492ee4
jmp 0x492ee4
xor eax, eax
inc eax
je 0x49310c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24c4], eax
cvtsi2sd xmm0, dword [ebp - 0x24c4]
mov eax, dword [ebp - 0x24c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbee8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24c0], eax
jmp 0x493116
mov dword [ebp - 0x24c0], 7
mov eax, dword [ebp - 0x2488]
shl eax, 2
add eax, dword [ebp - 0x2484]
mov eax, dword [eax]
add eax, dword [ebp - 0x24b4]
mov ecx, dword [ebp - 0x2488]
shl ecx, 2
add ecx, dword [ebp - 0x2484]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x24c0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2488]
shl ecx, 2
add ecx, dword [ebp - 0x2484]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493416
xor eax, eax
je 0x493196
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4931d2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xbf00], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x493369
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493369
and dword [ebp - 0x24c8], 0
jmp 0x49324c
cmp dword [ebp - 0x24c8], 0xa
jae 0x493364
cvtsi2sd xmm0, dword [ebp - 0x24c8]
movsd xmm1, qword [ebp - 0xbf00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf08], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4932bb
mov eax, dword [ebp - 0x24c8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf00], xmm1
jmp 0x4931bc
cvtsi2sd xmm0, dword [ebp - 0x24c8]
movsd xmm1, qword [ebp - 0xbf00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf10], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493318
mov eax, dword [ebp - 0x24c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf00], xmm1
jmp 0x49332c
xor eax, eax
je 0x493328
jmp 0x4933e4
jmp 0x49334f
cvtsi2sd xmm0, dword [ebp - 0x24c8]
movsd xmm1, qword [ebp - 0xbf00]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24cc], eax
jmp 0x4933ee
xor eax, eax
inc eax
je 0x49335a
jmp 0x493369
jmp 0x4931bc
jmp 0x4931bc
xor eax, eax
inc eax
je 0x4933e4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24d0], eax
cvtsi2sd xmm0, dword [ebp - 0x24d0]
mov eax, dword [ebp - 0x24d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbf00]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24cc], eax
jmp 0x4933ee
mov dword [ebp - 0x24cc], 7
mov eax, dword [ebp - 0x2488]
shl eax, 2
add eax, dword [ebp - 0x2484]
mov eax, dword [eax]
xor eax, dword [ebp - 0x24cc]
mov ecx, dword [ebp - 0x2488]
shl ecx, 2
add ecx, dword [ebp - 0x2484]
mov dword [ecx], eax
jmp 0x49239c
mov eax, dword [ebp - 0x2480]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2480]
mov dword [ebp - 0x24d4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x24d4]
mov eax, dword [eax]
mov dword [ebp - 0x24d8], eax
xor eax, eax
mov byte [ebp - 0x68], al
lea ecx, [ebp - 0x68]
call fcn.004149cc
mov dword [ebp - 0x24dc], eax
mov eax, dword [ebp - 0x24dc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4944fe
mov eax, dword [ebp - 0x24dc]
mov dword [ebp - 0x24e0], eax
and dword [ebp - 0x24e4], 0
jmp 0x49348c
mov eax, dword [ebp - 0x24e4]
inc eax
mov dword [ebp - 0x24e4], eax
cmp dword [ebp - 0x24e4], 1
jae 0x4944fe
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493756
xor eax, eax
je 0x4934d6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x493512
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbf18], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4936a9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4936a9
and dword [ebp - 0x24e8], 0
jmp 0x49358c
cmp dword [ebp - 0x24e8], 0xa
jae 0x4936a4
cvtsi2sd xmm0, dword [ebp - 0x24e8]
movsd xmm1, qword [ebp - 0xbf18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf20], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4935fb
mov eax, dword [ebp - 0x24e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf18], xmm1
jmp 0x4934fc
cvtsi2sd xmm0, dword [ebp - 0x24e8]
movsd xmm1, qword [ebp - 0xbf18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf28], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493658
mov eax, dword [ebp - 0x24e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf18], xmm1
jmp 0x49366c
xor eax, eax
je 0x493668
jmp 0x493724
jmp 0x49368f
cvtsi2sd xmm0, dword [ebp - 0x24e8]
movsd xmm1, qword [ebp - 0xbf18]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24ec], eax
jmp 0x49372e
xor eax, eax
inc eax
je 0x49369a
jmp 0x4936a9
jmp 0x4934fc
jmp 0x4934fc
xor eax, eax
inc eax
je 0x493724
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24f0], eax
cvtsi2sd xmm0, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x24f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbf18]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24ec], eax
jmp 0x49372e
mov dword [ebp - 0x24ec], 7
mov eax, dword [ebp - 0x24e4]
shl eax, 2
add eax, dword [ebp - 0x24e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x24ec]
mov ecx, dword [ebp - 0x24e4]
shl ecx, 2
add ecx, dword [ebp - 0x24e0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49423c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493a58
xor eax, eax
je 0x4937d8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x493814
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xbf30], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4939ab
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4939ab
and dword [ebp - 0x24f4], 0
jmp 0x49388e
cmp dword [ebp - 0x24f4], 0xa
jae 0x4939a6
cvtsi2sd xmm0, dword [ebp - 0x24f4]
movsd xmm1, qword [ebp - 0xbf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf38], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4938fd
mov eax, dword [ebp - 0x24f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf30], xmm1
jmp 0x4937fe
cvtsi2sd xmm0, dword [ebp - 0x24f4]
movsd xmm1, qword [ebp - 0xbf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf40], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49395a
mov eax, dword [ebp - 0x24f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf30], xmm1
jmp 0x49396e
xor eax, eax
je 0x49396a
jmp 0x493a26
jmp 0x493991
cvtsi2sd xmm0, dword [ebp - 0x24f4]
movsd xmm1, qword [ebp - 0xbf30]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24f8], eax
jmp 0x493a30
xor eax, eax
inc eax
je 0x49399c
jmp 0x4939ab
jmp 0x4937fe
jmp 0x4937fe
xor eax, eax
inc eax
je 0x493a26
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x24fc], eax
cvtsi2sd xmm0, dword [ebp - 0x24fc]
mov eax, dword [ebp - 0x24fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbf30]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x24f8], eax
jmp 0x493a30
mov dword [ebp - 0x24f8], 7
mov eax, dword [ebp - 0x24e4]
shl eax, 2
add eax, dword [ebp - 0x24e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x24f8]
mov ecx, dword [ebp - 0x24e4]
shl ecx, 2
add ecx, dword [ebp - 0x24e0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493d15
xor eax, eax
je 0x493a95
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x493ad1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xbf48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x493c68
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493c68
and dword [ebp - 0x2500], 0
jmp 0x493b4b
cmp dword [ebp - 0x2500], 0xa
jae 0x493c63
cvtsi2sd xmm0, dword [ebp - 0x2500]
movsd xmm1, qword [ebp - 0xbf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf50], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493bba
mov eax, dword [ebp - 0x2500]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf48], xmm1
jmp 0x493abb
cvtsi2sd xmm0, dword [ebp - 0x2500]
movsd xmm1, qword [ebp - 0xbf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf58], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493c17
mov eax, dword [ebp - 0x2500]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf48], xmm1
jmp 0x493c2b
xor eax, eax
je 0x493c27
jmp 0x493ce3
jmp 0x493c4e
cvtsi2sd xmm0, dword [ebp - 0x2500]
movsd xmm1, qword [ebp - 0xbf48]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2504], eax
jmp 0x493ced
xor eax, eax
inc eax
je 0x493c59
jmp 0x493c68
jmp 0x493abb
jmp 0x493abb
xor eax, eax
inc eax
je 0x493ce3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2508], eax
cvtsi2sd xmm0, dword [ebp - 0x2508]
mov eax, dword [ebp - 0x2508]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbf48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2504], eax
jmp 0x493ced
mov dword [ebp - 0x2504], 7
mov eax, dword [ebp - 0x24e4]
shl eax, 2
add eax, dword [ebp - 0x24e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2504]
mov ecx, dword [ebp - 0x24e4]
shl ecx, 2
add ecx, dword [ebp - 0x24e0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24e4]
add eax, 0xffffffc7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbf60], xmm0
xor eax, eax
je 0x493d2f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x493d6b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbf60]
movsd qword [ebp - 0xbf68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x493f02
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x493f02
and dword [ebp - 0x250c], 0
jmp 0x493de5
cmp dword [ebp - 0x250c], 0xa
jae 0x493efd
cvtsi2sd xmm0, dword [ebp - 0x250c]
movsd xmm1, qword [ebp - 0xbf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf70], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493e54
mov eax, dword [ebp - 0x250c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf68], xmm1
jmp 0x493d55
cvtsi2sd xmm0, dword [ebp - 0x250c]
movsd xmm1, qword [ebp - 0xbf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf78], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493eb1
mov eax, dword [ebp - 0x250c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf68], xmm1
jmp 0x493ec5
xor eax, eax
je 0x493ec1
jmp 0x493f7d
jmp 0x493ee8
cvtsi2sd xmm0, dword [ebp - 0x250c]
movsd xmm1, qword [ebp - 0xbf68]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2510], eax
jmp 0x493f87
xor eax, eax
inc eax
je 0x493ef3
jmp 0x493f02
jmp 0x493d55
jmp 0x493d55
xor eax, eax
inc eax
je 0x493f7d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2514], eax
cvtsi2sd xmm0, dword [ebp - 0x2514]
mov eax, dword [ebp - 0x2514]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbf68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2510], eax
jmp 0x493f87
mov dword [ebp - 0x2510], 7
mov eax, dword [ebp - 0x24e4]
add eax, 0xffffffc7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xbf80], xmm0
xor eax, eax
je 0x493fa1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x493fdd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbf80]
movsd qword [ebp - 0xbf88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x494174
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494174
and dword [ebp - 0x2518], 0
jmp 0x494057
cmp dword [ebp - 0x2518], 0xa
jae 0x49416f
cvtsi2sd xmm0, dword [ebp - 0x2518]
movsd xmm1, qword [ebp - 0xbf88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4940c6
mov eax, dword [ebp - 0x2518]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf88], xmm1
jmp 0x493fc7
cvtsi2sd xmm0, dword [ebp - 0x2518]
movsd xmm1, qword [ebp - 0xbf88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494123
mov eax, dword [ebp - 0x2518]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf88], xmm1
jmp 0x494137
xor eax, eax
je 0x494133
jmp 0x4941ef
jmp 0x49415a
cvtsi2sd xmm0, dword [ebp - 0x2518]
movsd xmm1, qword [ebp - 0xbf88]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x251c], eax
jmp 0x4941f9
xor eax, eax
inc eax
je 0x494165
jmp 0x494174
jmp 0x493fc7
jmp 0x493fc7
xor eax, eax
inc eax
je 0x4941ef
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2520], eax
cvtsi2sd xmm0, dword [ebp - 0x2520]
mov eax, dword [ebp - 0x2520]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbf88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x251c], eax
jmp 0x4941f9
mov dword [ebp - 0x251c], 7
mov eax, dword [ebp - 0x24e4]
shl eax, 2
add eax, dword [ebp - 0x24e0]
mov eax, dword [eax]
add eax, dword [ebp - 0x2510]
mov ecx, dword [ebp - 0x24e4]
shl ecx, 2
add ecx, dword [ebp - 0x24e0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x251c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x24e4]
shl ecx, 2
add ecx, dword [ebp - 0x24e0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4944f9
xor eax, eax
je 0x494279
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4942b5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xbfa0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49444c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49444c
and dword [ebp - 0x2524], 0
jmp 0x49432f
cmp dword [ebp - 0x2524], 0xa
jae 0x494447
cvtsi2sd xmm0, dword [ebp - 0x2524]
movsd xmm1, qword [ebp - 0xbfa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfa8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49439e
mov eax, dword [ebp - 0x2524]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfa0], xmm1
jmp 0x49429f
cvtsi2sd xmm0, dword [ebp - 0x2524]
movsd xmm1, qword [ebp - 0xbfa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfb0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4943fb
mov eax, dword [ebp - 0x2524]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfa0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfa0], xmm1
jmp 0x49440f
xor eax, eax
je 0x49440b
jmp 0x4944c7
jmp 0x494432
cvtsi2sd xmm0, dword [ebp - 0x2524]
movsd xmm1, qword [ebp - 0xbfa0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2528], eax
jmp 0x4944d1
xor eax, eax
inc eax
je 0x49443d
jmp 0x49444c
jmp 0x49429f
jmp 0x49429f
xor eax, eax
inc eax
je 0x4944c7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x252c], eax
cvtsi2sd xmm0, dword [ebp - 0x252c]
mov eax, dword [ebp - 0x252c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbfa0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2528], eax
jmp 0x4944d1
mov dword [ebp - 0x2528], 7
mov eax, dword [ebp - 0x24e4]
shl eax, 2
add eax, dword [ebp - 0x24e0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2528]
mov ecx, dword [ebp - 0x24e4]
shl ecx, 2
add ecx, dword [ebp - 0x24e0]
mov dword [ecx], eax
jmp 0x49347f
mov eax, dword [ebp - 0x24dc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x24dc]
mov dword [ebp - 0x2530], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2530]
mov eax, dword [eax]
mov dword [ebp - 0x2534], eax
xor eax, eax
mov byte [ebp - 0x69], al
lea ecx, [ebp - 0x69]
call fcn.0041726e
mov dword [ebp - 0x2538], eax
mov eax, dword [ebp - 0x2538]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4955e1
mov eax, dword [ebp - 0x2538]
mov dword [ebp - 0x253c], eax
and dword [ebp - 0x2540], 0
jmp 0x49456f
mov eax, dword [ebp - 0x2540]
inc eax
mov dword [ebp - 0x2540], eax
cmp dword [ebp - 0x2540], 1
jae 0x4955e1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494839
xor eax, eax
je 0x4945b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4945f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xbfb8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49478c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49478c
and dword [ebp - 0x2544], 0
jmp 0x49466f
cmp dword [ebp - 0x2544], 0xa
jae 0x494787
cvtsi2sd xmm0, dword [ebp - 0x2544]
movsd xmm1, qword [ebp - 0xbfb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfc0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4946de
mov eax, dword [ebp - 0x2544]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfb8], xmm1
jmp 0x4945df
cvtsi2sd xmm0, dword [ebp - 0x2544]
movsd xmm1, qword [ebp - 0xbfb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfc8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49473b
mov eax, dword [ebp - 0x2544]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfb8], xmm1
jmp 0x49474f
xor eax, eax
je 0x49474b
jmp 0x494807
jmp 0x494772
cvtsi2sd xmm0, dword [ebp - 0x2544]
movsd xmm1, qword [ebp - 0xbfb8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2548], eax
jmp 0x494811
xor eax, eax
inc eax
je 0x49477d
jmp 0x49478c
jmp 0x4945df
jmp 0x4945df
xor eax, eax
inc eax
je 0x494807
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x254c], eax
cvtsi2sd xmm0, dword [ebp - 0x254c]
mov eax, dword [ebp - 0x254c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbfb8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2548], eax
jmp 0x494811
mov dword [ebp - 0x2548], 7
mov eax, dword [ebp - 0x2540]
shl eax, 2
add eax, dword [ebp - 0x253c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2548]
mov ecx, dword [ebp - 0x2540]
shl ecx, 2
add ecx, dword [ebp - 0x253c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49531f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494b3b
xor eax, eax
je 0x4948bb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4948f7
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xbfd0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x494a8e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494a8e
and dword [ebp - 0x2550], 0
jmp 0x494971
cmp dword [ebp - 0x2550], 0xa
jae 0x494a89
cvtsi2sd xmm0, dword [ebp - 0x2550]
movsd xmm1, qword [ebp - 0xbfd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfd8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4949e0
mov eax, dword [ebp - 0x2550]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfd0], xmm1
jmp 0x4948e1
cvtsi2sd xmm0, dword [ebp - 0x2550]
movsd xmm1, qword [ebp - 0xbfd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfe0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494a3d
mov eax, dword [ebp - 0x2550]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfd0], xmm1
jmp 0x494a51
xor eax, eax
je 0x494a4d
jmp 0x494b09
jmp 0x494a74
cvtsi2sd xmm0, dword [ebp - 0x2550]
movsd xmm1, qword [ebp - 0xbfd0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2554], eax
jmp 0x494b13
xor eax, eax
inc eax
je 0x494a7f
jmp 0x494a8e
jmp 0x4948e1
jmp 0x4948e1
xor eax, eax
inc eax
je 0x494b09
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2558], eax
cvtsi2sd xmm0, dword [ebp - 0x2558]
mov eax, dword [ebp - 0x2558]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbfd0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2554], eax
jmp 0x494b13
mov dword [ebp - 0x2554], 7
mov eax, dword [ebp - 0x2540]
shl eax, 2
add eax, dword [ebp - 0x253c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2554]
mov ecx, dword [ebp - 0x2540]
shl ecx, 2
add ecx, dword [ebp - 0x253c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494df8
xor eax, eax
je 0x494b78
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x494bb4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xbfe8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x494d4b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494d4b
and dword [ebp - 0x255c], 0
jmp 0x494c2e
cmp dword [ebp - 0x255c], 0xa
jae 0x494d46
cvtsi2sd xmm0, dword [ebp - 0x255c]
movsd xmm1, qword [ebp - 0xbfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbff0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbff0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494c9d
mov eax, dword [ebp - 0x255c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfe8], xmm1
jmp 0x494b9e
cvtsi2sd xmm0, dword [ebp - 0x255c]
movsd xmm1, qword [ebp - 0xbfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbff8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494cfa
mov eax, dword [ebp - 0x255c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfe8], xmm1
jmp 0x494d0e
xor eax, eax
je 0x494d0a
jmp 0x494dc6
jmp 0x494d31
cvtsi2sd xmm0, dword [ebp - 0x255c]
movsd xmm1, qword [ebp - 0xbfe8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2560], eax
jmp 0x494dd0
xor eax, eax
inc eax
je 0x494d3c
jmp 0x494d4b
jmp 0x494b9e
jmp 0x494b9e
xor eax, eax
inc eax
je 0x494dc6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2564], eax
cvtsi2sd xmm0, dword [ebp - 0x2564]
mov eax, dword [ebp - 0x2564]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xbfe8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2560], eax
jmp 0x494dd0
mov dword [ebp - 0x2560], 7
mov eax, dword [ebp - 0x2540]
shl eax, 2
add eax, dword [ebp - 0x253c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2560]
mov ecx, dword [ebp - 0x2540]
shl ecx, 2
add ecx, dword [ebp - 0x253c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2540]
add eax, 0xffffffc7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc000], xmm0
xor eax, eax
je 0x494e12
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x494e4e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc000]
movsd qword [ebp - 0xc008], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x494fe5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x494fe5
and dword [ebp - 0x2568], 0
jmp 0x494ec8
cmp dword [ebp - 0x2568], 0xa
jae 0x494fe0
cvtsi2sd xmm0, dword [ebp - 0x2568]
movsd xmm1, qword [ebp - 0xc008]
addsd xmm1, xmm0
movsd qword [ebp - 0xc010], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc010]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494f37
mov eax, dword [ebp - 0x2568]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc008]
addsd xmm1, xmm0
movsd qword [ebp - 0xc008], xmm1
jmp 0x494e38
cvtsi2sd xmm0, dword [ebp - 0x2568]
movsd xmm1, qword [ebp - 0xc008]
addsd xmm1, xmm0
movsd qword [ebp - 0xc018], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494f94
mov eax, dword [ebp - 0x2568]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc008]
addsd xmm1, xmm0
movsd qword [ebp - 0xc008], xmm1
jmp 0x494fa8
xor eax, eax
je 0x494fa4
jmp 0x495060
jmp 0x494fcb
cvtsi2sd xmm0, dword [ebp - 0x2568]
movsd xmm1, qword [ebp - 0xc008]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x256c], eax
jmp 0x49506a
xor eax, eax
inc eax
je 0x494fd6
jmp 0x494fe5
jmp 0x494e38
jmp 0x494e38
xor eax, eax
inc eax
je 0x495060
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2570], eax
cvtsi2sd xmm0, dword [ebp - 0x2570]
mov eax, dword [ebp - 0x2570]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc008]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x256c], eax
jmp 0x49506a
mov dword [ebp - 0x256c], 7
mov eax, dword [ebp - 0x2540]
add eax, 0xffffffc7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc020], xmm0
xor eax, eax
je 0x495084
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4950c0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc020]
movsd qword [ebp - 0xc028], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x495257
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495257
and dword [ebp - 0x2574], 0
jmp 0x49513a
cmp dword [ebp - 0x2574], 0xa
jae 0x495252
cvtsi2sd xmm0, dword [ebp - 0x2574]
movsd xmm1, qword [ebp - 0xc028]
addsd xmm1, xmm0
movsd qword [ebp - 0xc030], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc030]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4951a9
mov eax, dword [ebp - 0x2574]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc028]
addsd xmm1, xmm0
movsd qword [ebp - 0xc028], xmm1
jmp 0x4950aa
cvtsi2sd xmm0, dword [ebp - 0x2574]
movsd xmm1, qword [ebp - 0xc028]
addsd xmm1, xmm0
movsd qword [ebp - 0xc038], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495206
mov eax, dword [ebp - 0x2574]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc028]
addsd xmm1, xmm0
movsd qword [ebp - 0xc028], xmm1
jmp 0x49521a
xor eax, eax
je 0x495216
jmp 0x4952d2
jmp 0x49523d
cvtsi2sd xmm0, dword [ebp - 0x2574]
movsd xmm1, qword [ebp - 0xc028]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2578], eax
jmp 0x4952dc
xor eax, eax
inc eax
je 0x495248
jmp 0x495257
jmp 0x4950aa
jmp 0x4950aa
xor eax, eax
inc eax
je 0x4952d2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x257c], eax
cvtsi2sd xmm0, dword [ebp - 0x257c]
mov eax, dword [ebp - 0x257c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc028]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2578], eax
jmp 0x4952dc
mov dword [ebp - 0x2578], 7
mov eax, dword [ebp - 0x2540]
shl eax, 2
add eax, dword [ebp - 0x253c]
mov eax, dword [eax]
add eax, dword [ebp - 0x256c]
mov ecx, dword [ebp - 0x2540]
shl ecx, 2
add ecx, dword [ebp - 0x253c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2578]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2540]
shl ecx, 2
add ecx, dword [ebp - 0x253c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4955dc
xor eax, eax
je 0x49535c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x495398
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc040], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49552f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49552f
and dword [ebp - 0x2580], 0
jmp 0x495412
cmp dword [ebp - 0x2580], 0xa
jae 0x49552a
cvtsi2sd xmm0, dword [ebp - 0x2580]
movsd xmm1, qword [ebp - 0xc040]
addsd xmm1, xmm0
movsd qword [ebp - 0xc048], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc048]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495481
mov eax, dword [ebp - 0x2580]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc040]
addsd xmm1, xmm0
movsd qword [ebp - 0xc040], xmm1
jmp 0x495382
cvtsi2sd xmm0, dword [ebp - 0x2580]
movsd xmm1, qword [ebp - 0xc040]
addsd xmm1, xmm0
movsd qword [ebp - 0xc050], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc050]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4954de
mov eax, dword [ebp - 0x2580]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc040]
addsd xmm1, xmm0
movsd qword [ebp - 0xc040], xmm1
jmp 0x4954f2
xor eax, eax
je 0x4954ee
jmp 0x4955aa
jmp 0x495515
cvtsi2sd xmm0, dword [ebp - 0x2580]
movsd xmm1, qword [ebp - 0xc040]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2584], eax
jmp 0x4955b4
xor eax, eax
inc eax
je 0x495520
jmp 0x49552f
jmp 0x495382
jmp 0x495382
xor eax, eax
inc eax
je 0x4955aa
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2588], eax
cvtsi2sd xmm0, dword [ebp - 0x2588]
mov eax, dword [ebp - 0x2588]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc040]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2584], eax
jmp 0x4955b4
mov dword [ebp - 0x2584], 7
mov eax, dword [ebp - 0x2540]
shl eax, 2
add eax, dword [ebp - 0x253c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2584]
mov ecx, dword [ebp - 0x2540]
shl ecx, 2
add ecx, dword [ebp - 0x253c]
mov dword [ecx], eax
jmp 0x494562
mov eax, dword [ebp - 0x2538]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2538]
mov dword [ebp - 0x258c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x258c]
mov eax, dword [eax]
mov dword [ebp - 0x2590], eax
mov eax, dword [ebp - 0x2534]
mov dword [ebp - 0x24d8], eax
cmp dword [ebp - 0x24d8], 0
je 0x496707
xor eax, eax
mov byte [ebp - 0x6a], al
lea ecx, [ebp - 0x6a]
call fcn.00414b38
mov dword [ebp - 0x2594], eax
mov eax, dword [ebp - 0x2594]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4966dd
mov eax, dword [ebp - 0x2594]
mov dword [ebp - 0x2598], eax
and dword [ebp - 0x259c], 0
jmp 0x49566b
mov eax, dword [ebp - 0x259c]
inc eax
mov dword [ebp - 0x259c], eax
cmp dword [ebp - 0x259c], 1
jae 0x4966dd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495935
xor eax, eax
je 0x4956b5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4956f1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706e00]
movsd qword [ebp - 0xc058], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x495888
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495888
and dword [ebp - 0x25a0], 0
jmp 0x49576b
cmp dword [ebp - 0x25a0], 0xa
jae 0x495883
cvtsi2sd xmm0, dword [ebp - 0x25a0]
movsd xmm1, qword [ebp - 0xc058]
addsd xmm1, xmm0
movsd qword [ebp - 0xc060], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc060]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4957da
mov eax, dword [ebp - 0x25a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc058]
addsd xmm1, xmm0
movsd qword [ebp - 0xc058], xmm1
jmp 0x4956db
cvtsi2sd xmm0, dword [ebp - 0x25a0]
movsd xmm1, qword [ebp - 0xc058]
addsd xmm1, xmm0
movsd qword [ebp - 0xc068], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc068]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495837
mov eax, dword [ebp - 0x25a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc058]
addsd xmm1, xmm0
movsd qword [ebp - 0xc058], xmm1
jmp 0x49584b
xor eax, eax
je 0x495847
jmp 0x495903
jmp 0x49586e
cvtsi2sd xmm0, dword [ebp - 0x25a0]
movsd xmm1, qword [ebp - 0xc058]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25a4], eax
jmp 0x49590d
xor eax, eax
inc eax
je 0x495879
jmp 0x495888
jmp 0x4956db
jmp 0x4956db
xor eax, eax
inc eax
je 0x495903
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25a8], eax
cvtsi2sd xmm0, dword [ebp - 0x25a8]
mov eax, dword [ebp - 0x25a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc058]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25a4], eax
jmp 0x49590d
mov dword [ebp - 0x25a4], 7
mov eax, dword [ebp - 0x259c]
shl eax, 2
add eax, dword [ebp - 0x2598]
mov eax, dword [eax]
xor eax, dword [ebp - 0x25a4]
mov ecx, dword [ebp - 0x259c]
shl ecx, 2
add ecx, dword [ebp - 0x2598]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49641b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495c37
xor eax, eax
je 0x4959b7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4959f3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xc070], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x495b8a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495b8a
and dword [ebp - 0x25ac], 0
jmp 0x495a6d
cmp dword [ebp - 0x25ac], 0xa
jae 0x495b85
cvtsi2sd xmm0, dword [ebp - 0x25ac]
movsd xmm1, qword [ebp - 0xc070]
addsd xmm1, xmm0
movsd qword [ebp - 0xc078], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc078]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495adc
mov eax, dword [ebp - 0x25ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc070]
addsd xmm1, xmm0
movsd qword [ebp - 0xc070], xmm1
jmp 0x4959dd
cvtsi2sd xmm0, dword [ebp - 0x25ac]
movsd xmm1, qword [ebp - 0xc070]
addsd xmm1, xmm0
movsd qword [ebp - 0xc080], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc080]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495b39
mov eax, dword [ebp - 0x25ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc070]
addsd xmm1, xmm0
movsd qword [ebp - 0xc070], xmm1
jmp 0x495b4d
xor eax, eax
je 0x495b49
jmp 0x495c05
jmp 0x495b70
cvtsi2sd xmm0, dword [ebp - 0x25ac]
movsd xmm1, qword [ebp - 0xc070]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25b0], eax
jmp 0x495c0f
xor eax, eax
inc eax
je 0x495b7b
jmp 0x495b8a
jmp 0x4959dd
jmp 0x4959dd
xor eax, eax
inc eax
je 0x495c05
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25b4], eax
cvtsi2sd xmm0, dword [ebp - 0x25b4]
mov eax, dword [ebp - 0x25b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc070]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25b0], eax
jmp 0x495c0f
mov dword [ebp - 0x25b0], 7
mov eax, dword [ebp - 0x259c]
shl eax, 2
add eax, dword [ebp - 0x2598]
mov eax, dword [eax]
xor eax, dword [ebp - 0x25b0]
mov ecx, dword [ebp - 0x259c]
shl ecx, 2
add ecx, dword [ebp - 0x2598]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495ef4
xor eax, eax
je 0x495c74
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x495cb0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xc088], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x495e47
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x495e47
and dword [ebp - 0x25b8], 0
jmp 0x495d2a
cmp dword [ebp - 0x25b8], 0xa
jae 0x495e42
cvtsi2sd xmm0, dword [ebp - 0x25b8]
movsd xmm1, qword [ebp - 0xc088]
addsd xmm1, xmm0
movsd qword [ebp - 0xc090], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc090]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495d99
mov eax, dword [ebp - 0x25b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc088]
addsd xmm1, xmm0
movsd qword [ebp - 0xc088], xmm1
jmp 0x495c9a
cvtsi2sd xmm0, dword [ebp - 0x25b8]
movsd xmm1, qword [ebp - 0xc088]
addsd xmm1, xmm0
movsd qword [ebp - 0xc098], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495df6
mov eax, dword [ebp - 0x25b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc088]
addsd xmm1, xmm0
movsd qword [ebp - 0xc088], xmm1
jmp 0x495e0a
xor eax, eax
je 0x495e06
jmp 0x495ec2
jmp 0x495e2d
cvtsi2sd xmm0, dword [ebp - 0x25b8]
movsd xmm1, qword [ebp - 0xc088]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25bc], eax
jmp 0x495ecc
xor eax, eax
inc eax
je 0x495e38
jmp 0x495e47
jmp 0x495c9a
jmp 0x495c9a
xor eax, eax
inc eax
je 0x495ec2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25c0], eax
cvtsi2sd xmm0, dword [ebp - 0x25c0]
mov eax, dword [ebp - 0x25c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc088]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25bc], eax
jmp 0x495ecc
mov dword [ebp - 0x25bc], 7
mov eax, dword [ebp - 0x259c]
shl eax, 2
add eax, dword [ebp - 0x2598]
mov eax, dword [eax]
xor eax, dword [ebp - 0x25bc]
mov ecx, dword [ebp - 0x259c]
shl ecx, 2
add ecx, dword [ebp - 0x2598]
mov dword [ecx], eax
mov eax, dword [ebp - 0x259c]
add eax, 0xffffffc7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc0a0], xmm0
xor eax, eax
je 0x495f0e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x495f4a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc0a0]
movsd qword [ebp - 0xc0a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4960e1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4960e1
and dword [ebp - 0x25c4], 0
jmp 0x495fc4
cmp dword [ebp - 0x25c4], 0xa
jae 0x4960dc
cvtsi2sd xmm0, dword [ebp - 0x25c4]
movsd xmm1, qword [ebp - 0xc0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496033
mov eax, dword [ebp - 0x25c4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0a8], xmm1
jmp 0x495f34
cvtsi2sd xmm0, dword [ebp - 0x25c4]
movsd xmm1, qword [ebp - 0xc0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496090
mov eax, dword [ebp - 0x25c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0a8], xmm1
jmp 0x4960a4
xor eax, eax
je 0x4960a0
jmp 0x49615c
jmp 0x4960c7
cvtsi2sd xmm0, dword [ebp - 0x25c4]
movsd xmm1, qword [ebp - 0xc0a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25c8], eax
jmp 0x496166
xor eax, eax
inc eax
je 0x4960d2
jmp 0x4960e1
jmp 0x495f34
jmp 0x495f34
xor eax, eax
inc eax
je 0x49615c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25cc], eax
cvtsi2sd xmm0, dword [ebp - 0x25cc]
mov eax, dword [ebp - 0x25cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc0a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25c8], eax
jmp 0x496166
mov dword [ebp - 0x25c8], 7
mov eax, dword [ebp - 0x259c]
add eax, 0xffffffc7
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc0c0], xmm0
xor eax, eax
je 0x496180
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4961bc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc0c0]
movsd qword [ebp - 0xc0c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x496353
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x496353
and dword [ebp - 0x25d0], 0
jmp 0x496236
cmp dword [ebp - 0x25d0], 0xa
jae 0x49634e
cvtsi2sd xmm0, dword [ebp - 0x25d0]
movsd xmm1, qword [ebp - 0xc0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4962a5
mov eax, dword [ebp - 0x25d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0c8], xmm1
jmp 0x4961a6
cvtsi2sd xmm0, dword [ebp - 0x25d0]
movsd xmm1, qword [ebp - 0xc0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496302
mov eax, dword [ebp - 0x25d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0c8], xmm1
jmp 0x496316
xor eax, eax
je 0x496312
jmp 0x4963ce
jmp 0x496339
cvtsi2sd xmm0, dword [ebp - 0x25d0]
movsd xmm1, qword [ebp - 0xc0c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25d4], eax
jmp 0x4963d8
xor eax, eax
inc eax
je 0x496344
jmp 0x496353
jmp 0x4961a6
jmp 0x4961a6
xor eax, eax
inc eax
je 0x4963ce
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25d8], eax
cvtsi2sd xmm0, dword [ebp - 0x25d8]
mov eax, dword [ebp - 0x25d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc0c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25d4], eax
jmp 0x4963d8
mov dword [ebp - 0x25d4], 7
mov eax, dword [ebp - 0x259c]
shl eax, 2
add eax, dword [ebp - 0x2598]
mov eax, dword [eax]
add eax, dword [ebp - 0x25c8]
mov ecx, dword [ebp - 0x259c]
shl ecx, 2
add ecx, dword [ebp - 0x2598]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x25d4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x259c]
shl ecx, 2
add ecx, dword [ebp - 0x2598]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4966d8
xor eax, eax
je 0x496458
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x496494
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc0e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49662b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49662b
and dword [ebp - 0x25dc], 0
jmp 0x49650e
cmp dword [ebp - 0x25dc], 0xa
jae 0x496626
cvtsi2sd xmm0, dword [ebp - 0x25dc]
movsd xmm1, qword [ebp - 0xc0e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49657d
mov eax, dword [ebp - 0x25dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0e0], xmm1
jmp 0x49647e
cvtsi2sd xmm0, dword [ebp - 0x25dc]
movsd xmm1, qword [ebp - 0xc0e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4965da
mov eax, dword [ebp - 0x25dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0e0], xmm1
jmp 0x4965ee
xor eax, eax
je 0x4965ea
jmp 0x4966a6
jmp 0x496611
cvtsi2sd xmm0, dword [ebp - 0x25dc]
movsd xmm1, qword [ebp - 0xc0e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25e0], eax
jmp 0x4966b0
xor eax, eax
inc eax
je 0x49661c
jmp 0x49662b
jmp 0x49647e
jmp 0x49647e
xor eax, eax
inc eax
je 0x4966a6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x25e4], eax
cvtsi2sd xmm0, dword [ebp - 0x25e4]
mov eax, dword [ebp - 0x25e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc0e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x25e0], eax
jmp 0x4966b0
mov dword [ebp - 0x25e0], 7
mov eax, dword [ebp - 0x259c]
shl eax, 2
add eax, dword [ebp - 0x2598]
mov eax, dword [eax]
xor eax, dword [ebp - 0x25e0]
mov ecx, dword [ebp - 0x259c]
shl ecx, 2
add ecx, dword [ebp - 0x2598]
mov dword [ecx], eax
jmp 0x49565e
mov eax, dword [ebp - 0x2594]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2594]
mov dword [ebp - 0x25e8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x25e8]
mov eax, dword [eax]
mov dword [ebp - 0x2590], eax
push 2
pop eax
imul eax, eax, 0xc
lea ecx, [ebp - 0x160ec]
movzx eax, word [ecx + eax]
neg eax
sbb eax, eax
neg eax
movzx eax, al
test eax, eax
jne 0x49677a
and dword [ebp - 0x25ec], 0
jmp 0x49673a
mov eax, dword [ebp - 0x25ec]
inc eax
mov dword [ebp - 0x25ec], eax
cmp dword [ebp - 0x25ec], 0xd
jge 0x49677a
mov eax, dword [ebp - 0x25ec]
shl eax, 1
lea ecx, [ebp - 0x160ec]
movzx ecx, word [ecx + eax]
mov eax, dword [ebp - 0x25ec]
cdq
push 0x36
pop esi
idiv esi
add edx, 0x34
xor ecx, edx
lea eax, [ebp - 0x160ec]
mov edx, dword [ebp - 0x25ec]
shl edx, 1
mov word [eax + edx], cx
jmp 0x49672d
xor eax, eax
mov byte [ebp - 0x6b], al
lea ecx, [ebp - 0x6b]
call fcn.0041608c
mov dword [ebp - 0x25f0], eax
mov eax, dword [ebp - 0x25f0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x497833
mov eax, dword [ebp - 0x25f0]
mov dword [ebp - 0x25f4], eax
and dword [ebp - 0x25f8], 0
jmp 0x4967c1
mov eax, dword [ebp - 0x25f8]
inc eax
mov dword [ebp - 0x25f8], eax
cmp dword [ebp - 0x25f8], 1
jae 0x497833
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x496a8b
xor eax, eax
je 0x49680b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x496847
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xc0f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4969de
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4969de
and dword [ebp - 0x25fc], 0
jmp 0x4968c1
cmp dword [ebp - 0x25fc], 0xa
jae 0x4969d9
cvtsi2sd xmm0, dword [ebp - 0x25fc]
movsd xmm1, qword [ebp - 0xc0f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc100], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc100]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496930
mov eax, dword [ebp - 0x25fc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0f8], xmm1
jmp 0x496831
cvtsi2sd xmm0, dword [ebp - 0x25fc]
movsd xmm1, qword [ebp - 0xc0f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc108], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc108]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49698d
mov eax, dword [ebp - 0x25fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0f8], xmm1
jmp 0x4969a1
xor eax, eax
je 0x49699d
jmp 0x496a59
jmp 0x4969c4
cvtsi2sd xmm0, dword [ebp - 0x25fc]
movsd xmm1, qword [ebp - 0xc0f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2600], eax
jmp 0x496a63
xor eax, eax
inc eax
je 0x4969cf
jmp 0x4969de
jmp 0x496831
jmp 0x496831
xor eax, eax
inc eax
je 0x496a59
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2604], eax
cvtsi2sd xmm0, dword [ebp - 0x2604]
mov eax, dword [ebp - 0x2604]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc0f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2600], eax
jmp 0x496a63
mov dword [ebp - 0x2600], 7
mov eax, dword [ebp - 0x25f8]
shl eax, 2
add eax, dword [ebp - 0x25f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2600]
mov ecx, dword [ebp - 0x25f8]
shl ecx, 2
add ecx, dword [ebp - 0x25f4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x497571
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x496d8d
xor eax, eax
je 0x496b0d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x496b49
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xc110], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x496ce0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x496ce0
and dword [ebp - 0x2608], 0
jmp 0x496bc3
cmp dword [ebp - 0x2608], 0xa
jae 0x496cdb
cvtsi2sd xmm0, dword [ebp - 0x2608]
movsd xmm1, qword [ebp - 0xc110]
addsd xmm1, xmm0
movsd qword [ebp - 0xc118], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc118]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496c32
mov eax, dword [ebp - 0x2608]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc110]
addsd xmm1, xmm0
movsd qword [ebp - 0xc110], xmm1
jmp 0x496b33
cvtsi2sd xmm0, dword [ebp - 0x2608]
movsd xmm1, qword [ebp - 0xc110]
addsd xmm1, xmm0
movsd qword [ebp - 0xc120], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc120]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496c8f
mov eax, dword [ebp - 0x2608]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc110]
addsd xmm1, xmm0
movsd qword [ebp - 0xc110], xmm1
jmp 0x496ca3
xor eax, eax
je 0x496c9f
jmp 0x496d5b
jmp 0x496cc6
cvtsi2sd xmm0, dword [ebp - 0x2608]
movsd xmm1, qword [ebp - 0xc110]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x260c], eax
jmp 0x496d65
xor eax, eax
inc eax
je 0x496cd1
jmp 0x496ce0
jmp 0x496b33
jmp 0x496b33
xor eax, eax
inc eax
je 0x496d5b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2610], eax
cvtsi2sd xmm0, dword [ebp - 0x2610]
mov eax, dword [ebp - 0x2610]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc110]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x260c], eax
jmp 0x496d65
mov dword [ebp - 0x260c], 7
mov eax, dword [ebp - 0x25f8]
shl eax, 2
add eax, dword [ebp - 0x25f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x260c]
mov ecx, dword [ebp - 0x25f8]
shl ecx, 2
add ecx, dword [ebp - 0x25f4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49704a
xor eax, eax
je 0x496dca
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x496e06
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc128], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x496f9d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x496f9d
and dword [ebp - 0x2614], 0
jmp 0x496e80
cmp dword [ebp - 0x2614], 0xa
jae 0x496f98
cvtsi2sd xmm0, dword [ebp - 0x2614]
movsd xmm1, qword [ebp - 0xc128]
addsd xmm1, xmm0
movsd qword [ebp - 0xc130], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc130]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496eef
mov eax, dword [ebp - 0x2614]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc128]
addsd xmm1, xmm0
movsd qword [ebp - 0xc128], xmm1
jmp 0x496df0
cvtsi2sd xmm0, dword [ebp - 0x2614]
movsd xmm1, qword [ebp - 0xc128]
addsd xmm1, xmm0
movsd qword [ebp - 0xc138], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496f4c
mov eax, dword [ebp - 0x2614]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc128]
addsd xmm1, xmm0
movsd qword [ebp - 0xc128], xmm1
jmp 0x496f60
xor eax, eax
je 0x496f5c
jmp 0x497018
jmp 0x496f83
cvtsi2sd xmm0, dword [ebp - 0x2614]
movsd xmm1, qword [ebp - 0xc128]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2618], eax
jmp 0x497022
xor eax, eax
inc eax
je 0x496f8e
jmp 0x496f9d
jmp 0x496df0
jmp 0x496df0
xor eax, eax
inc eax
je 0x497018
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x261c], eax
cvtsi2sd xmm0, dword [ebp - 0x261c]
mov eax, dword [ebp - 0x261c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc128]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2618], eax
jmp 0x497022
mov dword [ebp - 0x2618], 7
mov eax, dword [ebp - 0x25f8]
shl eax, 2
add eax, dword [ebp - 0x25f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2618]
mov ecx, dword [ebp - 0x25f8]
shl ecx, 2
add ecx, dword [ebp - 0x25f4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x25f8]
add eax, 0xffffffc8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc140], xmm0
xor eax, eax
je 0x497064
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4970a0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc140]
movsd qword [ebp - 0xc148], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x497237
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x497237
and dword [ebp - 0x2620], 0
jmp 0x49711a
cmp dword [ebp - 0x2620], 0xa
jae 0x497232
cvtsi2sd xmm0, dword [ebp - 0x2620]
movsd xmm1, qword [ebp - 0xc148]
addsd xmm1, xmm0
movsd qword [ebp - 0xc150], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc150]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497189
mov eax, dword [ebp - 0x2620]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc148]
addsd xmm1, xmm0
movsd qword [ebp - 0xc148], xmm1
jmp 0x49708a
cvtsi2sd xmm0, dword [ebp - 0x2620]
movsd xmm1, qword [ebp - 0xc148]
addsd xmm1, xmm0
movsd qword [ebp - 0xc158], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4971e6
mov eax, dword [ebp - 0x2620]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc148]
addsd xmm1, xmm0
movsd qword [ebp - 0xc148], xmm1
jmp 0x4971fa
xor eax, eax
je 0x4971f6
jmp 0x4972b2
jmp 0x49721d
cvtsi2sd xmm0, dword [ebp - 0x2620]
movsd xmm1, qword [ebp - 0xc148]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2624], eax
jmp 0x4972bc
xor eax, eax
inc eax
je 0x497228
jmp 0x497237
jmp 0x49708a
jmp 0x49708a
xor eax, eax
inc eax
je 0x4972b2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2628], eax
cvtsi2sd xmm0, dword [ebp - 0x2628]
mov eax, dword [ebp - 0x2628]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc148]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2624], eax
jmp 0x4972bc
mov dword [ebp - 0x2624], 7
mov eax, dword [ebp - 0x25f8]
add eax, 0xffffffc8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc160], xmm0
xor eax, eax
je 0x4972d6
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x497312
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc160]
movsd qword [ebp - 0xc168], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4974a9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4974a9
and dword [ebp - 0x262c], 0
jmp 0x49738c
cmp dword [ebp - 0x262c], 0xa
jae 0x4974a4
cvtsi2sd xmm0, dword [ebp - 0x262c]
movsd xmm1, qword [ebp - 0xc168]
addsd xmm1, xmm0
movsd qword [ebp - 0xc170], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc170]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4973fb
mov eax, dword [ebp - 0x262c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc168]
addsd xmm1, xmm0
movsd qword [ebp - 0xc168], xmm1
jmp 0x4972fc
cvtsi2sd xmm0, dword [ebp - 0x262c]
movsd xmm1, qword [ebp - 0xc168]
addsd xmm1, xmm0
movsd qword [ebp - 0xc178], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497458
mov eax, dword [ebp - 0x262c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc168]
addsd xmm1, xmm0
movsd qword [ebp - 0xc168], xmm1
jmp 0x49746c
xor eax, eax
je 0x497468
jmp 0x497524
jmp 0x49748f
cvtsi2sd xmm0, dword [ebp - 0x262c]
movsd xmm1, qword [ebp - 0xc168]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2630], eax
jmp 0x49752e
xor eax, eax
inc eax
je 0x49749a
jmp 0x4974a9
jmp 0x4972fc
jmp 0x4972fc
xor eax, eax
inc eax
je 0x497524
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2634], eax
cvtsi2sd xmm0, dword [ebp - 0x2634]
mov eax, dword [ebp - 0x2634]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc168]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2630], eax
jmp 0x49752e
mov dword [ebp - 0x2630], 7
mov eax, dword [ebp - 0x25f8]
shl eax, 2
add eax, dword [ebp - 0x25f4]
mov eax, dword [eax]
add eax, dword [ebp - 0x2624]
mov ecx, dword [ebp - 0x25f8]
shl ecx, 2
add ecx, dword [ebp - 0x25f4]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2630]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x25f8]
shl ecx, 2
add ecx, dword [ebp - 0x25f4]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49782e
xor eax, eax
je 0x4975ae
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4975ea
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc180], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x497781
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x497781
and dword [ebp - 0x2638], 0
jmp 0x497664
cmp dword [ebp - 0x2638], 0xa
jae 0x49777c
cvtsi2sd xmm0, dword [ebp - 0x2638]
movsd xmm1, qword [ebp - 0xc180]
addsd xmm1, xmm0
movsd qword [ebp - 0xc188], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc188]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4976d3
mov eax, dword [ebp - 0x2638]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc180]
addsd xmm1, xmm0
movsd qword [ebp - 0xc180], xmm1
jmp 0x4975d4
cvtsi2sd xmm0, dword [ebp - 0x2638]
movsd xmm1, qword [ebp - 0xc180]
addsd xmm1, xmm0
movsd qword [ebp - 0xc190], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc190]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497730
mov eax, dword [ebp - 0x2638]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc180]
addsd xmm1, xmm0
movsd qword [ebp - 0xc180], xmm1
jmp 0x497744
xor eax, eax
je 0x497740
jmp 0x4977fc
jmp 0x497767
cvtsi2sd xmm0, dword [ebp - 0x2638]
movsd xmm1, qword [ebp - 0xc180]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x263c], eax
jmp 0x497806
xor eax, eax
inc eax
je 0x497772
jmp 0x497781
jmp 0x4975d4
jmp 0x4975d4
xor eax, eax
inc eax
je 0x4977fc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2640], eax
cvtsi2sd xmm0, dword [ebp - 0x2640]
mov eax, dword [ebp - 0x2640]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc180]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x263c], eax
jmp 0x497806
mov dword [ebp - 0x263c], 7
mov eax, dword [ebp - 0x25f8]
shl eax, 2
add eax, dword [ebp - 0x25f4]
mov eax, dword [eax]
xor eax, dword [ebp - 0x263c]
mov ecx, dword [ebp - 0x25f8]
shl ecx, 2
add ecx, dword [ebp - 0x25f4]
mov dword [ecx], eax
jmp 0x4967b4
mov eax, dword [ebp - 0x25f0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x25f0]
mov dword [ebp - 0x2644], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2644]
mov eax, dword [eax]
mov dword [ebp - 0x2648], eax
xor eax, eax
mov byte [ebp - 0x6c], al
lea ecx, [ebp - 0x6c]
call fcn.004155c8
mov dword [ebp - 0x264c], eax
mov eax, dword [ebp - 0x264c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x498916
mov eax, dword [ebp - 0x264c]
mov dword [ebp - 0x2650], eax
and dword [ebp - 0x2654], 0
jmp 0x4978a4
mov eax, dword [ebp - 0x2654]
inc eax
mov dword [ebp - 0x2654], eax
cmp dword [ebp - 0x2654], 1
jae 0x498916
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x497b6e
xor eax, eax
je 0x4978ee
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49792a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df8]
movsd qword [ebp - 0xc198], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x497ac1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x497ac1
and dword [ebp - 0x2658], 0
jmp 0x4979a4
cmp dword [ebp - 0x2658], 0xa
jae 0x497abc
cvtsi2sd xmm0, dword [ebp - 0x2658]
movsd xmm1, qword [ebp - 0xc198]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497a13
mov eax, dword [ebp - 0x2658]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc198]
addsd xmm1, xmm0
movsd qword [ebp - 0xc198], xmm1
jmp 0x497914
cvtsi2sd xmm0, dword [ebp - 0x2658]
movsd xmm1, qword [ebp - 0xc198]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497a70
mov eax, dword [ebp - 0x2658]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc198]
addsd xmm1, xmm0
movsd qword [ebp - 0xc198], xmm1
jmp 0x497a84
xor eax, eax
je 0x497a80
jmp 0x497b3c
jmp 0x497aa7
cvtsi2sd xmm0, dword [ebp - 0x2658]
movsd xmm1, qword [ebp - 0xc198]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x265c], eax
jmp 0x497b46
xor eax, eax
inc eax
je 0x497ab2
jmp 0x497ac1
jmp 0x497914
jmp 0x497914
xor eax, eax
inc eax
je 0x497b3c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2660], eax
cvtsi2sd xmm0, dword [ebp - 0x2660]
mov eax, dword [ebp - 0x2660]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc198]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x265c], eax
jmp 0x497b46
mov dword [ebp - 0x265c], 7
mov eax, dword [ebp - 0x2654]
shl eax, 2
add eax, dword [ebp - 0x2650]
mov eax, dword [eax]
xor eax, dword [ebp - 0x265c]
mov ecx, dword [ebp - 0x2654]
shl ecx, 2
add ecx, dword [ebp - 0x2650]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x498654
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x497e70
xor eax, eax
je 0x497bf0
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x497c2c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xc1b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x497dc3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x497dc3
and dword [ebp - 0x2664], 0
jmp 0x497ca6
cmp dword [ebp - 0x2664], 0xa
jae 0x497dbe
cvtsi2sd xmm0, dword [ebp - 0x2664]
movsd xmm1, qword [ebp - 0xc1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497d15
mov eax, dword [ebp - 0x2664]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1b0], xmm1
jmp 0x497c16
cvtsi2sd xmm0, dword [ebp - 0x2664]
movsd xmm1, qword [ebp - 0xc1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497d72
mov eax, dword [ebp - 0x2664]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1b0], xmm1
jmp 0x497d86
xor eax, eax
je 0x497d82
jmp 0x497e3e
jmp 0x497da9
cvtsi2sd xmm0, dword [ebp - 0x2664]
movsd xmm1, qword [ebp - 0xc1b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2668], eax
jmp 0x497e48
xor eax, eax
inc eax
je 0x497db4
jmp 0x497dc3
jmp 0x497c16
jmp 0x497c16
xor eax, eax
inc eax
je 0x497e3e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x266c], eax
cvtsi2sd xmm0, dword [ebp - 0x266c]
mov eax, dword [ebp - 0x266c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc1b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2668], eax
jmp 0x497e48
mov dword [ebp - 0x2668], 7
mov eax, dword [ebp - 0x2654]
shl eax, 2
add eax, dword [ebp - 0x2650]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2668]
mov ecx, dword [ebp - 0x2654]
shl ecx, 2
add ecx, dword [ebp - 0x2650]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49812d
xor eax, eax
je 0x497ead
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x497ee9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc1c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x498080
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498080
and dword [ebp - 0x2670], 0
jmp 0x497f63
cmp dword [ebp - 0x2670], 0xa
jae 0x49807b
cvtsi2sd xmm0, dword [ebp - 0x2670]
movsd xmm1, qword [ebp - 0xc1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497fd2
mov eax, dword [ebp - 0x2670]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1c8], xmm1
jmp 0x497ed3
cvtsi2sd xmm0, dword [ebp - 0x2670]
movsd xmm1, qword [ebp - 0xc1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49802f
mov eax, dword [ebp - 0x2670]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1c8], xmm1
jmp 0x498043
xor eax, eax
je 0x49803f
jmp 0x4980fb
jmp 0x498066
cvtsi2sd xmm0, dword [ebp - 0x2670]
movsd xmm1, qword [ebp - 0xc1c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2674], eax
jmp 0x498105
xor eax, eax
inc eax
je 0x498071
jmp 0x498080
jmp 0x497ed3
jmp 0x497ed3
xor eax, eax
inc eax
je 0x4980fb
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2678], eax
cvtsi2sd xmm0, dword [ebp - 0x2678]
mov eax, dword [ebp - 0x2678]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc1c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2674], eax
jmp 0x498105
mov dword [ebp - 0x2674], 7
mov eax, dword [ebp - 0x2654]
shl eax, 2
add eax, dword [ebp - 0x2650]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2674]
mov ecx, dword [ebp - 0x2654]
shl ecx, 2
add ecx, dword [ebp - 0x2650]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2654]
add eax, 0xffffffc8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc1e0], xmm0
xor eax, eax
je 0x498147
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x498183
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc1e0]
movsd qword [ebp - 0xc1e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49831a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49831a
and dword [ebp - 0x267c], 0
jmp 0x4981fd
cmp dword [ebp - 0x267c], 0xa
jae 0x498315
cvtsi2sd xmm0, dword [ebp - 0x267c]
movsd xmm1, qword [ebp - 0xc1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49826c
mov eax, dword [ebp - 0x267c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1e8], xmm1
jmp 0x49816d
cvtsi2sd xmm0, dword [ebp - 0x267c]
movsd xmm1, qword [ebp - 0xc1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4982c9
mov eax, dword [ebp - 0x267c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1e8], xmm1
jmp 0x4982dd
xor eax, eax
je 0x4982d9
jmp 0x498395
jmp 0x498300
cvtsi2sd xmm0, dword [ebp - 0x267c]
movsd xmm1, qword [ebp - 0xc1e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2680], eax
jmp 0x49839f
xor eax, eax
inc eax
je 0x49830b
jmp 0x49831a
jmp 0x49816d
jmp 0x49816d
xor eax, eax
inc eax
je 0x498395
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2684], eax
cvtsi2sd xmm0, dword [ebp - 0x2684]
mov eax, dword [ebp - 0x2684]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc1e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2680], eax
jmp 0x49839f
mov dword [ebp - 0x2680], 7
mov eax, dword [ebp - 0x2654]
add eax, 0xffffffc8
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc200], xmm0
xor eax, eax
je 0x4983b9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4983f5
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc200]
movsd qword [ebp - 0xc208], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49858c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49858c
and dword [ebp - 0x2688], 0
jmp 0x49846f
cmp dword [ebp - 0x2688], 0xa
jae 0x498587
cvtsi2sd xmm0, dword [ebp - 0x2688]
movsd xmm1, qword [ebp - 0xc208]
addsd xmm1, xmm0
movsd qword [ebp - 0xc210], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc210]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4984de
mov eax, dword [ebp - 0x2688]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc208]
addsd xmm1, xmm0
movsd qword [ebp - 0xc208], xmm1
jmp 0x4983df
cvtsi2sd xmm0, dword [ebp - 0x2688]
movsd xmm1, qword [ebp - 0xc208]
addsd xmm1, xmm0
movsd qword [ebp - 0xc218], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49853b
mov eax, dword [ebp - 0x2688]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc208]
addsd xmm1, xmm0
movsd qword [ebp - 0xc208], xmm1
jmp 0x49854f
xor eax, eax
je 0x49854b
jmp 0x498607
jmp 0x498572
cvtsi2sd xmm0, dword [ebp - 0x2688]
movsd xmm1, qword [ebp - 0xc208]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x268c], eax
jmp 0x498611
xor eax, eax
inc eax
je 0x49857d
jmp 0x49858c
jmp 0x4983df
jmp 0x4983df
xor eax, eax
inc eax
je 0x498607
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2690], eax
cvtsi2sd xmm0, dword [ebp - 0x2690]
mov eax, dword [ebp - 0x2690]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc208]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x268c], eax
jmp 0x498611
mov dword [ebp - 0x268c], 7
mov eax, dword [ebp - 0x2654]
shl eax, 2
add eax, dword [ebp - 0x2650]
mov eax, dword [eax]
add eax, dword [ebp - 0x2680]
mov ecx, dword [ebp - 0x2654]
shl ecx, 2
add ecx, dword [ebp - 0x2650]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x268c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2654]
shl ecx, 2
add ecx, dword [ebp - 0x2650]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498911
xor eax, eax
je 0x498691
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4986cd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc220], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x498864
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498864
and dword [ebp - 0x2694], 0
jmp 0x498747
cmp dword [ebp - 0x2694], 0xa
jae 0x49885f
cvtsi2sd xmm0, dword [ebp - 0x2694]
movsd xmm1, qword [ebp - 0xc220]
addsd xmm1, xmm0
movsd qword [ebp - 0xc228], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc228]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4987b6
mov eax, dword [ebp - 0x2694]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc220]
addsd xmm1, xmm0
movsd qword [ebp - 0xc220], xmm1
jmp 0x4986b7
cvtsi2sd xmm0, dword [ebp - 0x2694]
movsd xmm1, qword [ebp - 0xc220]
addsd xmm1, xmm0
movsd qword [ebp - 0xc230], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc230]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498813
mov eax, dword [ebp - 0x2694]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc220]
addsd xmm1, xmm0
movsd qword [ebp - 0xc220], xmm1
jmp 0x498827
xor eax, eax
je 0x498823
jmp 0x4988df
jmp 0x49884a
cvtsi2sd xmm0, dword [ebp - 0x2694]
movsd xmm1, qword [ebp - 0xc220]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2698], eax
jmp 0x4988e9
xor eax, eax
inc eax
je 0x498855
jmp 0x498864
jmp 0x4986b7
jmp 0x4986b7
xor eax, eax
inc eax
je 0x4988df
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x269c], eax
cvtsi2sd xmm0, dword [ebp - 0x269c]
mov eax, dword [ebp - 0x269c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc220]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2698], eax
jmp 0x4988e9
mov dword [ebp - 0x2698], 7
mov eax, dword [ebp - 0x2654]
shl eax, 2
add eax, dword [ebp - 0x2650]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2698]
mov ecx, dword [ebp - 0x2654]
shl ecx, 2
add ecx, dword [ebp - 0x2650]
mov dword [ecx], eax
jmp 0x497897
mov eax, dword [ebp - 0x264c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x264c]
mov dword [ebp - 0x26a0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x26a0]
mov eax, dword [eax]
mov dword [ebp - 0x26a4], eax
xor eax, eax
mov byte [ebp - 0x6d], al
lea ecx, [ebp - 0x6d]
call fcn.00418dda
mov dword [ebp - 0x26a8], eax
mov eax, dword [ebp - 0x26a8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4999f9
mov eax, dword [ebp - 0x26a8]
mov dword [ebp - 0x26ac], eax
and dword [ebp - 0x26b0], 0
jmp 0x498987
mov eax, dword [ebp - 0x26b0]
inc eax
mov dword [ebp - 0x26b0], eax
cmp dword [ebp - 0x26b0], 1
jae 0x4999f9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498c51
xor eax, eax
je 0x4989d1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x498a0d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xc238], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x498ba4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498ba4
and dword [ebp - 0x26b4], 0
jmp 0x498a87
cmp dword [ebp - 0x26b4], 0xa
jae 0x498b9f
cvtsi2sd xmm0, dword [ebp - 0x26b4]
movsd xmm1, qword [ebp - 0xc238]
addsd xmm1, xmm0
movsd qword [ebp - 0xc240], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc240]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498af6
mov eax, dword [ebp - 0x26b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc238]
addsd xmm1, xmm0
movsd qword [ebp - 0xc238], xmm1
jmp 0x4989f7
cvtsi2sd xmm0, dword [ebp - 0x26b4]
movsd xmm1, qword [ebp - 0xc238]
addsd xmm1, xmm0
movsd qword [ebp - 0xc248], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc248]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498b53
mov eax, dword [ebp - 0x26b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc238]
addsd xmm1, xmm0
movsd qword [ebp - 0xc238], xmm1
jmp 0x498b67
xor eax, eax
je 0x498b63
jmp 0x498c1f
jmp 0x498b8a
cvtsi2sd xmm0, dword [ebp - 0x26b4]
movsd xmm1, qword [ebp - 0xc238]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26b8], eax
jmp 0x498c29
xor eax, eax
inc eax
je 0x498b95
jmp 0x498ba4
jmp 0x4989f7
jmp 0x4989f7
xor eax, eax
inc eax
je 0x498c1f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x26bc], eax
cvtsi2sd xmm0, dword [ebp - 0x26bc]
mov eax, dword [ebp - 0x26bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc238]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26b8], eax
jmp 0x498c29
mov dword [ebp - 0x26b8], 7
mov eax, dword [ebp - 0x26b0]
shl eax, 2
add eax, dword [ebp - 0x26ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x26b8]
mov ecx, dword [ebp - 0x26b0]
shl ecx, 2
add ecx, dword [ebp - 0x26ac]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x499737
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498f53
xor eax, eax
je 0x498cd3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x498d0f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc250], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x498ea6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x498ea6
and dword [ebp - 0x26c0], 0
jmp 0x498d89
cmp dword [ebp - 0x26c0], 0xa
jae 0x498ea1
cvtsi2sd xmm0, dword [ebp - 0x26c0]
movsd xmm1, qword [ebp - 0xc250]
addsd xmm1, xmm0
movsd qword [ebp - 0xc258], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498df8
mov eax, dword [ebp - 0x26c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc250]
addsd xmm1, xmm0
movsd qword [ebp - 0xc250], xmm1
jmp 0x498cf9
cvtsi2sd xmm0, dword [ebp - 0x26c0]
movsd xmm1, qword [ebp - 0xc250]
addsd xmm1, xmm0
movsd qword [ebp - 0xc260], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc260]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498e55
mov eax, dword [ebp - 0x26c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc250]
addsd xmm1, xmm0
movsd qword [ebp - 0xc250], xmm1
jmp 0x498e69
xor eax, eax
je 0x498e65
jmp 0x498f21
jmp 0x498e8c
cvtsi2sd xmm0, dword [ebp - 0x26c0]
movsd xmm1, qword [ebp - 0xc250]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26c4], eax
jmp 0x498f2b
xor eax, eax
inc eax
je 0x498e97
jmp 0x498ea6
jmp 0x498cf9
jmp 0x498cf9
xor eax, eax
inc eax
je 0x498f21
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x26c8], eax
cvtsi2sd xmm0, dword [ebp - 0x26c8]
mov eax, dword [ebp - 0x26c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc250]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26c4], eax
jmp 0x498f2b
mov dword [ebp - 0x26c4], 7
mov eax, dword [ebp - 0x26b0]
shl eax, 2
add eax, dword [ebp - 0x26ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x26c4]
mov ecx, dword [ebp - 0x26b0]
shl ecx, 2
add ecx, dword [ebp - 0x26ac]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x499210
xor eax, eax
je 0x498f90
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x498fcc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc268], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x499163
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x499163
and dword [ebp - 0x26cc], 0
jmp 0x499046
cmp dword [ebp - 0x26cc], 0xa
jae 0x49915e
cvtsi2sd xmm0, dword [ebp - 0x26cc]
movsd xmm1, qword [ebp - 0xc268]
addsd xmm1, xmm0
movsd qword [ebp - 0xc270], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc270]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4990b5
mov eax, dword [ebp - 0x26cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc268]
addsd xmm1, xmm0
movsd qword [ebp - 0xc268], xmm1
jmp 0x498fb6
cvtsi2sd xmm0, dword [ebp - 0x26cc]
movsd xmm1, qword [ebp - 0xc268]
addsd xmm1, xmm0
movsd qword [ebp - 0xc278], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499112
mov eax, dword [ebp - 0x26cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc268]
addsd xmm1, xmm0
movsd qword [ebp - 0xc268], xmm1
jmp 0x499126
xor eax, eax
je 0x499122
jmp 0x4991de
jmp 0x499149
cvtsi2sd xmm0, dword [ebp - 0x26cc]
movsd xmm1, qword [ebp - 0xc268]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26d0], eax
jmp 0x4991e8
xor eax, eax
inc eax
je 0x499154
jmp 0x499163
jmp 0x498fb6
jmp 0x498fb6
xor eax, eax
inc eax
je 0x4991de
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x26d4], eax
cvtsi2sd xmm0, dword [ebp - 0x26d4]
mov eax, dword [ebp - 0x26d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc268]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26d0], eax
jmp 0x4991e8
mov dword [ebp - 0x26d0], 7
mov eax, dword [ebp - 0x26b0]
shl eax, 2
add eax, dword [ebp - 0x26ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x26d0]
mov ecx, dword [ebp - 0x26b0]
shl ecx, 2
add ecx, dword [ebp - 0x26ac]
mov dword [ecx], eax
mov eax, dword [ebp - 0x26b0]
add eax, 0xffffffc9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc280], xmm0
xor eax, eax
je 0x49922a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x499266
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc280]
movsd qword [ebp - 0xc288], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4993fd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4993fd
and dword [ebp - 0x26d8], 0
jmp 0x4992e0
cmp dword [ebp - 0x26d8], 0xa
jae 0x4993f8
cvtsi2sd xmm0, dword [ebp - 0x26d8]
movsd xmm1, qword [ebp - 0xc288]
addsd xmm1, xmm0
movsd qword [ebp - 0xc290], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc290]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49934f
mov eax, dword [ebp - 0x26d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc288]
addsd xmm1, xmm0
movsd qword [ebp - 0xc288], xmm1
jmp 0x499250
cvtsi2sd xmm0, dword [ebp - 0x26d8]
movsd xmm1, qword [ebp - 0xc288]
addsd xmm1, xmm0
movsd qword [ebp - 0xc298], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4993ac
mov eax, dword [ebp - 0x26d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc288]
addsd xmm1, xmm0
movsd qword [ebp - 0xc288], xmm1
jmp 0x4993c0
xor eax, eax
je 0x4993bc
jmp 0x499478
jmp 0x4993e3
cvtsi2sd xmm0, dword [ebp - 0x26d8]
movsd xmm1, qword [ebp - 0xc288]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26dc], eax
jmp 0x499482
xor eax, eax
inc eax
je 0x4993ee
jmp 0x4993fd
jmp 0x499250
jmp 0x499250
xor eax, eax
inc eax
je 0x499478
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x26e0], eax
cvtsi2sd xmm0, dword [ebp - 0x26e0]
mov eax, dword [ebp - 0x26e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc288]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26dc], eax
jmp 0x499482
mov dword [ebp - 0x26dc], 7
mov eax, dword [ebp - 0x26b0]
add eax, 0xffffffc9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc2a0], xmm0
xor eax, eax
je 0x49949c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4994d8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc2a0]
movsd qword [ebp - 0xc2a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49966f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49966f
and dword [ebp - 0x26e4], 0
jmp 0x499552
cmp dword [ebp - 0x26e4], 0xa
jae 0x49966a
cvtsi2sd xmm0, dword [ebp - 0x26e4]
movsd xmm1, qword [ebp - 0xc2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4995c1
mov eax, dword [ebp - 0x26e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2a8], xmm1
jmp 0x4994c2
cvtsi2sd xmm0, dword [ebp - 0x26e4]
movsd xmm1, qword [ebp - 0xc2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49961e
mov eax, dword [ebp - 0x26e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2a8], xmm1
jmp 0x499632
xor eax, eax
je 0x49962e
jmp 0x4996ea
jmp 0x499655
cvtsi2sd xmm0, dword [ebp - 0x26e4]
movsd xmm1, qword [ebp - 0xc2a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26e8], eax
jmp 0x4996f4
xor eax, eax
inc eax
je 0x499660
jmp 0x49966f
jmp 0x4994c2
jmp 0x4994c2
xor eax, eax
inc eax
je 0x4996ea
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x26ec], eax
cvtsi2sd xmm0, dword [ebp - 0x26ec]
mov eax, dword [ebp - 0x26ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc2a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26e8], eax
jmp 0x4996f4
mov dword [ebp - 0x26e8], 7
mov eax, dword [ebp - 0x26b0]
shl eax, 2
add eax, dword [ebp - 0x26ac]
mov eax, dword [eax]
add eax, dword [ebp - 0x26dc]
mov ecx, dword [ebp - 0x26b0]
shl ecx, 2
add ecx, dword [ebp - 0x26ac]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x26e8]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x26b0]
shl ecx, 2
add ecx, dword [ebp - 0x26ac]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4999f4
xor eax, eax
je 0x499774
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4997b0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc2c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x499947
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x499947
and dword [ebp - 0x26f0], 0
jmp 0x49982a
cmp dword [ebp - 0x26f0], 0xa
jae 0x499942
cvtsi2sd xmm0, dword [ebp - 0x26f0]
movsd xmm1, qword [ebp - 0xc2c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499899
mov eax, dword [ebp - 0x26f0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2c0], xmm1
jmp 0x49979a
cvtsi2sd xmm0, dword [ebp - 0x26f0]
movsd xmm1, qword [ebp - 0xc2c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4998f6
mov eax, dword [ebp - 0x26f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2c0], xmm1
jmp 0x49990a
xor eax, eax
je 0x499906
jmp 0x4999c2
jmp 0x49992d
cvtsi2sd xmm0, dword [ebp - 0x26f0]
movsd xmm1, qword [ebp - 0xc2c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26f4], eax
jmp 0x4999cc
xor eax, eax
inc eax
je 0x499938
jmp 0x499947
jmp 0x49979a
jmp 0x49979a
xor eax, eax
inc eax
je 0x4999c2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x26f8], eax
cvtsi2sd xmm0, dword [ebp - 0x26f8]
mov eax, dword [ebp - 0x26f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc2c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x26f4], eax
jmp 0x4999cc
mov dword [ebp - 0x26f4], 7
mov eax, dword [ebp - 0x26b0]
shl eax, 2
add eax, dword [ebp - 0x26ac]
mov eax, dword [eax]
xor eax, dword [ebp - 0x26f4]
mov ecx, dword [ebp - 0x26b0]
shl ecx, 2
add ecx, dword [ebp - 0x26ac]
mov dword [ecx], eax
jmp 0x49897a
mov eax, dword [ebp - 0x26a8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x26a8]
mov dword [ebp - 0x26fc], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x26fc]
mov eax, dword [eax]
mov dword [ebp - 0x2700], eax
mov eax, dword [ebp - 0x26a4]
mov dword [ebp - 0x2648], eax
cmp dword [ebp - 0x2648], 0
je 0x49ab1f
xor eax, eax
mov byte [ebp - 0x6e], al
lea ecx, [ebp - 0x6e]
call fcn.00416df4
mov dword [ebp - 0x2704], eax
mov eax, dword [ebp - 0x2704]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49aaf5
mov eax, dword [ebp - 0x2704]
mov dword [ebp - 0x2708], eax
and dword [ebp - 0x270c], 0
jmp 0x499a83
mov eax, dword [ebp - 0x270c]
inc eax
mov dword [ebp - 0x270c], eax
cmp dword [ebp - 0x270c], 1
jae 0x49aaf5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x499d4d
xor eax, eax
je 0x499acd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x499b09
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706df0]
movsd qword [ebp - 0xc2d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x499ca0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x499ca0
and dword [ebp - 0x2710], 0
jmp 0x499b83
cmp dword [ebp - 0x2710], 0xa
jae 0x499c9b
cvtsi2sd xmm0, dword [ebp - 0x2710]
movsd xmm1, qword [ebp - 0xc2d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499bf2
mov eax, dword [ebp - 0x2710]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2d8], xmm1
jmp 0x499af3
cvtsi2sd xmm0, dword [ebp - 0x2710]
movsd xmm1, qword [ebp - 0xc2d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499c4f
mov eax, dword [ebp - 0x2710]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2d8], xmm1
jmp 0x499c63
xor eax, eax
je 0x499c5f
jmp 0x499d1b
jmp 0x499c86
cvtsi2sd xmm0, dword [ebp - 0x2710]
movsd xmm1, qword [ebp - 0xc2d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2714], eax
jmp 0x499d25
xor eax, eax
inc eax
je 0x499c91
jmp 0x499ca0
jmp 0x499af3
jmp 0x499af3
xor eax, eax
inc eax
je 0x499d1b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2718], eax
cvtsi2sd xmm0, dword [ebp - 0x2718]
mov eax, dword [ebp - 0x2718]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc2d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2714], eax
jmp 0x499d25
mov dword [ebp - 0x2714], 7
mov eax, dword [ebp - 0x270c]
shl eax, 2
add eax, dword [ebp - 0x2708]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2714]
mov ecx, dword [ebp - 0x270c]
shl ecx, 2
add ecx, dword [ebp - 0x2708]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49a833
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49a04f
xor eax, eax
je 0x499dcf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x499e0b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc2f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x499fa2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x499fa2
and dword [ebp - 0x271c], 0
jmp 0x499e85
cmp dword [ebp - 0x271c], 0xa
jae 0x499f9d
cvtsi2sd xmm0, dword [ebp - 0x271c]
movsd xmm1, qword [ebp - 0xc2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499ef4
mov eax, dword [ebp - 0x271c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2f0], xmm1
jmp 0x499df5
cvtsi2sd xmm0, dword [ebp - 0x271c]
movsd xmm1, qword [ebp - 0xc2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc300], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc300]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499f51
mov eax, dword [ebp - 0x271c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2f0], xmm1
jmp 0x499f65
xor eax, eax
je 0x499f61
jmp 0x49a01d
jmp 0x499f88
cvtsi2sd xmm0, dword [ebp - 0x271c]
movsd xmm1, qword [ebp - 0xc2f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2720], eax
jmp 0x49a027
xor eax, eax
inc eax
je 0x499f93
jmp 0x499fa2
jmp 0x499df5
jmp 0x499df5
xor eax, eax
inc eax
je 0x49a01d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2724], eax
cvtsi2sd xmm0, dword [ebp - 0x2724]
mov eax, dword [ebp - 0x2724]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc2f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2720], eax
jmp 0x49a027
mov dword [ebp - 0x2720], 7
mov eax, dword [ebp - 0x270c]
shl eax, 2
add eax, dword [ebp - 0x2708]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2720]
mov ecx, dword [ebp - 0x270c]
shl ecx, 2
add ecx, dword [ebp - 0x2708]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49a30c
xor eax, eax
je 0x49a08c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49a0c8
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc308], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49a25f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49a25f
and dword [ebp - 0x2728], 0
jmp 0x49a142
cmp dword [ebp - 0x2728], 0xa
jae 0x49a25a
cvtsi2sd xmm0, dword [ebp - 0x2728]
movsd xmm1, qword [ebp - 0xc308]
addsd xmm1, xmm0
movsd qword [ebp - 0xc310], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc310]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a1b1
mov eax, dword [ebp - 0x2728]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc308]
addsd xmm1, xmm0
movsd qword [ebp - 0xc308], xmm1
jmp 0x49a0b2
cvtsi2sd xmm0, dword [ebp - 0x2728]
movsd xmm1, qword [ebp - 0xc308]
addsd xmm1, xmm0
movsd qword [ebp - 0xc318], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a20e
mov eax, dword [ebp - 0x2728]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc308]
addsd xmm1, xmm0
movsd qword [ebp - 0xc308], xmm1
jmp 0x49a222
xor eax, eax
je 0x49a21e
jmp 0x49a2da
jmp 0x49a245
cvtsi2sd xmm0, dword [ebp - 0x2728]
movsd xmm1, qword [ebp - 0xc308]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x272c], eax
jmp 0x49a2e4
xor eax, eax
inc eax
je 0x49a250
jmp 0x49a25f
jmp 0x49a0b2
jmp 0x49a0b2
xor eax, eax
inc eax
je 0x49a2da
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2730], eax
cvtsi2sd xmm0, dword [ebp - 0x2730]
mov eax, dword [ebp - 0x2730]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc308]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x272c], eax
jmp 0x49a2e4
mov dword [ebp - 0x272c], 7
mov eax, dword [ebp - 0x270c]
shl eax, 2
add eax, dword [ebp - 0x2708]
mov eax, dword [eax]
xor eax, dword [ebp - 0x272c]
mov ecx, dword [ebp - 0x270c]
shl ecx, 2
add ecx, dword [ebp - 0x2708]
mov dword [ecx], eax
mov eax, dword [ebp - 0x270c]
add eax, 0xffffffc9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc320], xmm0
xor eax, eax
je 0x49a326
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49a362
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc320]
movsd qword [ebp - 0xc328], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49a4f9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49a4f9
and dword [ebp - 0x2734], 0
jmp 0x49a3dc
cmp dword [ebp - 0x2734], 0xa
jae 0x49a4f4
cvtsi2sd xmm0, dword [ebp - 0x2734]
movsd xmm1, qword [ebp - 0xc328]
addsd xmm1, xmm0
movsd qword [ebp - 0xc330], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc330]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a44b
mov eax, dword [ebp - 0x2734]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc328]
addsd xmm1, xmm0
movsd qword [ebp - 0xc328], xmm1
jmp 0x49a34c
cvtsi2sd xmm0, dword [ebp - 0x2734]
movsd xmm1, qword [ebp - 0xc328]
addsd xmm1, xmm0
movsd qword [ebp - 0xc338], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a4a8
mov eax, dword [ebp - 0x2734]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc328]
addsd xmm1, xmm0
movsd qword [ebp - 0xc328], xmm1
jmp 0x49a4bc
xor eax, eax
je 0x49a4b8
jmp 0x49a574
jmp 0x49a4df
cvtsi2sd xmm0, dword [ebp - 0x2734]
movsd xmm1, qword [ebp - 0xc328]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2738], eax
jmp 0x49a57e
xor eax, eax
inc eax
je 0x49a4ea
jmp 0x49a4f9
jmp 0x49a34c
jmp 0x49a34c
xor eax, eax
inc eax
je 0x49a574
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x273c], eax
cvtsi2sd xmm0, dword [ebp - 0x273c]
mov eax, dword [ebp - 0x273c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc328]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2738], eax
jmp 0x49a57e
mov dword [ebp - 0x2738], 7
mov eax, dword [ebp - 0x270c]
add eax, 0xffffffc9
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc340], xmm0
xor eax, eax
je 0x49a598
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49a5d4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc340]
movsd qword [ebp - 0xc348], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49a76b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49a76b
and dword [ebp - 0x2740], 0
jmp 0x49a64e
cmp dword [ebp - 0x2740], 0xa
jae 0x49a766
cvtsi2sd xmm0, dword [ebp - 0x2740]
movsd xmm1, qword [ebp - 0xc348]
addsd xmm1, xmm0
movsd qword [ebp - 0xc350], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc350]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a6bd
mov eax, dword [ebp - 0x2740]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc348]
addsd xmm1, xmm0
movsd qword [ebp - 0xc348], xmm1
jmp 0x49a5be
cvtsi2sd xmm0, dword [ebp - 0x2740]
movsd xmm1, qword [ebp - 0xc348]
addsd xmm1, xmm0
movsd qword [ebp - 0xc358], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a71a
mov eax, dword [ebp - 0x2740]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc348]
addsd xmm1, xmm0
movsd qword [ebp - 0xc348], xmm1
jmp 0x49a72e
xor eax, eax
je 0x49a72a
jmp 0x49a7e6
jmp 0x49a751
cvtsi2sd xmm0, dword [ebp - 0x2740]
movsd xmm1, qword [ebp - 0xc348]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2744], eax
jmp 0x49a7f0
xor eax, eax
inc eax
je 0x49a75c
jmp 0x49a76b
jmp 0x49a5be
jmp 0x49a5be
xor eax, eax
inc eax
je 0x49a7e6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2748], eax
cvtsi2sd xmm0, dword [ebp - 0x2748]
mov eax, dword [ebp - 0x2748]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc348]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2744], eax
jmp 0x49a7f0
mov dword [ebp - 0x2744], 7
mov eax, dword [ebp - 0x270c]
shl eax, 2
add eax, dword [ebp - 0x2708]
mov eax, dword [eax]
add eax, dword [ebp - 0x2738]
mov ecx, dword [ebp - 0x270c]
shl ecx, 2
add ecx, dword [ebp - 0x2708]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2744]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x270c]
shl ecx, 2
add ecx, dword [ebp - 0x2708]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49aaf0
xor eax, eax
je 0x49a870
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49a8ac
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc360], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49aa43
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49aa43
and dword [ebp - 0x274c], 0
jmp 0x49a926
cmp dword [ebp - 0x274c], 0xa
jae 0x49aa3e
cvtsi2sd xmm0, dword [ebp - 0x274c]
movsd xmm1, qword [ebp - 0xc360]
addsd xmm1, xmm0
movsd qword [ebp - 0xc368], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc368]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a995
mov eax, dword [ebp - 0x274c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc360]
addsd xmm1, xmm0
movsd qword [ebp - 0xc360], xmm1
jmp 0x49a896
cvtsi2sd xmm0, dword [ebp - 0x274c]
movsd xmm1, qword [ebp - 0xc360]
addsd xmm1, xmm0
movsd qword [ebp - 0xc370], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc370]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a9f2
mov eax, dword [ebp - 0x274c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc360]
addsd xmm1, xmm0
movsd qword [ebp - 0xc360], xmm1
jmp 0x49aa06
xor eax, eax
je 0x49aa02
jmp 0x49aabe
jmp 0x49aa29
cvtsi2sd xmm0, dword [ebp - 0x274c]
movsd xmm1, qword [ebp - 0xc360]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2750], eax
jmp 0x49aac8
xor eax, eax
inc eax
je 0x49aa34
jmp 0x49aa43
jmp 0x49a896
jmp 0x49a896
xor eax, eax
inc eax
je 0x49aabe
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2754], eax
cvtsi2sd xmm0, dword [ebp - 0x2754]
mov eax, dword [ebp - 0x2754]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc360]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2750], eax
jmp 0x49aac8
mov dword [ebp - 0x2750], 7
mov eax, dword [ebp - 0x270c]
shl eax, 2
add eax, dword [ebp - 0x2708]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2750]
mov ecx, dword [ebp - 0x270c]
shl ecx, 2
add ecx, dword [ebp - 0x2708]
mov dword [ecx], eax
jmp 0x499a76
mov eax, dword [ebp - 0x2704]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2704]
mov dword [ebp - 0x2758], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2758]
mov eax, dword [eax]
mov dword [ebp - 0x2700], eax
and dword [ebp - 0x275c], 0
jmp 0x49ab35
mov eax, dword [ebp - 0x275c]
inc eax
mov dword [ebp - 0x275c], eax
cmp dword [ebp - 0x275c], 0xd
jge 0x49ab54
lea eax, [ebp - 0x160ec]
mov ecx, dword [ebp - 0x275c]
shl ecx, 1
xor edx, edx
mov word [eax + ecx], dx
jmp 0x49ab28
xor eax, eax
mov byte [ebp - 0x6f], al
mov esi, str.cG_C_iHT_XML_r___6_F
lea edi, [ebp - 0x160a0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
mov byte [ebp - 0x70], al
xor eax, eax
inc eax
imul eax, eax, 0x12
lea ecx, [ebp - 0x160a0]
movsx eax, byte [ecx + eax]
neg eax
sbb eax, eax
neg eax
movzx eax, al
test eax, eax
je 0x49abe4
and dword [ebp - 0x2760], 0
jmp 0x49aba3
mov eax, dword [ebp - 0x2760]
inc eax
mov dword [ebp - 0x2760], eax
cmp dword [ebp - 0x2760], 0x13
jge 0x49abe4
mov eax, dword [ebp - 0x2760]
shl eax, 0
lea ecx, [ebp - 0x160a0]
movsx ecx, byte [ecx + eax]
mov eax, dword [ebp - 0x2760]
cdq
push 0x36
pop esi
idiv esi
add edx, 0x34
xor ecx, edx
lea eax, [ebp - 0x160a0]
mov edx, dword [ebp - 0x2760]
shl edx, 0
mov byte [eax + edx], cl
jmp 0x49ab96
lea ecx, [ebp - 0x70]
call fcn.00419592
mov dword [ebp - 0x2764], eax
mov eax, dword [ebp - 0x2764]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49bc98
mov eax, dword [ebp - 0x2764]
mov dword [ebp - 0x2768], eax
and dword [ebp - 0x276c], 0
jmp 0x49ac26
mov eax, dword [ebp - 0x276c]
inc eax
mov dword [ebp - 0x276c], eax
cmp dword [ebp - 0x276c], 1
jae 0x49bc98
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49aef0
xor eax, eax
je 0x49ac70
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49acac
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc378], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49ae43
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ae43
and dword [ebp - 0x2770], 0
jmp 0x49ad26
cmp dword [ebp - 0x2770], 0xa
jae 0x49ae3e
cvtsi2sd xmm0, dword [ebp - 0x2770]
movsd xmm1, qword [ebp - 0xc378]
addsd xmm1, xmm0
movsd qword [ebp - 0xc380], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc380]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ad95
mov eax, dword [ebp - 0x2770]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc378]
addsd xmm1, xmm0
movsd qword [ebp - 0xc378], xmm1
jmp 0x49ac96
cvtsi2sd xmm0, dword [ebp - 0x2770]
movsd xmm1, qword [ebp - 0xc378]
addsd xmm1, xmm0
movsd qword [ebp - 0xc388], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc388]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49adf2
mov eax, dword [ebp - 0x2770]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc378]
addsd xmm1, xmm0
movsd qword [ebp - 0xc378], xmm1
jmp 0x49ae06
xor eax, eax
je 0x49ae02
jmp 0x49aebe
jmp 0x49ae29
cvtsi2sd xmm0, dword [ebp - 0x2770]
movsd xmm1, qword [ebp - 0xc378]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2774], eax
jmp 0x49aec8
xor eax, eax
inc eax
je 0x49ae34
jmp 0x49ae43
jmp 0x49ac96
jmp 0x49ac96
xor eax, eax
inc eax
je 0x49aebe
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2778], eax
cvtsi2sd xmm0, dword [ebp - 0x2778]
mov eax, dword [ebp - 0x2778]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc378]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2774], eax
jmp 0x49aec8
mov dword [ebp - 0x2774], 7
mov eax, dword [ebp - 0x276c]
shl eax, 2
add eax, dword [ebp - 0x2768]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2774]
mov ecx, dword [ebp - 0x276c]
shl ecx, 2
add ecx, dword [ebp - 0x2768]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49b9d6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49b1f2
xor eax, eax
je 0x49af72
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49afae
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc390], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49b145
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49b145
and dword [ebp - 0x277c], 0
jmp 0x49b028
cmp dword [ebp - 0x277c], 0xa
jae 0x49b140
cvtsi2sd xmm0, dword [ebp - 0x277c]
movsd xmm1, qword [ebp - 0xc390]
addsd xmm1, xmm0
movsd qword [ebp - 0xc398], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b097
mov eax, dword [ebp - 0x277c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc390]
addsd xmm1, xmm0
movsd qword [ebp - 0xc390], xmm1
jmp 0x49af98
cvtsi2sd xmm0, dword [ebp - 0x277c]
movsd xmm1, qword [ebp - 0xc390]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b0f4
mov eax, dword [ebp - 0x277c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc390]
addsd xmm1, xmm0
movsd qword [ebp - 0xc390], xmm1
jmp 0x49b108
xor eax, eax
je 0x49b104
jmp 0x49b1c0
jmp 0x49b12b
cvtsi2sd xmm0, dword [ebp - 0x277c]
movsd xmm1, qword [ebp - 0xc390]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2780], eax
jmp 0x49b1ca
xor eax, eax
inc eax
je 0x49b136
jmp 0x49b145
jmp 0x49af98
jmp 0x49af98
xor eax, eax
inc eax
je 0x49b1c0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2784], eax
cvtsi2sd xmm0, dword [ebp - 0x2784]
mov eax, dword [ebp - 0x2784]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc390]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2780], eax
jmp 0x49b1ca
mov dword [ebp - 0x2780], 7
mov eax, dword [ebp - 0x276c]
shl eax, 2
add eax, dword [ebp - 0x2768]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2780]
mov ecx, dword [ebp - 0x276c]
shl ecx, 2
add ecx, dword [ebp - 0x2768]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49b4af
xor eax, eax
je 0x49b22f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49b26b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc3a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49b402
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49b402
and dword [ebp - 0x2788], 0
jmp 0x49b2e5
cmp dword [ebp - 0x2788], 0xa
jae 0x49b3fd
cvtsi2sd xmm0, dword [ebp - 0x2788]
movsd xmm1, qword [ebp - 0xc3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b354
mov eax, dword [ebp - 0x2788]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3a8], xmm1
jmp 0x49b255
cvtsi2sd xmm0, dword [ebp - 0x2788]
movsd xmm1, qword [ebp - 0xc3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b3b1
mov eax, dword [ebp - 0x2788]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3a8], xmm1
jmp 0x49b3c5
xor eax, eax
je 0x49b3c1
jmp 0x49b47d
jmp 0x49b3e8
cvtsi2sd xmm0, dword [ebp - 0x2788]
movsd xmm1, qword [ebp - 0xc3a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x278c], eax
jmp 0x49b487
xor eax, eax
inc eax
je 0x49b3f3
jmp 0x49b402
jmp 0x49b255
jmp 0x49b255
xor eax, eax
inc eax
je 0x49b47d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2790], eax
cvtsi2sd xmm0, dword [ebp - 0x2790]
mov eax, dword [ebp - 0x2790]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc3a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x278c], eax
jmp 0x49b487
mov dword [ebp - 0x278c], 7
mov eax, dword [ebp - 0x276c]
shl eax, 2
add eax, dword [ebp - 0x2768]
mov eax, dword [eax]
xor eax, dword [ebp - 0x278c]
mov ecx, dword [ebp - 0x276c]
shl ecx, 2
add ecx, dword [ebp - 0x2768]
mov dword [ecx], eax
mov eax, dword [ebp - 0x276c]
add eax, 0xffffffca
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc3c0], xmm0
xor eax, eax
je 0x49b4c9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49b505
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc3c0]
movsd qword [ebp - 0xc3c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49b69c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49b69c
and dword [ebp - 0x2794], 0
jmp 0x49b57f
cmp dword [ebp - 0x2794], 0xa
jae 0x49b697
cvtsi2sd xmm0, dword [ebp - 0x2794]
movsd xmm1, qword [ebp - 0xc3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b5ee
mov eax, dword [ebp - 0x2794]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3c8], xmm1
jmp 0x49b4ef
cvtsi2sd xmm0, dword [ebp - 0x2794]
movsd xmm1, qword [ebp - 0xc3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b64b
mov eax, dword [ebp - 0x2794]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3c8], xmm1
jmp 0x49b65f
xor eax, eax
je 0x49b65b
jmp 0x49b717
jmp 0x49b682
cvtsi2sd xmm0, dword [ebp - 0x2794]
movsd xmm1, qword [ebp - 0xc3c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2798], eax
jmp 0x49b721
xor eax, eax
inc eax
je 0x49b68d
jmp 0x49b69c
jmp 0x49b4ef
jmp 0x49b4ef
xor eax, eax
inc eax
je 0x49b717
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x279c], eax
cvtsi2sd xmm0, dword [ebp - 0x279c]
mov eax, dword [ebp - 0x279c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc3c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2798], eax
jmp 0x49b721
mov dword [ebp - 0x2798], 7
mov eax, dword [ebp - 0x276c]
add eax, 0xffffffca
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc3e0], xmm0
xor eax, eax
je 0x49b73b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49b777
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc3e0]
movsd qword [ebp - 0xc3e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49b90e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49b90e
and dword [ebp - 0x27a0], 0
jmp 0x49b7f1
cmp dword [ebp - 0x27a0], 0xa
jae 0x49b909
cvtsi2sd xmm0, dword [ebp - 0x27a0]
movsd xmm1, qword [ebp - 0xc3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b860
mov eax, dword [ebp - 0x27a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3e8], xmm1
jmp 0x49b761
cvtsi2sd xmm0, dword [ebp - 0x27a0]
movsd xmm1, qword [ebp - 0xc3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b8bd
mov eax, dword [ebp - 0x27a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3e8], xmm1
jmp 0x49b8d1
xor eax, eax
je 0x49b8cd
jmp 0x49b989
jmp 0x49b8f4
cvtsi2sd xmm0, dword [ebp - 0x27a0]
movsd xmm1, qword [ebp - 0xc3e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27a4], eax
jmp 0x49b993
xor eax, eax
inc eax
je 0x49b8ff
jmp 0x49b90e
jmp 0x49b761
jmp 0x49b761
xor eax, eax
inc eax
je 0x49b989
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x27a8], eax
cvtsi2sd xmm0, dword [ebp - 0x27a8]
mov eax, dword [ebp - 0x27a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc3e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27a4], eax
jmp 0x49b993
mov dword [ebp - 0x27a4], 7
mov eax, dword [ebp - 0x276c]
shl eax, 2
add eax, dword [ebp - 0x2768]
mov eax, dword [eax]
add eax, dword [ebp - 0x2798]
mov ecx, dword [ebp - 0x276c]
shl ecx, 2
add ecx, dword [ebp - 0x2768]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x27a4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x276c]
shl ecx, 2
add ecx, dword [ebp - 0x2768]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49bc93
xor eax, eax
je 0x49ba13
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49ba4f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc400], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49bbe6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49bbe6
and dword [ebp - 0x27ac], 0
jmp 0x49bac9
cmp dword [ebp - 0x27ac], 0xa
jae 0x49bbe1
cvtsi2sd xmm0, dword [ebp - 0x27ac]
movsd xmm1, qword [ebp - 0xc400]
addsd xmm1, xmm0
movsd qword [ebp - 0xc408], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc408]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49bb38
mov eax, dword [ebp - 0x27ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc400]
addsd xmm1, xmm0
movsd qword [ebp - 0xc400], xmm1
jmp 0x49ba39
cvtsi2sd xmm0, dword [ebp - 0x27ac]
movsd xmm1, qword [ebp - 0xc400]
addsd xmm1, xmm0
movsd qword [ebp - 0xc410], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc410]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49bb95
mov eax, dword [ebp - 0x27ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc400]
addsd xmm1, xmm0
movsd qword [ebp - 0xc400], xmm1
jmp 0x49bba9
xor eax, eax
je 0x49bba5
jmp 0x49bc61
jmp 0x49bbcc
cvtsi2sd xmm0, dword [ebp - 0x27ac]
movsd xmm1, qword [ebp - 0xc400]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27b0], eax
jmp 0x49bc6b
xor eax, eax
inc eax
je 0x49bbd7
jmp 0x49bbe6
jmp 0x49ba39
jmp 0x49ba39
xor eax, eax
inc eax
je 0x49bc61
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x27b4], eax
cvtsi2sd xmm0, dword [ebp - 0x27b4]
mov eax, dword [ebp - 0x27b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc400]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27b0], eax
jmp 0x49bc6b
mov dword [ebp - 0x27b0], 7
mov eax, dword [ebp - 0x276c]
shl eax, 2
add eax, dword [ebp - 0x2768]
mov eax, dword [eax]
xor eax, dword [ebp - 0x27b0]
mov ecx, dword [ebp - 0x276c]
shl ecx, 2
add ecx, dword [ebp - 0x2768]
mov dword [ecx], eax
jmp 0x49ac19
mov eax, dword [ebp - 0x2764]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2764]
mov dword [ebp - 0x27b8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x27b8]
mov eax, dword [eax]
mov dword [ebp - 0x27bc], eax
lea eax, [ebp - 0x160a0]
push eax
push dword [ebp - 0x247c]
mov eax, dword [ebp - 0x27bc]
shl eax, 2
add eax, 0x7cbd68
call dword [eax]
mov dword [ebp - 0x27c0], eax
xor eax, eax
mov byte [ebp - 0x71], al
lea ecx, [ebp - 0x71]
call fcn.00418ace
mov dword [ebp - 0x27c4], eax
mov eax, dword [ebp - 0x27c4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49cd9e
mov eax, dword [ebp - 0x27c4]
mov dword [ebp - 0x27c8], eax
and dword [ebp - 0x27cc], 0
jmp 0x49bd2c
mov eax, dword [ebp - 0x27cc]
inc eax
mov dword [ebp - 0x27cc], eax
cmp dword [ebp - 0x27cc], 1
jae 0x49cd9e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49bff6
xor eax, eax
je 0x49bd76
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49bdb2
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc418], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49bf49
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49bf49
and dword [ebp - 0x27d0], 0
jmp 0x49be2c
cmp dword [ebp - 0x27d0], 0xa
jae 0x49bf44
cvtsi2sd xmm0, dword [ebp - 0x27d0]
movsd xmm1, qword [ebp - 0xc418]
addsd xmm1, xmm0
movsd qword [ebp - 0xc420], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc420]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49be9b
mov eax, dword [ebp - 0x27d0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc418]
addsd xmm1, xmm0
movsd qword [ebp - 0xc418], xmm1
jmp 0x49bd9c
cvtsi2sd xmm0, dword [ebp - 0x27d0]
movsd xmm1, qword [ebp - 0xc418]
addsd xmm1, xmm0
movsd qword [ebp - 0xc428], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc428]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49bef8
mov eax, dword [ebp - 0x27d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc418]
addsd xmm1, xmm0
movsd qword [ebp - 0xc418], xmm1
jmp 0x49bf0c
xor eax, eax
je 0x49bf08
jmp 0x49bfc4
jmp 0x49bf2f
cvtsi2sd xmm0, dword [ebp - 0x27d0]
movsd xmm1, qword [ebp - 0xc418]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27d4], eax
jmp 0x49bfce
xor eax, eax
inc eax
je 0x49bf3a
jmp 0x49bf49
jmp 0x49bd9c
jmp 0x49bd9c
xor eax, eax
inc eax
je 0x49bfc4
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x27d8], eax
cvtsi2sd xmm0, dword [ebp - 0x27d8]
mov eax, dword [ebp - 0x27d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc418]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27d4], eax
jmp 0x49bfce
mov dword [ebp - 0x27d4], 7
mov eax, dword [ebp - 0x27cc]
shl eax, 2
add eax, dword [ebp - 0x27c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x27d4]
mov ecx, dword [ebp - 0x27cc]
shl ecx, 2
add ecx, dword [ebp - 0x27c8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49cadc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49c2f8
xor eax, eax
je 0x49c078
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49c0b4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc430], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49c24b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49c24b
and dword [ebp - 0x27dc], 0
jmp 0x49c12e
cmp dword [ebp - 0x27dc], 0xa
jae 0x49c246
cvtsi2sd xmm0, dword [ebp - 0x27dc]
movsd xmm1, qword [ebp - 0xc430]
addsd xmm1, xmm0
movsd qword [ebp - 0xc438], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c19d
mov eax, dword [ebp - 0x27dc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc430]
addsd xmm1, xmm0
movsd qword [ebp - 0xc430], xmm1
jmp 0x49c09e
cvtsi2sd xmm0, dword [ebp - 0x27dc]
movsd xmm1, qword [ebp - 0xc430]
addsd xmm1, xmm0
movsd qword [ebp - 0xc440], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc440]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c1fa
mov eax, dword [ebp - 0x27dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc430]
addsd xmm1, xmm0
movsd qword [ebp - 0xc430], xmm1
jmp 0x49c20e
xor eax, eax
je 0x49c20a
jmp 0x49c2c6
jmp 0x49c231
cvtsi2sd xmm0, dword [ebp - 0x27dc]
movsd xmm1, qword [ebp - 0xc430]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27e0], eax
jmp 0x49c2d0
xor eax, eax
inc eax
je 0x49c23c
jmp 0x49c24b
jmp 0x49c09e
jmp 0x49c09e
xor eax, eax
inc eax
je 0x49c2c6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x27e4], eax
cvtsi2sd xmm0, dword [ebp - 0x27e4]
mov eax, dword [ebp - 0x27e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc430]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27e0], eax
jmp 0x49c2d0
mov dword [ebp - 0x27e0], 7
mov eax, dword [ebp - 0x27cc]
shl eax, 2
add eax, dword [ebp - 0x27c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x27e0]
mov ecx, dword [ebp - 0x27cc]
shl ecx, 2
add ecx, dword [ebp - 0x27c8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49c5b5
xor eax, eax
je 0x49c335
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49c371
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc448], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49c508
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49c508
and dword [ebp - 0x27e8], 0
jmp 0x49c3eb
cmp dword [ebp - 0x27e8], 0xa
jae 0x49c503
cvtsi2sd xmm0, dword [ebp - 0x27e8]
movsd xmm1, qword [ebp - 0xc448]
addsd xmm1, xmm0
movsd qword [ebp - 0xc450], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc450]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c45a
mov eax, dword [ebp - 0x27e8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc448]
addsd xmm1, xmm0
movsd qword [ebp - 0xc448], xmm1
jmp 0x49c35b
cvtsi2sd xmm0, dword [ebp - 0x27e8]
movsd xmm1, qword [ebp - 0xc448]
addsd xmm1, xmm0
movsd qword [ebp - 0xc458], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c4b7
mov eax, dword [ebp - 0x27e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc448]
addsd xmm1, xmm0
movsd qword [ebp - 0xc448], xmm1
jmp 0x49c4cb
xor eax, eax
je 0x49c4c7
jmp 0x49c583
jmp 0x49c4ee
cvtsi2sd xmm0, dword [ebp - 0x27e8]
movsd xmm1, qword [ebp - 0xc448]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27ec], eax
jmp 0x49c58d
xor eax, eax
inc eax
je 0x49c4f9
jmp 0x49c508
jmp 0x49c35b
jmp 0x49c35b
xor eax, eax
inc eax
je 0x49c583
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x27f0], eax
cvtsi2sd xmm0, dword [ebp - 0x27f0]
mov eax, dword [ebp - 0x27f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc448]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27ec], eax
jmp 0x49c58d
mov dword [ebp - 0x27ec], 7
mov eax, dword [ebp - 0x27cc]
shl eax, 2
add eax, dword [ebp - 0x27c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x27ec]
mov ecx, dword [ebp - 0x27cc]
shl ecx, 2
add ecx, dword [ebp - 0x27c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x27cc]
add eax, 0xffffffca
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc460], xmm0
xor eax, eax
je 0x49c5cf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49c60b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc460]
movsd qword [ebp - 0xc468], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49c7a2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49c7a2
and dword [ebp - 0x27f4], 0
jmp 0x49c685
cmp dword [ebp - 0x27f4], 0xa
jae 0x49c79d
cvtsi2sd xmm0, dword [ebp - 0x27f4]
movsd xmm1, qword [ebp - 0xc468]
addsd xmm1, xmm0
movsd qword [ebp - 0xc470], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc470]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c6f4
mov eax, dword [ebp - 0x27f4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc468]
addsd xmm1, xmm0
movsd qword [ebp - 0xc468], xmm1
jmp 0x49c5f5
cvtsi2sd xmm0, dword [ebp - 0x27f4]
movsd xmm1, qword [ebp - 0xc468]
addsd xmm1, xmm0
movsd qword [ebp - 0xc478], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c751
mov eax, dword [ebp - 0x27f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc468]
addsd xmm1, xmm0
movsd qword [ebp - 0xc468], xmm1
jmp 0x49c765
xor eax, eax
je 0x49c761
jmp 0x49c81d
jmp 0x49c788
cvtsi2sd xmm0, dword [ebp - 0x27f4]
movsd xmm1, qword [ebp - 0xc468]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27f8], eax
jmp 0x49c827
xor eax, eax
inc eax
je 0x49c793
jmp 0x49c7a2
jmp 0x49c5f5
jmp 0x49c5f5
xor eax, eax
inc eax
je 0x49c81d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x27fc], eax
cvtsi2sd xmm0, dword [ebp - 0x27fc]
mov eax, dword [ebp - 0x27fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc468]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x27f8], eax
jmp 0x49c827
mov dword [ebp - 0x27f8], 7
mov eax, dword [ebp - 0x27cc]
add eax, 0xffffffca
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc480], xmm0
xor eax, eax
je 0x49c841
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49c87d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc480]
movsd qword [ebp - 0xc488], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49ca14
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ca14
and dword [ebp - 0x2800], 0
jmp 0x49c8f7
cmp dword [ebp - 0x2800], 0xa
jae 0x49ca0f
cvtsi2sd xmm0, dword [ebp - 0x2800]
movsd xmm1, qword [ebp - 0xc488]
addsd xmm1, xmm0
movsd qword [ebp - 0xc490], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc490]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c966
mov eax, dword [ebp - 0x2800]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc488]
addsd xmm1, xmm0
movsd qword [ebp - 0xc488], xmm1
jmp 0x49c867
cvtsi2sd xmm0, dword [ebp - 0x2800]
movsd xmm1, qword [ebp - 0xc488]
addsd xmm1, xmm0
movsd qword [ebp - 0xc498], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c9c3
mov eax, dword [ebp - 0x2800]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc488]
addsd xmm1, xmm0
movsd qword [ebp - 0xc488], xmm1
jmp 0x49c9d7
xor eax, eax
je 0x49c9d3
jmp 0x49ca8f
jmp 0x49c9fa
cvtsi2sd xmm0, dword [ebp - 0x2800]
movsd xmm1, qword [ebp - 0xc488]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2804], eax
jmp 0x49ca99
xor eax, eax
inc eax
je 0x49ca05
jmp 0x49ca14
jmp 0x49c867
jmp 0x49c867
xor eax, eax
inc eax
je 0x49ca8f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2808], eax
cvtsi2sd xmm0, dword [ebp - 0x2808]
mov eax, dword [ebp - 0x2808]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc488]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2804], eax
jmp 0x49ca99
mov dword [ebp - 0x2804], 7
mov eax, dword [ebp - 0x27cc]
shl eax, 2
add eax, dword [ebp - 0x27c8]
mov eax, dword [eax]
add eax, dword [ebp - 0x27f8]
mov ecx, dword [ebp - 0x27cc]
shl ecx, 2
add ecx, dword [ebp - 0x27c8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2804]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x27cc]
shl ecx, 2
add ecx, dword [ebp - 0x27c8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49cd99
xor eax, eax
je 0x49cb19
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49cb55
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc4a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49ccec
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ccec
and dword [ebp - 0x280c], 0
jmp 0x49cbcf
cmp dword [ebp - 0x280c], 0xa
jae 0x49cce7
cvtsi2sd xmm0, dword [ebp - 0x280c]
movsd xmm1, qword [ebp - 0xc4a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cc3e
mov eax, dword [ebp - 0x280c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4a0], xmm1
jmp 0x49cb3f
cvtsi2sd xmm0, dword [ebp - 0x280c]
movsd xmm1, qword [ebp - 0xc4a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cc9b
mov eax, dword [ebp - 0x280c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4a0], xmm1
jmp 0x49ccaf
xor eax, eax
je 0x49ccab
jmp 0x49cd67
jmp 0x49ccd2
cvtsi2sd xmm0, dword [ebp - 0x280c]
movsd xmm1, qword [ebp - 0xc4a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2810], eax
jmp 0x49cd71
xor eax, eax
inc eax
je 0x49ccdd
jmp 0x49ccec
jmp 0x49cb3f
jmp 0x49cb3f
xor eax, eax
inc eax
je 0x49cd67
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2814], eax
cvtsi2sd xmm0, dword [ebp - 0x2814]
mov eax, dword [ebp - 0x2814]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc4a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2810], eax
jmp 0x49cd71
mov dword [ebp - 0x2810], 7
mov eax, dword [ebp - 0x27cc]
shl eax, 2
add eax, dword [ebp - 0x27c8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2810]
mov ecx, dword [ebp - 0x27cc]
shl ecx, 2
add ecx, dword [ebp - 0x27c8]
mov dword [ecx], eax
jmp 0x49bd1f
mov eax, dword [ebp - 0x27c4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x27c4]
mov dword [ebp - 0x2818], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2818]
mov eax, dword [eax]
mov dword [ebp - 0x281c], eax
xor eax, eax
mov byte [ebp - 0x72], al
lea ecx, [ebp - 0x72]
call fcn.00416ae8
mov dword [ebp - 0x2820], eax
mov eax, dword [ebp - 0x2820]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49de81
mov eax, dword [ebp - 0x2820]
mov dword [ebp - 0x2824], eax
and dword [ebp - 0x2828], 0
jmp 0x49ce0f
mov eax, dword [ebp - 0x2828]
inc eax
mov dword [ebp - 0x2828], eax
cmp dword [ebp - 0x2828], 1
jae 0x49de81
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d0d9
xor eax, eax
je 0x49ce59
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49ce95
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de8]
movsd qword [ebp - 0xc4b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49d02c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d02c
and dword [ebp - 0x282c], 0
jmp 0x49cf0f
cmp dword [ebp - 0x282c], 0xa
jae 0x49d027
cvtsi2sd xmm0, dword [ebp - 0x282c]
movsd xmm1, qword [ebp - 0xc4b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cf7e
mov eax, dword [ebp - 0x282c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4b8], xmm1
jmp 0x49ce7f
cvtsi2sd xmm0, dword [ebp - 0x282c]
movsd xmm1, qword [ebp - 0xc4b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cfdb
mov eax, dword [ebp - 0x282c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4b8], xmm1
jmp 0x49cfef
xor eax, eax
je 0x49cfeb
jmp 0x49d0a7
jmp 0x49d012
cvtsi2sd xmm0, dword [ebp - 0x282c]
movsd xmm1, qword [ebp - 0xc4b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2830], eax
jmp 0x49d0b1
xor eax, eax
inc eax
je 0x49d01d
jmp 0x49d02c
jmp 0x49ce7f
jmp 0x49ce7f
xor eax, eax
inc eax
je 0x49d0a7
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2834], eax
cvtsi2sd xmm0, dword [ebp - 0x2834]
mov eax, dword [ebp - 0x2834]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc4b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2830], eax
jmp 0x49d0b1
mov dword [ebp - 0x2830], 7
mov eax, dword [ebp - 0x2828]
shl eax, 2
add eax, dword [ebp - 0x2824]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2830]
mov ecx, dword [ebp - 0x2828]
shl ecx, 2
add ecx, dword [ebp - 0x2824]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49dbbf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d3db
xor eax, eax
je 0x49d15b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49d197
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc4d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49d32e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d32e
and dword [ebp - 0x2838], 0
jmp 0x49d211
cmp dword [ebp - 0x2838], 0xa
jae 0x49d329
cvtsi2sd xmm0, dword [ebp - 0x2838]
movsd xmm1, qword [ebp - 0xc4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d280
mov eax, dword [ebp - 0x2838]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4d0], xmm1
jmp 0x49d181
cvtsi2sd xmm0, dword [ebp - 0x2838]
movsd xmm1, qword [ebp - 0xc4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d2dd
mov eax, dword [ebp - 0x2838]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4d0], xmm1
jmp 0x49d2f1
xor eax, eax
je 0x49d2ed
jmp 0x49d3a9
jmp 0x49d314
cvtsi2sd xmm0, dword [ebp - 0x2838]
movsd xmm1, qword [ebp - 0xc4d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x283c], eax
jmp 0x49d3b3
xor eax, eax
inc eax
je 0x49d31f
jmp 0x49d32e
jmp 0x49d181
jmp 0x49d181
xor eax, eax
inc eax
je 0x49d3a9
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2840], eax
cvtsi2sd xmm0, dword [ebp - 0x2840]
mov eax, dword [ebp - 0x2840]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc4d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x283c], eax
jmp 0x49d3b3
mov dword [ebp - 0x283c], 7
mov eax, dword [ebp - 0x2828]
shl eax, 2
add eax, dword [ebp - 0x2824]
mov eax, dword [eax]
xor eax, dword [ebp - 0x283c]
mov ecx, dword [ebp - 0x2828]
shl ecx, 2
add ecx, dword [ebp - 0x2824]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d698
xor eax, eax
je 0x49d418
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49d454
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc4e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49d5eb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d5eb
and dword [ebp - 0x2844], 0
jmp 0x49d4ce
cmp dword [ebp - 0x2844], 0xa
jae 0x49d5e6
cvtsi2sd xmm0, dword [ebp - 0x2844]
movsd xmm1, qword [ebp - 0xc4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d53d
mov eax, dword [ebp - 0x2844]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4e8], xmm1
jmp 0x49d43e
cvtsi2sd xmm0, dword [ebp - 0x2844]
movsd xmm1, qword [ebp - 0xc4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d59a
mov eax, dword [ebp - 0x2844]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4e8], xmm1
jmp 0x49d5ae
xor eax, eax
je 0x49d5aa
jmp 0x49d666
jmp 0x49d5d1
cvtsi2sd xmm0, dword [ebp - 0x2844]
movsd xmm1, qword [ebp - 0xc4e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2848], eax
jmp 0x49d670
xor eax, eax
inc eax
je 0x49d5dc
jmp 0x49d5eb
jmp 0x49d43e
jmp 0x49d43e
xor eax, eax
inc eax
je 0x49d666
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x284c], eax
cvtsi2sd xmm0, dword [ebp - 0x284c]
mov eax, dword [ebp - 0x284c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc4e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2848], eax
jmp 0x49d670
mov dword [ebp - 0x2848], 7
mov eax, dword [ebp - 0x2828]
shl eax, 2
add eax, dword [ebp - 0x2824]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2848]
mov ecx, dword [ebp - 0x2828]
shl ecx, 2
add ecx, dword [ebp - 0x2824]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2828]
add eax, 0xffffffca
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc500], xmm0
xor eax, eax
je 0x49d6b2
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49d6ee
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc500]
movsd qword [ebp - 0xc508], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49d885
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49d885
and dword [ebp - 0x2850], 0
jmp 0x49d768
cmp dword [ebp - 0x2850], 0xa
jae 0x49d880
cvtsi2sd xmm0, dword [ebp - 0x2850]
movsd xmm1, qword [ebp - 0xc508]
addsd xmm1, xmm0
movsd qword [ebp - 0xc510], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc510]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d7d7
mov eax, dword [ebp - 0x2850]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc508]
addsd xmm1, xmm0
movsd qword [ebp - 0xc508], xmm1
jmp 0x49d6d8
cvtsi2sd xmm0, dword [ebp - 0x2850]
movsd xmm1, qword [ebp - 0xc508]
addsd xmm1, xmm0
movsd qword [ebp - 0xc518], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d834
mov eax, dword [ebp - 0x2850]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc508]
addsd xmm1, xmm0
movsd qword [ebp - 0xc508], xmm1
jmp 0x49d848
xor eax, eax
je 0x49d844
jmp 0x49d900
jmp 0x49d86b
cvtsi2sd xmm0, dword [ebp - 0x2850]
movsd xmm1, qword [ebp - 0xc508]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2854], eax
jmp 0x49d90a
xor eax, eax
inc eax
je 0x49d876
jmp 0x49d885
jmp 0x49d6d8
jmp 0x49d6d8
xor eax, eax
inc eax
je 0x49d900
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2858], eax
cvtsi2sd xmm0, dword [ebp - 0x2858]
mov eax, dword [ebp - 0x2858]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc508]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2854], eax
jmp 0x49d90a
mov dword [ebp - 0x2854], 7
mov eax, dword [ebp - 0x2828]
add eax, 0xffffffca
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc520], xmm0
xor eax, eax
je 0x49d924
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49d960
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc520]
movsd qword [ebp - 0xc528], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49daf7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49daf7
and dword [ebp - 0x285c], 0
jmp 0x49d9da
cmp dword [ebp - 0x285c], 0xa
jae 0x49daf2
cvtsi2sd xmm0, dword [ebp - 0x285c]
movsd xmm1, qword [ebp - 0xc528]
addsd xmm1, xmm0
movsd qword [ebp - 0xc530], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc530]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49da49
mov eax, dword [ebp - 0x285c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc528]
addsd xmm1, xmm0
movsd qword [ebp - 0xc528], xmm1
jmp 0x49d94a
cvtsi2sd xmm0, dword [ebp - 0x285c]
movsd xmm1, qword [ebp - 0xc528]
addsd xmm1, xmm0
movsd qword [ebp - 0xc538], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49daa6
mov eax, dword [ebp - 0x285c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc528]
addsd xmm1, xmm0
movsd qword [ebp - 0xc528], xmm1
jmp 0x49daba
xor eax, eax
je 0x49dab6
jmp 0x49db72
jmp 0x49dadd
cvtsi2sd xmm0, dword [ebp - 0x285c]
movsd xmm1, qword [ebp - 0xc528]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2860], eax
jmp 0x49db7c
xor eax, eax
inc eax
je 0x49dae8
jmp 0x49daf7
jmp 0x49d94a
jmp 0x49d94a
xor eax, eax
inc eax
je 0x49db72
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2864], eax
cvtsi2sd xmm0, dword [ebp - 0x2864]
mov eax, dword [ebp - 0x2864]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc528]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2860], eax
jmp 0x49db7c
mov dword [ebp - 0x2860], 7
mov eax, dword [ebp - 0x2828]
shl eax, 2
add eax, dword [ebp - 0x2824]
mov eax, dword [eax]
add eax, dword [ebp - 0x2854]
mov ecx, dword [ebp - 0x2828]
shl ecx, 2
add ecx, dword [ebp - 0x2824]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2860]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2828]
shl ecx, 2
add ecx, dword [ebp - 0x2824]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49de7c
xor eax, eax
je 0x49dbfc
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49dc38
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc540], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49ddcf
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ddcf
and dword [ebp - 0x2868], 0
jmp 0x49dcb2
cmp dword [ebp - 0x2868], 0xa
jae 0x49ddca
cvtsi2sd xmm0, dword [ebp - 0x2868]
movsd xmm1, qword [ebp - 0xc540]
addsd xmm1, xmm0
movsd qword [ebp - 0xc548], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc548]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49dd21
mov eax, dword [ebp - 0x2868]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc540]
addsd xmm1, xmm0
movsd qword [ebp - 0xc540], xmm1
jmp 0x49dc22
cvtsi2sd xmm0, dword [ebp - 0x2868]
movsd xmm1, qword [ebp - 0xc540]
addsd xmm1, xmm0
movsd qword [ebp - 0xc550], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc550]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49dd7e
mov eax, dword [ebp - 0x2868]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc540]
addsd xmm1, xmm0
movsd qword [ebp - 0xc540], xmm1
jmp 0x49dd92
xor eax, eax
je 0x49dd8e
jmp 0x49de4a
jmp 0x49ddb5
cvtsi2sd xmm0, dword [ebp - 0x2868]
movsd xmm1, qword [ebp - 0xc540]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x286c], eax
jmp 0x49de54
xor eax, eax
inc eax
je 0x49ddc0
jmp 0x49ddcf
jmp 0x49dc22
jmp 0x49dc22
xor eax, eax
inc eax
je 0x49de4a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2870], eax
cvtsi2sd xmm0, dword [ebp - 0x2870]
mov eax, dword [ebp - 0x2870]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc540]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x286c], eax
jmp 0x49de54
mov dword [ebp - 0x286c], 7
mov eax, dword [ebp - 0x2828]
shl eax, 2
add eax, dword [ebp - 0x2824]
mov eax, dword [eax]
xor eax, dword [ebp - 0x286c]
mov ecx, dword [ebp - 0x2828]
shl ecx, 2
add ecx, dword [ebp - 0x2824]
mov dword [ecx], eax
jmp 0x49ce02
mov eax, dword [ebp - 0x2820]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2820]
mov dword [ebp - 0x2874], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2874]
mov eax, dword [eax]
mov dword [ebp - 0x2878], eax
xor eax, eax
mov byte [ebp - 0x73], al
lea ecx, [ebp - 0x73]
call fcn.00418eaa
mov dword [ebp - 0x287c], eax
mov eax, dword [ebp - 0x287c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x49ef64
mov eax, dword [ebp - 0x287c]
mov dword [ebp - 0x2880], eax
and dword [ebp - 0x2884], 0
jmp 0x49def2
mov eax, dword [ebp - 0x2884]
inc eax
mov dword [ebp - 0x2884], eax
cmp dword [ebp - 0x2884], 1
jae 0x49ef64
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e1bc
xor eax, eax
je 0x49df3c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49df78
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc558], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49e10f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e10f
and dword [ebp - 0x2888], 0
jmp 0x49dff2
cmp dword [ebp - 0x2888], 0xa
jae 0x49e10a
cvtsi2sd xmm0, dword [ebp - 0x2888]
movsd xmm1, qword [ebp - 0xc558]
addsd xmm1, xmm0
movsd qword [ebp - 0xc560], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc560]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e061
mov eax, dword [ebp - 0x2888]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc558]
addsd xmm1, xmm0
movsd qword [ebp - 0xc558], xmm1
jmp 0x49df62
cvtsi2sd xmm0, dword [ebp - 0x2888]
movsd xmm1, qword [ebp - 0xc558]
addsd xmm1, xmm0
movsd qword [ebp - 0xc568], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc568]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e0be
mov eax, dword [ebp - 0x2888]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc558]
addsd xmm1, xmm0
movsd qword [ebp - 0xc558], xmm1
jmp 0x49e0d2
xor eax, eax
je 0x49e0ce
jmp 0x49e18a
jmp 0x49e0f5
cvtsi2sd xmm0, dword [ebp - 0x2888]
movsd xmm1, qword [ebp - 0xc558]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x288c], eax
jmp 0x49e194
xor eax, eax
inc eax
je 0x49e100
jmp 0x49e10f
jmp 0x49df62
jmp 0x49df62
xor eax, eax
inc eax
je 0x49e18a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2890], eax
cvtsi2sd xmm0, dword [ebp - 0x2890]
mov eax, dword [ebp - 0x2890]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc558]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x288c], eax
jmp 0x49e194
mov dword [ebp - 0x288c], 7
mov eax, dword [ebp - 0x2884]
shl eax, 2
add eax, dword [ebp - 0x2880]
mov eax, dword [eax]
xor eax, dword [ebp - 0x288c]
mov ecx, dword [ebp - 0x2884]
shl ecx, 2
add ecx, dword [ebp - 0x2880]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49eca2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e4be
xor eax, eax
je 0x49e23e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49e27a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc570], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49e411
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e411
and dword [ebp - 0x2894], 0
jmp 0x49e2f4
cmp dword [ebp - 0x2894], 0xa
jae 0x49e40c
cvtsi2sd xmm0, dword [ebp - 0x2894]
movsd xmm1, qword [ebp - 0xc570]
addsd xmm1, xmm0
movsd qword [ebp - 0xc578], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e363
mov eax, dword [ebp - 0x2894]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc570]
addsd xmm1, xmm0
movsd qword [ebp - 0xc570], xmm1
jmp 0x49e264
cvtsi2sd xmm0, dword [ebp - 0x2894]
movsd xmm1, qword [ebp - 0xc570]
addsd xmm1, xmm0
movsd qword [ebp - 0xc580], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc580]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e3c0
mov eax, dword [ebp - 0x2894]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc570]
addsd xmm1, xmm0
movsd qword [ebp - 0xc570], xmm1
jmp 0x49e3d4
xor eax, eax
je 0x49e3d0
jmp 0x49e48c
jmp 0x49e3f7
cvtsi2sd xmm0, dword [ebp - 0x2894]
movsd xmm1, qword [ebp - 0xc570]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2898], eax
jmp 0x49e496
xor eax, eax
inc eax
je 0x49e402
jmp 0x49e411
jmp 0x49e264
jmp 0x49e264
xor eax, eax
inc eax
je 0x49e48c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x289c], eax
cvtsi2sd xmm0, dword [ebp - 0x289c]
mov eax, dword [ebp - 0x289c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc570]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2898], eax
jmp 0x49e496
mov dword [ebp - 0x2898], 7
mov eax, dword [ebp - 0x2884]
shl eax, 2
add eax, dword [ebp - 0x2880]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2898]
mov ecx, dword [ebp - 0x2884]
shl ecx, 2
add ecx, dword [ebp - 0x2880]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e77b
xor eax, eax
je 0x49e4fb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49e537
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc588], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49e6ce
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e6ce
and dword [ebp - 0x28a0], 0
jmp 0x49e5b1
cmp dword [ebp - 0x28a0], 0xa
jae 0x49e6c9
cvtsi2sd xmm0, dword [ebp - 0x28a0]
movsd xmm1, qword [ebp - 0xc588]
addsd xmm1, xmm0
movsd qword [ebp - 0xc590], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc590]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e620
mov eax, dword [ebp - 0x28a0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc588]
addsd xmm1, xmm0
movsd qword [ebp - 0xc588], xmm1
jmp 0x49e521
cvtsi2sd xmm0, dword [ebp - 0x28a0]
movsd xmm1, qword [ebp - 0xc588]
addsd xmm1, xmm0
movsd qword [ebp - 0xc598], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e67d
mov eax, dword [ebp - 0x28a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc588]
addsd xmm1, xmm0
movsd qword [ebp - 0xc588], xmm1
jmp 0x49e691
xor eax, eax
je 0x49e68d
jmp 0x49e749
jmp 0x49e6b4
cvtsi2sd xmm0, dword [ebp - 0x28a0]
movsd xmm1, qword [ebp - 0xc588]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28a4], eax
jmp 0x49e753
xor eax, eax
inc eax
je 0x49e6bf
jmp 0x49e6ce
jmp 0x49e521
jmp 0x49e521
xor eax, eax
inc eax
je 0x49e749
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x28a8], eax
cvtsi2sd xmm0, dword [ebp - 0x28a8]
mov eax, dword [ebp - 0x28a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc588]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28a4], eax
jmp 0x49e753
mov dword [ebp - 0x28a4], 7
mov eax, dword [ebp - 0x2884]
shl eax, 2
add eax, dword [ebp - 0x2880]
mov eax, dword [eax]
xor eax, dword [ebp - 0x28a4]
mov ecx, dword [ebp - 0x2884]
shl ecx, 2
add ecx, dword [ebp - 0x2880]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2884]
add eax, 0xffffffcb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc5a0], xmm0
xor eax, eax
je 0x49e795
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49e7d1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc5a0]
movsd qword [ebp - 0xc5a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49e968
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49e968
and dword [ebp - 0x28ac], 0
jmp 0x49e84b
cmp dword [ebp - 0x28ac], 0xa
jae 0x49e963
cvtsi2sd xmm0, dword [ebp - 0x28ac]
movsd xmm1, qword [ebp - 0xc5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e8ba
mov eax, dword [ebp - 0x28ac]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5a8], xmm1
jmp 0x49e7bb
cvtsi2sd xmm0, dword [ebp - 0x28ac]
movsd xmm1, qword [ebp - 0xc5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e917
mov eax, dword [ebp - 0x28ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5a8], xmm1
jmp 0x49e92b
xor eax, eax
je 0x49e927
jmp 0x49e9e3
jmp 0x49e94e
cvtsi2sd xmm0, dword [ebp - 0x28ac]
movsd xmm1, qword [ebp - 0xc5a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28b0], eax
jmp 0x49e9ed
xor eax, eax
inc eax
je 0x49e959
jmp 0x49e968
jmp 0x49e7bb
jmp 0x49e7bb
xor eax, eax
inc eax
je 0x49e9e3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x28b4], eax
cvtsi2sd xmm0, dword [ebp - 0x28b4]
mov eax, dword [ebp - 0x28b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc5a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28b0], eax
jmp 0x49e9ed
mov dword [ebp - 0x28b0], 7
mov eax, dword [ebp - 0x2884]
add eax, 0xffffffcb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc5c0], xmm0
xor eax, eax
je 0x49ea07
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49ea43
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc5c0]
movsd qword [ebp - 0xc5c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49ebda
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ebda
and dword [ebp - 0x28b8], 0
jmp 0x49eabd
cmp dword [ebp - 0x28b8], 0xa
jae 0x49ebd5
cvtsi2sd xmm0, dword [ebp - 0x28b8]
movsd xmm1, qword [ebp - 0xc5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49eb2c
mov eax, dword [ebp - 0x28b8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5c8], xmm1
jmp 0x49ea2d
cvtsi2sd xmm0, dword [ebp - 0x28b8]
movsd xmm1, qword [ebp - 0xc5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49eb89
mov eax, dword [ebp - 0x28b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5c8], xmm1
jmp 0x49eb9d
xor eax, eax
je 0x49eb99
jmp 0x49ec55
jmp 0x49ebc0
cvtsi2sd xmm0, dword [ebp - 0x28b8]
movsd xmm1, qword [ebp - 0xc5c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28bc], eax
jmp 0x49ec5f
xor eax, eax
inc eax
je 0x49ebcb
jmp 0x49ebda
jmp 0x49ea2d
jmp 0x49ea2d
xor eax, eax
inc eax
je 0x49ec55
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x28c0], eax
cvtsi2sd xmm0, dword [ebp - 0x28c0]
mov eax, dword [ebp - 0x28c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc5c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28bc], eax
jmp 0x49ec5f
mov dword [ebp - 0x28bc], 7
mov eax, dword [ebp - 0x2884]
shl eax, 2
add eax, dword [ebp - 0x2880]
mov eax, dword [eax]
add eax, dword [ebp - 0x28b0]
mov ecx, dword [ebp - 0x2884]
shl ecx, 2
add ecx, dword [ebp - 0x2880]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x28bc]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2884]
shl ecx, 2
add ecx, dword [ebp - 0x2880]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ef5f
xor eax, eax
je 0x49ecdf
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49ed1b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc5e0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49eeb2
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49eeb2
and dword [ebp - 0x28c4], 0
jmp 0x49ed95
cmp dword [ebp - 0x28c4], 0xa
jae 0x49eead
cvtsi2sd xmm0, dword [ebp - 0x28c4]
movsd xmm1, qword [ebp - 0xc5e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5e8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ee04
mov eax, dword [ebp - 0x28c4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5e0], xmm1
jmp 0x49ed05
cvtsi2sd xmm0, dword [ebp - 0x28c4]
movsd xmm1, qword [ebp - 0xc5e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5f0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ee61
mov eax, dword [ebp - 0x28c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5e0], xmm1
jmp 0x49ee75
xor eax, eax
je 0x49ee71
jmp 0x49ef2d
jmp 0x49ee98
cvtsi2sd xmm0, dword [ebp - 0x28c4]
movsd xmm1, qword [ebp - 0xc5e0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28c8], eax
jmp 0x49ef37
xor eax, eax
inc eax
je 0x49eea3
jmp 0x49eeb2
jmp 0x49ed05
jmp 0x49ed05
xor eax, eax
inc eax
je 0x49ef2d
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x28cc], eax
cvtsi2sd xmm0, dword [ebp - 0x28cc]
mov eax, dword [ebp - 0x28cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc5e0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28c8], eax
jmp 0x49ef37
mov dword [ebp - 0x28c8], 7
mov eax, dword [ebp - 0x2884]
shl eax, 2
add eax, dword [ebp - 0x2880]
mov eax, dword [eax]
xor eax, dword [ebp - 0x28c8]
mov ecx, dword [ebp - 0x2884]
shl ecx, 2
add ecx, dword [ebp - 0x2880]
mov dword [ecx], eax
jmp 0x49dee5
mov eax, dword [ebp - 0x287c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x287c]
mov dword [ebp - 0x28d0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x28d0]
mov eax, dword [eax]
mov dword [ebp - 0x28d4], eax
mov eax, dword [ebp - 0x2878]
mov dword [ebp - 0x281c], eax
cmp dword [ebp - 0x281c], 0
je 0x4a008a
xor eax, eax
mov byte [ebp - 0x74], al
lea ecx, [ebp - 0x74]
call fcn.00418586
mov dword [ebp - 0x28d8], eax
mov eax, dword [ebp - 0x28d8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a0060
mov eax, dword [ebp - 0x28d8]
mov dword [ebp - 0x28dc], eax
and dword [ebp - 0x28e0], 0
jmp 0x49efee
mov eax, dword [ebp - 0x28e0]
inc eax
mov dword [ebp - 0x28e0], eax
cmp dword [ebp - 0x28e0], 1
jae 0x4a0060
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49f2b8
xor eax, eax
je 0x49f038
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49f074
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706de0]
movsd qword [ebp - 0xc5f8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49f20b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49f20b
and dword [ebp - 0x28e4], 0
jmp 0x49f0ee
cmp dword [ebp - 0x28e4], 0xa
jae 0x49f206
cvtsi2sd xmm0, dword [ebp - 0x28e4]
movsd xmm1, qword [ebp - 0xc5f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc600], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc600]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f15d
mov eax, dword [ebp - 0x28e4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5f8], xmm1
jmp 0x49f05e
cvtsi2sd xmm0, dword [ebp - 0x28e4]
movsd xmm1, qword [ebp - 0xc5f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc608], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc608]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f1ba
mov eax, dword [ebp - 0x28e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5f8], xmm1
jmp 0x49f1ce
xor eax, eax
je 0x49f1ca
jmp 0x49f286
jmp 0x49f1f1
cvtsi2sd xmm0, dword [ebp - 0x28e4]
movsd xmm1, qword [ebp - 0xc5f8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28e8], eax
jmp 0x49f290
xor eax, eax
inc eax
je 0x49f1fc
jmp 0x49f20b
jmp 0x49f05e
jmp 0x49f05e
xor eax, eax
inc eax
je 0x49f286
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x28ec], eax
cvtsi2sd xmm0, dword [ebp - 0x28ec]
mov eax, dword [ebp - 0x28ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc5f8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28e8], eax
jmp 0x49f290
mov dword [ebp - 0x28e8], 7
mov eax, dword [ebp - 0x28e0]
shl eax, 2
add eax, dword [ebp - 0x28dc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x28e8]
mov ecx, dword [ebp - 0x28e0]
shl ecx, 2
add ecx, dword [ebp - 0x28dc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49fd9e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49f5ba
xor eax, eax
je 0x49f33a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49f376
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc610], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49f50d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49f50d
and dword [ebp - 0x28f0], 0
jmp 0x49f3f0
cmp dword [ebp - 0x28f0], 0xa
jae 0x49f508
cvtsi2sd xmm0, dword [ebp - 0x28f0]
movsd xmm1, qword [ebp - 0xc610]
addsd xmm1, xmm0
movsd qword [ebp - 0xc618], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f45f
mov eax, dword [ebp - 0x28f0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc610]
addsd xmm1, xmm0
movsd qword [ebp - 0xc610], xmm1
jmp 0x49f360
cvtsi2sd xmm0, dword [ebp - 0x28f0]
movsd xmm1, qword [ebp - 0xc610]
addsd xmm1, xmm0
movsd qword [ebp - 0xc620], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc620]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f4bc
mov eax, dword [ebp - 0x28f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc610]
addsd xmm1, xmm0
movsd qword [ebp - 0xc610], xmm1
jmp 0x49f4d0
xor eax, eax
je 0x49f4cc
jmp 0x49f588
jmp 0x49f4f3
cvtsi2sd xmm0, dword [ebp - 0x28f0]
movsd xmm1, qword [ebp - 0xc610]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28f4], eax
jmp 0x49f592
xor eax, eax
inc eax
je 0x49f4fe
jmp 0x49f50d
jmp 0x49f360
jmp 0x49f360
xor eax, eax
inc eax
je 0x49f588
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x28f8], eax
cvtsi2sd xmm0, dword [ebp - 0x28f8]
mov eax, dword [ebp - 0x28f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc610]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x28f4], eax
jmp 0x49f592
mov dword [ebp - 0x28f4], 7
mov eax, dword [ebp - 0x28e0]
shl eax, 2
add eax, dword [ebp - 0x28dc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x28f4]
mov ecx, dword [ebp - 0x28e0]
shl ecx, 2
add ecx, dword [ebp - 0x28dc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49f877
xor eax, eax
je 0x49f5f7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49f633
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc628], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49f7ca
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49f7ca
and dword [ebp - 0x28fc], 0
jmp 0x49f6ad
cmp dword [ebp - 0x28fc], 0xa
jae 0x49f7c5
cvtsi2sd xmm0, dword [ebp - 0x28fc]
movsd xmm1, qword [ebp - 0xc628]
addsd xmm1, xmm0
movsd qword [ebp - 0xc630], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc630]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f71c
mov eax, dword [ebp - 0x28fc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc628]
addsd xmm1, xmm0
movsd qword [ebp - 0xc628], xmm1
jmp 0x49f61d
cvtsi2sd xmm0, dword [ebp - 0x28fc]
movsd xmm1, qword [ebp - 0xc628]
addsd xmm1, xmm0
movsd qword [ebp - 0xc638], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f779
mov eax, dword [ebp - 0x28fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc628]
addsd xmm1, xmm0
movsd qword [ebp - 0xc628], xmm1
jmp 0x49f78d
xor eax, eax
je 0x49f789
jmp 0x49f845
jmp 0x49f7b0
cvtsi2sd xmm0, dword [ebp - 0x28fc]
movsd xmm1, qword [ebp - 0xc628]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2900], eax
jmp 0x49f84f
xor eax, eax
inc eax
je 0x49f7bb
jmp 0x49f7ca
jmp 0x49f61d
jmp 0x49f61d
xor eax, eax
inc eax
je 0x49f845
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2904], eax
cvtsi2sd xmm0, dword [ebp - 0x2904]
mov eax, dword [ebp - 0x2904]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc628]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2900], eax
jmp 0x49f84f
mov dword [ebp - 0x2900], 7
mov eax, dword [ebp - 0x28e0]
shl eax, 2
add eax, dword [ebp - 0x28dc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2900]
mov ecx, dword [ebp - 0x28e0]
shl ecx, 2
add ecx, dword [ebp - 0x28dc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28e0]
add eax, 0xffffffcb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc640], xmm0
xor eax, eax
je 0x49f891
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49f8cd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc640]
movsd qword [ebp - 0xc648], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49fa64
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49fa64
and dword [ebp - 0x2908], 0
jmp 0x49f947
cmp dword [ebp - 0x2908], 0xa
jae 0x49fa5f
cvtsi2sd xmm0, dword [ebp - 0x2908]
movsd xmm1, qword [ebp - 0xc648]
addsd xmm1, xmm0
movsd qword [ebp - 0xc650], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc650]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f9b6
mov eax, dword [ebp - 0x2908]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc648]
addsd xmm1, xmm0
movsd qword [ebp - 0xc648], xmm1
jmp 0x49f8b7
cvtsi2sd xmm0, dword [ebp - 0x2908]
movsd xmm1, qword [ebp - 0xc648]
addsd xmm1, xmm0
movsd qword [ebp - 0xc658], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fa13
mov eax, dword [ebp - 0x2908]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc648]
addsd xmm1, xmm0
movsd qword [ebp - 0xc648], xmm1
jmp 0x49fa27
xor eax, eax
je 0x49fa23
jmp 0x49fadf
jmp 0x49fa4a
cvtsi2sd xmm0, dword [ebp - 0x2908]
movsd xmm1, qword [ebp - 0xc648]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x290c], eax
jmp 0x49fae9
xor eax, eax
inc eax
je 0x49fa55
jmp 0x49fa64
jmp 0x49f8b7
jmp 0x49f8b7
xor eax, eax
inc eax
je 0x49fadf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2910], eax
cvtsi2sd xmm0, dword [ebp - 0x2910]
mov eax, dword [ebp - 0x2910]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc648]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x290c], eax
jmp 0x49fae9
mov dword [ebp - 0x290c], 7
mov eax, dword [ebp - 0x28e0]
add eax, 0xffffffcb
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc660], xmm0
xor eax, eax
je 0x49fb03
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49fb3f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc660]
movsd qword [ebp - 0xc668], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49fcd6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49fcd6
and dword [ebp - 0x2914], 0
jmp 0x49fbb9
cmp dword [ebp - 0x2914], 0xa
jae 0x49fcd1
cvtsi2sd xmm0, dword [ebp - 0x2914]
movsd xmm1, qword [ebp - 0xc668]
addsd xmm1, xmm0
movsd qword [ebp - 0xc670], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc670]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fc28
mov eax, dword [ebp - 0x2914]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc668]
addsd xmm1, xmm0
movsd qword [ebp - 0xc668], xmm1
jmp 0x49fb29
cvtsi2sd xmm0, dword [ebp - 0x2914]
movsd xmm1, qword [ebp - 0xc668]
addsd xmm1, xmm0
movsd qword [ebp - 0xc678], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fc85
mov eax, dword [ebp - 0x2914]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc668]
addsd xmm1, xmm0
movsd qword [ebp - 0xc668], xmm1
jmp 0x49fc99
xor eax, eax
je 0x49fc95
jmp 0x49fd51
jmp 0x49fcbc
cvtsi2sd xmm0, dword [ebp - 0x2914]
movsd xmm1, qword [ebp - 0xc668]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2918], eax
jmp 0x49fd5b
xor eax, eax
inc eax
je 0x49fcc7
jmp 0x49fcd6
jmp 0x49fb29
jmp 0x49fb29
xor eax, eax
inc eax
je 0x49fd51
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x291c], eax
cvtsi2sd xmm0, dword [ebp - 0x291c]
mov eax, dword [ebp - 0x291c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc668]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2918], eax
jmp 0x49fd5b
mov dword [ebp - 0x2918], 7
mov eax, dword [ebp - 0x28e0]
shl eax, 2
add eax, dword [ebp - 0x28dc]
mov eax, dword [eax]
add eax, dword [ebp - 0x290c]
mov ecx, dword [ebp - 0x28e0]
shl ecx, 2
add ecx, dword [ebp - 0x28dc]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2918]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x28e0]
shl ecx, 2
add ecx, dword [ebp - 0x28dc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a005b
xor eax, eax
je 0x49fddb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x49fe17
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc680], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x49ffae
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x49ffae
and dword [ebp - 0x2920], 0
jmp 0x49fe91
cmp dword [ebp - 0x2920], 0xa
jae 0x49ffa9
cvtsi2sd xmm0, dword [ebp - 0x2920]
movsd xmm1, qword [ebp - 0xc680]
addsd xmm1, xmm0
movsd qword [ebp - 0xc688], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc688]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ff00
mov eax, dword [ebp - 0x2920]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc680]
addsd xmm1, xmm0
movsd qword [ebp - 0xc680], xmm1
jmp 0x49fe01
cvtsi2sd xmm0, dword [ebp - 0x2920]
movsd xmm1, qword [ebp - 0xc680]
addsd xmm1, xmm0
movsd qword [ebp - 0xc690], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc690]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ff5d
mov eax, dword [ebp - 0x2920]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc680]
addsd xmm1, xmm0
movsd qword [ebp - 0xc680], xmm1
jmp 0x49ff71
xor eax, eax
je 0x49ff6d
jmp 0x4a0029
jmp 0x49ff94
cvtsi2sd xmm0, dword [ebp - 0x2920]
movsd xmm1, qword [ebp - 0xc680]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2924], eax
jmp 0x4a0033
xor eax, eax
inc eax
je 0x49ff9f
jmp 0x49ffae
jmp 0x49fe01
jmp 0x49fe01
xor eax, eax
inc eax
je 0x4a0029
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2928], eax
cvtsi2sd xmm0, dword [ebp - 0x2928]
mov eax, dword [ebp - 0x2928]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc680]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2924], eax
jmp 0x4a0033
mov dword [ebp - 0x2924], 7
mov eax, dword [ebp - 0x28e0]
shl eax, 2
add eax, dword [ebp - 0x28dc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2924]
mov ecx, dword [ebp - 0x28e0]
shl ecx, 2
add ecx, dword [ebp - 0x28dc]
mov dword [ecx], eax
jmp 0x49efe1
mov eax, dword [ebp - 0x28d8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x28d8]
mov dword [ebp - 0x292c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x292c]
mov eax, dword [eax]
mov dword [ebp - 0x28d4], eax
xor eax, eax
inc eax
imul eax, eax, 0x12
lea ecx, [ebp - 0x160a0]
movsx eax, byte [ecx + eax]
neg eax
sbb eax, eax
neg eax
movzx eax, al
test eax, eax
jne 0x4a00fe
and dword [ebp - 0x2930], 0
jmp 0x4a00bd
mov eax, dword [ebp - 0x2930]
inc eax
mov dword [ebp - 0x2930], eax
cmp dword [ebp - 0x2930], 0x13
jge 0x4a00fe
mov eax, dword [ebp - 0x2930]
shl eax, 0
lea ecx, [ebp - 0x160a0]
movsx ecx, byte [ecx + eax]
mov eax, dword [ebp - 0x2930]
cdq
push 0x36
pop esi
idiv esi
add edx, 0x34
xor ecx, edx
lea eax, [ebp - 0x160a0]
mov edx, dword [ebp - 0x2930]
shl edx, 0
mov byte [eax + edx], cl
jmp 0x4a00b0
xor eax, eax
mov byte [ebp - 0x75], al
lea ecx, [ebp - 0x75]
call fcn.00419b0e
mov dword [ebp - 0x2934], eax
mov eax, dword [ebp - 0x2934]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a11b7
mov eax, dword [ebp - 0x2934]
mov dword [ebp - 0x2938], eax
and dword [ebp - 0x293c], 0
jmp 0x4a0145
mov eax, dword [ebp - 0x293c]
inc eax
mov dword [ebp - 0x293c], eax
cmp dword [ebp - 0x293c], 1
jae 0x4a11b7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a040f
xor eax, eax
je 0x4a018f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a01cb
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc698], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a0362
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a0362
and dword [ebp - 0x2940], 0
jmp 0x4a0245
cmp dword [ebp - 0x2940], 0xa
jae 0x4a035d
cvtsi2sd xmm0, dword [ebp - 0x2940]
movsd xmm1, qword [ebp - 0xc698]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6a0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a02b4
mov eax, dword [ebp - 0x2940]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc698]
addsd xmm1, xmm0
movsd qword [ebp - 0xc698], xmm1
jmp 0x4a01b5
cvtsi2sd xmm0, dword [ebp - 0x2940]
movsd xmm1, qword [ebp - 0xc698]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6a8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0311
mov eax, dword [ebp - 0x2940]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc698]
addsd xmm1, xmm0
movsd qword [ebp - 0xc698], xmm1
jmp 0x4a0325
xor eax, eax
je 0x4a0321
jmp 0x4a03dd
jmp 0x4a0348
cvtsi2sd xmm0, dword [ebp - 0x2940]
movsd xmm1, qword [ebp - 0xc698]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2944], eax
jmp 0x4a03e7
xor eax, eax
inc eax
je 0x4a0353
jmp 0x4a0362
jmp 0x4a01b5
jmp 0x4a01b5
xor eax, eax
inc eax
je 0x4a03dd
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2948], eax
cvtsi2sd xmm0, dword [ebp - 0x2948]
mov eax, dword [ebp - 0x2948]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc698]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2944], eax
jmp 0x4a03e7
mov dword [ebp - 0x2944], 7
mov eax, dword [ebp - 0x293c]
shl eax, 2
add eax, dword [ebp - 0x2938]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2944]
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
add ecx, dword [ebp - 0x2938]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a0ef5
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a0711
xor eax, eax
je 0x4a0491
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a04cd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc6b0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a0664
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a0664
and dword [ebp - 0x294c], 0
jmp 0x4a0547
cmp dword [ebp - 0x294c], 0xa
jae 0x4a065f
cvtsi2sd xmm0, dword [ebp - 0x294c]
movsd xmm1, qword [ebp - 0xc6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6b8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a05b6
mov eax, dword [ebp - 0x294c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6b0], xmm1
jmp 0x4a04b7
cvtsi2sd xmm0, dword [ebp - 0x294c]
movsd xmm1, qword [ebp - 0xc6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6c0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0613
mov eax, dword [ebp - 0x294c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6b0], xmm1
jmp 0x4a0627
xor eax, eax
je 0x4a0623
jmp 0x4a06df
jmp 0x4a064a
cvtsi2sd xmm0, dword [ebp - 0x294c]
movsd xmm1, qword [ebp - 0xc6b0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2950], eax
jmp 0x4a06e9
xor eax, eax
inc eax
je 0x4a0655
jmp 0x4a0664
jmp 0x4a04b7
jmp 0x4a04b7
xor eax, eax
inc eax
je 0x4a06df
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2954], eax
cvtsi2sd xmm0, dword [ebp - 0x2954]
mov eax, dword [ebp - 0x2954]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc6b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2950], eax
jmp 0x4a06e9
mov dword [ebp - 0x2950], 7
mov eax, dword [ebp - 0x293c]
shl eax, 2
add eax, dword [ebp - 0x2938]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2950]
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
add ecx, dword [ebp - 0x2938]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a09ce
xor eax, eax
je 0x4a074e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a078a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc6c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a0921
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a0921
and dword [ebp - 0x2958], 0
jmp 0x4a0804
cmp dword [ebp - 0x2958], 0xa
jae 0x4a091c
cvtsi2sd xmm0, dword [ebp - 0x2958]
movsd xmm1, qword [ebp - 0xc6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0873
mov eax, dword [ebp - 0x2958]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6c8], xmm1
jmp 0x4a0774
cvtsi2sd xmm0, dword [ebp - 0x2958]
movsd xmm1, qword [ebp - 0xc6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a08d0
mov eax, dword [ebp - 0x2958]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6c8], xmm1
jmp 0x4a08e4
xor eax, eax
je 0x4a08e0
jmp 0x4a099c
jmp 0x4a0907
cvtsi2sd xmm0, dword [ebp - 0x2958]
movsd xmm1, qword [ebp - 0xc6c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x295c], eax
jmp 0x4a09a6
xor eax, eax
inc eax
je 0x4a0912
jmp 0x4a0921
jmp 0x4a0774
jmp 0x4a0774
xor eax, eax
inc eax
je 0x4a099c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2960], eax
cvtsi2sd xmm0, dword [ebp - 0x2960]
mov eax, dword [ebp - 0x2960]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc6c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x295c], eax
jmp 0x4a09a6
mov dword [ebp - 0x295c], 7
mov eax, dword [ebp - 0x293c]
shl eax, 2
add eax, dword [ebp - 0x2938]
mov eax, dword [eax]
xor eax, dword [ebp - 0x295c]
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
add ecx, dword [ebp - 0x2938]
mov dword [ecx], eax
mov eax, dword [ebp - 0x293c]
add eax, 0xffffffcc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc6e0], xmm0
xor eax, eax
je 0x4a09e8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a0a24
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc6e0]
movsd qword [ebp - 0xc6e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a0bbb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a0bbb
and dword [ebp - 0x2964], 0
jmp 0x4a0a9e
cmp dword [ebp - 0x2964], 0xa
jae 0x4a0bb6
cvtsi2sd xmm0, dword [ebp - 0x2964]
movsd xmm1, qword [ebp - 0xc6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0b0d
mov eax, dword [ebp - 0x2964]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6e8], xmm1
jmp 0x4a0a0e
cvtsi2sd xmm0, dword [ebp - 0x2964]
movsd xmm1, qword [ebp - 0xc6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0b6a
mov eax, dword [ebp - 0x2964]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6e8], xmm1
jmp 0x4a0b7e
xor eax, eax
je 0x4a0b7a
jmp 0x4a0c36
jmp 0x4a0ba1
cvtsi2sd xmm0, dword [ebp - 0x2964]
movsd xmm1, qword [ebp - 0xc6e8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2968], eax
jmp 0x4a0c40
xor eax, eax
inc eax
je 0x4a0bac
jmp 0x4a0bbb
jmp 0x4a0a0e
jmp 0x4a0a0e
xor eax, eax
inc eax
je 0x4a0c36
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x296c], eax
cvtsi2sd xmm0, dword [ebp - 0x296c]
mov eax, dword [ebp - 0x296c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc6e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2968], eax
jmp 0x4a0c40
mov dword [ebp - 0x2968], 7
mov eax, dword [ebp - 0x293c]
add eax, 0xffffffcc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc700], xmm0
xor eax, eax
je 0x4a0c5a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a0c96
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc700]
movsd qword [ebp - 0xc708], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a0e2d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a0e2d
and dword [ebp - 0x2970], 0
jmp 0x4a0d10
cmp dword [ebp - 0x2970], 0xa
jae 0x4a0e28
cvtsi2sd xmm0, dword [ebp - 0x2970]
movsd xmm1, qword [ebp - 0xc708]
addsd xmm1, xmm0
movsd qword [ebp - 0xc710], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc710]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0d7f
mov eax, dword [ebp - 0x2970]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc708]
addsd xmm1, xmm0
movsd qword [ebp - 0xc708], xmm1
jmp 0x4a0c80
cvtsi2sd xmm0, dword [ebp - 0x2970]
movsd xmm1, qword [ebp - 0xc708]
addsd xmm1, xmm0
movsd qword [ebp - 0xc718], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0ddc
mov eax, dword [ebp - 0x2970]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc708]
addsd xmm1, xmm0
movsd qword [ebp - 0xc708], xmm1
jmp 0x4a0df0
xor eax, eax
je 0x4a0dec
jmp 0x4a0ea8
jmp 0x4a0e13
cvtsi2sd xmm0, dword [ebp - 0x2970]
movsd xmm1, qword [ebp - 0xc708]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2974], eax
jmp 0x4a0eb2
xor eax, eax
inc eax
je 0x4a0e1e
jmp 0x4a0e2d
jmp 0x4a0c80
jmp 0x4a0c80
xor eax, eax
inc eax
je 0x4a0ea8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2978], eax
cvtsi2sd xmm0, dword [ebp - 0x2978]
mov eax, dword [ebp - 0x2978]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc708]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2974], eax
jmp 0x4a0eb2
mov dword [ebp - 0x2974], 7
mov eax, dword [ebp - 0x293c]
shl eax, 2
add eax, dword [ebp - 0x2938]
mov eax, dword [eax]
add eax, dword [ebp - 0x2968]
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
add ecx, dword [ebp - 0x2938]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2974]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
add ecx, dword [ebp - 0x2938]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a11b2
xor eax, eax
je 0x4a0f32
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a0f6e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xc720], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1105
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1105
and dword [ebp - 0x297c], 0
jmp 0x4a0fe8
cmp dword [ebp - 0x297c], 0xa
jae 0x4a1100
cvtsi2sd xmm0, dword [ebp - 0x297c]
movsd xmm1, qword [ebp - 0xc720]
addsd xmm1, xmm0
movsd qword [ebp - 0xc728], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc728]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1057
mov eax, dword [ebp - 0x297c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc720]
addsd xmm1, xmm0
movsd qword [ebp - 0xc720], xmm1
jmp 0x4a0f58
cvtsi2sd xmm0, dword [ebp - 0x297c]
movsd xmm1, qword [ebp - 0xc720]
addsd xmm1, xmm0
movsd qword [ebp - 0xc730], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc730]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a10b4
mov eax, dword [ebp - 0x297c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc720]
addsd xmm1, xmm0
movsd qword [ebp - 0xc720], xmm1
jmp 0x4a10c8
xor eax, eax
je 0x4a10c4
jmp 0x4a1180
jmp 0x4a10eb
cvtsi2sd xmm0, dword [ebp - 0x297c]
movsd xmm1, qword [ebp - 0xc720]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2980], eax
jmp 0x4a118a
xor eax, eax
inc eax
je 0x4a10f6
jmp 0x4a1105
jmp 0x4a0f58
jmp 0x4a0f58
xor eax, eax
inc eax
je 0x4a1180
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2984], eax
cvtsi2sd xmm0, dword [ebp - 0x2984]
mov eax, dword [ebp - 0x2984]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc720]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2980], eax
jmp 0x4a118a
mov dword [ebp - 0x2980], 7
mov eax, dword [ebp - 0x293c]
shl eax, 2
add eax, dword [ebp - 0x2938]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2980]
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
add ecx, dword [ebp - 0x2938]
mov dword [ecx], eax
jmp 0x4a0138
mov eax, dword [ebp - 0x2934]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2934]
mov dword [ebp - 0x2988], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2988]
mov eax, dword [eax]
mov dword [ebp - 0x298c], eax
xor eax, eax
mov byte [ebp - 0x76], al
lea ecx, [ebp - 0x76]
call fcn.00416d24
mov dword [ebp - 0x2990], eax
mov eax, dword [ebp - 0x2990]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a229a
mov eax, dword [ebp - 0x2990]
mov dword [ebp - 0x2994], eax
and dword [ebp - 0x2998], 0
jmp 0x4a1228
mov eax, dword [ebp - 0x2998]
inc eax
mov dword [ebp - 0x2998], eax
cmp dword [ebp - 0x2998], 1
jae 0x4a229a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a14f2
xor eax, eax
je 0x4a1272
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a12ae
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc738], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1445
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1445
and dword [ebp - 0x299c], 0
jmp 0x4a1328
cmp dword [ebp - 0x299c], 0xa
jae 0x4a1440
cvtsi2sd xmm0, dword [ebp - 0x299c]
movsd xmm1, qword [ebp - 0xc738]
addsd xmm1, xmm0
movsd qword [ebp - 0xc740], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc740]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1397
mov eax, dword [ebp - 0x299c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc738]
addsd xmm1, xmm0
movsd qword [ebp - 0xc738], xmm1
jmp 0x4a1298
cvtsi2sd xmm0, dword [ebp - 0x299c]
movsd xmm1, qword [ebp - 0xc738]
addsd xmm1, xmm0
movsd qword [ebp - 0xc748], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc748]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a13f4
mov eax, dword [ebp - 0x299c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc738]
addsd xmm1, xmm0
movsd qword [ebp - 0xc738], xmm1
jmp 0x4a1408
xor eax, eax
je 0x4a1404
jmp 0x4a14c0
jmp 0x4a142b
cvtsi2sd xmm0, dword [ebp - 0x299c]
movsd xmm1, qword [ebp - 0xc738]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29a0], eax
jmp 0x4a14ca
xor eax, eax
inc eax
je 0x4a1436
jmp 0x4a1445
jmp 0x4a1298
jmp 0x4a1298
xor eax, eax
inc eax
je 0x4a14c0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x29a4], eax
cvtsi2sd xmm0, dword [ebp - 0x29a4]
mov eax, dword [ebp - 0x29a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc738]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29a0], eax
jmp 0x4a14ca
mov dword [ebp - 0x29a0], 7
mov eax, dword [ebp - 0x2998]
shl eax, 2
add eax, dword [ebp - 0x2994]
mov eax, dword [eax]
xor eax, dword [ebp - 0x29a0]
mov ecx, dword [ebp - 0x2998]
shl ecx, 2
add ecx, dword [ebp - 0x2994]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1fd8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a17f4
xor eax, eax
je 0x4a1574
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a15b0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc750], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1747
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1747
and dword [ebp - 0x29a8], 0
jmp 0x4a162a
cmp dword [ebp - 0x29a8], 0xa
jae 0x4a1742
cvtsi2sd xmm0, dword [ebp - 0x29a8]
movsd xmm1, qword [ebp - 0xc750]
addsd xmm1, xmm0
movsd qword [ebp - 0xc758], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1699
mov eax, dword [ebp - 0x29a8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc750]
addsd xmm1, xmm0
movsd qword [ebp - 0xc750], xmm1
jmp 0x4a159a
cvtsi2sd xmm0, dword [ebp - 0x29a8]
movsd xmm1, qword [ebp - 0xc750]
addsd xmm1, xmm0
movsd qword [ebp - 0xc760], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc760]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a16f6
mov eax, dword [ebp - 0x29a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc750]
addsd xmm1, xmm0
movsd qword [ebp - 0xc750], xmm1
jmp 0x4a170a
xor eax, eax
je 0x4a1706
jmp 0x4a17c2
jmp 0x4a172d
cvtsi2sd xmm0, dword [ebp - 0x29a8]
movsd xmm1, qword [ebp - 0xc750]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29ac], eax
jmp 0x4a17cc
xor eax, eax
inc eax
je 0x4a1738
jmp 0x4a1747
jmp 0x4a159a
jmp 0x4a159a
xor eax, eax
inc eax
je 0x4a17c2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x29b0], eax
cvtsi2sd xmm0, dword [ebp - 0x29b0]
mov eax, dword [ebp - 0x29b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc750]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29ac], eax
jmp 0x4a17cc
mov dword [ebp - 0x29ac], 7
mov eax, dword [ebp - 0x2998]
shl eax, 2
add eax, dword [ebp - 0x2994]
mov eax, dword [eax]
xor eax, dword [ebp - 0x29ac]
mov ecx, dword [ebp - 0x2998]
shl ecx, 2
add ecx, dword [ebp - 0x2994]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1ab1
xor eax, eax
je 0x4a1831
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a186d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc768], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1a04
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1a04
and dword [ebp - 0x29b4], 0
jmp 0x4a18e7
cmp dword [ebp - 0x29b4], 0xa
jae 0x4a19ff
cvtsi2sd xmm0, dword [ebp - 0x29b4]
movsd xmm1, qword [ebp - 0xc768]
addsd xmm1, xmm0
movsd qword [ebp - 0xc770], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc770]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1956
mov eax, dword [ebp - 0x29b4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc768]
addsd xmm1, xmm0
movsd qword [ebp - 0xc768], xmm1
jmp 0x4a1857
cvtsi2sd xmm0, dword [ebp - 0x29b4]
movsd xmm1, qword [ebp - 0xc768]
addsd xmm1, xmm0
movsd qword [ebp - 0xc778], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a19b3
mov eax, dword [ebp - 0x29b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc768]
addsd xmm1, xmm0
movsd qword [ebp - 0xc768], xmm1
jmp 0x4a19c7
xor eax, eax
je 0x4a19c3
jmp 0x4a1a7f
jmp 0x4a19ea
cvtsi2sd xmm0, dword [ebp - 0x29b4]
movsd xmm1, qword [ebp - 0xc768]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29b8], eax
jmp 0x4a1a89
xor eax, eax
inc eax
je 0x4a19f5
jmp 0x4a1a04
jmp 0x4a1857
jmp 0x4a1857
xor eax, eax
inc eax
je 0x4a1a7f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x29bc], eax
cvtsi2sd xmm0, dword [ebp - 0x29bc]
mov eax, dword [ebp - 0x29bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc768]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29b8], eax
jmp 0x4a1a89
mov dword [ebp - 0x29b8], 7
mov eax, dword [ebp - 0x2998]
shl eax, 2
add eax, dword [ebp - 0x2994]
mov eax, dword [eax]
xor eax, dword [ebp - 0x29b8]
mov ecx, dword [ebp - 0x2998]
shl ecx, 2
add ecx, dword [ebp - 0x2994]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2998]
add eax, 0xffffffcc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc780], xmm0
xor eax, eax
je 0x4a1acb
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a1b07
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc780]
movsd qword [ebp - 0xc788], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1c9e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1c9e
and dword [ebp - 0x29c0], 0
jmp 0x4a1b81
cmp dword [ebp - 0x29c0], 0xa
jae 0x4a1c99
cvtsi2sd xmm0, dword [ebp - 0x29c0]
movsd xmm1, qword [ebp - 0xc788]
addsd xmm1, xmm0
movsd qword [ebp - 0xc790], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc790]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1bf0
mov eax, dword [ebp - 0x29c0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc788]
addsd xmm1, xmm0
movsd qword [ebp - 0xc788], xmm1
jmp 0x4a1af1
cvtsi2sd xmm0, dword [ebp - 0x29c0]
movsd xmm1, qword [ebp - 0xc788]
addsd xmm1, xmm0
movsd qword [ebp - 0xc798], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1c4d
mov eax, dword [ebp - 0x29c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc788]
addsd xmm1, xmm0
movsd qword [ebp - 0xc788], xmm1
jmp 0x4a1c61
xor eax, eax
je 0x4a1c5d
jmp 0x4a1d19
jmp 0x4a1c84
cvtsi2sd xmm0, dword [ebp - 0x29c0]
movsd xmm1, qword [ebp - 0xc788]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29c4], eax
jmp 0x4a1d23
xor eax, eax
inc eax
je 0x4a1c8f
jmp 0x4a1c9e
jmp 0x4a1af1
jmp 0x4a1af1
xor eax, eax
inc eax
je 0x4a1d19
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x29c8], eax
cvtsi2sd xmm0, dword [ebp - 0x29c8]
mov eax, dword [ebp - 0x29c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc788]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29c4], eax
jmp 0x4a1d23
mov dword [ebp - 0x29c4], 7
mov eax, dword [ebp - 0x2998]
add eax, 0xffffffcc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc7a0], xmm0
xor eax, eax
je 0x4a1d3d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a1d79
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc7a0]
movsd qword [ebp - 0xc7a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a1f10
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a1f10
and dword [ebp - 0x29cc], 0
jmp 0x4a1df3
cmp dword [ebp - 0x29cc], 0xa
jae 0x4a1f0b
cvtsi2sd xmm0, dword [ebp - 0x29cc]
movsd xmm1, qword [ebp - 0xc7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1e62
mov eax, dword [ebp - 0x29cc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7a8], xmm1
jmp 0x4a1d63
cvtsi2sd xmm0, dword [ebp - 0x29cc]
movsd xmm1, qword [ebp - 0xc7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1ebf
mov eax, dword [ebp - 0x29cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7a8], xmm1
jmp 0x4a1ed3
xor eax, eax
je 0x4a1ecf
jmp 0x4a1f8b
jmp 0x4a1ef6
cvtsi2sd xmm0, dword [ebp - 0x29cc]
movsd xmm1, qword [ebp - 0xc7a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29d0], eax
jmp 0x4a1f95
xor eax, eax
inc eax
je 0x4a1f01
jmp 0x4a1f10
jmp 0x4a1d63
jmp 0x4a1d63
xor eax, eax
inc eax
je 0x4a1f8b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x29d4], eax
cvtsi2sd xmm0, dword [ebp - 0x29d4]
mov eax, dword [ebp - 0x29d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc7a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29d0], eax
jmp 0x4a1f95
mov dword [ebp - 0x29d0], 7
mov eax, dword [ebp - 0x2998]
shl eax, 2
add eax, dword [ebp - 0x2994]
mov eax, dword [eax]
add eax, dword [ebp - 0x29c4]
mov ecx, dword [ebp - 0x2998]
shl ecx, 2
add ecx, dword [ebp - 0x2994]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x29d0]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2998]
shl ecx, 2
add ecx, dword [ebp - 0x2994]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a2295
xor eax, eax
je 0x4a2015
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a2051
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xc7c0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a21e8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a21e8
and dword [ebp - 0x29d8], 0
jmp 0x4a20cb
cmp dword [ebp - 0x29d8], 0xa
jae 0x4a21e3
cvtsi2sd xmm0, dword [ebp - 0x29d8]
movsd xmm1, qword [ebp - 0xc7c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7c8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a213a
mov eax, dword [ebp - 0x29d8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7c0], xmm1
jmp 0x4a203b
cvtsi2sd xmm0, dword [ebp - 0x29d8]
movsd xmm1, qword [ebp - 0xc7c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7d0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2197
mov eax, dword [ebp - 0x29d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7c0], xmm1
jmp 0x4a21ab
xor eax, eax
je 0x4a21a7
jmp 0x4a2263
jmp 0x4a21ce
cvtsi2sd xmm0, dword [ebp - 0x29d8]
movsd xmm1, qword [ebp - 0xc7c0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29dc], eax
jmp 0x4a226d
xor eax, eax
inc eax
je 0x4a21d9
jmp 0x4a21e8
jmp 0x4a203b
jmp 0x4a203b
xor eax, eax
inc eax
je 0x4a2263
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x29e0], eax
cvtsi2sd xmm0, dword [ebp - 0x29e0]
mov eax, dword [ebp - 0x29e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc7c0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29dc], eax
jmp 0x4a226d
mov dword [ebp - 0x29dc], 7
mov eax, dword [ebp - 0x2998]
shl eax, 2
add eax, dword [ebp - 0x2994]
mov eax, dword [eax]
xor eax, dword [ebp - 0x29dc]
mov ecx, dword [ebp - 0x2998]
shl ecx, 2
add ecx, dword [ebp - 0x2994]
mov dword [ecx], eax
jmp 0x4a121b
mov eax, dword [ebp - 0x2990]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2990]
mov dword [ebp - 0x29e4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x29e4]
mov eax, dword [eax]
mov dword [ebp - 0x29e8], eax
xor eax, eax
mov byte [ebp - 0x77], al
lea ecx, [ebp - 0x77]
call fcn.0041851e
mov dword [ebp - 0x29ec], eax
mov eax, dword [ebp - 0x29ec]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a337d
mov eax, dword [ebp - 0x29ec]
mov dword [ebp - 0x29f0], eax
and dword [ebp - 0x29f4], 0
jmp 0x4a230b
mov eax, dword [ebp - 0x29f4]
inc eax
mov dword [ebp - 0x29f4], eax
cmp dword [ebp - 0x29f4], 1
jae 0x4a337d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a25d5
xor eax, eax
je 0x4a2355
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a2391
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd8]
movsd qword [ebp - 0xc7d8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a2528
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a2528
and dword [ebp - 0x29f8], 0
jmp 0x4a240b
cmp dword [ebp - 0x29f8], 0xa
jae 0x4a2523
cvtsi2sd xmm0, dword [ebp - 0x29f8]
movsd xmm1, qword [ebp - 0xc7d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7e0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a247a
mov eax, dword [ebp - 0x29f8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7d8], xmm1
jmp 0x4a237b
cvtsi2sd xmm0, dword [ebp - 0x29f8]
movsd xmm1, qword [ebp - 0xc7d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7e8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a24d7
mov eax, dword [ebp - 0x29f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7d8], xmm1
jmp 0x4a24eb
xor eax, eax
je 0x4a24e7
jmp 0x4a25a3
jmp 0x4a250e
cvtsi2sd xmm0, dword [ebp - 0x29f8]
movsd xmm1, qword [ebp - 0xc7d8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29fc], eax
jmp 0x4a25ad
xor eax, eax
inc eax
je 0x4a2519
jmp 0x4a2528
jmp 0x4a237b
jmp 0x4a237b
xor eax, eax
inc eax
je 0x4a25a3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a00], eax
cvtsi2sd xmm0, dword [ebp - 0x2a00]
mov eax, dword [ebp - 0x2a00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc7d8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x29fc], eax
jmp 0x4a25ad
mov dword [ebp - 0x29fc], 7
mov eax, dword [ebp - 0x29f4]
shl eax, 2
add eax, dword [ebp - 0x29f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x29fc]
mov ecx, dword [ebp - 0x29f4]
shl ecx, 2
add ecx, dword [ebp - 0x29f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a30bb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a28d7
xor eax, eax
je 0x4a2657
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a2693
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc7f0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a282a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a282a
and dword [ebp - 0x2a04], 0
jmp 0x4a270d
cmp dword [ebp - 0x2a04], 0xa
jae 0x4a2825
cvtsi2sd xmm0, dword [ebp - 0x2a04]
movsd xmm1, qword [ebp - 0xc7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7f8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a277c
mov eax, dword [ebp - 0x2a04]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7f0], xmm1
jmp 0x4a267d
cvtsi2sd xmm0, dword [ebp - 0x2a04]
movsd xmm1, qword [ebp - 0xc7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc800], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc800]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a27d9
mov eax, dword [ebp - 0x2a04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7f0], xmm1
jmp 0x4a27ed
xor eax, eax
je 0x4a27e9
jmp 0x4a28a5
jmp 0x4a2810
cvtsi2sd xmm0, dword [ebp - 0x2a04]
movsd xmm1, qword [ebp - 0xc7f0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a08], eax
jmp 0x4a28af
xor eax, eax
inc eax
je 0x4a281b
jmp 0x4a282a
jmp 0x4a267d
jmp 0x4a267d
xor eax, eax
inc eax
je 0x4a28a5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a0c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a0c]
mov eax, dword [ebp - 0x2a0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc7f0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a08], eax
jmp 0x4a28af
mov dword [ebp - 0x2a08], 7
mov eax, dword [ebp - 0x29f4]
shl eax, 2
add eax, dword [ebp - 0x29f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a08]
mov ecx, dword [ebp - 0x29f4]
shl ecx, 2
add ecx, dword [ebp - 0x29f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a2b94
xor eax, eax
je 0x4a2914
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a2950
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc808], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a2ae7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a2ae7
and dword [ebp - 0x2a10], 0
jmp 0x4a29ca
cmp dword [ebp - 0x2a10], 0xa
jae 0x4a2ae2
cvtsi2sd xmm0, dword [ebp - 0x2a10]
movsd xmm1, qword [ebp - 0xc808]
addsd xmm1, xmm0
movsd qword [ebp - 0xc810], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc810]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2a39
mov eax, dword [ebp - 0x2a10]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc808]
addsd xmm1, xmm0
movsd qword [ebp - 0xc808], xmm1
jmp 0x4a293a
cvtsi2sd xmm0, dword [ebp - 0x2a10]
movsd xmm1, qword [ebp - 0xc808]
addsd xmm1, xmm0
movsd qword [ebp - 0xc818], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2a96
mov eax, dword [ebp - 0x2a10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc808]
addsd xmm1, xmm0
movsd qword [ebp - 0xc808], xmm1
jmp 0x4a2aaa
xor eax, eax
je 0x4a2aa6
jmp 0x4a2b62
jmp 0x4a2acd
cvtsi2sd xmm0, dword [ebp - 0x2a10]
movsd xmm1, qword [ebp - 0xc808]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a14], eax
jmp 0x4a2b6c
xor eax, eax
inc eax
je 0x4a2ad8
jmp 0x4a2ae7
jmp 0x4a293a
jmp 0x4a293a
xor eax, eax
inc eax
je 0x4a2b62
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a18], eax
cvtsi2sd xmm0, dword [ebp - 0x2a18]
mov eax, dword [ebp - 0x2a18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc808]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a14], eax
jmp 0x4a2b6c
mov dword [ebp - 0x2a14], 7
mov eax, dword [ebp - 0x29f4]
shl eax, 2
add eax, dword [ebp - 0x29f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a14]
mov ecx, dword [ebp - 0x29f4]
shl ecx, 2
add ecx, dword [ebp - 0x29f0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x29f4]
add eax, 0xffffffcc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc820], xmm0
xor eax, eax
je 0x4a2bae
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a2bea
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc820]
movsd qword [ebp - 0xc828], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a2d81
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a2d81
and dword [ebp - 0x2a1c], 0
jmp 0x4a2c64
cmp dword [ebp - 0x2a1c], 0xa
jae 0x4a2d7c
cvtsi2sd xmm0, dword [ebp - 0x2a1c]
movsd xmm1, qword [ebp - 0xc828]
addsd xmm1, xmm0
movsd qword [ebp - 0xc830], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc830]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2cd3
mov eax, dword [ebp - 0x2a1c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc828]
addsd xmm1, xmm0
movsd qword [ebp - 0xc828], xmm1
jmp 0x4a2bd4
cvtsi2sd xmm0, dword [ebp - 0x2a1c]
movsd xmm1, qword [ebp - 0xc828]
addsd xmm1, xmm0
movsd qword [ebp - 0xc838], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2d30
mov eax, dword [ebp - 0x2a1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc828]
addsd xmm1, xmm0
movsd qword [ebp - 0xc828], xmm1
jmp 0x4a2d44
xor eax, eax
je 0x4a2d40
jmp 0x4a2dfc
jmp 0x4a2d67
cvtsi2sd xmm0, dword [ebp - 0x2a1c]
movsd xmm1, qword [ebp - 0xc828]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a20], eax
jmp 0x4a2e06
xor eax, eax
inc eax
je 0x4a2d72
jmp 0x4a2d81
jmp 0x4a2bd4
jmp 0x4a2bd4
xor eax, eax
inc eax
je 0x4a2dfc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a24], eax
cvtsi2sd xmm0, dword [ebp - 0x2a24]
mov eax, dword [ebp - 0x2a24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc828]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a20], eax
jmp 0x4a2e06
mov dword [ebp - 0x2a20], 7
mov eax, dword [ebp - 0x29f4]
add eax, 0xffffffcc
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc840], xmm0
xor eax, eax
je 0x4a2e20
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a2e5c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc840]
movsd qword [ebp - 0xc848], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a2ff3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a2ff3
and dword [ebp - 0x2a28], 0
jmp 0x4a2ed6
cmp dword [ebp - 0x2a28], 0xa
jae 0x4a2fee
cvtsi2sd xmm0, dword [ebp - 0x2a28]
movsd xmm1, qword [ebp - 0xc848]
addsd xmm1, xmm0
movsd qword [ebp - 0xc850], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc850]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2f45
mov eax, dword [ebp - 0x2a28]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc848]
addsd xmm1, xmm0
movsd qword [ebp - 0xc848], xmm1
jmp 0x4a2e46
cvtsi2sd xmm0, dword [ebp - 0x2a28]
movsd xmm1, qword [ebp - 0xc848]
addsd xmm1, xmm0
movsd qword [ebp - 0xc858], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2fa2
mov eax, dword [ebp - 0x2a28]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc848]
addsd xmm1, xmm0
movsd qword [ebp - 0xc848], xmm1
jmp 0x4a2fb6
xor eax, eax
je 0x4a2fb2
jmp 0x4a306e
jmp 0x4a2fd9
cvtsi2sd xmm0, dword [ebp - 0x2a28]
movsd xmm1, qword [ebp - 0xc848]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a2c], eax
jmp 0x4a3078
xor eax, eax
inc eax
je 0x4a2fe4
jmp 0x4a2e46
xor eax, eax
inc eax
je 0x4a306e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a30], eax
cvtsi2sd xmm0, dword [ebp - 0x2a30]
mov eax, dword [ebp - 0x2a30]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc848]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a2c], eax
jmp 0x4a3078
mov dword [ebp - 0x2a2c], 7
mov eax, dword [ebp - 0x29f4]
shl eax, 2
add eax, dword [ebp - 0x29f0]
mov eax, dword [eax]
add eax, dword [ebp - 0x2a20]
mov ecx, dword [ebp - 0x29f4]
shl ecx, 2
add ecx, dword [ebp - 0x29f0]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2a2c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x29f4]
shl ecx, 2
add ecx, dword [ebp - 0x29f0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a3378
xor eax, eax
je 0x4a30f8
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a3134
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xc860], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a32cb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a32cb
and dword [ebp - 0x2a34], 0
jmp 0x4a31ae
cmp dword [ebp - 0x2a34], 0xa
jae 0x4a32c6
cvtsi2sd xmm0, dword [ebp - 0x2a34]
movsd xmm1, qword [ebp - 0xc860]
addsd xmm1, xmm0
movsd qword [ebp - 0xc868], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc868]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a321d
mov eax, dword [ebp - 0x2a34]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc860]
addsd xmm1, xmm0
movsd qword [ebp - 0xc860], xmm1
jmp 0x4a311e
cvtsi2sd xmm0, dword [ebp - 0x2a34]
movsd xmm1, qword [ebp - 0xc860]
addsd xmm1, xmm0
movsd qword [ebp - 0xc870], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc870]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a327a
mov eax, dword [ebp - 0x2a34]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc860]
addsd xmm1, xmm0
movsd qword [ebp - 0xc860], xmm1
jmp 0x4a328e
xor eax, eax
je 0x4a328a
jmp 0x4a3346
jmp 0x4a32b1
cvtsi2sd xmm0, dword [ebp - 0x2a34]
movsd xmm1, qword [ebp - 0xc860]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a38], eax
jmp 0x4a3350
xor eax, eax
inc eax
je 0x4a32bc
jmp 0x4a32cb
jmp 0x4a311e
jmp 0x4a311e
xor eax, eax
inc eax
je 0x4a3346
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a3c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a3c]
mov eax, dword [ebp - 0x2a3c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc860]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a38], eax
jmp 0x4a3350
mov dword [ebp - 0x2a38], 7
mov eax, dword [ebp - 0x29f4]
shl eax, 2
add eax, dword [ebp - 0x29f0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a38]
mov ecx, dword [ebp - 0x29f4]
shl ecx, 2
add ecx, dword [ebp - 0x29f0]
mov dword [ecx], eax
jmp 0x4a22fe
mov eax, dword [ebp - 0x29ec]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x29ec]
mov dword [ebp - 0x2a40], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2a40]
mov eax, dword [eax]
mov dword [ebp - 0x2a44], eax
mov eax, dword [ebp - 0x29e8]
mov dword [ebp - 0x298c], eax
cmp dword [ebp - 0x298c], 0
je 0x4a44a3
xor eax, eax
mov byte [ebp - 0x78], al
lea ecx, [ebp - 0x78]
call fcn.00416504
mov dword [ebp - 0x2a48], eax
mov eax, dword [ebp - 0x2a48]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a4479
mov eax, dword [ebp - 0x2a48]
mov dword [ebp - 0x2a4c], eax
and dword [ebp - 0x2a50], 0
jmp 0x4a3407
mov eax, dword [ebp - 0x2a50]
inc eax
mov dword [ebp - 0x2a50], eax
cmp dword [ebp - 0x2a50], 1
jae 0x4a4479
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a36d1
xor eax, eax
je 0x4a3451
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a348d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc878], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a3624
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a3624
and dword [ebp - 0x2a54], 0
jmp 0x4a3507
cmp dword [ebp - 0x2a54], 0xa
jae 0x4a361f
cvtsi2sd xmm0, dword [ebp - 0x2a54]
movsd xmm1, qword [ebp - 0xc878]
addsd xmm1, xmm0
movsd qword [ebp - 0xc880], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc880]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3576
mov eax, dword [ebp - 0x2a54]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc878]
addsd xmm1, xmm0
movsd qword [ebp - 0xc878], xmm1
jmp 0x4a3477
cvtsi2sd xmm0, dword [ebp - 0x2a54]
movsd xmm1, qword [ebp - 0xc878]
addsd xmm1, xmm0
movsd qword [ebp - 0xc888], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc888]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a35d3
mov eax, dword [ebp - 0x2a54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc878]
addsd xmm1, xmm0
movsd qword [ebp - 0xc878], xmm1
jmp 0x4a35e7
xor eax, eax
je 0x4a35e3
jmp 0x4a369f
jmp 0x4a360a
cvtsi2sd xmm0, dword [ebp - 0x2a54]
movsd xmm1, qword [ebp - 0xc878]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a58], eax
jmp 0x4a36a9
xor eax, eax
inc eax
je 0x4a3615
jmp 0x4a3624
jmp 0x4a3477
jmp 0x4a3477
xor eax, eax
inc eax
je 0x4a369f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a5c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a5c]
mov eax, dword [ebp - 0x2a5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc878]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a58], eax
jmp 0x4a36a9
mov dword [ebp - 0x2a58], 7
mov eax, dword [ebp - 0x2a50]
shl eax, 2
add eax, dword [ebp - 0x2a4c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a58]
mov ecx, dword [ebp - 0x2a50]
shl ecx, 2
add ecx, dword [ebp - 0x2a4c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a41b7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a39d3
xor eax, eax
je 0x4a3753
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a378f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc890], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a3926
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a3926
and dword [ebp - 0x2a60], 0
jmp 0x4a3809
cmp dword [ebp - 0x2a60], 0xa
jae 0x4a3921
cvtsi2sd xmm0, dword [ebp - 0x2a60]
movsd xmm1, qword [ebp - 0xc890]
addsd xmm1, xmm0
movsd qword [ebp - 0xc898], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3878
mov eax, dword [ebp - 0x2a60]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc890]
addsd xmm1, xmm0
movsd qword [ebp - 0xc890], xmm1
jmp 0x4a3779
cvtsi2sd xmm0, dword [ebp - 0x2a60]
movsd xmm1, qword [ebp - 0xc890]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8a0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a38d5
mov eax, dword [ebp - 0x2a60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc890]
addsd xmm1, xmm0
movsd qword [ebp - 0xc890], xmm1
jmp 0x4a38e9
xor eax, eax
je 0x4a38e5
jmp 0x4a39a1
jmp 0x4a390c
cvtsi2sd xmm0, dword [ebp - 0x2a60]
movsd xmm1, qword [ebp - 0xc890]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a64], eax
jmp 0x4a39ab
xor eax, eax
inc eax
je 0x4a3917
jmp 0x4a3926
jmp 0x4a3779
jmp 0x4a3779
xor eax, eax
inc eax
je 0x4a39a1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a68], eax
cvtsi2sd xmm0, dword [ebp - 0x2a68]
mov eax, dword [ebp - 0x2a68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc890]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a64], eax
jmp 0x4a39ab
mov dword [ebp - 0x2a64], 7
mov eax, dword [ebp - 0x2a50]
shl eax, 2
add eax, dword [ebp - 0x2a4c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a64]
mov ecx, dword [ebp - 0x2a50]
shl ecx, 2
add ecx, dword [ebp - 0x2a4c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a3c90
xor eax, eax
je 0x4a3a10
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a3a4c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xc8a8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a3be3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a3be3
and dword [ebp - 0x2a6c], 0
jmp 0x4a3ac6
cmp dword [ebp - 0x2a6c], 0xa
jae 0x4a3bde
cvtsi2sd xmm0, dword [ebp - 0x2a6c]
movsd xmm1, qword [ebp - 0xc8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8b0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3b35
mov eax, dword [ebp - 0x2a6c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8a8], xmm1
jmp 0x4a3a36
cvtsi2sd xmm0, dword [ebp - 0x2a6c]
movsd xmm1, qword [ebp - 0xc8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8b8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3b92
mov eax, dword [ebp - 0x2a6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8a8], xmm1
jmp 0x4a3ba6
xor eax, eax
je 0x4a3ba2
jmp 0x4a3c5e
jmp 0x4a3bc9
cvtsi2sd xmm0, dword [ebp - 0x2a6c]
movsd xmm1, qword [ebp - 0xc8a8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a70], eax
jmp 0x4a3c68
xor eax, eax
inc eax
je 0x4a3bd4
jmp 0x4a3be3
jmp 0x4a3a36
jmp 0x4a3a36
xor eax, eax
inc eax
je 0x4a3c5e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a74], eax
cvtsi2sd xmm0, dword [ebp - 0x2a74]
mov eax, dword [ebp - 0x2a74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc8a8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a70], eax
jmp 0x4a3c68
mov dword [ebp - 0x2a70], 7
mov eax, dword [ebp - 0x2a50]
shl eax, 2
add eax, dword [ebp - 0x2a4c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a70]
mov ecx, dword [ebp - 0x2a50]
shl ecx, 2
add ecx, dword [ebp - 0x2a4c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2a50]
add eax, 0xffffffcd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc8c0], xmm0
xor eax, eax
je 0x4a3caa
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a3ce6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc8c0]
movsd qword [ebp - 0xc8c8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a3e7d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a3e7d
and dword [ebp - 0x2a78], 0
jmp 0x4a3d60
cmp dword [ebp - 0x2a78], 0xa
jae 0x4a3e78
cvtsi2sd xmm0, dword [ebp - 0x2a78]
movsd xmm1, qword [ebp - 0xc8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8d0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3dcf
mov eax, dword [ebp - 0x2a78]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8c8], xmm1
jmp 0x4a3cd0
cvtsi2sd xmm0, dword [ebp - 0x2a78]
movsd xmm1, qword [ebp - 0xc8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8d8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3e2c
mov eax, dword [ebp - 0x2a78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8c8], xmm1
jmp 0x4a3e40
xor eax, eax
je 0x4a3e3c
jmp 0x4a3ef8
jmp 0x4a3e63
cvtsi2sd xmm0, dword [ebp - 0x2a78]
movsd xmm1, qword [ebp - 0xc8c8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a7c], eax
jmp 0x4a3f02
xor eax, eax
inc eax
je 0x4a3e6e
jmp 0x4a3e7d
jmp 0x4a3cd0
jmp 0x4a3cd0
xor eax, eax
inc eax
je 0x4a3ef8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a80], eax
cvtsi2sd xmm0, dword [ebp - 0x2a80]
mov eax, dword [ebp - 0x2a80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc8c8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a7c], eax
jmp 0x4a3f02
mov dword [ebp - 0x2a7c], 7
mov eax, dword [ebp - 0x2a50]
add eax, 0xffffffcd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc8e0], xmm0
xor eax, eax
je 0x4a3f1c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a3f58
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc8e0]
movsd qword [ebp - 0xc8e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a40ef
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a40ef
and dword [ebp - 0x2a84], 0
jmp 0x4a3fd2
cmp dword [ebp - 0x2a84], 0xa
jae 0x4a40ea
cvtsi2sd xmm0, dword [ebp - 0x2a84]
movsd xmm1, qword [ebp - 0xc8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4041
mov eax, dword [ebp - 0x2a84]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8e8], xmm1
jmp 0x4a3f42
cvtsi2sd xmm0, dword [ebp - 0x2a84]
movsd xmm1, qword [ebp - 0xc8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a409e
mov eax, dword [ebp - 0x2a84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8e8], xmm1
jmp 0x4a40b2
xor eax, eax
je 0x4a40ae
jmp 0x4a3f42
xor eax, eax
inc eax
je 0x4a416a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a8c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a8c]
mov eax, dword [ebp - 0x2a8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc8e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a88], eax
jmp 0x4a4174
mov dword [ebp - 0x2a88], 7
mov eax, dword [ebp - 0x2a50]
shl eax, 2
add eax, dword [ebp - 0x2a4c]
mov eax, dword [eax]
add eax, dword [ebp - 0x2a7c]
mov ecx, dword [ebp - 0x2a50]
shl ecx, 2
add ecx, dword [ebp - 0x2a4c]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2a88]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2a50]
shl ecx, 2
add ecx, dword [ebp - 0x2a4c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a4474
xor eax, eax
je 0x4a41f4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a4230
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xc900], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a43c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a43c7
and dword [ebp - 0x2a90], 0
jmp 0x4a42aa
cmp dword [ebp - 0x2a90], 0xa
jae 0x4a43c2
cvtsi2sd xmm0, dword [ebp - 0x2a90]
movsd xmm1, qword [ebp - 0xc900]
addsd xmm1, xmm0
movsd qword [ebp - 0xc908], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc908]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4319
mov eax, dword [ebp - 0x2a90]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc900]
addsd xmm1, xmm0
movsd qword [ebp - 0xc900], xmm1
jmp 0x4a421a
cvtsi2sd xmm0, dword [ebp - 0x2a90]
movsd xmm1, qword [ebp - 0xc900]
addsd xmm1, xmm0
movsd qword [ebp - 0xc910], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc910]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4376
mov eax, dword [ebp - 0x2a90]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc900]
addsd xmm1, xmm0
movsd qword [ebp - 0xc900], xmm1
jmp 0x4a438a
xor eax, eax
je 0x4a4386
jmp 0x4a4442
jmp 0x4a43ad
cvtsi2sd xmm0, dword [ebp - 0x2a90]
movsd xmm1, qword [ebp - 0xc900]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a94], eax
jmp 0x4a444c
xor eax, eax
inc eax
je 0x4a43b8
jmp 0x4a43c7
jmp 0x4a421a
jmp 0x4a421a
xor eax, eax
inc eax
je 0x4a4442
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2a98], eax
cvtsi2sd xmm0, dword [ebp - 0x2a98]
mov eax, dword [ebp - 0x2a98]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc900]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2a94], eax
jmp 0x4a444c
mov dword [ebp - 0x2a94], 7
mov eax, dword [ebp - 0x2a50]
shl eax, 2
add eax, dword [ebp - 0x2a4c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2a94]
mov ecx, dword [ebp - 0x2a50]
shl ecx, 2
add ecx, dword [ebp - 0x2a4c]
mov dword [ecx], eax
jmp 0x4a33fa
mov eax, dword [ebp - 0x2a48]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2a48]
mov dword [ebp - 0x2a9c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2a9c]
mov eax, dword [eax]
mov dword [ebp - 0x2a44], eax
and dword [ebp - 0x2aa0], 0
jmp 0x4a44b9
mov eax, dword [ebp - 0x2aa0]
inc eax
mov dword [ebp - 0x2aa0], eax
cmp dword [ebp - 0x2aa0], 0x13
jge 0x4a44d7
lea eax, [ebp - 0x160a0]
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 0
mov byte [eax + ecx], 0
jmp 0x4a44ac
xor eax, eax
mov byte [ebp - 0x79], al
lea ecx, [ebp - 0x79]
call fcn.004156cc
mov dword [ebp - 0x2aa4], eax
mov eax, dword [ebp - 0x2aa4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a5590
mov eax, dword [ebp - 0x2aa4]
mov dword [ebp - 0x2aa8], eax
and dword [ebp - 0x2aac], 0
jmp 0x4a451e
mov eax, dword [ebp - 0x2aac]
inc eax
mov dword [ebp - 0x2aac], eax
cmp dword [ebp - 0x2aac], 1
jae 0x4a5590
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a47e8
xor eax, eax
je 0x4a4568
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a45a4
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc918], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a473b
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a473b
and dword [ebp - 0x2ab0], 0
jmp 0x4a461e
cmp dword [ebp - 0x2ab0], 0xa
jae 0x4a4736
cvtsi2sd xmm0, dword [ebp - 0x2ab0]
movsd xmm1, qword [ebp - 0xc918]
addsd xmm1, xmm0
movsd qword [ebp - 0xc920], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc920]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a468d
mov eax, dword [ebp - 0x2ab0]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc918]
addsd xmm1, xmm0
movsd qword [ebp - 0xc918], xmm1
jmp 0x4a458e
cvtsi2sd xmm0, dword [ebp - 0x2ab0]
movsd xmm1, qword [ebp - 0xc918]
addsd xmm1, xmm0
movsd qword [ebp - 0xc928], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc928]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a46ea
mov eax, dword [ebp - 0x2ab0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc918]
addsd xmm1, xmm0
movsd qword [ebp - 0xc918], xmm1
jmp 0x4a46fe
xor eax, eax
je 0x4a46fa
jmp 0x4a47b6
jmp 0x4a4721
cvtsi2sd xmm0, dword [ebp - 0x2ab0]
movsd xmm1, qword [ebp - 0xc918]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ab4], eax
jmp 0x4a47c0
xor eax, eax
inc eax
je 0x4a472c
jmp 0x4a473b
jmp 0x4a458e
jmp 0x4a458e
xor eax, eax
inc eax
je 0x4a47b6
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ab8], eax
cvtsi2sd xmm0, dword [ebp - 0x2ab8]
mov eax, dword [ebp - 0x2ab8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc918]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ab4], eax
jmp 0x4a47c0
mov dword [ebp - 0x2ab4], 7
mov eax, dword [ebp - 0x2aac]
shl eax, 2
add eax, dword [ebp - 0x2aa8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2ab4]
mov ecx, dword [ebp - 0x2aac]
shl ecx, 2
add ecx, dword [ebp - 0x2aa8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a52ce
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a4aea
xor eax, eax
je 0x4a486a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a48a6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc930], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a4a3d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a4a3d
and dword [ebp - 0x2abc], 0
jmp 0x4a4920
cmp dword [ebp - 0x2abc], 0xa
jae 0x4a4a38
cvtsi2sd xmm0, dword [ebp - 0x2abc]
movsd xmm1, qword [ebp - 0xc930]
addsd xmm1, xmm0
movsd qword [ebp - 0xc938], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a498f
mov eax, dword [ebp - 0x2abc]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc930]
addsd xmm1, xmm0
movsd qword [ebp - 0xc930], xmm1
jmp 0x4a4890
cvtsi2sd xmm0, dword [ebp - 0x2abc]
movsd xmm1, qword [ebp - 0xc930]
addsd xmm1, xmm0
movsd qword [ebp - 0xc940], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc940]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a49ec
mov eax, dword [ebp - 0x2abc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc930]
addsd xmm1, xmm0
movsd qword [ebp - 0xc930], xmm1
jmp 0x4a4a00
xor eax, eax
je 0x4a49fc
jmp 0x4a4ab8
jmp 0x4a4a23
cvtsi2sd xmm0, dword [ebp - 0x2abc]
movsd xmm1, qword [ebp - 0xc930]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ac0], eax
jmp 0x4a4ac2
xor eax, eax
inc eax
je 0x4a4a2e
jmp 0x4a4890
xor eax, eax
inc eax
je 0x4a4ab8
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ac4], eax
cvtsi2sd xmm0, dword [ebp - 0x2ac4]
mov eax, dword [ebp - 0x2ac4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc930]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ac0], eax
jmp 0x4a4ac2
mov dword [ebp - 0x2ac0], 7
mov eax, dword [ebp - 0x2aac]
shl eax, 2
add eax, dword [ebp - 0x2aa8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2ac0]
mov ecx, dword [ebp - 0x2aac]
shl ecx, 2
add ecx, dword [ebp - 0x2aa8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a4da7
xor eax, eax
je 0x4a4b27
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a4b63
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xc948], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a4cfa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a4cfa
and dword [ebp - 0x2ac8], 0
jmp 0x4a4bdd
cmp dword [ebp - 0x2ac8], 0xa
jae 0x4a4cf5
cvtsi2sd xmm0, dword [ebp - 0x2ac8]
movsd xmm1, qword [ebp - 0xc948]
addsd xmm1, xmm0
movsd qword [ebp - 0xc950], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc950]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4c4c
mov eax, dword [ebp - 0x2ac8]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc948]
addsd xmm1, xmm0
movsd qword [ebp - 0xc948], xmm1
jmp 0x4a4b4d
cvtsi2sd xmm0, dword [ebp - 0x2ac8]
movsd xmm1, qword [ebp - 0xc948]
addsd xmm1, xmm0
movsd qword [ebp - 0xc958], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4ca9
mov eax, dword [ebp - 0x2ac8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc948]
addsd xmm1, xmm0
movsd qword [ebp - 0xc948], xmm1
jmp 0x4a4cbd
xor eax, eax
je 0x4a4cb9
jmp 0x4a4d75
jmp 0x4a4ce0
cvtsi2sd xmm0, dword [ebp - 0x2ac8]
movsd xmm1, qword [ebp - 0xc948]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2acc], eax
jmp 0x4a4d7f
jmp 0x4a4b4d
xor eax, eax
inc eax
je 0x4a4d75
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ad0], eax
cvtsi2sd xmm0, dword [ebp - 0x2ad0]
mov eax, dword [ebp - 0x2ad0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc948]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2acc], eax
jmp 0x4a4d7f
mov dword [ebp - 0x2acc], 7
mov eax, dword [ebp - 0x2aac]
shl eax, 2
add eax, dword [ebp - 0x2aa8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2acc]
mov ecx, dword [ebp - 0x2aac]
shl ecx, 2
add ecx, dword [ebp - 0x2aa8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2aac]
add eax, 0xffffffcd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc960], xmm0
xor eax, eax
je 0x4a4dc1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a4dfd
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc960]
movsd qword [ebp - 0xc968], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a4f94
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a4f94
and dword [ebp - 0x2ad4], 0
jmp 0x4a4e77
cmp dword [ebp - 0x2ad4], 0xa
jae 0x4a4f8f
cvtsi2sd xmm0, dword [ebp - 0x2ad4]
movsd xmm1, qword [ebp - 0xc968]
addsd xmm1, xmm0
movsd qword [ebp - 0xc970], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc970]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4ee6
mov eax, dword [ebp - 0x2ad4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc968]
addsd xmm1, xmm0
movsd qword [ebp - 0xc968], xmm1
jmp 0x4a4de7
cvtsi2sd xmm0, dword [ebp - 0x2ad4]
movsd xmm1, qword [ebp - 0xc968]
addsd xmm1, xmm0
movsd qword [ebp - 0xc978], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4f43
mov eax, dword [ebp - 0x2ad4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc968]
addsd xmm1, xmm0
movsd qword [ebp - 0xc968], xmm1
jmp 0x4a4f57
xor eax, eax
je 0x4a4f53
jmp 0x4a500f
jmp 0x4a4f7a
cvtsi2sd xmm0, dword [ebp - 0x2ad4]
movsd xmm1, qword [ebp - 0xc968]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ad8], eax
jmp 0x4a5019
jmp 0x4a4de7
xor eax, eax
inc eax
je 0x4a500f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2adc], eax
cvtsi2sd xmm0, dword [ebp - 0x2adc]
mov eax, dword [ebp - 0x2adc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc968]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ad8], eax
jmp 0x4a5019
mov dword [ebp - 0x2ad8], 7
mov eax, dword [ebp - 0x2aac]
add eax, 0xffffffcd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xc980], xmm0
xor eax, eax
je 0x4a5033
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a506f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc980]
movsd qword [ebp - 0xc988], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a5206
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a5206
and dword [ebp - 0x2ae0], 0
jmp 0x4a50e9
cmp dword [ebp - 0x2ae0], 0xa
jae 0x4a5201
cvtsi2sd xmm0, dword [ebp - 0x2ae0]
movsd xmm1, qword [ebp - 0xc988]
addsd xmm1, xmm0
movsd qword [ebp - 0xc990], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc990]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5158
jmp 0x4a5059
xor eax, eax
inc eax
je 0x4a5281
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ae8], eax
cvtsi2sd xmm0, dword [ebp - 0x2ae8]
mov eax, dword [ebp - 0x2ae8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc988]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ae4], eax
jmp 0x4a528b
mov dword [ebp - 0x2ae4], 7
mov eax, dword [ebp - 0x2aac]
shl eax, 2
add eax, dword [ebp - 0x2aa8]
mov eax, dword [eax]
add eax, dword [ebp - 0x2ad8]
mov ecx, dword [ebp - 0x2aac]
shl ecx, 2
add ecx, dword [ebp - 0x2aa8]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2ae4]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2aac]
shl ecx, 2
add ecx, dword [ebp - 0x2aa8]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a558b
xor eax, eax
je 0x4a530b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a5347
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xc9a0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a54de
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a54de
and dword [ebp - 0x2aec], 0
jmp 0x4a53c1
cmp dword [ebp - 0x2aec], 0xa
jae 0x4a54d9
cvtsi2sd xmm0, dword [ebp - 0x2aec]
movsd xmm1, qword [ebp - 0xc9a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9a8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5430
mov eax, dword [ebp - 0x2aec]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9a0], xmm1
jmp 0x4a5331
cvtsi2sd xmm0, dword [ebp - 0x2aec]
movsd xmm1, qword [ebp - 0xc9a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9b0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a548d
mov eax, dword [ebp - 0x2aec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9a0], xmm1
jmp 0x4a54a1
xor eax, eax
je 0x4a549d
jmp 0x4a5559
jmp 0x4a54c4
cvtsi2sd xmm0, dword [ebp - 0x2aec]
movsd xmm1, qword [ebp - 0xc9a0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2af0], eax
jmp 0x4a5563
xor eax, eax
inc eax
je 0x4a54cf
jmp 0x4a5331
xor eax, eax
inc eax
je 0x4a5559
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2af4], eax
cvtsi2sd xmm0, dword [ebp - 0x2af4]
mov eax, dword [ebp - 0x2af4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc9a0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2af0], eax
jmp 0x4a5563
mov dword [ebp - 0x2af0], 7
mov eax, dword [ebp - 0x2aac]
shl eax, 2
add eax, dword [ebp - 0x2aa8]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2af0]
mov ecx, dword [ebp - 0x2aac]
shl ecx, 2
add ecx, dword [ebp - 0x2aa8]
mov dword [ecx], eax
jmp 0x4a4511
mov eax, dword [ebp - 0x2aa4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2aa4]
mov dword [ebp - 0x2af8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2af8]
mov eax, dword [eax]
mov dword [ebp - 0x2afc], eax
xor eax, eax
mov byte [ebp - 0x7a], al
lea ecx, [ebp - 0x7a]
call fcn.004160c0
mov dword [ebp - 0x2b00], eax
mov eax, dword [ebp - 0x2b00]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a6673
mov eax, dword [ebp - 0x2b00]
mov dword [ebp - 0x2b04], eax
and dword [ebp - 0x2b08], 0
jmp 0x4a5601
mov eax, dword [ebp - 0x2b08]
inc eax
mov dword [ebp - 0x2b08], eax
cmp dword [ebp - 0x2b08], 1
jae 0x4a6673
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a58cb
xor eax, eax
je 0x4a564b
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a5687
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dd0]
movsd qword [ebp - 0xc9b8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a581e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a581e
and dword [ebp - 0x2b0c], 0
jmp 0x4a5701
cmp dword [ebp - 0x2b0c], 0xa
jae 0x4a5819
cvtsi2sd xmm0, dword [ebp - 0x2b0c]
movsd xmm1, qword [ebp - 0xc9b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9c0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5770
mov eax, dword [ebp - 0x2b0c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9b8], xmm1
jmp 0x4a5671
cvtsi2sd xmm0, dword [ebp - 0x2b0c]
movsd xmm1, qword [ebp - 0xc9b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9c8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a57cd
mov eax, dword [ebp - 0x2b0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9b8], xmm1
jmp 0x4a57e1
xor eax, eax
je 0x4a57dd
jmp 0x4a5899
jmp 0x4a5804
cvtsi2sd xmm0, dword [ebp - 0x2b0c]
movsd xmm1, qword [ebp - 0xc9b8]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b10], eax
jmp 0x4a58a3
xor eax, eax
inc eax
je 0x4a580f
jmp 0x4a581e
jmp 0x4a5671
jmp 0x4a5671
xor eax, eax
inc eax
je 0x4a5899
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b14], eax
cvtsi2sd xmm0, dword [ebp - 0x2b14]
mov eax, dword [ebp - 0x2b14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc9b8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b10], eax
jmp 0x4a58a3
mov dword [ebp - 0x2b10], 7
mov eax, dword [ebp - 0x2b08]
shl eax, 2
add eax, dword [ebp - 0x2b04]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b10]
mov ecx, dword [ebp - 0x2b08]
shl ecx, 2
add ecx, dword [ebp - 0x2b04]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a63b1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a5bcd
xor eax, eax
je 0x4a594d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a5989
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xc9d0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a5b20
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a5b20
and dword [ebp - 0x2b18], 0
jmp 0x4a5a03
cmp dword [ebp - 0x2b18], 0xa
jae 0x4a5b1b
cvtsi2sd xmm0, dword [ebp - 0x2b18]
movsd xmm1, qword [ebp - 0xc9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9d8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5a72
mov eax, dword [ebp - 0x2b18]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9d0], xmm1
jmp 0x4a5973
cvtsi2sd xmm0, dword [ebp - 0x2b18]
movsd xmm1, qword [ebp - 0xc9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9e0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5acf
mov eax, dword [ebp - 0x2b18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9d0], xmm1
jmp 0x4a5ae3
xor eax, eax
je 0x4a5adf
jmp 0x4a5b9b
jmp 0x4a5b06
cvtsi2sd xmm0, dword [ebp - 0x2b18]
movsd xmm1, qword [ebp - 0xc9d0]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b1c], eax
jmp 0x4a5ba5
jmp 0x4a5973
xor eax, eax
inc eax
je 0x4a5b9b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b20], eax
cvtsi2sd xmm0, dword [ebp - 0x2b20]
mov eax, dword [ebp - 0x2b20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc9d0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b1c], eax
jmp 0x4a5ba5
mov dword [ebp - 0x2b1c], 7
mov eax, dword [ebp - 0x2b08]
shl eax, 2
add eax, dword [ebp - 0x2b04]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b1c]
mov ecx, dword [ebp - 0x2b08]
shl ecx, 2
add ecx, dword [ebp - 0x2b04]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a5e8a
xor eax, eax
je 0x4a5c0a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a5c46
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xc9e8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a5ddd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a5ddd
and dword [ebp - 0x2b24], 0
jmp 0x4a5cc0
cmp dword [ebp - 0x2b24], 0xa
jae 0x4a5dd8
cvtsi2sd xmm0, dword [ebp - 0x2b24]
movsd xmm1, qword [ebp - 0xc9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9f0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5d2f
mov eax, dword [ebp - 0x2b24]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9e8], xmm1
jmp 0x4a5c30
cvtsi2sd xmm0, dword [ebp - 0x2b24]
movsd xmm1, qword [ebp - 0xc9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9f8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5d8c
mov eax, dword [ebp - 0x2b24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9e8], xmm1
jmp 0x4a5da0
xor eax, eax
je 0x4a5d9c
jmp 0x4a5c30
xor eax, eax
inc eax
je 0x4a5e58
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b2c], eax
cvtsi2sd xmm0, dword [ebp - 0x2b2c]
mov eax, dword [ebp - 0x2b2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xc9e8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b28], eax
jmp 0x4a5e62
mov dword [ebp - 0x2b28], 7
mov eax, dword [ebp - 0x2b08]
shl eax, 2
add eax, dword [ebp - 0x2b04]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b28]
mov ecx, dword [ebp - 0x2b08]
shl ecx, 2
add ecx, dword [ebp - 0x2b04]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2b08]
add eax, 0xffffffcd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xca00], xmm0
xor eax, eax
je 0x4a5ea4
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a5ee0
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xca00]
movsd qword [ebp - 0xca08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a6077
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a6077
and dword [ebp - 0x2b30], 0
jmp 0x4a5f5a
cmp dword [ebp - 0x2b30], 0xa
jae 0x4a6072
cvtsi2sd xmm0, dword [ebp - 0x2b30]
movsd xmm1, qword [ebp - 0xca08]
addsd xmm1, xmm0
movsd qword [ebp - 0xca10], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5fc9
mov eax, dword [ebp - 0x2b30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca08]
addsd xmm1, xmm0
movsd qword [ebp - 0xca08], xmm1
jmp 0x4a5eca
cvtsi2sd xmm0, dword [ebp - 0x2b30]
movsd xmm1, qword [ebp - 0xca08]
addsd xmm1, xmm0
movsd qword [ebp - 0xca18], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6026
mov eax, dword [ebp - 0x2b30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca08]
addsd xmm1, xmm0
movsd qword [ebp - 0xca08], xmm1
jmp 0x4a603a
xor eax, eax
je 0x4a6036
jmp 0x4a5eca
xor eax, eax
inc eax
je 0x4a60f2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b38], eax
cvtsi2sd xmm0, dword [ebp - 0x2b38]
mov eax, dword [ebp - 0x2b38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xca08]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b34], eax
jmp 0x4a60fc
mov dword [ebp - 0x2b34], 7
mov eax, dword [ebp - 0x2b08]
add eax, 0xffffffcd
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xca20], xmm0
xor eax, eax
je 0x4a6116
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a6152
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xca20]
movsd qword [ebp - 0xca28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a62e9
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a62e9
and dword [ebp - 0x2b3c], 0
jmp 0x4a61cc
cmp dword [ebp - 0x2b3c], 0xa
jae 0x4a62e4
xor eax, eax
inc eax
je 0x4a6364
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b44], eax
cvtsi2sd xmm0, dword [ebp - 0x2b44]
mov eax, dword [ebp - 0x2b44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xca28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b40], eax
jmp 0x4a636e
mov dword [ebp - 0x2b40], 7
mov eax, dword [ebp - 0x2b08]
shl eax, 2
add eax, dword [ebp - 0x2b04]
mov eax, dword [eax]
add eax, dword [ebp - 0x2b34]
mov ecx, dword [ebp - 0x2b08]
shl ecx, 2
add ecx, dword [ebp - 0x2b04]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2b40]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2b08]
shl ecx, 2
add ecx, dword [ebp - 0x2b04]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a666e
xor eax, eax
je 0x4a63ee
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a642a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xca40], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a65c1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a65c1
and dword [ebp - 0x2b48], 0
jmp 0x4a64a4
cmp dword [ebp - 0x2b48], 0xa
jae 0x4a65bc
cvtsi2sd xmm0, dword [ebp - 0x2b48]
movsd xmm1, qword [ebp - 0xca40]
addsd xmm1, xmm0
movsd qword [ebp - 0xca48], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6513
mov eax, dword [ebp - 0x2b48]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca40]
addsd xmm1, xmm0
movsd qword [ebp - 0xca40], xmm1
jmp 0x4a6414
cvtsi2sd xmm0, dword [ebp - 0x2b48]
movsd xmm1, qword [ebp - 0xca40]
addsd xmm1, xmm0
movsd qword [ebp - 0xca50], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6570
mov eax, dword [ebp - 0x2b48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca40]
addsd xmm1, xmm0
movsd qword [ebp - 0xca40], xmm1
jmp 0x4a6584
xor eax, eax
je 0x4a6580
jmp 0x4a663c
jmp 0x4a65a7
cvtsi2sd xmm0, dword [ebp - 0x2b48]
movsd xmm1, qword [ebp - 0xca40]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b4c], eax
jmp 0x4a6646
jmp 0x4a6414
xor eax, eax
inc eax
je 0x4a663c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b50], eax
cvtsi2sd xmm0, dword [ebp - 0x2b50]
mov eax, dword [ebp - 0x2b50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xca40]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b4c], eax
jmp 0x4a6646
mov dword [ebp - 0x2b4c], 7
mov eax, dword [ebp - 0x2b08]
shl eax, 2
add eax, dword [ebp - 0x2b04]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b4c]
mov ecx, dword [ebp - 0x2b08]
shl ecx, 2
add ecx, dword [ebp - 0x2b04]
mov dword [ecx], eax
jmp 0x4a55f4
mov eax, dword [ebp - 0x2b00]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2b00]
mov dword [ebp - 0x2b54], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2b54]
mov eax, dword [eax]
mov dword [ebp - 0x2b58], eax
xor eax, eax
mov byte [ebp - 0x7b], al
lea ecx, [ebp - 0x7b]
call fcn.00419c12
mov dword [ebp - 0x2b5c], eax
mov eax, dword [ebp - 0x2b5c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a7756
mov eax, dword [ebp - 0x2b5c]
mov dword [ebp - 0x2b60], eax
and dword [ebp - 0x2b64], 0
jmp 0x4a66e4
mov eax, dword [ebp - 0x2b64]
inc eax
mov dword [ebp - 0x2b64], eax
cmp dword [ebp - 0x2b64], 1
jae 0x4a7756
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a69ae
xor eax, eax
je 0x4a672e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a676a
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xca58], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a6901
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a6901
and dword [ebp - 0x2b68], 0
jmp 0x4a67e4
cmp dword [ebp - 0x2b68], 0xa
jae 0x4a68fc
cvtsi2sd xmm0, dword [ebp - 0x2b68]
movsd xmm1, qword [ebp - 0xca58]
addsd xmm1, xmm0
movsd qword [ebp - 0xca60], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6853
mov eax, dword [ebp - 0x2b68]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca58]
addsd xmm1, xmm0
movsd qword [ebp - 0xca58], xmm1
jmp 0x4a6754
cvtsi2sd xmm0, dword [ebp - 0x2b68]
movsd xmm1, qword [ebp - 0xca58]
addsd xmm1, xmm0
movsd qword [ebp - 0xca68], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a68b0
mov eax, dword [ebp - 0x2b68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca58]
addsd xmm1, xmm0
movsd qword [ebp - 0xca58], xmm1
jmp 0x4a68c4
xor eax, eax
je 0x4a68c0
jmp 0x4a697c
jmp 0x4a68e7
cvtsi2sd xmm0, dword [ebp - 0x2b68]
movsd xmm1, qword [ebp - 0xca58]
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b6c], eax
jmp 0x4a6986
xor eax, eax
inc eax
je 0x4a68f2
jmp 0x4a6754
xor eax, eax
inc eax
je 0x4a697c
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b70], eax
cvtsi2sd xmm0, dword [ebp - 0x2b70]
mov eax, dword [ebp - 0x2b70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xca58]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b6c], eax
jmp 0x4a6986
mov dword [ebp - 0x2b6c], 7
mov eax, dword [ebp - 0x2b64]
shl eax, 2
add eax, dword [ebp - 0x2b60]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b6c]
mov ecx, dword [ebp - 0x2b64]
shl ecx, 2
add ecx, dword [ebp - 0x2b60]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a7494
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a6cb0
xor eax, eax
je 0x4a6a30
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a6a6c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xca70], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a6c03
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a6c03
and dword [ebp - 0x2b74], 0
jmp 0x4a6ae6
cmp dword [ebp - 0x2b74], 0xa
jae 0x4a6bfe
cvtsi2sd xmm0, dword [ebp - 0x2b74]
movsd xmm1, qword [ebp - 0xca70]
addsd xmm1, xmm0
movsd qword [ebp - 0xca78], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6b55
mov eax, dword [ebp - 0x2b74]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca70]
addsd xmm1, xmm0
movsd qword [ebp - 0xca70], xmm1
jmp 0x4a6a56
cvtsi2sd xmm0, dword [ebp - 0x2b74]
movsd xmm1, qword [ebp - 0xca70]
addsd xmm1, xmm0
movsd qword [ebp - 0xca80], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6bb2
mov eax, dword [ebp - 0x2b74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca70]
addsd xmm1, xmm0
movsd qword [ebp - 0xca70], xmm1
jmp 0x4a6bc6
xor eax, eax
je 0x4a6bc2
jmp 0x4a6a56
xor eax, eax
inc eax
je 0x4a6c7e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b7c], eax
cvtsi2sd xmm0, dword [ebp - 0x2b7c]
mov eax, dword [ebp - 0x2b7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xca70]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b78], eax
jmp 0x4a6c88
mov dword [ebp - 0x2b78], 7
mov eax, dword [ebp - 0x2b64]
shl eax, 2
add eax, dword [ebp - 0x2b60]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b78]
mov ecx, dword [ebp - 0x2b64]
shl ecx, 2
add ecx, dword [ebp - 0x2b60]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a6f6d
xor eax, eax
je 0x4a6ced
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a6d29
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xca88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a6ec0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a6ec0
and dword [ebp - 0x2b80], 0
jmp 0x4a6da3
cmp dword [ebp - 0x2b80], 0xa
jae 0x4a6ebb
cvtsi2sd xmm0, dword [ebp - 0x2b80]
movsd xmm1, qword [ebp - 0xca88]
addsd xmm1, xmm0
movsd qword [ebp - 0xca90], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6e12
mov eax, dword [ebp - 0x2b80]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca88]
addsd xmm1, xmm0
movsd qword [ebp - 0xca88], xmm1
jmp 0x4a6d13
cvtsi2sd xmm0, dword [ebp - 0x2b80]
movsd xmm1, qword [ebp - 0xca88]
addsd xmm1, xmm0
movsd qword [ebp - 0xca98], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6e6f
jmp 0x4a6d13
xor eax, eax
inc eax
je 0x4a6f3b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b88], eax
cvtsi2sd xmm0, dword [ebp - 0x2b88]
mov eax, dword [ebp - 0x2b88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xca88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b84], eax
jmp 0x4a6f45
mov dword [ebp - 0x2b84], 7
mov eax, dword [ebp - 0x2b64]
shl eax, 2
add eax, dword [ebp - 0x2b60]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2b84]
mov ecx, dword [ebp - 0x2b64]
shl ecx, 2
add ecx, dword [ebp - 0x2b60]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2b64]
add eax, 0xffffffce
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcaa0], xmm0
xor eax, eax
je 0x4a6f87
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a6fc3
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcaa0]
movsd qword [ebp - 0xcaa8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a715a
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a715a
and dword [ebp - 0x2b8c], 0
jmp 0x4a703d
cmp dword [ebp - 0x2b8c], 0xa
jae 0x4a7155
cvtsi2sd xmm0, dword [ebp - 0x2b8c]
movsd xmm1, qword [ebp - 0xcaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcab0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcab0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a70ac
mov eax, dword [ebp - 0x2b8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaa8], xmm1
jmp 0x4a6fad
cvtsi2sd xmm0, dword [ebp - 0x2b8c]
movsd xmm1, qword [ebp - 0xcaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcab8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a7109
jmp 0x4a6fad
xor eax, eax
inc eax
je 0x4a71d5
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2b94], eax
cvtsi2sd xmm0, dword [ebp - 0x2b94]
mov eax, dword [ebp - 0x2b94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcaa8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b90], eax
jmp 0x4a71df
mov dword [ebp - 0x2b90], 7
mov eax, dword [ebp - 0x2b64]
add eax, 0xffffffce
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcac0], xmm0
xor eax, eax
je 0x4a71f9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a7235
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcac0]
movsd qword [ebp - 0xcac8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a73cc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a73cc
and dword [ebp - 0x2b98], 0
jmp 0x4a72af
xor eax, eax
inc eax
je 0x4a7447
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ba0], eax
cvtsi2sd xmm0, dword [ebp - 0x2ba0]
mov eax, dword [ebp - 0x2ba0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcac8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2b9c], eax
jmp 0x4a7451
mov dword [ebp - 0x2b9c], 7
mov eax, dword [ebp - 0x2b64]
shl eax, 2
add eax, dword [ebp - 0x2b60]
mov eax, dword [eax]
add eax, dword [ebp - 0x2b90]
mov ecx, dword [ebp - 0x2b64]
shl ecx, 2
add ecx, dword [ebp - 0x2b60]
mov ecx, dword [ecx]
and ecx, dword [ebp - 0x2b9c]
shl ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0x2b64]
shl ecx, 2
add ecx, dword [ebp - 0x2b60]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a7751
xor eax, eax
je 0x4a74d1
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a750d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xcae0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a76a4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a76a4
and dword [ebp - 0x2ba4], 0
jmp 0x4a7587
cmp dword [ebp - 0x2ba4], 0xa
jae 0x4a769f
cvtsi2sd xmm0, dword [ebp - 0x2ba4]
movsd xmm1, qword [ebp - 0xcae0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcae8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcae8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a75f6
mov eax, dword [ebp - 0x2ba4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcae0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcae0], xmm1
jmp 0x4a74f7
cvtsi2sd xmm0, dword [ebp - 0x2ba4]
movsd xmm1, qword [ebp - 0xcae0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaf0], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcaf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a7653
mov eax, dword [ebp - 0x2ba4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcae0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcae0], xmm1
jmp 0x4a7667
xor eax, eax
je 0x4a7663
jmp 0x4a74f7
xor eax, eax
inc eax
je 0x4a771f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2bac], eax
cvtsi2sd xmm0, dword [ebp - 0x2bac]
mov eax, dword [ebp - 0x2bac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcae0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ba8], eax
jmp 0x4a7729
mov dword [ebp - 0x2ba8], 7
mov eax, dword [ebp - 0x2b64]
shl eax, 2
add eax, dword [ebp - 0x2b60]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2ba8]
mov ecx, dword [ebp - 0x2b64]
shl ecx, 2
add ecx, dword [ebp - 0x2b60]
mov dword [ecx], eax
jmp 0x4a66d7
mov eax, dword [ebp - 0x2b5c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2b5c]
mov dword [ebp - 0x2bb0], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2bb0]
mov eax, dword [eax]
mov dword [ebp - 0x2bb4], eax
mov eax, dword [ebp - 0x2b58]
mov dword [ebp - 0x2afc], eax
cmp dword [ebp - 0x2afc], 0
je 0x4a887c
xor eax, eax
mov byte [ebp - 0x7c], al
lea ecx, [ebp - 0x7c]
call fcn.00417bfa
mov dword [ebp - 0x2bb8], eax
mov eax, dword [ebp - 0x2bb8]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a8852
mov eax, dword [ebp - 0x2bb8]
mov dword [ebp - 0x2bbc], eax
and dword [ebp - 0x2bc0], 0
jmp 0x4a77e0
mov eax, dword [ebp - 0x2bc0]
inc eax
mov dword [ebp - 0x2bc0], eax
cmp dword [ebp - 0x2bc0], 1
jae 0x4a8852
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a7aaa
xor eax, eax
je 0x4a782a
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a7866
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc8]
movsd qword [ebp - 0xcaf8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a79fd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a79fd
and dword [ebp - 0x2bc4], 0
jmp 0x4a78e0
cmp dword [ebp - 0x2bc4], 0xa
jae 0x4a79f8
cvtsi2sd xmm0, dword [ebp - 0x2bc4]
movsd xmm1, qword [ebp - 0xcaf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb00], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a794f
mov eax, dword [ebp - 0x2bc4]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcaf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaf8], xmm1
jmp 0x4a7850
cvtsi2sd xmm0, dword [ebp - 0x2bc4]
movsd xmm1, qword [ebp - 0xcaf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb08], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a79ac
mov eax, dword [ebp - 0x2bc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcaf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaf8], xmm1
jmp 0x4a79c0
xor eax, eax
je 0x4a79bc
jmp 0x4a7850
xor eax, eax
inc eax
je 0x4a7a78
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2bcc], eax
cvtsi2sd xmm0, dword [ebp - 0x2bcc]
mov eax, dword [ebp - 0x2bcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcaf8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2bc8], eax
jmp 0x4a7a82
mov dword [ebp - 0x2bc8], 7
mov eax, dword [ebp - 0x2bc0]
shl eax, 2
add eax, dword [ebp - 0x2bbc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2bc8]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a8590
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a7dac
xor eax, eax
je 0x4a7b2c
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a7b68
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xcb10], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a7cff
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a7cff
and dword [ebp - 0x2bd0], 0
jmp 0x4a7be2
cmp dword [ebp - 0x2bd0], 0xa
jae 0x4a7cfa
cvtsi2sd xmm0, dword [ebp - 0x2bd0]
movsd xmm1, qword [ebp - 0xcb10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb18], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a7c51
jmp 0x4a7b52
xor eax, eax
inc eax
je 0x4a7d7a
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2bd8], eax
cvtsi2sd xmm0, dword [ebp - 0x2bd8]
mov eax, dword [ebp - 0x2bd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcb10]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2bd4], eax
jmp 0x4a7d84
mov dword [ebp - 0x2bd4], 7
mov eax, dword [ebp - 0x2bc0]
shl eax, 2
add eax, dword [ebp - 0x2bbc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2bd4]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a8069
xor eax, eax
je 0x4a7de9
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a7e25
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xcb28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a7fbc
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a7fbc
and dword [ebp - 0x2bdc], 0
jmp 0x4a7e9f
cmp dword [ebp - 0x2bdc], 0xa
jae 0x4a7fb7
xor eax, eax
inc eax
je 0x4a8037
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2be4], eax
cvtsi2sd xmm0, dword [ebp - 0x2be4]
mov eax, dword [ebp - 0x2be4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcb28]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2be0], eax
jmp 0x4a8041
mov dword [ebp - 0x2be0], 7
mov eax, dword [ebp - 0x2bc0]
shl eax, 2
add eax, dword [ebp - 0x2bbc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2be0]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2bc0]
add eax, 0xffffffce
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcb40], xmm0
xor eax, eax
je 0x4a8083
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a80bf
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcb40]
movsd qword [ebp - 0xcb48], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a8256
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a8256
and dword [ebp - 0x2be8], 0
jmp 0x4a8139
cmp dword [ebp - 0x2be8], 0xa
jae 0x4a8251
xor eax, eax
inc eax
je 0x4a82d1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2bf0], eax
cvtsi2sd xmm0, dword [ebp - 0x2bf0]
mov eax, dword [ebp - 0x2bf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcb48]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2bec], eax
jmp 0x4a82db
mov dword [ebp - 0x2bec], 7
mov eax, dword [ebp - 0x2bc0]
add eax, 0xffffffce
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcb60], xmm0
xor eax, eax
je 0x4a82f5
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a8331
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ebp - 0xcb60]
movsd qword [ebp - 0xcb68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a84c8
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a884d
xor eax, eax
je 0x4a85cd
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a8609
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xcb80], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a87a0
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a87a0
and dword [ebp - 0x2c00], 0
jmp 0x4a8683
cmp dword [ebp - 0x2c00], 0xa
jae 0x4a879b
cvtsi2sd xmm0, dword [ebp - 0x2c00]
movsd xmm1, qword [ebp - 0xcb80]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb88], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a86f2
jmp 0x4a85f3
xor eax, eax
inc eax
je 0x4a881b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c08], eax
cvtsi2sd xmm0, dword [ebp - 0x2c08]
mov eax, dword [ebp - 0x2c08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcb80]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c04], eax
jmp 0x4a8825
mov dword [ebp - 0x2c04], 7
mov eax, dword [ebp - 0x2bc0]
shl eax, 2
add eax, dword [ebp - 0x2bbc]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c04]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
jmp 0x4a77d3
mov eax, dword [ebp - 0x2bb8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2bb8]
mov dword [ebp - 0x2c0c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2c0c]
mov eax, dword [eax]
mov dword [ebp - 0x2bb4], eax
mov eax, dword [ebp - 0x454]
add eax, 0x18
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x2c10], eax
mov eax, dword [ebp - 0x454]
add eax, 0x18
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x2c14], eax
mov eax, dword [ebp - 0x16078]
mov dword [ebp - 0x2c18], eax
push 0x3e8
push 0x35e4f491
push 0xf
push 0
call fcn.005c17f6
add esp, 0x10
mov dword [ebp - 0x2c1c], eax
push 0x40
push 0x3000
push dword [ebp - 0x2c10]
push dword [ebp - 0x2c14]
push dword [ebp - 0x2c18]
call dword [ebp - 0x2c1c]
mov dword [ebp - 0x2c20], eax
xor eax, eax
mov byte [ebp - 0x7d], al
lea ecx, [ebp - 0x7d]
call fcn.00419baa
mov dword [ebp - 0x2c24], eax
mov eax, dword [ebp - 0x2c24]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4a99a6
mov eax, dword [ebp - 0x2c24]
mov dword [ebp - 0x2c28], eax
and dword [ebp - 0x2c2c], 0
jmp 0x4a8934
mov eax, dword [ebp - 0x2c2c]
inc eax
mov dword [ebp - 0x2c2c], eax
cmp dword [ebp - 0x2c2c], 1
jae 0x4a99a6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a8bfe
xor eax, eax
je 0x4a897e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a89ba
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xcb98], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a8b51
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a8b51
and dword [ebp - 0x2c30], 0
jmp 0x4a8a34
cmp dword [ebp - 0x2c30], 0xa
jae 0x4a8b4c
cvtsi2sd xmm0, dword [ebp - 0x2c30]
movsd xmm1, qword [ebp - 0xcb98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcba0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcba0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a8aa3
mov eax, dword [ebp - 0x2c30]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb98], xmm1
jmp 0x4a89a4
cvtsi2sd xmm0, dword [ebp - 0x2c30]
movsd xmm1, qword [ebp - 0xcb98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcba8], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcba8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a8b00
mov eax, dword [ebp - 0x2c30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb98], xmm1
jmp 0x4a8b14
xor eax, eax
je 0x4a8b10
jmp 0x4a89a4
xor eax, eax
inc eax
je 0x4a8bcc
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c38], eax
cvtsi2sd xmm0, dword [ebp - 0x2c38]
mov eax, dword [ebp - 0x2c38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcb98]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c34], eax
jmp 0x4a8bd6
mov dword [ebp - 0x2c34], 7
mov eax, dword [ebp - 0x2c2c]
shl eax, 2
add eax, dword [ebp - 0x2c28]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c34]
mov ecx, dword [ebp - 0x2c2c]
shl ecx, 2
add ecx, dword [ebp - 0x2c28]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a96e4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a8f00
xor eax, eax
je 0x4a8c80
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a8cbc
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xcbb0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a8e53
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a8e53
and dword [ebp - 0x2c3c], 0
jmp 0x4a8d36
cmp dword [ebp - 0x2c3c], 0xa
jae 0x4a8e4e
cvtsi2sd xmm0, dword [ebp - 0x2c3c]
movsd xmm1, qword [ebp - 0xcbb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbb8], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a8da5
jmp 0x4a8ca6
xor eax, eax
inc eax
je 0x4a8ece
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c44], eax
cvtsi2sd xmm0, dword [ebp - 0x2c44]
mov eax, dword [ebp - 0x2c44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcbb0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c40], eax
jmp 0x4a8ed8
mov dword [ebp - 0x2c40], 7
mov eax, dword [ebp - 0x2c2c]
shl eax, 2
add eax, dword [ebp - 0x2c28]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c40]
mov ecx, dword [ebp - 0x2c2c]
shl ecx, 2
add ecx, dword [ebp - 0x2c28]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a91bd
xor eax, eax
je 0x4a8f3d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a8f79
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xcbc8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a9110
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a9110
and dword [ebp - 0x2c48], 0
jmp 0x4a8ff3
cmp dword [ebp - 0x2c48], 0xa
jae 0x4a910b
xor eax, eax
inc eax
je 0x4a918b
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c50], eax
cvtsi2sd xmm0, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x2c50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcbc8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c4c], eax
jmp 0x4a9195
mov dword [ebp - 0x2c4c], 7
mov eax, dword [ebp - 0x2c2c]
shl eax, 2
add eax, dword [ebp - 0x2c28]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c4c]
mov ecx, dword [ebp - 0x2c2c]
shl ecx, 2
add ecx, dword [ebp - 0x2c28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c2c]
add eax, 0xffffffcf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcbe0], xmm0
xor eax, eax
je 0x4a91d7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a9213
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcbe0]
movsd qword [ebp - 0xcbe8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a93aa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a93aa
and dword [ebp - 0x2c54], 0
jmp 0x4a928d
cmp dword [ebp - 0x2c54], 0xa
jae 0x4a93a5
xor eax, eax
inc eax
je 0x4a9425
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c5c], eax
cvtsi2sd xmm0, dword [ebp - 0x2c5c]
mov eax, dword [ebp - 0x2c5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcbe8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c58], eax
jmp 0x4a942f
mov dword [ebp - 0x2c58], 7
mov eax, dword [ebp - 0x2c2c]
add eax, 0xffffffcf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcc00], xmm0
xor eax, eax
je 0x4a9449
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a9485
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ebp - 0xcc00]
movsd qword [ebp - 0xcc08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a961c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a99a1
xor eax, eax
je 0x4a9721
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a975d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706da8]
movsd qword [ebp - 0xcc20], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a98f4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a98f4
and dword [ebp - 0x2c6c], 0
jmp 0x4a97d7
cmp dword [ebp - 0x2c6c], 0xa
jae 0x4a98ef
cvtsi2sd xmm0, dword [ebp - 0x2c6c]
movsd xmm1, qword [ebp - 0xcc20]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc28], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a9846
jmp 0x4a9747
xor eax, eax
inc eax
je 0x4a996f
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c74], eax
cvtsi2sd xmm0, dword [ebp - 0x2c74]
mov eax, dword [ebp - 0x2c74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcc20]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c70], eax
jmp 0x4a9979
mov dword [ebp - 0x2c70], 7
mov eax, dword [ebp - 0x2c2c]
shl eax, 2
add eax, dword [ebp - 0x2c28]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c70]
mov ecx, dword [ebp - 0x2c2c]
shl ecx, 2
add ecx, dword [ebp - 0x2c28]
mov dword [ecx], eax
jmp 0x4a8927
mov eax, dword [ebp - 0x2c24]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2c24]
mov dword [ebp - 0x2c78], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2c78]
mov eax, dword [eax]
mov dword [ebp - 0x2c7c], eax
xor eax, eax
mov byte [ebp - 0x7e], al
lea ecx, [ebp - 0x7e]
call fcn.004154f8
mov dword [ebp - 0x2c80], eax
mov eax, dword [ebp - 0x2c80]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4aaa89
mov eax, dword [ebp - 0x2c80]
mov dword [ebp - 0x2c84], eax
and dword [ebp - 0x2c88], 0
jmp 0x4a9a17
mov eax, dword [ebp - 0x2c88]
inc eax
mov dword [ebp - 0x2c88], eax
cmp dword [ebp - 0x2c88], 1
jae 0x4aaa89
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a9ce1
xor eax, eax
je 0x4a9a61
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a9a9d
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xcc38], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a9c34
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a9c34
and dword [ebp - 0x2c8c], 0
jmp 0x4a9b17
cmp dword [ebp - 0x2c8c], 0xa
jae 0x4a9c2f
cvtsi2sd xmm0, dword [ebp - 0x2c8c]
movsd xmm1, qword [ebp - 0xcc38]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc40], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a9b86
mov eax, dword [ebp - 0x2c8c]
and eax, 0
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc38]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc38], xmm1
jmp 0x4a9a87
cvtsi2sd xmm0, dword [ebp - 0x2c8c]
movsd xmm1, qword [ebp - 0xcc38]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc48], xmm1
call fcn.005c47f9
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a9be3
jmp 0x4a9a87
xor eax, eax
inc eax
je 0x4a9caf
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2c94], eax
cvtsi2sd xmm0, dword [ebp - 0x2c94]
mov eax, dword [ebp - 0x2c94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcc38]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c90], eax
jmp 0x4a9cb9
mov dword [ebp - 0x2c90], 7
mov eax, dword [ebp - 0x2c88]
shl eax, 2
add eax, dword [ebp - 0x2c84]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c90]
mov ecx, dword [ebp - 0x2c88]
shl ecx, 2
add ecx, dword [ebp - 0x2c84]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4aa7c7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a9fe3
xor eax, eax
je 0x4a9d63
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4a9d9f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xcc50], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4a9f36
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4a9f36
and dword [ebp - 0x2c98], 0
jmp 0x4a9e19
cmp dword [ebp - 0x2c98], 0xa
jae 0x4a9f31
xor eax, eax
inc eax
je 0x4a9fb1
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2ca0], eax
cvtsi2sd xmm0, dword [ebp - 0x2ca0]
mov eax, dword [ebp - 0x2ca0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcc50]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2c9c], eax
jmp 0x4a9fbb
mov dword [ebp - 0x2c9c], 7
mov eax, dword [ebp - 0x2c88]
shl eax, 2
add eax, dword [ebp - 0x2c84]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2c9c]
mov ecx, dword [ebp - 0x2c88]
shl ecx, 2
add ecx, dword [ebp - 0x2c84]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aa2a0
xor eax, eax
je 0x4aa020
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4aa05c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xcc68], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4aa1f3
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aa1f3
and dword [ebp - 0x2ca4], 0
jmp 0x4aa0d6
xor eax, eax
inc eax
je 0x4aa26e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2cac], eax
cvtsi2sd xmm0, dword [ebp - 0x2cac]
mov eax, dword [ebp - 0x2cac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcc68]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ca8], eax
jmp 0x4aa278
mov dword [ebp - 0x2ca8], 7
mov eax, dword [ebp - 0x2c88]
shl eax, 2
add eax, dword [ebp - 0x2c84]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2ca8]
mov ecx, dword [ebp - 0x2c88]
shl ecx, 2
add ecx, dword [ebp - 0x2c84]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c88]
add eax, 0xffffffcf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcc80], xmm0
xor eax, eax
je 0x4aa2ba
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4aa2f6
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcc80]
movsd qword [ebp - 0xcc88], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4aa48d
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aa48d
and dword [ebp - 0x2cb0], 0
jmp 0x4aa370
xor eax, eax
inc eax
je 0x4aa508
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2cb8], eax
cvtsi2sd xmm0, dword [ebp - 0x2cb8]
mov eax, dword [ebp - 0x2cb8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcc88]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2cb4], eax
jmp 0x4aa512
mov dword [ebp - 0x2cb4], 7
mov eax, dword [ebp - 0x2c88]
add eax, 0xffffffcf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcca0], xmm0
xor eax, eax
je 0x4aa52c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aaa84
xor eax, eax
je 0x4aa804
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4aa840
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706da8]
movsd qword [ebp - 0xccc0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4aa9d7
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aa9d7
and dword [ebp - 0x2cc8], 0
jmp 0x4aa8ba
cmp dword [ebp - 0x2cc8], 0xa
jae 0x4aa9d2
xor eax, eax
inc eax
je 0x4aaa52
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2cd0], eax
cvtsi2sd xmm0, dword [ebp - 0x2cd0]
mov eax, dword [ebp - 0x2cd0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xccc0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2ccc], eax
jmp 0x4aaa5c
mov dword [ebp - 0x2ccc], 7
mov eax, dword [ebp - 0x2c88]
shl eax, 2
add eax, dword [ebp - 0x2c84]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2ccc]
mov ecx, dword [ebp - 0x2c88]
shl ecx, 2
add ecx, dword [ebp - 0x2c84]
mov dword [ecx], eax
jmp 0x4a9a0a
mov eax, dword [ebp - 0x2c80]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2c80]
mov dword [ebp - 0x2cd4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2cd4]
mov eax, dword [eax]
mov dword [ebp - 0x2cd8], eax
xor eax, eax
mov byte [ebp - 0x7f], al
lea ecx, [ebp - 0x7f]
call fcn.004165a0
mov dword [ebp - 0x2cdc], eax
mov eax, dword [ebp - 0x2cdc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4abb6c
mov eax, dword [ebp - 0x2cdc]
mov dword [ebp - 0x2ce0], eax
and dword [ebp - 0x2ce4], 0
jmp 0x4aaafa
mov eax, dword [ebp - 0x2ce4]
inc eax
mov dword [ebp - 0x2ce4], eax
cmp dword [ebp - 0x2ce4], 1
jae 0x4abb6c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aadc4
xor eax, eax
je 0x4aab44
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4aab80
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706dc0]
movsd qword [ebp - 0xccd8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4aad17
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aad17
and dword [ebp - 0x2ce8], 0
jmp 0x4aabfa
cmp dword [ebp - 0x2ce8], 0xa
jae 0x4aad12
cvtsi2sd xmm0, dword [ebp - 0x2ce8]
movsd xmm1, qword [ebp - 0xccd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcce0], xmm1
call fcn.005c47f6
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcce0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4aac69
jmp 0x4aab6a
xor eax, eax
inc eax
je 0x4aad92
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2cf0], eax
cvtsi2sd xmm0, dword [ebp - 0x2cf0]
mov eax, dword [ebp - 0x2cf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xccd8]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2cec], eax
jmp 0x4aad9c
mov dword [ebp - 0x2cec], 7
mov eax, dword [ebp - 0x2ce4]
shl eax, 2
add eax, dword [ebp - 0x2ce0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2cec]
mov ecx, dword [ebp - 0x2ce4]
shl ecx, 2
add ecx, dword [ebp - 0x2ce0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ab8aa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ab0c6
xor eax, eax
je 0x4aae46
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4aae82
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xccf0], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ab019
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ab019
and dword [ebp - 0x2cf4], 0
jmp 0x4aaefc
xor eax, eax
inc eax
je 0x4ab094
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2cfc], eax
cvtsi2sd xmm0, dword [ebp - 0x2cfc]
mov eax, dword [ebp - 0x2cfc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xccf0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2cf8], eax
jmp 0x4ab09e
mov dword [ebp - 0x2cf8], 7
mov eax, dword [ebp - 0x2ce4]
shl eax, 2
add eax, dword [ebp - 0x2ce0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2cf8]
mov ecx, dword [ebp - 0x2ce4]
shl ecx, 2
add ecx, dword [ebp - 0x2ce0]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ab383
xor eax, eax
je 0x4ab103
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4ab13f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xcd08], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ab2d6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ab2d6
xor eax, eax
inc eax
je 0x4ab351
mov eax, dword [ebp - 0x2ce4]
add eax, 0xffffffcf
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcd20], xmm0
xor eax, eax
je 0x4ab39d
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4ab3d9
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcd20]
movsd qword [ebp - 0xcd28], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ab570
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ab570
xor eax, eax
inc eax
je 0x4ab5eb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4abb67
xor eax, eax
je 0x4ab8e7
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4ab923
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706da8]
movsd qword [ebp - 0xcd60], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ababa
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ababa
and dword [ebp - 0x2d24], 0
jmp 0x4ab99d
xor eax, eax
inc eax
je 0x4abb35
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2d2c], eax
cvtsi2sd xmm0, dword [ebp - 0x2d2c]
mov eax, dword [ebp - 0x2d2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcd60]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2d28], eax
jmp 0x4abb3f
mov dword [ebp - 0x2d28], 7
mov eax, dword [ebp - 0x2ce4]
shl eax, 2
add eax, dword [ebp - 0x2ce0]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2d28]
mov ecx, dword [ebp - 0x2ce4]
shl ecx, 2
add ecx, dword [ebp - 0x2ce0]
mov dword [ecx], eax
jmp 0x4aaaed
mov eax, dword [ebp - 0x2cdc]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2cdc]
mov dword [ebp - 0x2d30], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2d30]
mov eax, dword [eax]
mov dword [ebp - 0x2d34], eax
mov eax, dword [ebp - 0x2cd8]
mov dword [ebp - 0x2c7c], eax
cmp dword [ebp - 0x2c7c], 0
je 0x4acc92
xor eax, eax
mov byte [ebp - 0x80], al
lea ecx, [ebp - 0x80]
call fcn.0041771a
mov dword [ebp - 0x2d38], eax
mov eax, dword [ebp - 0x2d38]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4acc68
mov eax, dword [ebp - 0x2d38]
mov dword [ebp - 0x2d3c], eax
and dword [ebp - 0x2d40], 0
jmp 0x4abbf6
mov eax, dword [ebp - 0x2d40]
inc eax
mov dword [ebp - 0x2d40], eax
cmp dword [ebp - 0x2d40], 1
jae 0x4acc68
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4abec0
xor eax, eax
je 0x4abc40
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4abc7c
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xcd78], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4abe13
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4abe13
and dword [ebp - 0x2d44], 0
jmp 0x4abcf6
xor eax, eax
inc eax
je 0x4abe8e
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx edi, al
shl edi, 1
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
mov dword [ebp - 0x2d4c], eax
cvtsi2sd xmm0, dword [ebp - 0x2d4c]
mov eax, dword [ebp - 0x2d4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x707030]
movsd xmm1, qword [ebp - 0xcd78]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [ebp - 0x2d48], eax
jmp 0x4abe98
mov dword [ebp - 0x2d48], 7
mov eax, dword [ebp - 0x2d40]
shl eax, 2
add eax, dword [ebp - 0x2d3c]
mov eax, dword [eax]
xor eax, dword [ebp - 0x2d48]
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov dword [ecx], eax
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ac9a6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ac1c2
xor eax, eax
je 0x4abf42
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4abf7e
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xcd90], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ac115
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ac47f
xor eax, eax
je 0x4ac1ff
mov eax, dword [ebp - 0x2d40]
add eax, 0xffffffd0
cvtsi2sd xmm0, eax
movsd qword [ebp - 0xcdc0], xmm0
xor eax, eax
je 0x4ac499
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4acc63
xor eax, eax
je 0x4ac9e3
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4aca1f
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x706da0]
movsd qword [ebp - 0xce00], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4acbb6
jmp 0x4abbe9
mov eax, dword [ebp - 0x2d38]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2d38]
mov dword [ebp - 0x2d8c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2d8c]
mov eax, dword [eax]
mov dword [ebp - 0x2d34], eax
cmp dword [ebp - 0x2c20], 0
jne 0x4b98fe
xor eax, eax
mov byte [ebp - 0x81], al
lea ecx, [ebp - 0x81]
call fcn.004188fa
mov dword [ebp - 0x2d90], eax
mov eax, dword [ebp - 0x2d90]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4add5e
mov eax, dword [ebp - 0x2d90]
mov dword [ebp - 0x2d94], eax
and dword [ebp - 0x2d98], 0
jmp 0x4accec
cmp dword [ebp - 0x2d98], 1
jae 0x4add5e
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4acfb6
xor eax, eax
je 0x4acd36
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4acd72
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706db8]
movsd qword [ebp - 0xce18], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4acf09
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4acf09
xor eax, eax
inc eax
je 0x4acf84
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ada9c
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ad2b8
xor eax, eax
je 0x4ad038
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ad575
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4add59
xor eax, eax
je 0x4adad9
jmp 0x4accdf
mov eax, dword [ebp - 0x2d90]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2d90]
mov dword [ebp - 0x2de4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2de4]
mov eax, dword [eax]
mov dword [ebp - 0x2de8], eax
xor eax, eax
mov byte [ebp - 0x82], al
lea ecx, [ebp - 0x82]
call fcn.00418f46
mov dword [ebp - 0x2dec], eax
mov eax, dword [ebp - 0x2dec]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4aee47
mov eax, dword [ebp - 0x2dec]
mov dword [ebp - 0x2df0], eax
and dword [ebp - 0x2df4], 0
jmp 0x4addd5
cmp dword [ebp - 0x2df4], 1
jae 0x4aee47
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ae09f
xor eax, eax
je 0x4ade1f
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4ade5b
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x706db0]
movsd qword [ebp - 0xceb8], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4adff2
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4aeb85
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ae3a1
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4aee42
mov eax, dword [ebp - 0x2dec]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2dec]
mov dword [ebp - 0x2e40], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2e40]
mov eax, dword [eax]
mov dword [ebp - 0x2e44], eax
xor eax, eax
mov byte [ebp - 0x83], al
lea ecx, [ebp - 0x83]
call fcn.00419d7e
mov dword [ebp - 0x2e48], eax
mov eax, dword [ebp - 0x2e48]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4aff30
mov eax, dword [ebp - 0x2e48]
mov dword [ebp - 0x2e4c], eax
and dword [ebp - 0x2e50], 0
jmp 0x4aeebe
cmp dword [ebp - 0x2e50], 1
jae 0x4aff30
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4af188
xor eax, eax
je 0x4aef08
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4afc6e
mov eax, dword [ebp - 0x2e48]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2e48]
mov dword [ebp - 0x2e9c], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2e9c]
mov eax, dword [eax]
mov dword [ebp - 0x2ea0], eax
mov eax, dword [ebp - 0x2e44]
mov dword [ebp - 0x2de8], eax
cmp dword [ebp - 0x2de8], 0
je 0x4b105c
xor eax, eax
mov byte [ebp - 0x84], al
lea ecx, [ebp - 0x84]
call fcn.00414ddc
mov dword [ebp - 0x2ea4], eax
mov eax, dword [ebp - 0x2ea4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4b1032
mov eax, dword [ebp - 0x2ea4]
mov dword [ebp - 0x2ea8], eax
and dword [ebp - 0x2eac], 0
jmp 0x4affc0
cmp dword [ebp - 0x2eac], 1
jae 0x4b1032
mov eax, dword [ebp - 0x2ea4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2ea4]
mov dword [ebp - 0x2ef8], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2ef8]
mov eax, dword [eax]
mov dword [ebp - 0x2ea0], eax
mov eax, dword [ebp - 0x16078]
mov dword [ebp - 0x2efc], eax
push 0xa
push 0x86c5b0af
push 0xf
push 0
call fcn.005c17f6
add esp, 0x10
mov dword [ebp - 0x2f00], eax
push 0
push dword [ebp - 0x2efc]
call dword [ebp - 0x2f00]
xor eax, eax
mov byte [ebp - 0x85], al
lea ecx, [ebp - 0x85]
call fcn.00415970
mov dword [ebp - 0x2f04], eax
mov eax, dword [ebp - 0x2f04]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4b214e
mov eax, dword [ebp - 0x2f04]
mov dword [ebp - 0x2f08], eax
and dword [ebp - 0x2f0c], 0
jmp 0x4b10dc
cmp dword [ebp - 0x2f0c], 1
jae 0x4b214e
mov eax, dword [ebp - 0x2f04]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2f04]
mov dword [ebp - 0x2f58], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2f58]
mov eax, dword [eax]
mov dword [ebp - 0x2f5c], eax
xor eax, eax
mov byte [ebp - 0x86], al
lea ecx, [ebp - 0x86]
call fcn.00419e1a
mov dword [ebp - 0x2f60], eax
mov eax, dword [ebp - 0x2f60]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4b3237
mov eax, dword [ebp - 0x2f60]
mov dword [ebp - 0x2f64], eax
and dword [ebp - 0x2f68], 0
jmp 0x4b21c5
mov eax, dword [ebp - 0x2f60]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x2f60]
mov dword [ebp - 0x2fb4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x2fb4]
mov eax, dword [eax]
mov dword [ebp - 0x2fb8], eax
xor eax, eax
mov byte [ebp - 0x87], al
lea ecx, [ebp - 0x87]
call fcn.0041723a
mov dword [ebp - 0x2fbc], eax
mov eax, dword [ebp - 0x2fbc]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4b4320
xor eax, eax
mov byte [ebp - 0x8d], al
lea ecx, [ebp - 0x8d]
call fcn.0041834a
mov dword [ebp - 0x31e0], eax
mov eax, dword [ebp - 0x31e0]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4ba9bd
mov eax, dword [ebp - 0x31e0]
mov dword [ebp - 0x31e4], eax
and dword [ebp - 0x31e8], 0
jmp 0x4b994b
cmp dword [ebp - 0x31e8], 1
jae 0x4ba9bd
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4b9c15
xor eax, eax
je 0x4b9995
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4b99d1
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x706d90]
movsd qword [ebp - 0xd598], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4b9b68
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4b9b68
xor eax, eax
inc eax
je 0x4b9be3
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4ba6fb
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4b9f17
xor eax, eax
je 0x4b9c97
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ba1d4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4ba9b8
xor eax, eax
je 0x4ba738
jmp 0x4b993e
mov eax, dword [ebp - 0x31e0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x31e0]
mov dword [ebp - 0x3234], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x3234]
mov eax, dword [eax]
mov dword [ebp - 0x3238], eax
xor eax, eax
mov byte [ebp - 0x8e], al
lea ecx, [ebp - 0x8e]
call fcn.00416128
mov dword [ebp - 0x323c], eax
mov eax, dword [ebp - 0x323c]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4bbaa6
mov eax, dword [ebp - 0x323c]
mov dword [ebp - 0x3240], eax
and dword [ebp - 0x3244], 0
jmp 0x4baa34
cmp dword [ebp - 0x3244], 1
jae 0x4bbaa6
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4bacfe
xor eax, eax
je 0x4baa7e
add byte [edi], cl
mov esi, 0x7cbbf605
add byte [edi], cl
mov esi, 0x7cbbf20d
add cl, dl
loope 0x4baaba
movsx eax, byte [0x7cbbf6]
movsx ecx, byte [0x7cbbf2]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x706d90]
movsd qword [ebp - 0xd638], xmm0
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 6
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4bac51
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4bb7e4
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
imul eax, eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4bb000
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 2
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4bbaa1
mov eax, dword [ebp - 0x323c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x323c]
mov dword [ebp - 0x3290], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x3290]
mov eax, dword [eax]
mov dword [ebp - 0x3294], eax
xor eax, eax
mov byte [ebp - 0x8f], al
lea ecx, [ebp - 0x8f]
call fcn.004150b4
mov dword [ebp - 0x3298], eax
mov eax, dword [ebp - 0x3298]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4bcb8f
mov eax, dword [ebp - 0x3298]
mov dword [ebp - 0x329c], eax
and dword [ebp - 0x32a0], 0
jmp 0x4bbb1d
cmp dword [ebp - 0x32a0], 1
jae 0x4bcb8f
movsx esi, byte [0x7cbbf2]
call fcn.005c4808
movsx eax, al
add esi, eax
call fcn.005c47ff
movsx eax, al
shl eax, 3
movsx ecx, byte [0x7cd83c]
imul eax, ecx
add esi, eax
call fcn.005c4811
movsx eax, al
sub esi, eax
je 0x4bbde7
xor eax, eax
je 0x4bbb67
movsx esi, byte [0x7cbbf8]
call fcn.005c480b
movsx eax, al
add esi, eax
call fcn.005c47fc
movsx eax, al
imul edi, eax, 9
call fcn.005c47f6
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x7cbbf7]
mov eax, esi
xor edx, edx
div ecx
movsx ecx, byte [0x7cbbf0]
sub eax, ecx
je 0x4bc8cd
mov eax, dword [ebp - 0x3298]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x3298]
mov dword [ebp - 0x32ec], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x32ec]
mov eax, dword [eax]
mov dword [ebp - 0x32f0], eax
mov eax, dword [ebp - 0x3294]
mov dword [ebp - 0x3238], eax
cmp dword [ebp - 0x3238], 0
je 0x4bdcbb
xor eax, eax
mov byte [ebp - 0x90], al
lea ecx, [ebp - 0x90]
call fcn.00416058
mov dword [ebp - 0x32f4], eax
mov eax, dword [ebp - 0x32f4]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4bdc91
mov eax, dword [ebp - 0x32f4]
mov dword [ebp - 0x32f8], eax
and dword [ebp - 0x32fc], 0
jmp 0x4bcc1f
cmp dword [ebp - 0x32fc], 1
jae 0x4bdc91
mov eax, dword [ebp - 0x32f4]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x32f4]
mov dword [ebp - 0x3348], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x3348]
mov eax, dword [eax]
mov dword [ebp - 0x32f0], eax
mov eax, dword [ebp - 0x2c20]
cdq
mov ecx, dword [ebp - 0x454]
add ecx, 0x18
sub eax, dword [ecx + 0x1c]
mov dword [ebp - 0x334c], eax
xor eax, eax
mov byte [ebp - 0x91], al
lea ecx, [ebp - 0x91]
call fcn.00419016
mov dword [ebp - 0x3350], eax
mov eax, dword [ebp - 0x3350]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4bed93
mov eax, dword [ebp - 0x3350]
mov dword [ebp - 0x3354], eax
and dword [ebp - 0x3358], 0
jmp 0x4bdd21
cmp dword [ebp - 0x3358], 1
jae 0x4bed93
mov eax, dword [ebp - 0x3350]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x3350]
mov dword [ebp - 0x33a4], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x33a4]
mov eax, dword [eax]
mov dword [ebp - 0x33a8], eax
xor eax, eax
mov byte [ebp - 0x92], al
lea ecx, [ebp - 0x92]
call fcn.004190b2
mov dword [ebp - 0x33ac], eax
mov eax, dword [ebp - 0x33ac]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4bfe7c
mov eax, dword [ebp - 0x33ac]
mov dword [ebp - 0x33b0], eax
and dword [ebp - 0x33b4], 0
jmp 0x4bee0a
mov eax, dword [ebp - 0x33ac]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x33ac]
mov dword [ebp - 0x3400], eax
push 4
pop eax
imul eax, eax, 0
add eax, dword [ebp - 0x3400]
mov eax, dword [eax]
mov dword [ebp - 0x3404], eax
xor eax, eax
mov byte [ebp - 0x93], al
lea ecx, [ebp - 0x93]
call fcn.00419ce2
mov dword [ebp - 0x3408], eax
mov eax, dword [ebp - 0x3408]
movzx eax, byte [eax + 4]
test eax, eax
jne 0x4c0f65
pop edi
pop esi
pop ebx
leave
ret