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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x16be0
call fcn.005cebd0
push ebx
push esi
push edi
xor eax, eax
mov byte [ebp - 1], al
lea ecx, [ebp - 1]
call fcn.00425320
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x426460
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], 0
jmp 0x4253ac
mov ecx, dword [ebp - 0x188]
add ecx, 1
mov dword [ebp - 0x188], ecx
cmp dword [ebp - 0x188], 1
jae 0x426460
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x425681
xor eax, eax
je 0x4253f6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x425432
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726438]
movsd qword [ebp - 0x86e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4255d2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4255d2
mov dword [ebp - 0x18c], 0
jmp 0x4254b1
cmp dword [ebp - 0x18c], 9
jae 0x4255cd
cvtsi2sd xmm0, dword [ebp - 0x18c]
movsd xmm1, qword [ebp - 0x86e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x425520
mov ecx, dword [ebp - 0x18c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x86e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86e0], xmm1
jmp 0x42541c
cvtsi2sd xmm0, dword [ebp - 0x18c]
movsd xmm1, qword [ebp - 0x86e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x86f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42557d
mov eax, dword [ebp - 0x18c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x86e0], xmm1
jmp 0x425596
mov ecx, 1
test ecx, ecx
je 0x425592
jmp 0x42564f
jmp 0x4255b9
cvtsi2sd xmm0, dword [ebp - 0x18c]
movsd xmm1, qword [ebp - 0x86e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x190], edx
jmp 0x425659
xor eax, eax
je 0x4255c3
jmp 0x4255d2
jmp 0x42541c
jmp 0x42541c
mov ecx, 6
test ecx, ecx
je 0x42564f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x194], eax
cvtsi2sd xmm0, dword [ebp - 0x194]
mov eax, dword [ebp - 0x194]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x86e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x190], ecx
jmp 0x425659
mov dword [ebp - 0x190], 2
mov edx, dword [ebp - 0x188]
shl edx, 2
add edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x190]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x188]
shl ecx, 2
add ecx, dword [ebp - 0x184]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x426193
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42598e
xor eax, eax
je 0x425703
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42573f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726430]
movsd qword [ebp - 0x86f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4258df
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4258df
mov dword [ebp - 0x198], 0
jmp 0x4257be
cmp dword [ebp - 0x198], 9
jae 0x4258da
cvtsi2sd xmm0, dword [ebp - 0x198]
movsd xmm1, qword [ebp - 0x86f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8700], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8700]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42582d
mov ecx, dword [ebp - 0x198]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x86f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86f8], xmm1
jmp 0x425729
cvtsi2sd xmm0, dword [ebp - 0x198]
movsd xmm1, qword [ebp - 0x86f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8708], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8708]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42588a
mov eax, dword [ebp - 0x198]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x86f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x86f8], xmm1
jmp 0x4258a3
mov ecx, 1
test ecx, ecx
je 0x42589f
jmp 0x42595c
jmp 0x4258c6
cvtsi2sd xmm0, dword [ebp - 0x198]
movsd xmm1, qword [ebp - 0x86f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19c], edx
jmp 0x425966
xor eax, eax
je 0x4258d0
jmp 0x4258df
jmp 0x425729
jmp 0x425729
mov ecx, 6
test ecx, ecx
je 0x42595c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a0], eax
cvtsi2sd xmm0, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x86f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19c], ecx
jmp 0x425966
mov dword [ebp - 0x19c], 2
mov edx, dword [ebp - 0x188]
shl edx, 2
add edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x19c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x188]
shl ecx, 2
add ecx, dword [ebp - 0x184]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x425c56
xor eax, eax
je 0x4259cb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x425a07
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726428]
movsd qword [ebp - 0x8710], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x425ba7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x425ba7
mov dword [ebp - 0x1a4], 0
jmp 0x425a86
cmp dword [ebp - 0x1a4], 9
jae 0x425ba2
cvtsi2sd xmm0, dword [ebp - 0x1a4]
movsd xmm1, qword [ebp - 0x8710]
addsd xmm1, xmm0
movsd qword [ebp - 0x8718], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x425af5
mov ecx, dword [ebp - 0x1a4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8710]
addsd xmm1, xmm0
movsd qword [ebp - 0x8710], xmm1
jmp 0x4259f1
cvtsi2sd xmm0, dword [ebp - 0x1a4]
movsd xmm1, qword [ebp - 0x8710]
addsd xmm1, xmm0
movsd qword [ebp - 0x8720], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8720]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x425b52
mov eax, dword [ebp - 0x1a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8710]
addsd xmm1, xmm0
movsd qword [ebp - 0x8710], xmm1
jmp 0x425b6b
mov ecx, 1
test ecx, ecx
je 0x425b67
jmp 0x425c24
jmp 0x425b8e
cvtsi2sd xmm0, dword [ebp - 0x1a4]
movsd xmm1, qword [ebp - 0x8710]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a8], edx
jmp 0x425c2e
xor eax, eax
je 0x425b98
jmp 0x425ba7
jmp 0x4259f1
jmp 0x4259f1
mov ecx, 6
test ecx, ecx
je 0x425c24
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ac], eax
cvtsi2sd xmm0, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8710]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a8], ecx
jmp 0x425c2e
mov dword [ebp - 0x1a8], 2
mov edx, dword [ebp - 0x188]
shl edx, 2
add edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x188]
shl ecx, 2
add ecx, dword [ebp - 0x184]
mov dword [ecx], eax
mov edx, dword [ebp - 0x188]
add edx, 0xffffff9e
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8728], xmm0
xor eax, eax
je 0x425c70
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x425cac
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8728]
movsd qword [ebp - 0x8730], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x425e4c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x425e4c
mov dword [ebp - 0x1b0], 0
jmp 0x425d2b
cmp dword [ebp - 0x1b0], 9
jae 0x425e47
cvtsi2sd xmm0, dword [ebp - 0x1b0]
movsd xmm1, qword [ebp - 0x8730]
addsd xmm1, xmm0
movsd qword [ebp - 0x8738], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x425d9a
mov ecx, dword [ebp - 0x1b0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8730]
addsd xmm1, xmm0
movsd qword [ebp - 0x8730], xmm1
jmp 0x425c96
cvtsi2sd xmm0, dword [ebp - 0x1b0]
movsd xmm1, qword [ebp - 0x8730]
addsd xmm1, xmm0
movsd qword [ebp - 0x8740], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8740]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x425df7
mov eax, dword [ebp - 0x1b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8730]
addsd xmm1, xmm0
movsd qword [ebp - 0x8730], xmm1
jmp 0x425e10
mov ecx, 1
test ecx, ecx
je 0x425e0c
jmp 0x425ec9
jmp 0x425e33
cvtsi2sd xmm0, dword [ebp - 0x1b0]
movsd xmm1, qword [ebp - 0x8730]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b4], edx
jmp 0x425ed3
xor eax, eax
je 0x425e3d
jmp 0x425e4c
jmp 0x425c96
jmp 0x425c96
mov ecx, 6
test ecx, ecx
je 0x425ec9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b8], eax
cvtsi2sd xmm0, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8730]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b4], ecx
jmp 0x425ed3
mov dword [ebp - 0x1b4], 2
mov edx, dword [ebp - 0x188]
add edx, 0xffffff9e
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8748], xmm0
xor eax, eax
je 0x425eed
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x425f29
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8748]
movsd qword [ebp - 0x8750], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4260c9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4260c9
mov dword [ebp - 0x1bc], 0
jmp 0x425fa8
cmp dword [ebp - 0x1bc], 9
jae 0x4260c4
cvtsi2sd xmm0, dword [ebp - 0x1bc]
movsd xmm1, qword [ebp - 0x8750]
addsd xmm1, xmm0
movsd qword [ebp - 0x8758], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426017
mov ecx, dword [ebp - 0x1bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8750]
addsd xmm1, xmm0
movsd qword [ebp - 0x8750], xmm1
jmp 0x425f13
cvtsi2sd xmm0, dword [ebp - 0x1bc]
movsd xmm1, qword [ebp - 0x8750]
addsd xmm1, xmm0
movsd qword [ebp - 0x8760], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8760]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426074
mov eax, dword [ebp - 0x1bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8750]
addsd xmm1, xmm0
movsd qword [ebp - 0x8750], xmm1
jmp 0x42608d
mov ecx, 1
test ecx, ecx
je 0x426089
jmp 0x426146
jmp 0x4260b0
cvtsi2sd xmm0, dword [ebp - 0x1bc]
movsd xmm1, qword [ebp - 0x8750]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c0], edx
jmp 0x426150
xor eax, eax
je 0x4260ba
jmp 0x4260c9
jmp 0x425f13
jmp 0x425f13
mov ecx, 6
test ecx, ecx
je 0x426146
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c4], eax
cvtsi2sd xmm0, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8750]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c0], ecx
jmp 0x426150
mov dword [ebp - 0x1c0], 2
mov edx, dword [ebp - 0x188]
shl edx, 2
add edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1b4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x188]
shl ecx, 2
add ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x1c0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x188]
shl ecx, 2
add ecx, dword [ebp - 0x184]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42645b
xor eax, eax
je 0x4261d0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42620c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x8768], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4263ac
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4263ac
mov dword [ebp - 0x1c8], 0
jmp 0x42628b
cmp dword [ebp - 0x1c8], 9
jae 0x4263a7
cvtsi2sd xmm0, dword [ebp - 0x1c8]
movsd xmm1, qword [ebp - 0x8768]
addsd xmm1, xmm0
movsd qword [ebp - 0x8770], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8770]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4262fa
mov ecx, dword [ebp - 0x1c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8768]
addsd xmm1, xmm0
movsd qword [ebp - 0x8768], xmm1
jmp 0x4261f6
cvtsi2sd xmm0, dword [ebp - 0x1c8]
movsd xmm1, qword [ebp - 0x8768]
addsd xmm1, xmm0
movsd qword [ebp - 0x8778], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426357
mov eax, dword [ebp - 0x1c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8768]
addsd xmm1, xmm0
movsd qword [ebp - 0x8768], xmm1
jmp 0x426370
mov ecx, 1
test ecx, ecx
je 0x42636c
jmp 0x426429
jmp 0x426393
cvtsi2sd xmm0, dword [ebp - 0x1c8]
movsd xmm1, qword [ebp - 0x8768]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1cc], edx
jmp 0x426433
xor eax, eax
je 0x42639d
jmp 0x4263ac
jmp 0x4261f6
jmp 0x4261f6
mov ecx, 6
test ecx, ecx
je 0x426429
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d0], eax
cvtsi2sd xmm0, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8768]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1cc], ecx
jmp 0x426433
mov dword [ebp - 0x1cc], 2
mov edx, dword [ebp - 0x188]
shl edx, 2
add edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x188]
shl ecx, 2
add ecx, dword [ebp - 0x184]
mov dword [ecx], eax
jmp 0x42539d
mov edx, dword [ebp - 0x180]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], edx
xor eax, eax
mov byte [ebp - 2], al
lea ecx, [ebp - 2]
call fcn.004252f0
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x427599
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e8], 0
jmp 0x4264e5
mov ecx, dword [ebp - 0x1e8]
add ecx, 1
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1e8], 1
jae 0x427599
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4267ba
xor eax, eax
je 0x42652f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42656b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726430]
movsd qword [ebp - 0x8780], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42670b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42670b
mov dword [ebp - 0x1ec], 0
jmp 0x4265ea
cmp dword [ebp - 0x1ec], 9
jae 0x426706
cvtsi2sd xmm0, dword [ebp - 0x1ec]
movsd xmm1, qword [ebp - 0x8780]
addsd xmm1, xmm0
movsd qword [ebp - 0x8788], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8788]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426659
mov ecx, dword [ebp - 0x1ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8780]
addsd xmm1, xmm0
movsd qword [ebp - 0x8780], xmm1
jmp 0x426555
cvtsi2sd xmm0, dword [ebp - 0x1ec]
movsd xmm1, qword [ebp - 0x8780]
addsd xmm1, xmm0
movsd qword [ebp - 0x8790], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8790]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4266b6
mov eax, dword [ebp - 0x1ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8780]
addsd xmm1, xmm0
movsd qword [ebp - 0x8780], xmm1
jmp 0x4266cf
mov ecx, 1
test ecx, ecx
je 0x4266cb
jmp 0x426788
jmp 0x4266f2
cvtsi2sd xmm0, dword [ebp - 0x1ec]
movsd xmm1, qword [ebp - 0x8780]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f0], edx
jmp 0x426792
xor eax, eax
je 0x4266fc
jmp 0x42670b
jmp 0x426555
jmp 0x426555
mov ecx, 6
test ecx, ecx
je 0x426788
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f4], eax
cvtsi2sd xmm0, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8780]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f0], ecx
jmp 0x426792
mov dword [ebp - 0x1f0], 2
mov edx, dword [ebp - 0x1e8]
shl edx, 2
add edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x1f0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e8]
shl ecx, 2
add ecx, dword [ebp - 0x1e4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4272cc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x426ac7
xor eax, eax
je 0x42683c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x426878
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726428]
movsd qword [ebp - 0x8798], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x426a18
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x426a18
mov dword [ebp - 0x1f8], 0
jmp 0x4268f7
cmp dword [ebp - 0x1f8], 9
jae 0x426a13
cvtsi2sd xmm0, dword [ebp - 0x1f8]
movsd xmm1, qword [ebp - 0x8798]
addsd xmm1, xmm0
movsd qword [ebp - 0x87a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426966
mov ecx, dword [ebp - 0x1f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8798]
addsd xmm1, xmm0
movsd qword [ebp - 0x8798], xmm1
jmp 0x426862
cvtsi2sd xmm0, dword [ebp - 0x1f8]
movsd xmm1, qword [ebp - 0x8798]
addsd xmm1, xmm0
movsd qword [ebp - 0x87a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x87a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4269c3
mov eax, dword [ebp - 0x1f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8798]
addsd xmm1, xmm0
movsd qword [ebp - 0x8798], xmm1
jmp 0x4269dc
mov ecx, 1
test ecx, ecx
je 0x4269d8
jmp 0x426a95
jmp 0x4269ff
cvtsi2sd xmm0, dword [ebp - 0x1f8]
movsd xmm1, qword [ebp - 0x8798]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1fc], edx
jmp 0x426a9f
xor eax, eax
je 0x426a09
jmp 0x426a18
jmp 0x426862
jmp 0x426862
mov ecx, 6
test ecx, ecx
je 0x426a95
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x200], eax
cvtsi2sd xmm0, dword [ebp - 0x200]
mov eax, dword [ebp - 0x200]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8798]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1fc], ecx
jmp 0x426a9f
mov dword [ebp - 0x1fc], 2
mov edx, dword [ebp - 0x1e8]
shl edx, 2
add edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x1fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e8]
shl ecx, 2
add ecx, dword [ebp - 0x1e4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x426d8f
xor eax, eax
je 0x426b04
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x426b40
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x87b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x426ce0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x426ce0
mov dword [ebp - 0x204], 0
jmp 0x426bbf
cmp dword [ebp - 0x204], 9
jae 0x426cdb
cvtsi2sd xmm0, dword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x87b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426c2e
mov ecx, dword [ebp - 0x204]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x87b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87b0], xmm1
jmp 0x426b2a
cvtsi2sd xmm0, dword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x87b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x87c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426c8b
mov eax, dword [ebp - 0x204]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87b0], xmm1
jmp 0x426ca4
mov ecx, 1
test ecx, ecx
je 0x426ca0
jmp 0x426d5d
jmp 0x426cc7
cvtsi2sd xmm0, dword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x87b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x208], edx
jmp 0x426d67
xor eax, eax
je 0x426cd1
jmp 0x426ce0
jmp 0x426b2a
jmp 0x426b2a
mov ecx, 6
test ecx, ecx
je 0x426d5d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20c], eax
cvtsi2sd xmm0, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x20c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x87b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x208], ecx
jmp 0x426d67
mov dword [ebp - 0x208], 2
mov edx, dword [ebp - 0x1e8]
shl edx, 2
add edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x208]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e8]
shl ecx, 2
add ecx, dword [ebp - 0x1e4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e8]
add edx, 0xffffff9f
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x87c8], xmm0
xor eax, eax
je 0x426da9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x426de5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x87c8]
movsd qword [ebp - 0x87d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x426f85
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x426f85
mov dword [ebp - 0x210], 0
jmp 0x426e64
cmp dword [ebp - 0x210], 9
jae 0x426f80
cvtsi2sd xmm0, dword [ebp - 0x210]
movsd xmm1, qword [ebp - 0x87d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426ed3
mov ecx, dword [ebp - 0x210]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x87d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87d0], xmm1
jmp 0x426dcf
cvtsi2sd xmm0, dword [ebp - 0x210]
movsd xmm1, qword [ebp - 0x87d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x87e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x426f30
mov eax, dword [ebp - 0x210]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87d0], xmm1
jmp 0x426f49
mov ecx, 1
test ecx, ecx
je 0x426f45
jmp 0x427002
jmp 0x426f6c
cvtsi2sd xmm0, dword [ebp - 0x210]
movsd xmm1, qword [ebp - 0x87d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x214], edx
jmp 0x42700c
xor eax, eax
je 0x426f76
jmp 0x426f85
jmp 0x426dcf
jmp 0x426dcf
mov ecx, 6
test ecx, ecx
je 0x427002
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x218], eax
cvtsi2sd xmm0, dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x87d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x214], ecx
jmp 0x42700c
mov dword [ebp - 0x214], 2
mov edx, dword [ebp - 0x1e8]
add edx, 0xffffff9f
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x87e8], xmm0
xor eax, eax
je 0x427026
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x427062
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x87e8]
movsd qword [ebp - 0x87f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x427202
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x427202
mov dword [ebp - 0x21c], 0
jmp 0x4270e1
cmp dword [ebp - 0x21c], 9
jae 0x4271fd
cvtsi2sd xmm0, dword [ebp - 0x21c]
movsd xmm1, qword [ebp - 0x87f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427150
mov ecx, dword [ebp - 0x21c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x87f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87f0], xmm1
jmp 0x42704c
cvtsi2sd xmm0, dword [ebp - 0x21c]
movsd xmm1, qword [ebp - 0x87f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8800], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8800]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4271ad
mov eax, dword [ebp - 0x21c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x87f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x87f0], xmm1
jmp 0x4271c6
mov ecx, 1
test ecx, ecx
je 0x4271c2
jmp 0x42727f
jmp 0x4271e9
cvtsi2sd xmm0, dword [ebp - 0x21c]
movsd xmm1, qword [ebp - 0x87f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x220], edx
jmp 0x427289
xor eax, eax
je 0x4271f3
jmp 0x427202
jmp 0x42704c
jmp 0x42704c
mov ecx, 6
test ecx, ecx
je 0x42727f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x224], eax
cvtsi2sd xmm0, dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x87f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x220], ecx
jmp 0x427289
mov dword [ebp - 0x220], 2
mov edx, dword [ebp - 0x1e8]
shl edx, 2
add edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x214]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1e8]
shl ecx, 2
add ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x220]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1e8]
shl ecx, 2
add ecx, dword [ebp - 0x1e4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x427594
xor eax, eax
je 0x427309
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x427345
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8808], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4274e5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4274e5
mov dword [ebp - 0x228], 0
jmp 0x4273c4
cmp dword [ebp - 0x228], 9
jae 0x4274e0
cvtsi2sd xmm0, dword [ebp - 0x228]
movsd xmm1, qword [ebp - 0x8808]
addsd xmm1, xmm0
movsd qword [ebp - 0x8810], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8810]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427433
mov ecx, dword [ebp - 0x228]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8808]
addsd xmm1, xmm0
movsd qword [ebp - 0x8808], xmm1
jmp 0x42732f
cvtsi2sd xmm0, dword [ebp - 0x228]
movsd xmm1, qword [ebp - 0x8808]
addsd xmm1, xmm0
movsd qword [ebp - 0x8818], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427490
mov eax, dword [ebp - 0x228]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8808]
addsd xmm1, xmm0
movsd qword [ebp - 0x8808], xmm1
jmp 0x4274a9
mov ecx, 1
test ecx, ecx
je 0x4274a5
jmp 0x427562
jmp 0x4274cc
cvtsi2sd xmm0, dword [ebp - 0x228]
movsd xmm1, qword [ebp - 0x8808]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22c], edx
jmp 0x42756c
xor eax, eax
je 0x4274d6
jmp 0x4274e5
jmp 0x42732f
jmp 0x42732f
mov ecx, 6
test ecx, ecx
je 0x427562
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x230], eax
cvtsi2sd xmm0, dword [ebp - 0x230]
mov eax, dword [ebp - 0x230]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8808]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22c], ecx
jmp 0x42756c
mov dword [ebp - 0x22c], 2
mov edx, dword [ebp - 0x1e8]
shl edx, 2
add edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x22c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e8]
shl ecx, 2
add ecx, dword [ebp - 0x1e4]
mov dword [ecx], eax
jmp 0x4264d6
mov edx, dword [ebp - 0x1e0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x238], ecx
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x23c], edx
xor eax, eax
mov byte [ebp - 3], al
lea ecx, [ebp - 3]
call fcn.004252c0
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4286d2
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x248], 0
jmp 0x42761e
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x248], ecx
cmp dword [ebp - 0x248], 1
jae 0x4286d2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4278f3
xor eax, eax
je 0x427668
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4276a4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726430]
movsd qword [ebp - 0x8820], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x427844
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x427844
mov dword [ebp - 0x24c], 0
jmp 0x427723
cmp dword [ebp - 0x24c], 9
jae 0x42783f
cvtsi2sd xmm0, dword [ebp - 0x24c]
movsd xmm1, qword [ebp - 0x8820]
addsd xmm1, xmm0
movsd qword [ebp - 0x8828], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8828]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427792
mov ecx, dword [ebp - 0x24c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8820]
addsd xmm1, xmm0
movsd qword [ebp - 0x8820], xmm1
jmp 0x42768e
cvtsi2sd xmm0, dword [ebp - 0x24c]
movsd xmm1, qword [ebp - 0x8820]
addsd xmm1, xmm0
movsd qword [ebp - 0x8830], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8830]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4277ef
mov eax, dword [ebp - 0x24c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8820]
addsd xmm1, xmm0
movsd qword [ebp - 0x8820], xmm1
jmp 0x427808
mov ecx, 1
test ecx, ecx
je 0x427804
jmp 0x4278c1
jmp 0x42782b
cvtsi2sd xmm0, dword [ebp - 0x24c]
movsd xmm1, qword [ebp - 0x8820]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x250], edx
jmp 0x4278cb
xor eax, eax
je 0x427835
jmp 0x427844
jmp 0x42768e
jmp 0x42768e
mov ecx, 6
test ecx, ecx
je 0x4278c1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x254], eax
cvtsi2sd xmm0, dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8820]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x250], ecx
jmp 0x4278cb
mov dword [ebp - 0x250], 2
mov edx, dword [ebp - 0x248]
shl edx, 2
add edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x250]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x248]
shl ecx, 2
add ecx, dword [ebp - 0x244]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x428405
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x427c00
xor eax, eax
je 0x427975
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4279b1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726428]
movsd qword [ebp - 0x8838], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x427b51
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x427b51
mov dword [ebp - 0x258], 0
jmp 0x427a30
cmp dword [ebp - 0x258], 9
jae 0x427b4c
cvtsi2sd xmm0, dword [ebp - 0x258]
movsd xmm1, qword [ebp - 0x8838]
addsd xmm1, xmm0
movsd qword [ebp - 0x8840], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8840]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427a9f
mov ecx, dword [ebp - 0x258]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8838]
addsd xmm1, xmm0
movsd qword [ebp - 0x8838], xmm1
jmp 0x42799b
cvtsi2sd xmm0, dword [ebp - 0x258]
movsd xmm1, qword [ebp - 0x8838]
addsd xmm1, xmm0
movsd qword [ebp - 0x8848], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8848]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427afc
mov eax, dword [ebp - 0x258]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8838]
addsd xmm1, xmm0
movsd qword [ebp - 0x8838], xmm1
jmp 0x427b15
mov ecx, 1
test ecx, ecx
je 0x427b11
jmp 0x427bce
jmp 0x427b38
cvtsi2sd xmm0, dword [ebp - 0x258]
movsd xmm1, qword [ebp - 0x8838]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25c], edx
jmp 0x427bd8
xor eax, eax
je 0x427b42
jmp 0x427b51
jmp 0x42799b
jmp 0x42799b
mov ecx, 6
test ecx, ecx
je 0x427bce
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x260], eax
cvtsi2sd xmm0, dword [ebp - 0x260]
mov eax, dword [ebp - 0x260]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8838]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25c], ecx
jmp 0x427bd8
mov dword [ebp - 0x25c], 2
mov edx, dword [ebp - 0x248]
shl edx, 2
add edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x25c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x248]
shl ecx, 2
add ecx, dword [ebp - 0x244]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x427ec8
xor eax, eax
je 0x427c3d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x427c79
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x8850], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x427e19
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x427e19
mov dword [ebp - 0x264], 0
jmp 0x427cf8
cmp dword [ebp - 0x264], 9
jae 0x427e14
cvtsi2sd xmm0, dword [ebp - 0x264]
movsd xmm1, qword [ebp - 0x8850]
addsd xmm1, xmm0
movsd qword [ebp - 0x8858], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427d67
mov ecx, dword [ebp - 0x264]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8850]
addsd xmm1, xmm0
movsd qword [ebp - 0x8850], xmm1
jmp 0x427c63
cvtsi2sd xmm0, dword [ebp - 0x264]
movsd xmm1, qword [ebp - 0x8850]
addsd xmm1, xmm0
movsd qword [ebp - 0x8860], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8860]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x427dc4
mov eax, dword [ebp - 0x264]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8850]
addsd xmm1, xmm0
movsd qword [ebp - 0x8850], xmm1
jmp 0x427ddd
mov ecx, 1
test ecx, ecx
je 0x427dd9
jmp 0x427e96
jmp 0x427e00
cvtsi2sd xmm0, dword [ebp - 0x264]
movsd xmm1, qword [ebp - 0x8850]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x268], edx
jmp 0x427ea0
xor eax, eax
je 0x427e0a
jmp 0x427e19
jmp 0x427c63
jmp 0x427c63
mov ecx, 6
test ecx, ecx
je 0x427e96
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26c], eax
cvtsi2sd xmm0, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8850]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x268], ecx
jmp 0x427ea0
mov dword [ebp - 0x268], 2
mov edx, dword [ebp - 0x248]
shl edx, 2
add edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x268]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x248]
shl ecx, 2
add ecx, dword [ebp - 0x244]
mov dword [ecx], eax
mov edx, dword [ebp - 0x248]
add edx, 0xffffff9f
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8868], xmm0
xor eax, eax
je 0x427ee2
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x427f1e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8868]
movsd qword [ebp - 0x8870], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4280be
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4280be
mov dword [ebp - 0x270], 0
jmp 0x427f9d
cmp dword [ebp - 0x270], 9
jae 0x4280b9
cvtsi2sd xmm0, dword [ebp - 0x270]
movsd xmm1, qword [ebp - 0x8870]
addsd xmm1, xmm0
movsd qword [ebp - 0x8878], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42800c
mov ecx, dword [ebp - 0x270]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8870]
addsd xmm1, xmm0
movsd qword [ebp - 0x8870], xmm1
jmp 0x427f08
cvtsi2sd xmm0, dword [ebp - 0x270]
movsd xmm1, qword [ebp - 0x8870]
addsd xmm1, xmm0
movsd qword [ebp - 0x8880], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8880]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428069
mov eax, dword [ebp - 0x270]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8870]
addsd xmm1, xmm0
movsd qword [ebp - 0x8870], xmm1
jmp 0x428082
mov ecx, 1
test ecx, ecx
je 0x42807e
jmp 0x42813b
jmp 0x4280a5
cvtsi2sd xmm0, dword [ebp - 0x270]
movsd xmm1, qword [ebp - 0x8870]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x274], edx
jmp 0x428145
xor eax, eax
je 0x4280af
jmp 0x4280be
jmp 0x427f08
jmp 0x427f08
mov ecx, 6
test ecx, ecx
je 0x42813b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x278], eax
cvtsi2sd xmm0, dword [ebp - 0x278]
mov eax, dword [ebp - 0x278]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8870]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x274], ecx
jmp 0x428145
mov dword [ebp - 0x274], 2
mov edx, dword [ebp - 0x248]
add edx, 0xffffff9f
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8888], xmm0
xor eax, eax
je 0x42815f
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42819b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8888]
movsd qword [ebp - 0x8890], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42833b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42833b
mov dword [ebp - 0x27c], 0
jmp 0x42821a
cmp dword [ebp - 0x27c], 9
jae 0x428336
cvtsi2sd xmm0, dword [ebp - 0x27c]
movsd xmm1, qword [ebp - 0x8890]
addsd xmm1, xmm0
movsd qword [ebp - 0x8898], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428289
mov ecx, dword [ebp - 0x27c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8890]
addsd xmm1, xmm0
movsd qword [ebp - 0x8890], xmm1
jmp 0x428185
cvtsi2sd xmm0, dword [ebp - 0x27c]
movsd xmm1, qword [ebp - 0x8890]
addsd xmm1, xmm0
movsd qword [ebp - 0x88a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x88a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4282e6
mov eax, dword [ebp - 0x27c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8890]
addsd xmm1, xmm0
movsd qword [ebp - 0x8890], xmm1
jmp 0x4282ff
mov ecx, 1
test ecx, ecx
je 0x4282fb
jmp 0x4283b8
jmp 0x428322
cvtsi2sd xmm0, dword [ebp - 0x27c]
movsd xmm1, qword [ebp - 0x8890]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x280], edx
jmp 0x4283c2
xor eax, eax
je 0x42832c
jmp 0x42833b
jmp 0x428185
jmp 0x428185
mov ecx, 6
test ecx, ecx
je 0x4283b8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x284], eax
cvtsi2sd xmm0, dword [ebp - 0x284]
mov eax, dword [ebp - 0x284]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8890]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x280], ecx
jmp 0x4283c2
mov dword [ebp - 0x280], 2
mov edx, dword [ebp - 0x248]
shl edx, 2
add edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x274]
add eax, dword [edx]
mov ecx, dword [ebp - 0x248]
shl ecx, 2
add ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x280]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x248]
shl ecx, 2
add ecx, dword [ebp - 0x244]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4286cd
xor eax, eax
je 0x428442
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42847e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x88a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42861e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42861e
mov dword [ebp - 0x288], 0
jmp 0x4284fd
cmp dword [ebp - 0x288], 9
jae 0x428619
cvtsi2sd xmm0, dword [ebp - 0x288]
movsd xmm1, qword [ebp - 0x88a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42856c
mov ecx, dword [ebp - 0x288]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x88a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88a8], xmm1
jmp 0x428468
cvtsi2sd xmm0, dword [ebp - 0x288]
movsd xmm1, qword [ebp - 0x88a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x88b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4285c9
mov eax, dword [ebp - 0x288]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88a8], xmm1
jmp 0x4285e2
mov ecx, 1
test ecx, ecx
je 0x4285de
jmp 0x42869b
jmp 0x428605
cvtsi2sd xmm0, dword [ebp - 0x288]
movsd xmm1, qword [ebp - 0x88a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28c], edx
jmp 0x4286a5
xor eax, eax
je 0x42860f
jmp 0x42861e
jmp 0x428468
jmp 0x428468
mov ecx, 6
test ecx, ecx
je 0x42869b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x290], eax
cvtsi2sd xmm0, dword [ebp - 0x290]
mov eax, dword [ebp - 0x290]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x88a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28c], ecx
jmp 0x4286a5
mov dword [ebp - 0x28c], 2
mov edx, dword [ebp - 0x248]
shl edx, 2
add edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x28c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x248]
shl ecx, 2
add ecx, dword [ebp - 0x244]
mov dword [ecx], eax
jmp 0x42760f
mov edx, dword [ebp - 0x240]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0
je 0x42985d
xor ecx, ecx
mov byte [ebp - 4], cl
lea ecx, [ebp - 4]
call fcn.00425290
mov dword [ebp - 0x2a0], eax
mov edx, dword [ebp - 0x2a0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x429824
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a8], 0
jmp 0x428770
mov edx, dword [ebp - 0x2a8]
add edx, 1
mov dword [ebp - 0x2a8], edx
cmp dword [ebp - 0x2a8], 1
jae 0x429824
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x428a45
xor eax, eax
je 0x4287ba
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4287f6
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726428]
movsd qword [ebp - 0x88c0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x428996
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x428996
mov dword [ebp - 0x2ac], 0
jmp 0x428875
cmp dword [ebp - 0x2ac], 9
jae 0x428991
cvtsi2sd xmm0, dword [ebp - 0x2ac]
movsd xmm1, qword [ebp - 0x88c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4288e4
mov ecx, dword [ebp - 0x2ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x88c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88c0], xmm1
jmp 0x4287e0
cvtsi2sd xmm0, dword [ebp - 0x2ac]
movsd xmm1, qword [ebp - 0x88c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x88d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428941
mov eax, dword [ebp - 0x2ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88c0], xmm1
jmp 0x42895a
mov ecx, 1
test ecx, ecx
je 0x428956
jmp 0x428a13
jmp 0x42897d
cvtsi2sd xmm0, dword [ebp - 0x2ac]
movsd xmm1, qword [ebp - 0x88c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b0], edx
jmp 0x428a1d
xor eax, eax
je 0x428987
jmp 0x428996
jmp 0x4287e0
jmp 0x4287e0
mov ecx, 6
test ecx, ecx
je 0x428a13
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b4], eax
cvtsi2sd xmm0, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x88c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b0], ecx
jmp 0x428a1d
mov dword [ebp - 0x2b0], 2
mov edx, dword [ebp - 0x2a8]
shl edx, 2
add edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2b0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a8]
shl ecx, 2
add ecx, dword [ebp - 0x2a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x429557
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x428d52
xor eax, eax
je 0x428ac7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x428b03
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x88d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x428ca3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x428ca3
mov dword [ebp - 0x2b8], 0
jmp 0x428b82
cmp dword [ebp - 0x2b8], 9
jae 0x428c9e
cvtsi2sd xmm0, dword [ebp - 0x2b8]
movsd xmm1, qword [ebp - 0x88d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428bf1
mov ecx, dword [ebp - 0x2b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x88d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88d8], xmm1
jmp 0x428aed
cvtsi2sd xmm0, dword [ebp - 0x2b8]
movsd xmm1, qword [ebp - 0x88d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x88e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428c4e
mov eax, dword [ebp - 0x2b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x88d8], xmm1
jmp 0x428c67
mov ecx, 1
test ecx, ecx
je 0x428c63
jmp 0x428d20
jmp 0x428c8a
cvtsi2sd xmm0, dword [ebp - 0x2b8]
movsd xmm1, qword [ebp - 0x88d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2bc], edx
jmp 0x428d2a
xor eax, eax
je 0x428c94
jmp 0x428ca3
jmp 0x428aed
jmp 0x428aed
mov ecx, 6
test ecx, ecx
je 0x428d20
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c0], eax
cvtsi2sd xmm0, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x88d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2bc], ecx
jmp 0x428d2a
mov dword [ebp - 0x2bc], 2
mov edx, dword [ebp - 0x2a8]
shl edx, 2
add edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a8]
shl ecx, 2
add ecx, dword [ebp - 0x2a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42901a
xor eax, eax
je 0x428d8f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x428dcb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x88f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x428f6b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x428f6b
mov dword [ebp - 0x2c4], 0
jmp 0x428e4a
cmp dword [ebp - 0x2c4], 9
jae 0x428f66
cvtsi2sd xmm0, dword [ebp - 0x2c4]
movsd xmm1, qword [ebp - 0x88f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428eb9
mov ecx, dword [ebp - 0x2c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x88f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88f0], xmm1
jmp 0x428db5
cvtsi2sd xmm0, dword [ebp - 0x2c4]
movsd xmm1, qword [ebp - 0x88f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8900], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8900]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428f16
mov eax, dword [ebp - 0x2c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x88f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x88f0], xmm1
jmp 0x428f2f
mov ecx, 1
test ecx, ecx
je 0x428f2b
jmp 0x428fe8
jmp 0x428f52
cvtsi2sd xmm0, dword [ebp - 0x2c4]
movsd xmm1, qword [ebp - 0x88f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c8], edx
jmp 0x428ff2
xor eax, eax
je 0x428f5c
jmp 0x428f6b
jmp 0x428db5
jmp 0x428db5
mov ecx, 6
test ecx, ecx
je 0x428fe8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2cc], eax
cvtsi2sd xmm0, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x88f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c8], ecx
jmp 0x428ff2
mov dword [ebp - 0x2c8], 2
mov edx, dword [ebp - 0x2a8]
shl edx, 2
add edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a8]
shl ecx, 2
add ecx, dword [ebp - 0x2a4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a8]
add edx, 0xffffffa0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8908], xmm0
xor eax, eax
je 0x429034
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x429070
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8908]
movsd qword [ebp - 0x8910], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x429210
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x429210
mov dword [ebp - 0x2d0], 0
jmp 0x4290ef
cmp dword [ebp - 0x2d0], 9
jae 0x42920b
cvtsi2sd xmm0, dword [ebp - 0x2d0]
movsd xmm1, qword [ebp - 0x8910]
addsd xmm1, xmm0
movsd qword [ebp - 0x8918], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42915e
mov ecx, dword [ebp - 0x2d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8910]
addsd xmm1, xmm0
movsd qword [ebp - 0x8910], xmm1
jmp 0x42905a
cvtsi2sd xmm0, dword [ebp - 0x2d0]
movsd xmm1, qword [ebp - 0x8910]
addsd xmm1, xmm0
movsd qword [ebp - 0x8920], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8920]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4291bb
mov eax, dword [ebp - 0x2d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8910]
addsd xmm1, xmm0
movsd qword [ebp - 0x8910], xmm1
jmp 0x4291d4
mov ecx, 1
test ecx, ecx
je 0x4291d0
jmp 0x42928d
jmp 0x4291f7
cvtsi2sd xmm0, dword [ebp - 0x2d0]
movsd xmm1, qword [ebp - 0x8910]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2d4], edx
jmp 0x429297
xor eax, eax
je 0x429201
jmp 0x429210
jmp 0x42905a
jmp 0x42905a
mov ecx, 6
test ecx, ecx
je 0x42928d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d8], eax
cvtsi2sd xmm0, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x2d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8910]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d4], ecx
jmp 0x429297
mov dword [ebp - 0x2d4], 2
mov edx, dword [ebp - 0x2a8]
add edx, 0xffffffa0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8928], xmm0
xor eax, eax
je 0x4292b1
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4292ed
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8928]
movsd qword [ebp - 0x8930], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42948d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42948d
mov dword [ebp - 0x2dc], 0
jmp 0x42936c
cmp dword [ebp - 0x2dc], 9
jae 0x429488
cvtsi2sd xmm0, dword [ebp - 0x2dc]
movsd xmm1, qword [ebp - 0x8930]
addsd xmm1, xmm0
movsd qword [ebp - 0x8938], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4293db
mov ecx, dword [ebp - 0x2dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8930]
addsd xmm1, xmm0
movsd qword [ebp - 0x8930], xmm1
jmp 0x4292d7
cvtsi2sd xmm0, dword [ebp - 0x2dc]
movsd xmm1, qword [ebp - 0x8930]
addsd xmm1, xmm0
movsd qword [ebp - 0x8940], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8940]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x429438
mov eax, dword [ebp - 0x2dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8930]
addsd xmm1, xmm0
movsd qword [ebp - 0x8930], xmm1
jmp 0x429451
mov ecx, 1
test ecx, ecx
je 0x42944d
jmp 0x42950a
jmp 0x429474
cvtsi2sd xmm0, dword [ebp - 0x2dc]
movsd xmm1, qword [ebp - 0x8930]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2e0], edx
jmp 0x429514
xor eax, eax
je 0x42947e
jmp 0x42948d
jmp 0x4292d7
jmp 0x4292d7
mov ecx, 6
test ecx, ecx
je 0x42950a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e4], eax
cvtsi2sd xmm0, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x2e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8930]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e0], ecx
jmp 0x429514
mov dword [ebp - 0x2e0], 2
mov edx, dword [ebp - 0x2a8]
shl edx, 2
add edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2d4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2a8]
shl ecx, 2
add ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2e0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2a8]
shl ecx, 2
add ecx, dword [ebp - 0x2a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42981f
xor eax, eax
je 0x429594
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4295d0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8948], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x429770
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x429770
mov dword [ebp - 0x2e8], 0
jmp 0x42964f
cmp dword [ebp - 0x2e8], 9
jae 0x42976b
cvtsi2sd xmm0, dword [ebp - 0x2e8]
movsd xmm1, qword [ebp - 0x8948]
addsd xmm1, xmm0
movsd qword [ebp - 0x8950], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8950]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4296be
mov ecx, dword [ebp - 0x2e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8948]
addsd xmm1, xmm0
movsd qword [ebp - 0x8948], xmm1
jmp 0x4295ba
cvtsi2sd xmm0, dword [ebp - 0x2e8]
movsd xmm1, qword [ebp - 0x8948]
addsd xmm1, xmm0
movsd qword [ebp - 0x8958], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42971b
mov eax, dword [ebp - 0x2e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8948]
addsd xmm1, xmm0
movsd qword [ebp - 0x8948], xmm1
jmp 0x429734
mov ecx, 1
test ecx, ecx
je 0x429730
jmp 0x4297ed
jmp 0x429757
cvtsi2sd xmm0, dword [ebp - 0x2e8]
movsd xmm1, qword [ebp - 0x8948]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ec], edx
jmp 0x4297f7
xor eax, eax
je 0x429761
jmp 0x429770
jmp 0x4295ba
jmp 0x4295ba
mov ecx, 6
test ecx, ecx
je 0x4297ed
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2f0], eax
cvtsi2sd xmm0, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8948]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ec], ecx
jmp 0x4297f7
mov dword [ebp - 0x2ec], 2
mov edx, dword [ebp - 0x2a8]
shl edx, 2
add edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a8]
shl ecx, 2
add ecx, dword [ebp - 0x2a4]
mov dword [ecx], eax
jmp 0x428761
mov edx, dword [ebp - 0x2a0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x2f4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x29c], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2fc], eax
xor ecx, ecx
mov byte [ebp - 5], cl
lea ecx, [ebp - 5]
call fcn.00425260
mov dword [ebp - 0x300], eax
mov edx, dword [ebp - 0x300]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x42a966
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x308], 0
jmp 0x4298b2
mov edx, dword [ebp - 0x308]
add edx, 1
mov dword [ebp - 0x308], edx
cmp dword [ebp - 0x308], 1
jae 0x42a966
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x429b87
xor eax, eax
je 0x4298fc
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x429938
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726428]
movsd qword [ebp - 0x8960], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x429ad8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x429ad8
mov dword [ebp - 0x30c], 0
jmp 0x4299b7
cmp dword [ebp - 0x30c], 9
jae 0x429ad3
cvtsi2sd xmm0, dword [ebp - 0x30c]
movsd xmm1, qword [ebp - 0x8960]
addsd xmm1, xmm0
movsd qword [ebp - 0x8968], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8968]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x429a26
mov ecx, dword [ebp - 0x30c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8960]
addsd xmm1, xmm0
movsd qword [ebp - 0x8960], xmm1
jmp 0x429922
cvtsi2sd xmm0, dword [ebp - 0x30c]
movsd xmm1, qword [ebp - 0x8960]
addsd xmm1, xmm0
movsd qword [ebp - 0x8970], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8970]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x429a83
mov eax, dword [ebp - 0x30c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8960]
addsd xmm1, xmm0
movsd qword [ebp - 0x8960], xmm1
jmp 0x429a9c
mov ecx, 1
test ecx, ecx
je 0x429a98
jmp 0x429b55
jmp 0x429abf
cvtsi2sd xmm0, dword [ebp - 0x30c]
movsd xmm1, qword [ebp - 0x8960]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x310], edx
jmp 0x429b5f
xor eax, eax
je 0x429ac9
jmp 0x429ad8
jmp 0x429922
jmp 0x429922
mov ecx, 6
test ecx, ecx
je 0x429b55
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x314], eax
cvtsi2sd xmm0, dword [ebp - 0x314]
mov eax, dword [ebp - 0x314]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8960]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x310], ecx
jmp 0x429b5f
mov dword [ebp - 0x310], 2
mov edx, dword [ebp - 0x308]
shl edx, 2
add edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x310]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x308]
shl ecx, 2
add ecx, dword [ebp - 0x304]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42a699
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x429e94
xor eax, eax
je 0x429c09
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x429c45
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x8978], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x429de5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x429de5
mov dword [ebp - 0x318], 0
jmp 0x429cc4
cmp dword [ebp - 0x318], 9
jae 0x429de0
cvtsi2sd xmm0, dword [ebp - 0x318]
movsd xmm1, qword [ebp - 0x8978]
addsd xmm1, xmm0
movsd qword [ebp - 0x8980], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8980]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x429d33
mov ecx, dword [ebp - 0x318]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8978]
addsd xmm1, xmm0
movsd qword [ebp - 0x8978], xmm1
jmp 0x429c2f
cvtsi2sd xmm0, dword [ebp - 0x318]
movsd xmm1, qword [ebp - 0x8978]
addsd xmm1, xmm0
movsd qword [ebp - 0x8988], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8988]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x429d90
mov eax, dword [ebp - 0x318]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8978]
addsd xmm1, xmm0
movsd qword [ebp - 0x8978], xmm1
jmp 0x429da9
mov ecx, 1
test ecx, ecx
je 0x429da5
jmp 0x429e62
jmp 0x429dcc
cvtsi2sd xmm0, dword [ebp - 0x318]
movsd xmm1, qword [ebp - 0x8978]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x31c], edx
jmp 0x429e6c
xor eax, eax
je 0x429dd6
jmp 0x429de5
jmp 0x429c2f
jmp 0x429c2f
mov ecx, 6
test ecx, ecx
je 0x429e62
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x320], eax
cvtsi2sd xmm0, dword [ebp - 0x320]
mov eax, dword [ebp - 0x320]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8978]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x31c], ecx
jmp 0x429e6c
mov dword [ebp - 0x31c], 2
mov edx, dword [ebp - 0x308]
shl edx, 2
add edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x31c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x308]
shl ecx, 2
add ecx, dword [ebp - 0x304]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42a15c
xor eax, eax
je 0x429ed1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x429f0d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8990], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42a0ad
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42a0ad
mov dword [ebp - 0x324], 0
jmp 0x429f8c
cmp dword [ebp - 0x324], 9
jae 0x42a0a8
cvtsi2sd xmm0, dword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x8990]
addsd xmm1, xmm0
movsd qword [ebp - 0x8998], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x429ffb
mov ecx, dword [ebp - 0x324]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8990]
addsd xmm1, xmm0
movsd qword [ebp - 0x8990], xmm1
jmp 0x429ef7
cvtsi2sd xmm0, dword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x8990]
addsd xmm1, xmm0
movsd qword [ebp - 0x89a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x89a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a058
mov eax, dword [ebp - 0x324]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8990]
addsd xmm1, xmm0
movsd qword [ebp - 0x8990], xmm1
jmp 0x42a071
mov ecx, 1
test ecx, ecx
je 0x42a06d
jmp 0x42a12a
jmp 0x42a094
cvtsi2sd xmm0, dword [ebp - 0x324]
movsd xmm1, qword [ebp - 0x8990]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x328], edx
jmp 0x42a134
xor eax, eax
je 0x42a09e
jmp 0x42a0ad
jmp 0x429ef7
jmp 0x429ef7
mov ecx, 6
test ecx, ecx
je 0x42a12a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x32c], eax
cvtsi2sd xmm0, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x32c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8990]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x328], ecx
jmp 0x42a134
mov dword [ebp - 0x328], 2
mov edx, dword [ebp - 0x308]
shl edx, 2
add edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x328]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x308]
shl ecx, 2
add ecx, dword [ebp - 0x304]
mov dword [ecx], eax
mov edx, dword [ebp - 0x308]
add edx, 0xffffffa0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x89a8], xmm0
xor eax, eax
je 0x42a176
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42a1b2
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x89a8]
movsd qword [ebp - 0x89b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42a352
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42a352
mov dword [ebp - 0x330], 0
jmp 0x42a231
cmp dword [ebp - 0x330], 9
jae 0x42a34d
cvtsi2sd xmm0, dword [ebp - 0x330]
movsd xmm1, qword [ebp - 0x89b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a2a0
mov ecx, dword [ebp - 0x330]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x89b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89b0], xmm1
jmp 0x42a19c
cvtsi2sd xmm0, dword [ebp - 0x330]
movsd xmm1, qword [ebp - 0x89b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x89c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a2fd
mov eax, dword [ebp - 0x330]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89b0], xmm1
jmp 0x42a316
mov ecx, 1
test ecx, ecx
je 0x42a312
jmp 0x42a3cf
jmp 0x42a339
cvtsi2sd xmm0, dword [ebp - 0x330]
movsd xmm1, qword [ebp - 0x89b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x334], edx
jmp 0x42a3d9
xor eax, eax
je 0x42a343
jmp 0x42a352
jmp 0x42a19c
jmp 0x42a19c
mov ecx, 6
test ecx, ecx
je 0x42a3cf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x338], eax
cvtsi2sd xmm0, dword [ebp - 0x338]
mov eax, dword [ebp - 0x338]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x89b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x334], ecx
jmp 0x42a3d9
mov dword [ebp - 0x334], 2
mov edx, dword [ebp - 0x308]
add edx, 0xffffffa0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x89c8], xmm0
xor eax, eax
je 0x42a3f3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42a42f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x89c8]
movsd qword [ebp - 0x89d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42a5cf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42a5cf
mov dword [ebp - 0x33c], 0
jmp 0x42a4ae
cmp dword [ebp - 0x33c], 9
jae 0x42a5ca
cvtsi2sd xmm0, dword [ebp - 0x33c]
movsd xmm1, qword [ebp - 0x89d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a51d
mov ecx, dword [ebp - 0x33c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x89d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89d0], xmm1
jmp 0x42a419
cvtsi2sd xmm0, dword [ebp - 0x33c]
movsd xmm1, qword [ebp - 0x89d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x89e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a57a
mov eax, dword [ebp - 0x33c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x89d0], xmm1
jmp 0x42a593
mov ecx, 1
test ecx, ecx
je 0x42a58f
jmp 0x42a64c
jmp 0x42a5b6
cvtsi2sd xmm0, dword [ebp - 0x33c]
movsd xmm1, qword [ebp - 0x89d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x340], edx
jmp 0x42a656
xor eax, eax
je 0x42a5c0
jmp 0x42a5cf
jmp 0x42a419
jmp 0x42a419
mov ecx, 6
test ecx, ecx
je 0x42a64c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x344], eax
cvtsi2sd xmm0, dword [ebp - 0x344]
mov eax, dword [ebp - 0x344]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x89d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x340], ecx
jmp 0x42a656
mov dword [ebp - 0x340], 2
mov edx, dword [ebp - 0x308]
shl edx, 2
add edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x334]
add eax, dword [edx]
mov ecx, dword [ebp - 0x308]
shl ecx, 2
add ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x340]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x308]
shl ecx, 2
add ecx, dword [ebp - 0x304]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42a961
xor eax, eax
je 0x42a6d6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42a712
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x89e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42a8b2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42a8b2
mov dword [ebp - 0x348], 0
jmp 0x42a791
cmp dword [ebp - 0x348], 9
jae 0x42a8ad
cvtsi2sd xmm0, dword [ebp - 0x348]
movsd xmm1, qword [ebp - 0x89e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a800
mov ecx, dword [ebp - 0x348]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x89e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89e8], xmm1
jmp 0x42a6fc
cvtsi2sd xmm0, dword [ebp - 0x348]
movsd xmm1, qword [ebp - 0x89e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x89f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a85d
mov eax, dword [ebp - 0x348]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x89e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x89e8], xmm1
jmp 0x42a876
mov ecx, 1
test ecx, ecx
je 0x42a872
jmp 0x42a92f
jmp 0x42a899
cvtsi2sd xmm0, dword [ebp - 0x348]
movsd xmm1, qword [ebp - 0x89e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x34c], edx
jmp 0x42a939
xor eax, eax
je 0x42a8a3
jmp 0x42a8b2
jmp 0x42a6fc
jmp 0x42a6fc
mov ecx, 6
test ecx, ecx
je 0x42a92f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x350], eax
cvtsi2sd xmm0, dword [ebp - 0x350]
mov eax, dword [ebp - 0x350]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x89e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x34c], ecx
jmp 0x42a939
mov dword [ebp - 0x34c], 2
mov edx, dword [ebp - 0x308]
shl edx, 2
add edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x34c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x308]
shl ecx, 2
add ecx, dword [ebp - 0x304]
mov dword [ecx], eax
jmp 0x4298a3
mov edx, dword [ebp - 0x300]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x354]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x358]
mov dword [ebp - 0x35c], edx
xor eax, eax
mov byte [ebp - 6], al
lea ecx, [ebp - 6]
call fcn.00425230
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x360]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x42ba9f
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x368], 0
jmp 0x42a9eb
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x368], 1
jae 0x42ba9f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42acc0
xor eax, eax
je 0x42aa35
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42aa71
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726428]
movsd qword [ebp - 0x8a00], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42ac11
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42ac11
mov dword [ebp - 0x36c], 0
jmp 0x42aaf0
cmp dword [ebp - 0x36c], 9
jae 0x42ac0c
cvtsi2sd xmm0, dword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x8a00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a08], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ab5f
mov ecx, dword [ebp - 0x36c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8a00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a00], xmm1
jmp 0x42aa5b
cvtsi2sd xmm0, dword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x8a00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a10], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8a10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42abbc
mov eax, dword [ebp - 0x36c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a00], xmm1
jmp 0x42abd5
mov ecx, 1
test ecx, ecx
je 0x42abd1
jmp 0x42ac8e
jmp 0x42abf8
cvtsi2sd xmm0, dword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x8a00]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x370], edx
jmp 0x42ac98
xor eax, eax
je 0x42ac02
jmp 0x42ac11
jmp 0x42aa5b
jmp 0x42aa5b
mov ecx, 6
test ecx, ecx
je 0x42ac8e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x374], eax
cvtsi2sd xmm0, dword [ebp - 0x374]
mov eax, dword [ebp - 0x374]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8a00]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x370], ecx
jmp 0x42ac98
mov dword [ebp - 0x370], 2
mov edx, dword [ebp - 0x368]
shl edx, 2
add edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x370]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x368]
shl ecx, 2
add ecx, dword [ebp - 0x364]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42b7d2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42afcd
xor eax, eax
je 0x42ad42
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42ad7e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x8a18], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42af1e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42af1e
mov dword [ebp - 0x378], 0
jmp 0x42adfd
cmp dword [ebp - 0x378], 9
jae 0x42af19
cvtsi2sd xmm0, dword [ebp - 0x378]
movsd xmm1, qword [ebp - 0x8a18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a20], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ae6c
mov ecx, dword [ebp - 0x378]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8a18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a18], xmm1
jmp 0x42ad68
cvtsi2sd xmm0, dword [ebp - 0x378]
movsd xmm1, qword [ebp - 0x8a18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a28], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8a28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42aec9
mov eax, dword [ebp - 0x378]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a18], xmm1
jmp 0x42aee2
mov ecx, 1
test ecx, ecx
je 0x42aede
jmp 0x42af9b
jmp 0x42af05
cvtsi2sd xmm0, dword [ebp - 0x378]
movsd xmm1, qword [ebp - 0x8a18]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x37c], edx
jmp 0x42afa5
xor eax, eax
je 0x42af0f
jmp 0x42af1e
jmp 0x42ad68
jmp 0x42ad68
mov ecx, 6
test ecx, ecx
je 0x42af9b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x380], eax
cvtsi2sd xmm0, dword [ebp - 0x380]
mov eax, dword [ebp - 0x380]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8a18]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x37c], ecx
jmp 0x42afa5
mov dword [ebp - 0x37c], 2
mov edx, dword [ebp - 0x368]
shl edx, 2
add edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x37c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x368]
shl ecx, 2
add ecx, dword [ebp - 0x364]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42b295
xor eax, eax
je 0x42b00a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42b046
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8a30], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42b1e6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42b1e6
mov dword [ebp - 0x384], 0
jmp 0x42b0c5
cmp dword [ebp - 0x384], 9
jae 0x42b1e1
cvtsi2sd xmm0, dword [ebp - 0x384]
movsd xmm1, qword [ebp - 0x8a30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b134
mov ecx, dword [ebp - 0x384]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8a30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a30], xmm1
jmp 0x42b030
cvtsi2sd xmm0, dword [ebp - 0x384]
movsd xmm1, qword [ebp - 0x8a30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8a40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b191
mov eax, dword [ebp - 0x384]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a30], xmm1
jmp 0x42b1aa
mov ecx, 1
test ecx, ecx
je 0x42b1a6
jmp 0x42b263
jmp 0x42b1cd
cvtsi2sd xmm0, dword [ebp - 0x384]
movsd xmm1, qword [ebp - 0x8a30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x388], edx
jmp 0x42b26d
xor eax, eax
je 0x42b1d7
jmp 0x42b1e6
jmp 0x42b030
jmp 0x42b030
mov ecx, 6
test ecx, ecx
je 0x42b263
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x38c], eax
cvtsi2sd xmm0, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x38c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8a30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x388], ecx
jmp 0x42b26d
mov dword [ebp - 0x388], 2
mov edx, dword [ebp - 0x368]
shl edx, 2
add edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x388]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x368]
shl ecx, 2
add ecx, dword [ebp - 0x364]
mov dword [ecx], eax
mov edx, dword [ebp - 0x368]
add edx, 0xffffffa0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8a48], xmm0
xor eax, eax
je 0x42b2af
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42b2eb
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8a48]
movsd qword [ebp - 0x8a50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42b48b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42b48b
mov dword [ebp - 0x390], 0
jmp 0x42b36a
cmp dword [ebp - 0x390], 9
jae 0x42b486
cvtsi2sd xmm0, dword [ebp - 0x390]
movsd xmm1, qword [ebp - 0x8a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b3d9
mov ecx, dword [ebp - 0x390]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a50], xmm1
jmp 0x42b2d5
cvtsi2sd xmm0, dword [ebp - 0x390]
movsd xmm1, qword [ebp - 0x8a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8a60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b436
mov eax, dword [ebp - 0x390]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a50], xmm1
jmp 0x42b44f
mov ecx, 1
test ecx, ecx
je 0x42b44b
jmp 0x42b508
jmp 0x42b472
cvtsi2sd xmm0, dword [ebp - 0x390]
movsd xmm1, qword [ebp - 0x8a50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x394], edx
jmp 0x42b512
xor eax, eax
je 0x42b47c
jmp 0x42b48b
jmp 0x42b2d5
jmp 0x42b2d5
mov ecx, 6
test ecx, ecx
je 0x42b508
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x398], eax
cvtsi2sd xmm0, dword [ebp - 0x398]
mov eax, dword [ebp - 0x398]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8a50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x394], ecx
jmp 0x42b512
mov dword [ebp - 0x394], 2
mov edx, dword [ebp - 0x368]
add edx, 0xffffffa0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8a68], xmm0
xor eax, eax
je 0x42b52c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42b568
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8a68]
movsd qword [ebp - 0x8a70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42b708
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42b708
mov dword [ebp - 0x39c], 0
jmp 0x42b5e7
cmp dword [ebp - 0x39c], 9
jae 0x42b703
cvtsi2sd xmm0, dword [ebp - 0x39c]
movsd xmm1, qword [ebp - 0x8a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b656
mov ecx, dword [ebp - 0x39c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a70], xmm1
jmp 0x42b552
cvtsi2sd xmm0, dword [ebp - 0x39c]
movsd xmm1, qword [ebp - 0x8a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8a80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b6b3
mov eax, dword [ebp - 0x39c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a70], xmm1
jmp 0x42b6cc
mov ecx, 1
test ecx, ecx
je 0x42b6c8
jmp 0x42b785
jmp 0x42b6ef
cvtsi2sd xmm0, dword [ebp - 0x39c]
movsd xmm1, qword [ebp - 0x8a70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x3a0], edx
jmp 0x42b78f
xor eax, eax
je 0x42b6f9
jmp 0x42b708
jmp 0x42b552
jmp 0x42b552
mov ecx, 6
test ecx, ecx
je 0x42b785
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x3a4], eax
cvtsi2sd xmm0, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x3a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8a70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x3a0], ecx
jmp 0x42b78f
mov dword [ebp - 0x3a0], 2
mov edx, dword [ebp - 0x368]
shl edx, 2
add edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x394]
add eax, dword [edx]
mov ecx, dword [ebp - 0x368]
shl ecx, 2
add ecx, dword [ebp - 0x364]
mov edx, dword [ebp - 0x3a0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x368]
shl ecx, 2
add ecx, dword [ebp - 0x364]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42ba9a
xor eax, eax
je 0x42b80f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42b84b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8a88], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42b9eb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42b9eb
mov dword [ebp - 0x3a8], 0
jmp 0x42b8ca
cmp dword [ebp - 0x3a8], 9
jae 0x42b9e6
cvtsi2sd xmm0, dword [ebp - 0x3a8]
movsd xmm1, qword [ebp - 0x8a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a90], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b939
mov ecx, dword [ebp - 0x3a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a88], xmm1
jmp 0x42b835
cvtsi2sd xmm0, dword [ebp - 0x3a8]
movsd xmm1, qword [ebp - 0x8a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a98], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8a98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42b996
mov eax, dword [ebp - 0x3a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8a88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8a88], xmm1
jmp 0x42b9af
mov ecx, 1
test ecx, ecx
je 0x42b9ab
jmp 0x42ba68
jmp 0x42b9d2
cvtsi2sd xmm0, dword [ebp - 0x3a8]
movsd xmm1, qword [ebp - 0x8a88]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x3ac], edx
jmp 0x42ba72
xor eax, eax
je 0x42b9dc
jmp 0x42b9eb
jmp 0x42b835
jmp 0x42b835
mov ecx, 6
test ecx, ecx
je 0x42ba68
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x3b0], eax
cvtsi2sd xmm0, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x3b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8a88]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x3ac], ecx
jmp 0x42ba72
mov dword [ebp - 0x3ac], 2
mov edx, dword [ebp - 0x368]
shl edx, 2
add edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x3ac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x368]
shl ecx, 2
add ecx, dword [ebp - 0x364]
mov dword [ecx], eax
jmp 0x42a9dc
mov edx, dword [ebp - 0x360]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3bc], edx
xor eax, eax
mov byte [ebp - 7], al
lea ecx, [ebp - 7]
call fcn.00425200
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3c0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x42cbd8
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3c8], 0
jmp 0x42bb24
mov ecx, dword [ebp - 0x3c8]
add ecx, 1
mov dword [ebp - 0x3c8], ecx
cmp dword [ebp - 0x3c8], 1
jae 0x42cbd8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42bdf9
xor eax, eax
je 0x42bb6e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42bbaa
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x8aa0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42bd4a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42bd4a
mov dword [ebp - 0x3cc], 0
jmp 0x42bc29
cmp dword [ebp - 0x3cc], 9
jae 0x42bd45
cvtsi2sd xmm0, dword [ebp - 0x3cc]
movsd xmm1, qword [ebp - 0x8aa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8aa8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8aa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42bc98
mov ecx, dword [ebp - 0x3cc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8aa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8aa0], xmm1
jmp 0x42bb94
cvtsi2sd xmm0, dword [ebp - 0x3cc]
movsd xmm1, qword [ebp - 0x8aa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ab0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ab0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42bcf5
mov eax, dword [ebp - 0x3cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8aa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8aa0], xmm1
jmp 0x42bd0e
mov ecx, 1
test ecx, ecx
je 0x42bd0a
jmp 0x42bdc7
jmp 0x42bd31
cvtsi2sd xmm0, dword [ebp - 0x3cc]
movsd xmm1, qword [ebp - 0x8aa0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x3d0], edx
jmp 0x42bdd1
xor eax, eax
je 0x42bd3b
jmp 0x42bd4a
jmp 0x42bb94
jmp 0x42bb94
mov ecx, 6
test ecx, ecx
je 0x42bdc7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x3d4], eax
cvtsi2sd xmm0, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x3d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8aa0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x3d0], ecx
jmp 0x42bdd1
mov dword [ebp - 0x3d0], 2
mov edx, dword [ebp - 0x3c8]
shl edx, 2
add edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x3d0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x3c8]
shl ecx, 2
add ecx, dword [ebp - 0x3c4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42c90b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42c106
xor eax, eax
je 0x42be7b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42beb7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8ab8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42c057
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42c057
mov dword [ebp - 0x3d8], 0
jmp 0x42bf36
cmp dword [ebp - 0x3d8], 9
jae 0x42c052
cvtsi2sd xmm0, dword [ebp - 0x3d8]
movsd xmm1, qword [ebp - 0x8ab8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ac0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ac0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42bfa5
mov ecx, dword [ebp - 0x3d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8ab8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ab8], xmm1
jmp 0x42bea1
cvtsi2sd xmm0, dword [ebp - 0x3d8]
movsd xmm1, qword [ebp - 0x8ab8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ac8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ac8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c002
mov eax, dword [ebp - 0x3d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ab8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ab8], xmm1
jmp 0x42c01b
mov ecx, 1
test ecx, ecx
je 0x42c017
jmp 0x42c0d4
jmp 0x42c03e
cvtsi2sd xmm0, dword [ebp - 0x3d8]
movsd xmm1, qword [ebp - 0x8ab8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x3dc], edx
jmp 0x42c0de
xor eax, eax
je 0x42c048
jmp 0x42c057
jmp 0x42bea1
jmp 0x42bea1
mov ecx, 6
test ecx, ecx
je 0x42c0d4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x3e0], eax
cvtsi2sd xmm0, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8ab8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x3dc], ecx
jmp 0x42c0de
mov dword [ebp - 0x3dc], 2
mov edx, dword [ebp - 0x3c8]
shl edx, 2
add edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x3dc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x3c8]
shl ecx, 2
add ecx, dword [ebp - 0x3c4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42c3ce
xor eax, eax
je 0x42c143
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42c17f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8ad0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42c31f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42c31f
mov dword [ebp - 0x3e4], 0
jmp 0x42c1fe
cmp dword [ebp - 0x3e4], 9
jae 0x42c31a
cvtsi2sd xmm0, dword [ebp - 0x3e4]
movsd xmm1, qword [ebp - 0x8ad0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ad8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c26d
mov ecx, dword [ebp - 0x3e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8ad0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ad0], xmm1
jmp 0x42c169
cvtsi2sd xmm0, dword [ebp - 0x3e4]
movsd xmm1, qword [ebp - 0x8ad0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ae0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ae0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c2ca
mov eax, dword [ebp - 0x3e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ad0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ad0], xmm1
jmp 0x42c2e3
mov ecx, 1
test ecx, ecx
je 0x42c2df
jmp 0x42c39c
jmp 0x42c306
cvtsi2sd xmm0, dword [ebp - 0x3e4]
movsd xmm1, qword [ebp - 0x8ad0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x3e8], edx
jmp 0x42c3a6
xor eax, eax
je 0x42c310
jmp 0x42c31f
jmp 0x42c169
jmp 0x42c169
mov ecx, 6
test ecx, ecx
je 0x42c39c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x3ec], eax
cvtsi2sd xmm0, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8ad0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x3e8], ecx
jmp 0x42c3a6
mov dword [ebp - 0x3e8], 2
mov edx, dword [ebp - 0x3c8]
shl edx, 2
add edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x3e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x3c8]
shl ecx, 2
add ecx, dword [ebp - 0x3c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3c8]
add edx, 0xffffffa1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8ae8], xmm0
xor eax, eax
je 0x42c3e8
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42c424
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ae8]
movsd qword [ebp - 0x8af0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42c5c4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42c5c4
mov dword [ebp - 0x3f0], 0
jmp 0x42c4a3
cmp dword [ebp - 0x3f0], 9
jae 0x42c5bf
cvtsi2sd xmm0, dword [ebp - 0x3f0]
movsd xmm1, qword [ebp - 0x8af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8af8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8af8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c512
mov ecx, dword [ebp - 0x3f0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8af0], xmm1
jmp 0x42c40e
cvtsi2sd xmm0, dword [ebp - 0x3f0]
movsd xmm1, qword [ebp - 0x8af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8b00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c56f
mov eax, dword [ebp - 0x3f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8af0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8af0], xmm1
jmp 0x42c588
mov ecx, 1
test ecx, ecx
je 0x42c584
jmp 0x42c641
jmp 0x42c5ab
cvtsi2sd xmm0, dword [ebp - 0x3f0]
movsd xmm1, qword [ebp - 0x8af0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x3f4], edx
jmp 0x42c64b
xor eax, eax
je 0x42c5b5
jmp 0x42c5c4
jmp 0x42c40e
jmp 0x42c40e
mov ecx, 6
test ecx, ecx
je 0x42c641
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x3f8], eax
cvtsi2sd xmm0, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x3f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8af0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x3f4], ecx
jmp 0x42c64b
mov dword [ebp - 0x3f4], 2
mov edx, dword [ebp - 0x3c8]
add edx, 0xffffffa1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8b08], xmm0
xor eax, eax
je 0x42c665
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42c6a1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8b08]
movsd qword [ebp - 0x8b10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42c841
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42c841
mov dword [ebp - 0x3fc], 0
jmp 0x42c720
cmp dword [ebp - 0x3fc], 9
jae 0x42c83c
cvtsi2sd xmm0, dword [ebp - 0x3fc]
movsd xmm1, qword [ebp - 0x8b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c78f
mov ecx, dword [ebp - 0x3fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b10], xmm1
jmp 0x42c68b
cvtsi2sd xmm0, dword [ebp - 0x3fc]
movsd xmm1, qword [ebp - 0x8b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8b20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42c7ec
mov eax, dword [ebp - 0x3fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b10], xmm1
jmp 0x42c805
mov ecx, 1
test ecx, ecx
je 0x42c801
jmp 0x42c8be
jmp 0x42c828
cvtsi2sd xmm0, dword [ebp - 0x3fc]
movsd xmm1, qword [ebp - 0x8b10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x400], edx
jmp 0x42c8c8
xor eax, eax
je 0x42c832
jmp 0x42c841
jmp 0x42c68b
jmp 0x42c68b
mov ecx, 6
test ecx, ecx
je 0x42c8be
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x404], eax
cvtsi2sd xmm0, dword [ebp - 0x404]
mov eax, dword [ebp - 0x404]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8b10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x400], ecx
jmp 0x42c8c8
mov dword [ebp - 0x400], 2
mov edx, dword [ebp - 0x3c8]
shl edx, 2
add edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x3f4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x3c8]
shl ecx, 2
add ecx, dword [ebp - 0x3c4]
mov edx, dword [ebp - 0x400]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x3c8]
shl ecx, 2
add ecx, dword [ebp - 0x3c4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42cbd3
xor eax, eax
je 0x42c948
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42c984
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8b28], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42cb24
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42cb24
mov dword [ebp - 0x408], 0
jmp 0x42ca03
cmp dword [ebp - 0x408], 9
jae 0x42cb1f
cvtsi2sd xmm0, dword [ebp - 0x408]
movsd xmm1, qword [ebp - 0x8b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b30], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ca72
mov ecx, dword [ebp - 0x408]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b28], xmm1
jmp 0x42c96e
cvtsi2sd xmm0, dword [ebp - 0x408]
movsd xmm1, qword [ebp - 0x8b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b38], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8b38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42cacf
mov eax, dword [ebp - 0x408]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b28]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b28], xmm1
jmp 0x42cae8
mov ecx, 1
test ecx, ecx
je 0x42cae4
jmp 0x42cba1
jmp 0x42cb0b
cvtsi2sd xmm0, dword [ebp - 0x408]
movsd xmm1, qword [ebp - 0x8b28]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x40c], edx
jmp 0x42cbab
xor eax, eax
je 0x42cb15
jmp 0x42cb24
jmp 0x42c96e
jmp 0x42c96e
mov ecx, 6
test ecx, ecx
je 0x42cba1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x410], eax
cvtsi2sd xmm0, dword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8b28]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x40c], ecx
jmp 0x42cbab
mov dword [ebp - 0x40c], 2
mov edx, dword [ebp - 0x3c8]
shl edx, 2
add edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x40c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x3c8]
shl ecx, 2
add ecx, dword [ebp - 0x3c4]
mov dword [ecx], eax
jmp 0x42bb15
mov edx, dword [ebp - 0x3c0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x35c], eax
cmp dword [ebp - 0x35c], 0
je 0x42dd63
xor ecx, ecx
mov byte [ebp - 8], cl
lea ecx, [ebp - 8]
call fcn.004251d0
mov dword [ebp - 0x420], eax
mov edx, dword [ebp - 0x420]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x42dd2a
mov ecx, dword [ebp - 0x420]
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x428], 0
jmp 0x42cc76
mov edx, dword [ebp - 0x428]
add edx, 1
mov dword [ebp - 0x428], edx
cmp dword [ebp - 0x428], 1
jae 0x42dd2a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42cf4b
xor eax, eax
je 0x42ccc0
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x42ccfc
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726420]
movsd qword [ebp - 0x8b40], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42ce9c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42ce9c
mov dword [ebp - 0x42c], 0
jmp 0x42cd7b
cmp dword [ebp - 0x42c], 9
jae 0x42ce97
cvtsi2sd xmm0, dword [ebp - 0x42c]
movsd xmm1, qword [ebp - 0x8b40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b48], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42cdea
mov ecx, dword [ebp - 0x42c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8b40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b40], xmm1
jmp 0x42cce6
cvtsi2sd xmm0, dword [ebp - 0x42c]
movsd xmm1, qword [ebp - 0x8b40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b50], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8b50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ce47
mov eax, dword [ebp - 0x42c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b40]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b40], xmm1
jmp 0x42ce60
mov ecx, 1
test ecx, ecx
je 0x42ce5c
jmp 0x42cf19
jmp 0x42ce83
cvtsi2sd xmm0, dword [ebp - 0x42c]
movsd xmm1, qword [ebp - 0x8b40]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x430], edx
jmp 0x42cf23
xor eax, eax
je 0x42ce8d
jmp 0x42ce9c
jmp 0x42cce6
jmp 0x42cce6
mov ecx, 6
test ecx, ecx
je 0x42cf19
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x434], eax
cvtsi2sd xmm0, dword [ebp - 0x434]
mov eax, dword [ebp - 0x434]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8b40]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x430], ecx
jmp 0x42cf23
mov dword [ebp - 0x430], 2
mov edx, dword [ebp - 0x428]
shl edx, 2
add edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x430]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x428]
shl ecx, 2
add ecx, dword [ebp - 0x424]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42da5d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42d258
xor eax, eax
je 0x42cfcd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42d009
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8b58], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42d1a9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42d1a9
mov dword [ebp - 0x438], 0
jmp 0x42d088
cmp dword [ebp - 0x438], 9
jae 0x42d1a4
cvtsi2sd xmm0, dword [ebp - 0x438]
movsd xmm1, qword [ebp - 0x8b58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b60], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d0f7
mov ecx, dword [ebp - 0x438]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8b58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b58], xmm1
jmp 0x42cff3
cvtsi2sd xmm0, dword [ebp - 0x438]
movsd xmm1, qword [ebp - 0x8b58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b68], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8b68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d154
mov eax, dword [ebp - 0x438]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b58]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b58], xmm1
jmp 0x42d16d
mov ecx, 1
test ecx, ecx
je 0x42d169
jmp 0x42d226
jmp 0x42d190
cvtsi2sd xmm0, dword [ebp - 0x438]
movsd xmm1, qword [ebp - 0x8b58]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x43c], edx
jmp 0x42d230
xor eax, eax
je 0x42d19a
jmp 0x42d1a9
jmp 0x42cff3
jmp 0x42cff3
mov ecx, 6
test ecx, ecx
je 0x42d226
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x440], eax
cvtsi2sd xmm0, dword [ebp - 0x440]
mov eax, dword [ebp - 0x440]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8b58]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x43c], ecx
jmp 0x42d230
mov dword [ebp - 0x43c], 2
mov edx, dword [ebp - 0x428]
shl edx, 2
add edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x43c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x428]
shl ecx, 2
add ecx, dword [ebp - 0x424]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42d520
xor eax, eax
je 0x42d295
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42d2d1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8b70], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42d471
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42d471
mov dword [ebp - 0x444], 0
jmp 0x42d350
cmp dword [ebp - 0x444], 9
jae 0x42d46c
cvtsi2sd xmm0, dword [ebp - 0x444]
movsd xmm1, qword [ebp - 0x8b70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d3bf
mov ecx, dword [ebp - 0x444]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8b70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b70], xmm1
jmp 0x42d2bb
cvtsi2sd xmm0, dword [ebp - 0x444]
movsd xmm1, qword [ebp - 0x8b70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8b80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d41c
mov eax, dword [ebp - 0x444]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b70], xmm1
jmp 0x42d435
mov ecx, 1
test ecx, ecx
je 0x42d431
jmp 0x42d4ee
jmp 0x42d458
cvtsi2sd xmm0, dword [ebp - 0x444]
movsd xmm1, qword [ebp - 0x8b70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x448], edx
jmp 0x42d4f8
xor eax, eax
je 0x42d462
jmp 0x42d471
jmp 0x42d2bb
jmp 0x42d2bb
mov ecx, 6
test ecx, ecx
je 0x42d4ee
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x44c], eax
cvtsi2sd xmm0, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x44c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8b70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x448], ecx
jmp 0x42d4f8
mov dword [ebp - 0x448], 2
mov edx, dword [ebp - 0x428]
shl edx, 2
add edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x448]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x428]
shl ecx, 2
add ecx, dword [ebp - 0x424]
mov dword [ecx], eax
mov edx, dword [ebp - 0x428]
add edx, 0xffffffa1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8b88], xmm0
xor eax, eax
je 0x42d53a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42d576
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8b88]
movsd qword [ebp - 0x8b90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42d716
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42d716
mov dword [ebp - 0x450], 0
jmp 0x42d5f5
cmp dword [ebp - 0x450], 9
jae 0x42d711
cvtsi2sd xmm0, dword [ebp - 0x450]
movsd xmm1, qword [ebp - 0x8b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d664
mov ecx, dword [ebp - 0x450]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b90], xmm1
jmp 0x42d560
cvtsi2sd xmm0, dword [ebp - 0x450]
movsd xmm1, qword [ebp - 0x8b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ba0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ba0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d6c1
mov eax, dword [ebp - 0x450]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8b90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8b90], xmm1
jmp 0x42d6da
mov ecx, 1
test ecx, ecx
je 0x42d6d6
jmp 0x42d793
jmp 0x42d6fd
cvtsi2sd xmm0, dword [ebp - 0x450]
movsd xmm1, qword [ebp - 0x8b90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x454], edx
jmp 0x42d79d
xor eax, eax
je 0x42d707
jmp 0x42d716
jmp 0x42d560
jmp 0x42d560
mov ecx, 6
test ecx, ecx
je 0x42d793
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x458], eax
cvtsi2sd xmm0, dword [ebp - 0x458]
mov eax, dword [ebp - 0x458]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8b90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x454], ecx
jmp 0x42d79d
mov dword [ebp - 0x454], 2
mov edx, dword [ebp - 0x428]
add edx, 0xffffffa1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8ba8], xmm0
xor eax, eax
je 0x42d7b7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42d7f3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ba8]
movsd qword [ebp - 0x8bb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42d993
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42d993
mov dword [ebp - 0x45c], 0
jmp 0x42d872
cmp dword [ebp - 0x45c], 9
jae 0x42d98e
cvtsi2sd xmm0, dword [ebp - 0x45c]
movsd xmm1, qword [ebp - 0x8bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d8e1
mov ecx, dword [ebp - 0x45c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bb0], xmm1
jmp 0x42d7dd
cvtsi2sd xmm0, dword [ebp - 0x45c]
movsd xmm1, qword [ebp - 0x8bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8bc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42d93e
mov eax, dword [ebp - 0x45c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bb0], xmm1
jmp 0x42d957
mov ecx, 1
test ecx, ecx
je 0x42d953
jmp 0x42da10
jmp 0x42d97a
cvtsi2sd xmm0, dword [ebp - 0x45c]
movsd xmm1, qword [ebp - 0x8bb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x460], edx
jmp 0x42da1a
xor eax, eax
je 0x42d984
jmp 0x42d993
jmp 0x42d7dd
jmp 0x42d7dd
mov ecx, 6
test ecx, ecx
je 0x42da10
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x464], eax
cvtsi2sd xmm0, dword [ebp - 0x464]
mov eax, dword [ebp - 0x464]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8bb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x460], ecx
jmp 0x42da1a
mov dword [ebp - 0x460], 2
mov edx, dword [ebp - 0x428]
shl edx, 2
add edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x454]
add eax, dword [edx]
mov ecx, dword [ebp - 0x428]
shl ecx, 2
add ecx, dword [ebp - 0x424]
mov edx, dword [ebp - 0x460]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x428]
shl ecx, 2
add ecx, dword [ebp - 0x424]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42dd25
xor eax, eax
je 0x42da9a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42dad6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8bc8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42dc76
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42dc76
mov dword [ebp - 0x468], 0
jmp 0x42db55
cmp dword [ebp - 0x468], 9
jae 0x42dc71
cvtsi2sd xmm0, dword [ebp - 0x468]
movsd xmm1, qword [ebp - 0x8bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bd0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42dbc4
mov ecx, dword [ebp - 0x468]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bc8], xmm1
jmp 0x42dac0
cvtsi2sd xmm0, dword [ebp - 0x468]
movsd xmm1, qword [ebp - 0x8bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bd8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8bd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42dc21
mov eax, dword [ebp - 0x468]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bc8], xmm1
jmp 0x42dc3a
mov ecx, 1
test ecx, ecx
je 0x42dc36
jmp 0x42dcf3
jmp 0x42dc5d
cvtsi2sd xmm0, dword [ebp - 0x468]
movsd xmm1, qword [ebp - 0x8bc8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x46c], edx
jmp 0x42dcfd
xor eax, eax
je 0x42dc67
jmp 0x42dc76
jmp 0x42dac0
jmp 0x42dac0
mov ecx, 6
test ecx, ecx
je 0x42dcf3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x470], eax
cvtsi2sd xmm0, dword [ebp - 0x470]
mov eax, dword [ebp - 0x470]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8bc8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x46c], ecx
jmp 0x42dcfd
mov dword [ebp - 0x46c], 2
mov edx, dword [ebp - 0x428]
shl edx, 2
add edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x46c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x428]
shl ecx, 2
add ecx, dword [ebp - 0x424]
mov dword [ecx], eax
jmp 0x42cc67
mov edx, dword [ebp - 0x420]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x474]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x478]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x47c], ecx
xor edx, edx
mov byte [ebp - 9], dl
lea ecx, [ebp - 9]
call fcn.004251a0
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x480]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x42ee78
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x488], 0
jmp 0x42ddc4
mov eax, dword [ebp - 0x488]
add eax, 1
mov dword [ebp - 0x488], eax
cmp dword [ebp - 0x488], 1
jae 0x42ee78
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx ecx, al
add esi, ecx
call fcn.005e1cc0
movsx edx, al
imul eax, edx, 7
movsx ecx, byte [0x77378c]
imul eax, ecx
add esi, eax
call fcn.005e1c90
movsx edx, al
sub esi, edx
je 0x42e099
xor eax, eax
je 0x42de0e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42de4a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8be0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42dfea
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42dfea
mov dword [ebp - 0x48c], 0
jmp 0x42dec9
cmp dword [ebp - 0x48c], 9
jae 0x42dfe5
cvtsi2sd xmm0, dword [ebp - 0x48c]
movsd xmm1, qword [ebp - 0x8be0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8be8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8be8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42df38
mov ecx, dword [ebp - 0x48c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8be0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8be0], xmm1
jmp 0x42de34
cvtsi2sd xmm0, dword [ebp - 0x48c]
movsd xmm1, qword [ebp - 0x8be0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bf0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8bf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42df95
mov eax, dword [ebp - 0x48c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8be0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8be0], xmm1
jmp 0x42dfae
mov ecx, 1
test ecx, ecx
je 0x42dfaa
jmp 0x42e067
jmp 0x42dfd1
cvtsi2sd xmm0, dword [ebp - 0x48c]
movsd xmm1, qword [ebp - 0x8be0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x490], edx
jmp 0x42e071
xor eax, eax
je 0x42dfdb
jmp 0x42dfea
jmp 0x42de34
jmp 0x42de34
mov ecx, 6
test ecx, ecx
je 0x42e067
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x494], eax
cvtsi2sd xmm0, dword [ebp - 0x494]
mov eax, dword [ebp - 0x494]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8be0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x490], ecx
jmp 0x42e071
mov dword [ebp - 0x490], 2
mov edx, dword [ebp - 0x488]
shl edx, 2
add edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x490]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x488]
shl ecx, 2
add ecx, dword [ebp - 0x484]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42ebab
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42e3a6
xor eax, eax
je 0x42e11b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42e157
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8bf8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42e2f7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42e2f7
mov dword [ebp - 0x498], 0
jmp 0x42e1d6
cmp dword [ebp - 0x498], 9
jae 0x42e2f2
cvtsi2sd xmm0, dword [ebp - 0x498]
movsd xmm1, qword [ebp - 0x8bf8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c00], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e245
mov ecx, dword [ebp - 0x498]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8bf8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bf8], xmm1
jmp 0x42e141
cvtsi2sd xmm0, dword [ebp - 0x498]
movsd xmm1, qword [ebp - 0x8bf8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c08], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8c08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e2a2
mov eax, dword [ebp - 0x498]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8bf8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8bf8], xmm1
jmp 0x42e2bb
mov ecx, 1
test ecx, ecx
je 0x42e2b7
jmp 0x42e374
jmp 0x42e2de
cvtsi2sd xmm0, dword [ebp - 0x498]
movsd xmm1, qword [ebp - 0x8bf8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x49c], edx
jmp 0x42e37e
xor eax, eax
je 0x42e2e8
jmp 0x42e2f7
jmp 0x42e141
jmp 0x42e141
mov ecx, 6
test ecx, ecx
je 0x42e374
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x4a0], eax
cvtsi2sd xmm0, dword [ebp - 0x4a0]
mov eax, dword [ebp - 0x4a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8bf8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x49c], ecx
jmp 0x42e37e
mov dword [ebp - 0x49c], 2
mov edx, dword [ebp - 0x488]
shl edx, 2
add edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x49c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x488]
shl ecx, 2
add ecx, dword [ebp - 0x484]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42e66e
xor eax, eax
je 0x42e3e3
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42e41f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8c10], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42e5bf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42e5bf
mov dword [ebp - 0x4a4], 0
jmp 0x42e49e
cmp dword [ebp - 0x4a4], 9
jae 0x42e5ba
cvtsi2sd xmm0, dword [ebp - 0x4a4]
movsd xmm1, qword [ebp - 0x8c10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e50d
mov ecx, dword [ebp - 0x4a4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8c10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c10], xmm1
jmp 0x42e409
cvtsi2sd xmm0, dword [ebp - 0x4a4]
movsd xmm1, qword [ebp - 0x8c10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8c20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e56a
mov eax, dword [ebp - 0x4a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c10], xmm1
jmp 0x42e583
mov ecx, 1
test ecx, ecx
je 0x42e57f
jmp 0x42e63c
jmp 0x42e5a6
cvtsi2sd xmm0, dword [ebp - 0x4a4]
movsd xmm1, qword [ebp - 0x8c10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x4a8], edx
jmp 0x42e646
xor eax, eax
je 0x42e5b0
jmp 0x42e5bf
jmp 0x42e409
jmp 0x42e409
mov ecx, 6
test ecx, ecx
je 0x42e63c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x4ac], eax
cvtsi2sd xmm0, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8c10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x4a8], ecx
jmp 0x42e646
mov dword [ebp - 0x4a8], 2
mov edx, dword [ebp - 0x488]
shl edx, 2
add edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x4a8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x488]
shl ecx, 2
add ecx, dword [ebp - 0x484]
mov dword [ecx], eax
mov edx, dword [ebp - 0x488]
add edx, 0xffffffa2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8c28], xmm0
xor eax, eax
je 0x42e688
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42e6c4
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8c28]
movsd qword [ebp - 0x8c30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42e864
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42e864
mov dword [ebp - 0x4b0], 0
jmp 0x42e743
cmp dword [ebp - 0x4b0], 9
jae 0x42e85f
cvtsi2sd xmm0, dword [ebp - 0x4b0]
movsd xmm1, qword [ebp - 0x8c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e7b2
mov ecx, dword [ebp - 0x4b0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c30], xmm1
jmp 0x42e6ae
cvtsi2sd xmm0, dword [ebp - 0x4b0]
movsd xmm1, qword [ebp - 0x8c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8c40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42e80f
mov eax, dword [ebp - 0x4b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c30], xmm1
jmp 0x42e828
mov ecx, 1
test ecx, ecx
je 0x42e824
jmp 0x42e8e1
jmp 0x42e84b
cvtsi2sd xmm0, dword [ebp - 0x4b0]
movsd xmm1, qword [ebp - 0x8c30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x4b4], edx
jmp 0x42e8eb
xor eax, eax
je 0x42e855
jmp 0x42e864
jmp 0x42e6ae
jmp 0x42e6ae
mov ecx, 6
test ecx, ecx
je 0x42e8e1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x4b8], eax
cvtsi2sd xmm0, dword [ebp - 0x4b8]
mov eax, dword [ebp - 0x4b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8c30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x4b4], ecx
jmp 0x42e8eb
mov dword [ebp - 0x4b4], 2
mov edx, dword [ebp - 0x488]
add edx, 0xffffffa2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8c48], xmm0
xor eax, eax
je 0x42e905
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42e941
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8c48]
movsd qword [ebp - 0x8c50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42eae1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42eae1
mov dword [ebp - 0x4bc], 0
jmp 0x42e9c0
cmp dword [ebp - 0x4bc], 9
jae 0x42eadc
cvtsi2sd xmm0, dword [ebp - 0x4bc]
movsd xmm1, qword [ebp - 0x8c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ea2f
mov ecx, dword [ebp - 0x4bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c50], xmm1
jmp 0x42e92b
cvtsi2sd xmm0, dword [ebp - 0x4bc]
movsd xmm1, qword [ebp - 0x8c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8c60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ea8c
mov eax, dword [ebp - 0x4bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c50], xmm1
jmp 0x42eaa5
mov ecx, 1
test ecx, ecx
je 0x42eaa1
jmp 0x42eb5e
jmp 0x42eac8
cvtsi2sd xmm0, dword [ebp - 0x4bc]
movsd xmm1, qword [ebp - 0x8c50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x4c0], edx
jmp 0x42eb68
xor eax, eax
je 0x42ead2
jmp 0x42eae1
jmp 0x42e92b
jmp 0x42e92b
mov ecx, 6
test ecx, ecx
je 0x42eb5e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x4c4], eax
cvtsi2sd xmm0, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x4c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8c50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x4c0], ecx
jmp 0x42eb68
mov dword [ebp - 0x4c0], 2
mov edx, dword [ebp - 0x488]
shl edx, 2
add edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x4b4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x488]
shl ecx, 2
add ecx, dword [ebp - 0x484]
mov edx, dword [ebp - 0x4c0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x488]
shl ecx, 2
add ecx, dword [ebp - 0x484]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42ee73
xor eax, eax
je 0x42ebe8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42ec24
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8c68], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42edc4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42edc4
mov dword [ebp - 0x4c8], 0
jmp 0x42eca3
cmp dword [ebp - 0x4c8], 9
jae 0x42edbf
cvtsi2sd xmm0, dword [ebp - 0x4c8]
movsd xmm1, qword [ebp - 0x8c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c70], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ed12
mov ecx, dword [ebp - 0x4c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c68], xmm1
jmp 0x42ec0e
cvtsi2sd xmm0, dword [ebp - 0x4c8]
movsd xmm1, qword [ebp - 0x8c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c78], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8c78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42ed6f
mov eax, dword [ebp - 0x4c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c68]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c68], xmm1
jmp 0x42ed88
mov ecx, 1
test ecx, ecx
je 0x42ed84
jmp 0x42ee41
jmp 0x42edab
cvtsi2sd xmm0, dword [ebp - 0x4c8]
movsd xmm1, qword [ebp - 0x8c68]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x4cc], edx
jmp 0x42ee4b
xor eax, eax
je 0x42edb5
jmp 0x42edc4
jmp 0x42ec0e
jmp 0x42ec0e
mov ecx, 6
test ecx, ecx
je 0x42ee41
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x4d0], eax
cvtsi2sd xmm0, dword [ebp - 0x4d0]
mov eax, dword [ebp - 0x4d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8c68]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x4cc], ecx
jmp 0x42ee4b
mov dword [ebp - 0x4cc], 2
mov edx, dword [ebp - 0x488]
shl edx, 2
add edx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x4cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x488]
shl ecx, 2
add ecx, dword [ebp - 0x484]
mov dword [ecx], eax
jmp 0x42ddb5
mov edx, dword [ebp - 0x480]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x4d8], ecx
mov edx, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], edx
xor eax, eax
mov byte [ebp - 0xa], al
lea ecx, [ebp - 0xa]
call fcn.00425170
mov dword [ebp - 0x4e0], eax
mov ecx, dword [ebp - 0x4e0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x42ffb1
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e8], 0
jmp 0x42eefd
mov ecx, dword [ebp - 0x4e8]
add ecx, 1
mov dword [ebp - 0x4e8], ecx
cmp dword [ebp - 0x4e8], 1
jae 0x42ffb1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42f1d2
xor eax, eax
je 0x42ef47
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42ef83
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8c80], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42f123
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42f123
mov dword [ebp - 0x4ec], 0
jmp 0x42f002
cmp dword [ebp - 0x4ec], 9
jae 0x42f11e
cvtsi2sd xmm0, dword [ebp - 0x4ec]
movsd xmm1, qword [ebp - 0x8c80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c88], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f071
mov ecx, dword [ebp - 0x4ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8c80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c80], xmm1
jmp 0x42ef6d
cvtsi2sd xmm0, dword [ebp - 0x4ec]
movsd xmm1, qword [ebp - 0x8c80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c90], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8c90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f0ce
mov eax, dword [ebp - 0x4ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c80]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c80], xmm1
jmp 0x42f0e7
mov ecx, 1
test ecx, ecx
je 0x42f0e3
jmp 0x42f1a0
jmp 0x42f10a
cvtsi2sd xmm0, dword [ebp - 0x4ec]
movsd xmm1, qword [ebp - 0x8c80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x4f0], edx
jmp 0x42f1aa
xor eax, eax
je 0x42f114
jmp 0x42f123
jmp 0x42ef6d
jmp 0x42ef6d
mov ecx, 6
test ecx, ecx
je 0x42f1a0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x4f4], eax
cvtsi2sd xmm0, dword [ebp - 0x4f4]
mov eax, dword [ebp - 0x4f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8c80]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x4f0], ecx
jmp 0x42f1aa
mov dword [ebp - 0x4f0], 2
mov edx, dword [ebp - 0x4e8]
shl edx, 2
add edx, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x4f0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
shl ecx, 2
add ecx, dword [ebp - 0x4e4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42fce4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42f4df
xor eax, eax
je 0x42f254
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42f290
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8c98], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42f430
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42f430
mov dword [ebp - 0x4f8], 0
jmp 0x42f30f
cmp dword [ebp - 0x4f8], 9
jae 0x42f42b
cvtsi2sd xmm0, dword [ebp - 0x4f8]
movsd xmm1, qword [ebp - 0x8c98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ca0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ca0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f37e
mov ecx, dword [ebp - 0x4f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8c98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c98], xmm1
jmp 0x42f27a
cvtsi2sd xmm0, dword [ebp - 0x4f8]
movsd xmm1, qword [ebp - 0x8c98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ca8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ca8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f3db
mov eax, dword [ebp - 0x4f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8c98]
addsd xmm1, xmm0
movsd qword [ebp - 0x8c98], xmm1
jmp 0x42f3f4
mov ecx, 1
test ecx, ecx
je 0x42f3f0
jmp 0x42f4ad
jmp 0x42f417
cvtsi2sd xmm0, dword [ebp - 0x4f8]
movsd xmm1, qword [ebp - 0x8c98]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x4fc], edx
jmp 0x42f4b7
xor eax, eax
je 0x42f421
jmp 0x42f430
jmp 0x42f27a
jmp 0x42f27a
mov ecx, 6
test ecx, ecx
je 0x42f4ad
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x500], eax
cvtsi2sd xmm0, dword [ebp - 0x500]
mov eax, dword [ebp - 0x500]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8c98]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x4fc], ecx
jmp 0x42f4b7
mov dword [ebp - 0x4fc], 2
mov edx, dword [ebp - 0x4e8]
shl edx, 2
add edx, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x4fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
shl ecx, 2
add ecx, dword [ebp - 0x4e4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42f7a7
xor eax, eax
je 0x42f51c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42f558
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8cb0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42f6f8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42f6f8
mov dword [ebp - 0x504], 0
jmp 0x42f5d7
cmp dword [ebp - 0x504], 9
jae 0x42f6f3
cvtsi2sd xmm0, dword [ebp - 0x504]
movsd xmm1, qword [ebp - 0x8cb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f646
mov ecx, dword [ebp - 0x504]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8cb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cb0], xmm1
jmp 0x42f542
cvtsi2sd xmm0, dword [ebp - 0x504]
movsd xmm1, qword [ebp - 0x8cb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8cc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f6a3
mov eax, dword [ebp - 0x504]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cb0], xmm1
jmp 0x42f6bc
mov ecx, 1
test ecx, ecx
je 0x42f6b8
jmp 0x42f775
jmp 0x42f6df
cvtsi2sd xmm0, dword [ebp - 0x504]
movsd xmm1, qword [ebp - 0x8cb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x508], edx
jmp 0x42f77f
xor eax, eax
je 0x42f6e9
jmp 0x42f6f8
jmp 0x42f542
jmp 0x42f542
mov ecx, 6
test ecx, ecx
je 0x42f775
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x50c], eax
cvtsi2sd xmm0, dword [ebp - 0x50c]
mov eax, dword [ebp - 0x50c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8cb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x508], ecx
jmp 0x42f77f
mov dword [ebp - 0x508], 2
mov edx, dword [ebp - 0x4e8]
shl edx, 2
add edx, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x508]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
shl ecx, 2
add ecx, dword [ebp - 0x4e4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4e8]
add edx, 0xffffffa2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8cc8], xmm0
xor eax, eax
je 0x42f7c1
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42f7fd
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8cc8]
movsd qword [ebp - 0x8cd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42f99d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42f99d
mov dword [ebp - 0x510], 0
jmp 0x42f87c
cmp dword [ebp - 0x510], 9
jae 0x42f998
cvtsi2sd xmm0, dword [ebp - 0x510]
movsd xmm1, qword [ebp - 0x8cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f8eb
mov ecx, dword [ebp - 0x510]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cd0], xmm1
jmp 0x42f7e7
cvtsi2sd xmm0, dword [ebp - 0x510]
movsd xmm1, qword [ebp - 0x8cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ce0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ce0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42f948
mov eax, dword [ebp - 0x510]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cd0], xmm1
jmp 0x42f961
mov ecx, 1
test ecx, ecx
je 0x42f95d
jmp 0x42fa1a
jmp 0x42f984
cvtsi2sd xmm0, dword [ebp - 0x510]
movsd xmm1, qword [ebp - 0x8cd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x514], edx
jmp 0x42fa24
xor eax, eax
je 0x42f98e
jmp 0x42f99d
jmp 0x42f7e7
jmp 0x42f7e7
mov ecx, 6
test ecx, ecx
je 0x42fa1a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x518], eax
cvtsi2sd xmm0, dword [ebp - 0x518]
mov eax, dword [ebp - 0x518]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8cd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x514], ecx
jmp 0x42fa24
mov dword [ebp - 0x514], 2
mov edx, dword [ebp - 0x4e8]
add edx, 0xffffffa2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8ce8], xmm0
xor eax, eax
je 0x42fa3e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x42fa7a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ce8]
movsd qword [ebp - 0x8cf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42fc1a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42fc1a
mov dword [ebp - 0x51c], 0
jmp 0x42faf9
cmp dword [ebp - 0x51c], 9
jae 0x42fc15
cvtsi2sd xmm0, dword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x8cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42fb68
mov ecx, dword [ebp - 0x51c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cf0], xmm1
jmp 0x42fa64
cvtsi2sd xmm0, dword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x8cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8d00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42fbc5
mov eax, dword [ebp - 0x51c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8cf0], xmm1
jmp 0x42fbde
mov ecx, 1
test ecx, ecx
je 0x42fbda
jmp 0x42fc97
jmp 0x42fc01
cvtsi2sd xmm0, dword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x8cf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x520], edx
jmp 0x42fca1
xor eax, eax
je 0x42fc0b
jmp 0x42fc1a
jmp 0x42fa64
jmp 0x42fa64
mov ecx, 6
test ecx, ecx
je 0x42fc97
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x524], eax
cvtsi2sd xmm0, dword [ebp - 0x524]
mov eax, dword [ebp - 0x524]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8cf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x520], ecx
jmp 0x42fca1
mov dword [ebp - 0x520], 2
mov edx, dword [ebp - 0x4e8]
shl edx, 2
add edx, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x514]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
shl ecx, 2
add ecx, dword [ebp - 0x4e4]
mov edx, dword [ebp - 0x520]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x4e8]
shl ecx, 2
add ecx, dword [ebp - 0x4e4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x42ffac
xor eax, eax
je 0x42fd21
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x42fd5d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8d08], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x42fefd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x42fefd
mov dword [ebp - 0x528], 0
jmp 0x42fddc
cmp dword [ebp - 0x528], 9
jae 0x42fef8
cvtsi2sd xmm0, dword [ebp - 0x528]
movsd xmm1, qword [ebp - 0x8d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d10], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42fe4b
mov ecx, dword [ebp - 0x528]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d08], xmm1
jmp 0x42fd47
cvtsi2sd xmm0, dword [ebp - 0x528]
movsd xmm1, qword [ebp - 0x8d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d18], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8d18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x42fea8
mov eax, dword [ebp - 0x528]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d08]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d08], xmm1
jmp 0x42fec1
mov ecx, 1
test ecx, ecx
je 0x42febd
jmp 0x42ff7a
jmp 0x42fee4
cvtsi2sd xmm0, dword [ebp - 0x528]
movsd xmm1, qword [ebp - 0x8d08]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x52c], edx
jmp 0x42ff84
xor eax, eax
je 0x42feee
jmp 0x42fefd
jmp 0x42fd47
jmp 0x42fd47
mov ecx, 6
test ecx, ecx
je 0x42ff7a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x530], eax
cvtsi2sd xmm0, dword [ebp - 0x530]
mov eax, dword [ebp - 0x530]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8d08]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x52c], ecx
jmp 0x42ff84
mov dword [ebp - 0x52c], 2
mov edx, dword [ebp - 0x4e8]
shl edx, 2
add edx, dword [ebp - 0x4e4]
mov eax, dword [ebp - 0x52c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
shl ecx, 2
add ecx, dword [ebp - 0x4e4]
mov dword [ecx], eax
jmp 0x42eeee
mov edx, dword [ebp - 0x4e0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x538]
mov dword [ebp - 0x53c], edx
xor eax, eax
mov byte [ebp - 0xb], al
lea ecx, [ebp - 0xb]
call fcn.00425140
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x540]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4310ea
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x548], 0
jmp 0x430036
mov ecx, dword [ebp - 0x548]
add ecx, 1
mov dword [ebp - 0x548], ecx
cmp dword [ebp - 0x548], 1
jae 0x4310ea
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43030b
xor eax, eax
je 0x430080
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4300bc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726418]
movsd qword [ebp - 0x8d20], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43025c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43025c
mov dword [ebp - 0x54c], 0
jmp 0x43013b
cmp dword [ebp - 0x54c], 9
jae 0x430257
cvtsi2sd xmm0, dword [ebp - 0x54c]
movsd xmm1, qword [ebp - 0x8d20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d28], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4301aa
mov ecx, dword [ebp - 0x54c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8d20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d20], xmm1
jmp 0x4300a6
cvtsi2sd xmm0, dword [ebp - 0x54c]
movsd xmm1, qword [ebp - 0x8d20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d30], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8d30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430207
mov eax, dword [ebp - 0x54c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d20]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d20], xmm1
jmp 0x430220
mov ecx, 1
test ecx, ecx
je 0x43021c
jmp 0x4302d9
jmp 0x430243
cvtsi2sd xmm0, dword [ebp - 0x54c]
movsd xmm1, qword [ebp - 0x8d20]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x550], edx
jmp 0x4302e3
xor eax, eax
je 0x43024d
jmp 0x43025c
jmp 0x4300a6
jmp 0x4300a6
mov ecx, 6
test ecx, ecx
je 0x4302d9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x554], eax
cvtsi2sd xmm0, dword [ebp - 0x554]
mov eax, dword [ebp - 0x554]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8d20]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x550], ecx
jmp 0x4302e3
mov dword [ebp - 0x550], 2
mov edx, dword [ebp - 0x548]
shl edx, 2
add edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x550]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x548]
shl ecx, 2
add ecx, dword [ebp - 0x544]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x430e1d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x430618
xor eax, eax
je 0x43038d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4303c9
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8d38], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x430569
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x430569
mov dword [ebp - 0x558], 0
jmp 0x430448
cmp dword [ebp - 0x558], 9
jae 0x430564
cvtsi2sd xmm0, dword [ebp - 0x558]
movsd xmm1, qword [ebp - 0x8d38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d40], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4304b7
mov ecx, dword [ebp - 0x558]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8d38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d38], xmm1
jmp 0x4303b3
cvtsi2sd xmm0, dword [ebp - 0x558]
movsd xmm1, qword [ebp - 0x8d38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d48], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8d48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430514
mov eax, dword [ebp - 0x558]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d38]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d38], xmm1
jmp 0x43052d
mov ecx, 1
test ecx, ecx
je 0x430529
jmp 0x4305e6
jmp 0x430550
cvtsi2sd xmm0, dword [ebp - 0x558]
movsd xmm1, qword [ebp - 0x8d38]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x55c], edx
jmp 0x4305f0
xor eax, eax
je 0x43055a
jmp 0x430569
jmp 0x4303b3
jmp 0x4303b3
mov ecx, 6
test ecx, ecx
je 0x4305e6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x560], eax
cvtsi2sd xmm0, dword [ebp - 0x560]
mov eax, dword [ebp - 0x560]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8d38]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x55c], ecx
jmp 0x4305f0
mov dword [ebp - 0x55c], 2
mov edx, dword [ebp - 0x548]
shl edx, 2
add edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x55c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x548]
shl ecx, 2
add ecx, dword [ebp - 0x544]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4308e0
xor eax, eax
je 0x430655
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x430691
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8d50], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x430831
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x430831
mov dword [ebp - 0x564], 0
jmp 0x430710
cmp dword [ebp - 0x564], 9
jae 0x43082c
cvtsi2sd xmm0, dword [ebp - 0x564]
movsd xmm1, qword [ebp - 0x8d50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43077f
mov ecx, dword [ebp - 0x564]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8d50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d50], xmm1
jmp 0x43067b
cvtsi2sd xmm0, dword [ebp - 0x564]
movsd xmm1, qword [ebp - 0x8d50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8d60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4307dc
mov eax, dword [ebp - 0x564]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d50], xmm1
jmp 0x4307f5
mov ecx, 1
test ecx, ecx
je 0x4307f1
jmp 0x4308ae
jmp 0x430818
cvtsi2sd xmm0, dword [ebp - 0x564]
movsd xmm1, qword [ebp - 0x8d50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x568], edx
jmp 0x4308b8
xor eax, eax
je 0x430822
jmp 0x430831
jmp 0x43067b
jmp 0x43067b
mov ecx, 6
test ecx, ecx
je 0x4308ae
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x56c], eax
cvtsi2sd xmm0, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x56c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8d50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x568], ecx
jmp 0x4308b8
mov dword [ebp - 0x568], 2
mov edx, dword [ebp - 0x548]
shl edx, 2
add edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x568]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x548]
shl ecx, 2
add ecx, dword [ebp - 0x544]
mov dword [ecx], eax
mov edx, dword [ebp - 0x548]
add edx, 0xffffffa2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8d68], xmm0
xor eax, eax
je 0x4308fa
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x430936
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8d68]
movsd qword [ebp - 0x8d70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x430ad6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x430ad6
mov dword [ebp - 0x570], 0
jmp 0x4309b5
cmp dword [ebp - 0x570], 9
jae 0x430ad1
cvtsi2sd xmm0, dword [ebp - 0x570]
movsd xmm1, qword [ebp - 0x8d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430a24
mov ecx, dword [ebp - 0x570]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d70], xmm1
jmp 0x430920
cvtsi2sd xmm0, dword [ebp - 0x570]
movsd xmm1, qword [ebp - 0x8d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8d80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430a81
mov eax, dword [ebp - 0x570]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d70], xmm1
jmp 0x430a9a
mov ecx, 1
test ecx, ecx
je 0x430a96
jmp 0x430b53
jmp 0x430abd
cvtsi2sd xmm0, dword [ebp - 0x570]
movsd xmm1, qword [ebp - 0x8d70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x574], edx
jmp 0x430b5d
xor eax, eax
je 0x430ac7
jmp 0x430ad6
jmp 0x430920
jmp 0x430920
mov ecx, 6
test ecx, ecx
je 0x430b53
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x578], eax
cvtsi2sd xmm0, dword [ebp - 0x578]
mov eax, dword [ebp - 0x578]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8d70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x574], ecx
jmp 0x430b5d
mov dword [ebp - 0x574], 2
mov edx, dword [ebp - 0x548]
add edx, 0xffffffa2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8d88], xmm0
xor eax, eax
je 0x430b77
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x430bb3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8d88]
movsd qword [ebp - 0x8d90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x430d53
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x430d53
mov dword [ebp - 0x57c], 0
jmp 0x430c32
cmp dword [ebp - 0x57c], 9
jae 0x430d4e
cvtsi2sd xmm0, dword [ebp - 0x57c]
movsd xmm1, qword [ebp - 0x8d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430ca1
mov ecx, dword [ebp - 0x57c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d90], xmm1
jmp 0x430b9d
cvtsi2sd xmm0, dword [ebp - 0x57c]
movsd xmm1, qword [ebp - 0x8d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8da0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8da0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430cfe
mov eax, dword [ebp - 0x57c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8d90], xmm1
jmp 0x430d17
mov ecx, 1
test ecx, ecx
je 0x430d13
jmp 0x430dd0
jmp 0x430d3a
cvtsi2sd xmm0, dword [ebp - 0x57c]
movsd xmm1, qword [ebp - 0x8d90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x580], edx
jmp 0x430dda
xor eax, eax
je 0x430d44
jmp 0x430d53
jmp 0x430b9d
jmp 0x430b9d
mov ecx, 6
test ecx, ecx
je 0x430dd0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x584], eax
cvtsi2sd xmm0, dword [ebp - 0x584]
mov eax, dword [ebp - 0x584]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8d90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x580], ecx
jmp 0x430dda
mov dword [ebp - 0x580], 2
mov edx, dword [ebp - 0x548]
shl edx, 2
add edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x574]
add eax, dword [edx]
mov ecx, dword [ebp - 0x548]
shl ecx, 2
add ecx, dword [ebp - 0x544]
mov edx, dword [ebp - 0x580]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x548]
shl ecx, 2
add ecx, dword [ebp - 0x544]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4310e5
xor eax, eax
je 0x430e5a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x430e96
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8da8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x431036
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x431036
mov dword [ebp - 0x588], 0
jmp 0x430f15
cmp dword [ebp - 0x588], 9
jae 0x431031
cvtsi2sd xmm0, dword [ebp - 0x588]
movsd xmm1, qword [ebp - 0x8da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8db0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8db0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430f84
mov ecx, dword [ebp - 0x588]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8da8], xmm1
jmp 0x430e80
cvtsi2sd xmm0, dword [ebp - 0x588]
movsd xmm1, qword [ebp - 0x8da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8db8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8db8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x430fe1
mov eax, dword [ebp - 0x588]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8da8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8da8], xmm1
jmp 0x430ffa
mov ecx, 1
test ecx, ecx
je 0x430ff6
jmp 0x4310b3
jmp 0x43101d
cvtsi2sd xmm0, dword [ebp - 0x588]
movsd xmm1, qword [ebp - 0x8da8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x58c], edx
jmp 0x4310bd
xor eax, eax
je 0x431027
jmp 0x431036
jmp 0x430e80
jmp 0x430e80
mov ecx, 6
test ecx, ecx
je 0x4310b3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x590], eax
cvtsi2sd xmm0, dword [ebp - 0x590]
mov eax, dword [ebp - 0x590]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8da8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x58c], ecx
jmp 0x4310bd
mov dword [ebp - 0x58c], 2
mov edx, dword [ebp - 0x548]
shl edx, 2
add edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x58c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x548]
shl ecx, 2
add ecx, dword [ebp - 0x544]
mov dword [ecx], eax
jmp 0x430027
mov edx, dword [ebp - 0x540]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x594]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x598], ecx
mov edx, dword [ebp - 0x598]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x4dc], eax
cmp dword [ebp - 0x4dc], 0
je 0x432275
xor ecx, ecx
mov byte [ebp - 0xc], cl
lea ecx, [ebp - 0xc]
call fcn.00425110
mov dword [ebp - 0x5a0], eax
mov edx, dword [ebp - 0x5a0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x43223c
mov ecx, dword [ebp - 0x5a0]
mov dword [ebp - 0x5a4], ecx
mov dword [ebp - 0x5a8], 0
jmp 0x431188
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
cmp dword [ebp - 0x5a8], 1
jae 0x43223c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43145d
xor eax, eax
je 0x4311d2
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x43120e
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8dc0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4313ae
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4313ae
mov dword [ebp - 0x5ac], 0
jmp 0x43128d
cmp dword [ebp - 0x5ac], 9
jae 0x4313a9
cvtsi2sd xmm0, dword [ebp - 0x5ac]
movsd xmm1, qword [ebp - 0x8dc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dc8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4312fc
mov ecx, dword [ebp - 0x5ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8dc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dc0], xmm1
jmp 0x4311f8
cvtsi2sd xmm0, dword [ebp - 0x5ac]
movsd xmm1, qword [ebp - 0x8dc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dd0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8dd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431359
mov eax, dword [ebp - 0x5ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dc0], xmm1
jmp 0x431372
mov ecx, 1
test ecx, ecx
je 0x43136e
jmp 0x43142b
jmp 0x431395
cvtsi2sd xmm0, dword [ebp - 0x5ac]
movsd xmm1, qword [ebp - 0x8dc0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x5b0], edx
jmp 0x431435
xor eax, eax
je 0x43139f
jmp 0x4313ae
jmp 0x4311f8
jmp 0x4311f8
mov ecx, 6
test ecx, ecx
je 0x43142b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x5b4], eax
cvtsi2sd xmm0, dword [ebp - 0x5b4]
mov eax, dword [ebp - 0x5b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8dc0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x5b0], ecx
jmp 0x431435
mov dword [ebp - 0x5b0], 2
mov edx, dword [ebp - 0x5a8]
shl edx, 2
add edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5b0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5a8]
shl ecx, 2
add ecx, dword [ebp - 0x5a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x431f6f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43176a
xor eax, eax
je 0x4314df
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43151b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8dd8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4316bb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4316bb
mov dword [ebp - 0x5b8], 0
jmp 0x43159a
cmp dword [ebp - 0x5b8], 9
jae 0x4316b6
cvtsi2sd xmm0, dword [ebp - 0x5b8]
movsd xmm1, qword [ebp - 0x8dd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8de0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8de0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431609
mov ecx, dword [ebp - 0x5b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8dd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dd8], xmm1
jmp 0x431505
cvtsi2sd xmm0, dword [ebp - 0x5b8]
movsd xmm1, qword [ebp - 0x8dd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8de8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8de8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431666
mov eax, dword [ebp - 0x5b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8dd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8dd8], xmm1
jmp 0x43167f
mov ecx, 1
test ecx, ecx
je 0x43167b
jmp 0x431738
jmp 0x4316a2
cvtsi2sd xmm0, dword [ebp - 0x5b8]
movsd xmm1, qword [ebp - 0x8dd8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x5bc], edx
jmp 0x431742
xor eax, eax
je 0x4316ac
jmp 0x4316bb
jmp 0x431505
jmp 0x431505
mov ecx, 6
test ecx, ecx
je 0x431738
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x5c0], eax
cvtsi2sd xmm0, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0x5c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8dd8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x5bc], ecx
jmp 0x431742
mov dword [ebp - 0x5bc], 2
mov edx, dword [ebp - 0x5a8]
shl edx, 2
add edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5a8]
shl ecx, 2
add ecx, dword [ebp - 0x5a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x431a32
xor eax, eax
je 0x4317a7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4317e3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8df0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x431983
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x431983
mov dword [ebp - 0x5c4], 0
jmp 0x431862
cmp dword [ebp - 0x5c4], 9
jae 0x43197e
cvtsi2sd xmm0, dword [ebp - 0x5c4]
movsd xmm1, qword [ebp - 0x8df0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8df8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8df8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4318d1
mov ecx, dword [ebp - 0x5c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8df0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8df0], xmm1
jmp 0x4317cd
cvtsi2sd xmm0, dword [ebp - 0x5c4]
movsd xmm1, qword [ebp - 0x8df0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8e00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43192e
mov eax, dword [ebp - 0x5c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8df0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8df0], xmm1
jmp 0x431947
mov ecx, 1
test ecx, ecx
je 0x431943
jmp 0x431a00
jmp 0x43196a
cvtsi2sd xmm0, dword [ebp - 0x5c4]
movsd xmm1, qword [ebp - 0x8df0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x5c8], edx
jmp 0x431a0a
xor eax, eax
je 0x431974
jmp 0x431983
jmp 0x4317cd
jmp 0x4317cd
mov ecx, 6
test ecx, ecx
je 0x431a00
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x5cc], eax
cvtsi2sd xmm0, dword [ebp - 0x5cc]
mov eax, dword [ebp - 0x5cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8df0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x5c8], ecx
jmp 0x431a0a
mov dword [ebp - 0x5c8], 2
mov edx, dword [ebp - 0x5a8]
shl edx, 2
add edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5a8]
shl ecx, 2
add ecx, dword [ebp - 0x5a4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x5a8]
add edx, 0xffffffa3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8e08], xmm0
xor eax, eax
je 0x431a4c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x431a88
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8e08]
movsd qword [ebp - 0x8e10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x431c28
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x431c28
mov dword [ebp - 0x5d0], 0
jmp 0x431b07
cmp dword [ebp - 0x5d0], 9
jae 0x431c23
cvtsi2sd xmm0, dword [ebp - 0x5d0]
movsd xmm1, qword [ebp - 0x8e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431b76
mov ecx, dword [ebp - 0x5d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e10], xmm1
jmp 0x431a72
cvtsi2sd xmm0, dword [ebp - 0x5d0]
movsd xmm1, qword [ebp - 0x8e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8e20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431bd3
mov eax, dword [ebp - 0x5d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e10]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e10], xmm1
jmp 0x431bec
mov ecx, 1
test ecx, ecx
je 0x431be8
jmp 0x431ca5
jmp 0x431c0f
cvtsi2sd xmm0, dword [ebp - 0x5d0]
movsd xmm1, qword [ebp - 0x8e10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x5d4], edx
jmp 0x431caf
xor eax, eax
je 0x431c19
jmp 0x431c28
jmp 0x431a72
jmp 0x431a72
mov ecx, 6
test ecx, ecx
je 0x431ca5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x5d8], eax
cvtsi2sd xmm0, dword [ebp - 0x5d8]
mov eax, dword [ebp - 0x5d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8e10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x5d4], ecx
jmp 0x431caf
mov dword [ebp - 0x5d4], 2
mov edx, dword [ebp - 0x5a8]
add edx, 0xffffffa3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8e28], xmm0
xor eax, eax
je 0x431cc9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x431d05
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8e28]
movsd qword [ebp - 0x8e30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x431ea5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x431ea5
mov dword [ebp - 0x5dc], 0
jmp 0x431d84
cmp dword [ebp - 0x5dc], 9
jae 0x431ea0
cvtsi2sd xmm0, dword [ebp - 0x5dc]
movsd xmm1, qword [ebp - 0x8e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431df3
mov ecx, dword [ebp - 0x5dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e30], xmm1
jmp 0x431cef
cvtsi2sd xmm0, dword [ebp - 0x5dc]
movsd xmm1, qword [ebp - 0x8e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8e40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x431e50
mov eax, dword [ebp - 0x5dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e30], xmm1
jmp 0x431e69
mov ecx, 1
test ecx, ecx
je 0x431e65
jmp 0x431f22
jmp 0x431e8c
cvtsi2sd xmm0, dword [ebp - 0x5dc]
movsd xmm1, qword [ebp - 0x8e30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x5e0], edx
jmp 0x431f2c
xor eax, eax
je 0x431e96
jmp 0x431ea5
jmp 0x431cef
jmp 0x431cef
mov ecx, 6
test ecx, ecx
je 0x431f22
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x5e4], eax
cvtsi2sd xmm0, dword [ebp - 0x5e4]
mov eax, dword [ebp - 0x5e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8e30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x5e0], ecx
jmp 0x431f2c
mov dword [ebp - 0x5e0], 2
mov edx, dword [ebp - 0x5a8]
shl edx, 2
add edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5d4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x5a8]
shl ecx, 2
add ecx, dword [ebp - 0x5a4]
mov edx, dword [ebp - 0x5e0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x5a8]
shl ecx, 2
add ecx, dword [ebp - 0x5a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x432237
xor eax, eax
je 0x431fac
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x431fe8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x8e48], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x432188
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x432188
mov dword [ebp - 0x5e8], 0
jmp 0x432067
cmp dword [ebp - 0x5e8], 9
jae 0x432183
cvtsi2sd xmm0, dword [ebp - 0x5e8]
movsd xmm1, qword [ebp - 0x8e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e50], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4320d6
mov ecx, dword [ebp - 0x5e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e48], xmm1
jmp 0x431fd2
cvtsi2sd xmm0, dword [ebp - 0x5e8]
movsd xmm1, qword [ebp - 0x8e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e58], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8e58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432133
mov eax, dword [ebp - 0x5e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e48]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e48], xmm1
jmp 0x43214c
mov ecx, 1
test ecx, ecx
je 0x432148
jmp 0x432205
jmp 0x43216f
cvtsi2sd xmm0, dword [ebp - 0x5e8]
movsd xmm1, qword [ebp - 0x8e48]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x5ec], edx
jmp 0x43220f
xor eax, eax
je 0x432179
jmp 0x432188
jmp 0x431fd2
jmp 0x431fd2
mov ecx, 6
test ecx, ecx
je 0x432205
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x5f0], eax
cvtsi2sd xmm0, dword [ebp - 0x5f0]
mov eax, dword [ebp - 0x5f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8e48]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x5ec], ecx
jmp 0x43220f
mov dword [ebp - 0x5ec], 2
mov edx, dword [ebp - 0x5a8]
shl edx, 2
add edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x5a8]
shl ecx, 2
add ecx, dword [ebp - 0x5a4]
mov dword [ecx], eax
jmp 0x431179
mov edx, dword [ebp - 0x5a0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x5f8], ecx
mov edx, dword [ebp - 0x5f8]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x3c]
add ecx, 0xf8
mov dword [ebp - 0x5fc], ecx
mov edx, dword [sym.imp.GDI32.dll_Ellipse]
mov dword [ebp - 0x16848], edx
mov eax, dword [sym.imp.KERNEL32.dll_CreateBoundaryDescriptorW]
mov dword [ebp - 0x16844], eax
mov ecx, dword [sym.imp.USER32.dll_CreateAcceleratorTableW]
mov dword [ebp - 0x16840], ecx
mov edx, dword [sym.imp.GDI32.dll_SetBitmapBits]
mov dword [ebp - 0x1683c], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetConsoleTitleW]
mov dword [ebp - 0x16838], eax
mov ecx, dword [sym.imp.KERNEL32.dll_FindNextChangeNotification]
mov dword [ebp - 0x16834], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebp - 0x16830], edx
mov eax, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov dword [ebp - 0x1682c], eax
mov ecx, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 0x16828], ecx
mov edx, dword [sym.imp.KERNEL32.dll_QueryDepthSList]
mov dword [ebp - 0x16824], edx
mov eax, dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov dword [ebp - 0x16820], eax
mov ecx, dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov dword [ebp - 0x1681c], ecx
mov edx, dword [sym.imp.GDI32.dll_GetTextCharacterExtra]
mov dword [ebp - 0x16818], edx
mov eax, dword [sym.imp.USER32.dll_BlockInput]
mov dword [ebp - 0x16814], eax
mov ecx, dword [sym.imp.GDI32.dll_GetEnhMetaFileDescriptionW]
mov dword [ebp - 0x16810], ecx
mov edx, dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov dword [ebp - 0x1680c], edx
mov eax, dword [0x400000]
mov dword [ebp - 0x16808], eax
mov ecx, dword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
mov dword [ebp - 0x16804], ecx
xor edx, edx
mov byte [ebp - 0xd], dl
lea ecx, [ebp - 0xd]
call fcn.004250e0
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x600]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x433462
mov edx, dword [ebp - 0x600]
mov dword [ebp - 0x604], edx
mov dword [ebp - 0x608], 0
jmp 0x4323ae
mov eax, dword [ebp - 0x608]
add eax, 1
mov dword [ebp - 0x608], eax
cmp dword [ebp - 0x608], 1
jae 0x433462
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx ecx, al
add esi, ecx
call fcn.005e1cc0
movsx edx, al
imul eax, edx, 7
movsx ecx, byte [0x77378c]
imul eax, ecx
add esi, eax
call fcn.005e1c90
movsx edx, al
sub esi, edx
je 0x432683
xor eax, eax
je 0x4323f8
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x432434
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8e60], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4325d4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4325d4
mov dword [ebp - 0x60c], 0
jmp 0x4324b3
cmp dword [ebp - 0x60c], 9
jae 0x4325cf
cvtsi2sd xmm0, dword [ebp - 0x60c]
movsd xmm1, qword [ebp - 0x8e60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e68], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432522
mov ecx, dword [ebp - 0x60c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8e60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e60], xmm1
jmp 0x43241e
cvtsi2sd xmm0, dword [ebp - 0x60c]
movsd xmm1, qword [ebp - 0x8e60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e70], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8e70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43257f
mov eax, dword [ebp - 0x60c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e60]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e60], xmm1
jmp 0x432598
mov ecx, 1
test ecx, ecx
je 0x432594
jmp 0x432651
jmp 0x4325bb
cvtsi2sd xmm0, dword [ebp - 0x60c]
movsd xmm1, qword [ebp - 0x8e60]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x610], edx
jmp 0x43265b
xor eax, eax
je 0x4325c5
jmp 0x4325d4
jmp 0x43241e
jmp 0x43241e
mov ecx, 6
test ecx, ecx
je 0x432651
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x614], eax
cvtsi2sd xmm0, dword [ebp - 0x614]
mov eax, dword [ebp - 0x614]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8e60]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x610], ecx
jmp 0x43265b
mov dword [ebp - 0x610], 2
mov edx, dword [ebp - 0x608]
shl edx, 2
add edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0x610]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x608]
shl ecx, 2
add ecx, dword [ebp - 0x604]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x433195
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x432990
xor eax, eax
je 0x432705
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x432741
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8e78], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4328e1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4328e1
mov dword [ebp - 0x618], 0
jmp 0x4327c0
cmp dword [ebp - 0x618], 9
jae 0x4328dc
cvtsi2sd xmm0, dword [ebp - 0x618]
movsd xmm1, qword [ebp - 0x8e78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e80], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43282f
mov ecx, dword [ebp - 0x618]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8e78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e78], xmm1
jmp 0x43272b
cvtsi2sd xmm0, dword [ebp - 0x618]
movsd xmm1, qword [ebp - 0x8e78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e88], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8e88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43288c
mov eax, dword [ebp - 0x618]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e78]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e78], xmm1
jmp 0x4328a5
mov ecx, 1
test ecx, ecx
je 0x4328a1
jmp 0x43295e
jmp 0x4328c8
cvtsi2sd xmm0, dword [ebp - 0x618]
movsd xmm1, qword [ebp - 0x8e78]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x61c], edx
jmp 0x432968
xor eax, eax
je 0x4328d2
jmp 0x4328e1
jmp 0x43272b
jmp 0x43272b
mov ecx, 6
test ecx, ecx
je 0x43295e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x620], eax
cvtsi2sd xmm0, dword [ebp - 0x620]
mov eax, dword [ebp - 0x620]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8e78]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x61c], ecx
jmp 0x432968
mov dword [ebp - 0x61c], 2
mov edx, dword [ebp - 0x608]
shl edx, 2
add edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0x61c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x608]
shl ecx, 2
add ecx, dword [ebp - 0x604]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x432c58
xor eax, eax
je 0x4329cd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x432a09
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8e90], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x432ba9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x432ba9
mov dword [ebp - 0x624], 0
jmp 0x432a88
cmp dword [ebp - 0x624], 9
jae 0x432ba4
cvtsi2sd xmm0, dword [ebp - 0x624]
movsd xmm1, qword [ebp - 0x8e90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432af7
mov ecx, dword [ebp - 0x624]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8e90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e90], xmm1
jmp 0x4329f3
cvtsi2sd xmm0, dword [ebp - 0x624]
movsd xmm1, qword [ebp - 0x8e90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ea0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ea0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432b54
mov eax, dword [ebp - 0x624]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8e90]
addsd xmm1, xmm0
movsd qword [ebp - 0x8e90], xmm1
jmp 0x432b6d
mov ecx, 1
test ecx, ecx
je 0x432b69
jmp 0x432c26
jmp 0x432b90
cvtsi2sd xmm0, dword [ebp - 0x624]
movsd xmm1, qword [ebp - 0x8e90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x628], edx
jmp 0x432c30
xor eax, eax
je 0x432b9a
jmp 0x432ba9
jmp 0x4329f3
jmp 0x4329f3
mov ecx, 6
test ecx, ecx
je 0x432c26
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x62c], eax
cvtsi2sd xmm0, dword [ebp - 0x62c]
mov eax, dword [ebp - 0x62c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8e90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x628], ecx
jmp 0x432c30
mov dword [ebp - 0x628], 2
mov edx, dword [ebp - 0x608]
shl edx, 2
add edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0x628]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x608]
shl ecx, 2
add ecx, dword [ebp - 0x604]
mov dword [ecx], eax
mov edx, dword [ebp - 0x608]
add edx, 0xffffffa3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8ea8], xmm0
xor eax, eax
je 0x432c72
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x432cae
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ea8]
movsd qword [ebp - 0x8eb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x432e4e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x432e4e
mov dword [ebp - 0x630], 0
jmp 0x432d2d
cmp dword [ebp - 0x630], 9
jae 0x432e49
cvtsi2sd xmm0, dword [ebp - 0x630]
movsd xmm1, qword [ebp - 0x8eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8eb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8eb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432d9c
mov ecx, dword [ebp - 0x630]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8eb0], xmm1
jmp 0x432c98
cvtsi2sd xmm0, dword [ebp - 0x630]
movsd xmm1, qword [ebp - 0x8eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ec0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ec0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x432df9
mov eax, dword [ebp - 0x630]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8eb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8eb0], xmm1
jmp 0x432e12
mov ecx, 1
test ecx, ecx
je 0x432e0e
jmp 0x432ecb
jmp 0x432e35
cvtsi2sd xmm0, dword [ebp - 0x630]
movsd xmm1, qword [ebp - 0x8eb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x634], edx
jmp 0x432ed5
xor eax, eax
je 0x432e3f
jmp 0x432e4e
jmp 0x432c98
jmp 0x432c98
mov ecx, 6
test ecx, ecx
je 0x432ecb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x638], eax
cvtsi2sd xmm0, dword [ebp - 0x638]
mov eax, dword [ebp - 0x638]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8eb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x634], ecx
jmp 0x432ed5
mov dword [ebp - 0x634], 2
mov edx, dword [ebp - 0x608]
add edx, 0xffffffa3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8ec8], xmm0
xor eax, eax
je 0x432eef
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x432f2b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8ec8]
movsd qword [ebp - 0x8ed0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4330cb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4330cb
mov dword [ebp - 0x63c], 0
jmp 0x432faa
cmp dword [ebp - 0x63c], 9
jae 0x4330c6
cvtsi2sd xmm0, dword [ebp - 0x63c]
movsd xmm1, qword [ebp - 0x8ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ed8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433019
mov ecx, dword [ebp - 0x63c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ed0], xmm1
jmp 0x432f15
cvtsi2sd xmm0, dword [ebp - 0x63c]
movsd xmm1, qword [ebp - 0x8ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ee0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ee0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433076
mov eax, dword [ebp - 0x63c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ed0], xmm1
jmp 0x43308f
mov ecx, 1
test ecx, ecx
je 0x43308b
jmp 0x433148
jmp 0x4330b2
cvtsi2sd xmm0, dword [ebp - 0x63c]
movsd xmm1, qword [ebp - 0x8ed0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x640], edx
jmp 0x433152
xor eax, eax
je 0x4330bc
jmp 0x4330cb
jmp 0x432f15
jmp 0x432f15
mov ecx, 6
test ecx, ecx
je 0x433148
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x644], eax
cvtsi2sd xmm0, dword [ebp - 0x644]
mov eax, dword [ebp - 0x644]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8ed0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x640], ecx
jmp 0x433152
mov dword [ebp - 0x640], 2
mov edx, dword [ebp - 0x608]
shl edx, 2
add edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0x634]
add eax, dword [edx]
mov ecx, dword [ebp - 0x608]
shl ecx, 2
add ecx, dword [ebp - 0x604]
mov edx, dword [ebp - 0x640]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x608]
shl ecx, 2
add ecx, dword [ebp - 0x604]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43345d
xor eax, eax
je 0x4331d2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43320e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x8ee8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4333ae
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4333ae
mov dword [ebp - 0x648], 0
jmp 0x43328d
cmp dword [ebp - 0x648], 9
jae 0x4333a9
cvtsi2sd xmm0, dword [ebp - 0x648]
movsd xmm1, qword [ebp - 0x8ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ef0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ef0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4332fc
mov ecx, dword [ebp - 0x648]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ee8], xmm1
jmp 0x4331f8
cvtsi2sd xmm0, dword [ebp - 0x648]
movsd xmm1, qword [ebp - 0x8ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ef8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8ef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433359
mov eax, dword [ebp - 0x648]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ee8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ee8], xmm1
jmp 0x433372
mov ecx, 1
test ecx, ecx
je 0x43336e
jmp 0x43342b
jmp 0x433395
cvtsi2sd xmm0, dword [ebp - 0x648]
movsd xmm1, qword [ebp - 0x8ee8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x64c], edx
jmp 0x433435
xor eax, eax
je 0x43339f
jmp 0x4333ae
jmp 0x4331f8
jmp 0x4331f8
mov ecx, 6
test ecx, ecx
je 0x43342b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x650], eax
cvtsi2sd xmm0, dword [ebp - 0x650]
mov eax, dword [ebp - 0x650]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8ee8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x64c], ecx
jmp 0x433435
mov dword [ebp - 0x64c], 2
mov edx, dword [ebp - 0x608]
shl edx, 2
add edx, dword [ebp - 0x604]
mov eax, dword [ebp - 0x64c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x608]
shl ecx, 2
add ecx, dword [ebp - 0x604]
mov dword [ecx], eax
jmp 0x43239f
mov edx, dword [ebp - 0x600]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x654]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x658], ecx
mov edx, dword [ebp - 0x658]
mov dword [ebp - 0x65c], edx
xor eax, eax
mov byte [ebp - 0xe], al
lea ecx, [ebp - 0xe]
call fcn.004250b0
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x660]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x43459b
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x664], eax
mov dword [ebp - 0x668], 0
jmp 0x4334e7
mov ecx, dword [ebp - 0x668]
add ecx, 1
mov dword [ebp - 0x668], ecx
cmp dword [ebp - 0x668], 1
jae 0x43459b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4337bc
xor eax, eax
je 0x433531
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43356d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726410]
movsd qword [ebp - 0x8f00], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43370d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43370d
mov dword [ebp - 0x66c], 0
jmp 0x4335ec
cmp dword [ebp - 0x66c], 9
jae 0x433708
cvtsi2sd xmm0, dword [ebp - 0x66c]
movsd xmm1, qword [ebp - 0x8f00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f08], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43365b
mov ecx, dword [ebp - 0x66c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8f00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f00], xmm1
jmp 0x433557
cvtsi2sd xmm0, dword [ebp - 0x66c]
movsd xmm1, qword [ebp - 0x8f00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f10], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8f10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4336b8
mov eax, dword [ebp - 0x66c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f00]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f00], xmm1
jmp 0x4336d1
mov ecx, 1
test ecx, ecx
je 0x4336cd
jmp 0x43378a
jmp 0x4336f4
cvtsi2sd xmm0, dword [ebp - 0x66c]
movsd xmm1, qword [ebp - 0x8f00]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x670], edx
jmp 0x433794
xor eax, eax
je 0x4336fe
jmp 0x43370d
jmp 0x433557
jmp 0x433557
mov ecx, 6
test ecx, ecx
je 0x43378a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x674], eax
cvtsi2sd xmm0, dword [ebp - 0x674]
mov eax, dword [ebp - 0x674]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8f00]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x670], ecx
jmp 0x433794
mov dword [ebp - 0x670], 2
mov edx, dword [ebp - 0x668]
shl edx, 2
add edx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x670]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x668]
shl ecx, 2
add ecx, dword [ebp - 0x664]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4342ce
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x433ac9
xor eax, eax
je 0x43383e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43387a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8f18], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x433a1a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x433a1a
mov dword [ebp - 0x678], 0
jmp 0x4338f9
cmp dword [ebp - 0x678], 9
jae 0x433a15
cvtsi2sd xmm0, dword [ebp - 0x678]
movsd xmm1, qword [ebp - 0x8f18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f20], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433968
mov ecx, dword [ebp - 0x678]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8f18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f18], xmm1
jmp 0x433864
cvtsi2sd xmm0, dword [ebp - 0x678]
movsd xmm1, qword [ebp - 0x8f18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f28], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8f28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4339c5
mov eax, dword [ebp - 0x678]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f18]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f18], xmm1
jmp 0x4339de
mov ecx, 1
test ecx, ecx
je 0x4339da
jmp 0x433a97
jmp 0x433a01
cvtsi2sd xmm0, dword [ebp - 0x678]
movsd xmm1, qword [ebp - 0x8f18]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x67c], edx
jmp 0x433aa1
xor eax, eax
je 0x433a0b
jmp 0x433a1a
jmp 0x433864
jmp 0x433864
mov ecx, 6
test ecx, ecx
je 0x433a97
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x680], eax
cvtsi2sd xmm0, dword [ebp - 0x680]
mov eax, dword [ebp - 0x680]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8f18]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x67c], ecx
jmp 0x433aa1
mov dword [ebp - 0x67c], 2
mov edx, dword [ebp - 0x668]
shl edx, 2
add edx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x67c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x668]
shl ecx, 2
add ecx, dword [ebp - 0x664]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x433d91
xor eax, eax
je 0x433b06
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x433b42
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8f30], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x433ce2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x433ce2
mov dword [ebp - 0x684], 0
jmp 0x433bc1
cmp dword [ebp - 0x684], 9
jae 0x433cdd
cvtsi2sd xmm0, dword [ebp - 0x684]
movsd xmm1, qword [ebp - 0x8f30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433c30
mov ecx, dword [ebp - 0x684]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8f30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f30], xmm1
jmp 0x433b2c
cvtsi2sd xmm0, dword [ebp - 0x684]
movsd xmm1, qword [ebp - 0x8f30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8f40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433c8d
mov eax, dword [ebp - 0x684]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f30]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f30], xmm1
jmp 0x433ca6
mov ecx, 1
test ecx, ecx
je 0x433ca2
jmp 0x433d5f
jmp 0x433cc9
cvtsi2sd xmm0, dword [ebp - 0x684]
movsd xmm1, qword [ebp - 0x8f30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x688], edx
jmp 0x433d69
xor eax, eax
je 0x433cd3
jmp 0x433ce2
jmp 0x433b2c
jmp 0x433b2c
mov ecx, 6
test ecx, ecx
je 0x433d5f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x68c], eax
cvtsi2sd xmm0, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x68c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8f30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x688], ecx
jmp 0x433d69
mov dword [ebp - 0x688], 2
mov edx, dword [ebp - 0x668]
shl edx, 2
add edx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x688]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x668]
shl ecx, 2
add ecx, dword [ebp - 0x664]
mov dword [ecx], eax
mov edx, dword [ebp - 0x668]
add edx, 0xffffffa3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8f48], xmm0
xor eax, eax
je 0x433dab
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x433de7
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8f48]
movsd qword [ebp - 0x8f50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x433f87
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x433f87
mov dword [ebp - 0x690], 0
jmp 0x433e66
cmp dword [ebp - 0x690], 9
jae 0x433f82
cvtsi2sd xmm0, dword [ebp - 0x690]
movsd xmm1, qword [ebp - 0x8f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433ed5
mov ecx, dword [ebp - 0x690]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f50], xmm1
jmp 0x433dd1
cvtsi2sd xmm0, dword [ebp - 0x690]
movsd xmm1, qword [ebp - 0x8f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8f60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x433f32
mov eax, dword [ebp - 0x690]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f50]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f50], xmm1
jmp 0x433f4b
mov ecx, 1
test ecx, ecx
je 0x433f47
jmp 0x434004
jmp 0x433f6e
cvtsi2sd xmm0, dword [ebp - 0x690]
movsd xmm1, qword [ebp - 0x8f50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x694], edx
jmp 0x43400e
xor eax, eax
je 0x433f78
jmp 0x433f87
jmp 0x433dd1
jmp 0x433dd1
mov ecx, 6
test ecx, ecx
je 0x434004
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x698], eax
cvtsi2sd xmm0, dword [ebp - 0x698]
mov eax, dword [ebp - 0x698]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8f50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x694], ecx
jmp 0x43400e
mov dword [ebp - 0x694], 2
mov edx, dword [ebp - 0x668]
add edx, 0xffffffa3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8f68], xmm0
xor eax, eax
je 0x434028
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x434064
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8f68]
movsd qword [ebp - 0x8f70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x434204
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x434204
mov dword [ebp - 0x69c], 0
jmp 0x4340e3
cmp dword [ebp - 0x69c], 9
jae 0x4341ff
cvtsi2sd xmm0, dword [ebp - 0x69c]
movsd xmm1, qword [ebp - 0x8f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434152
mov ecx, dword [ebp - 0x69c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f70], xmm1
jmp 0x43404e
cvtsi2sd xmm0, dword [ebp - 0x69c]
movsd xmm1, qword [ebp - 0x8f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8f80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4341af
mov eax, dword [ebp - 0x69c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f70], xmm1
jmp 0x4341c8
mov ecx, 1
test ecx, ecx
je 0x4341c4
jmp 0x434281
jmp 0x4341eb
cvtsi2sd xmm0, dword [ebp - 0x69c]
movsd xmm1, qword [ebp - 0x8f70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x6a0], edx
jmp 0x43428b
xor eax, eax
je 0x4341f5
jmp 0x434204
jmp 0x43404e
jmp 0x43404e
mov ecx, 6
test ecx, ecx
je 0x434281
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x6a4], eax
cvtsi2sd xmm0, dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x6a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8f70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x6a0], ecx
jmp 0x43428b
mov dword [ebp - 0x6a0], 2
mov edx, dword [ebp - 0x668]
shl edx, 2
add edx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x694]
add eax, dword [edx]
mov ecx, dword [ebp - 0x668]
shl ecx, 2
add ecx, dword [ebp - 0x664]
mov edx, dword [ebp - 0x6a0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x668]
shl ecx, 2
add ecx, dword [ebp - 0x664]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x434596
xor eax, eax
je 0x43430b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x434347
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x8f88], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4344e7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4344e7
mov dword [ebp - 0x6a8], 0
jmp 0x4343c6
cmp dword [ebp - 0x6a8], 9
jae 0x4344e2
cvtsi2sd xmm0, dword [ebp - 0x6a8]
movsd xmm1, qword [ebp - 0x8f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f90], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434435
mov ecx, dword [ebp - 0x6a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f88], xmm1
jmp 0x434331
cvtsi2sd xmm0, dword [ebp - 0x6a8]
movsd xmm1, qword [ebp - 0x8f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f98], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8f98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434492
mov eax, dword [ebp - 0x6a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8f88]
addsd xmm1, xmm0
movsd qword [ebp - 0x8f88], xmm1
jmp 0x4344ab
mov ecx, 1
test ecx, ecx
je 0x4344a7
jmp 0x434564
jmp 0x4344ce
cvtsi2sd xmm0, dword [ebp - 0x6a8]
movsd xmm1, qword [ebp - 0x8f88]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x6ac], edx
jmp 0x43456e
xor eax, eax
je 0x4344d8
jmp 0x4344e7
jmp 0x434331
jmp 0x434331
mov ecx, 6
test ecx, ecx
je 0x434564
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x6b0], eax
cvtsi2sd xmm0, dword [ebp - 0x6b0]
mov eax, dword [ebp - 0x6b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8f88]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x6ac], ecx
jmp 0x43456e
mov dword [ebp - 0x6ac], 2
mov edx, dword [ebp - 0x668]
shl edx, 2
add edx, dword [ebp - 0x664]
mov eax, dword [ebp - 0x6ac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x668]
shl ecx, 2
add ecx, dword [ebp - 0x664]
mov dword [ecx], eax
jmp 0x4334d8
mov edx, dword [ebp - 0x660]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp - 0x6b4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x6b8], ecx
mov edx, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], edx
xor eax, eax
mov byte [ebp - 0xf], al
lea ecx, [ebp - 0xf]
call fcn.00425080
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x6c0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4356d4
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x6c8], 0
jmp 0x434620
mov ecx, dword [ebp - 0x6c8]
add ecx, 1
mov dword [ebp - 0x6c8], ecx
cmp dword [ebp - 0x6c8], 1
jae 0x4356d4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4348f5
xor eax, eax
je 0x43466a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4346a6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x8fa0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x434846
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x434846
mov dword [ebp - 0x6cc], 0
jmp 0x434725
cmp dword [ebp - 0x6cc], 9
jae 0x434841
cvtsi2sd xmm0, dword [ebp - 0x6cc]
movsd xmm1, qword [ebp - 0x8fa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fa8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434794
mov ecx, dword [ebp - 0x6cc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8fa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fa0], xmm1
jmp 0x434690
cvtsi2sd xmm0, dword [ebp - 0x6cc]
movsd xmm1, qword [ebp - 0x8fa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fb0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8fb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4347f1
mov eax, dword [ebp - 0x6cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fa0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fa0], xmm1
jmp 0x43480a
mov ecx, 1
test ecx, ecx
je 0x434806
jmp 0x4348c3
jmp 0x43482d
cvtsi2sd xmm0, dword [ebp - 0x6cc]
movsd xmm1, qword [ebp - 0x8fa0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x6d0], edx
jmp 0x4348cd
xor eax, eax
je 0x434837
jmp 0x434846
jmp 0x434690
jmp 0x434690
mov ecx, 6
test ecx, ecx
je 0x4348c3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x6d4], eax
cvtsi2sd xmm0, dword [ebp - 0x6d4]
mov eax, dword [ebp - 0x6d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8fa0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x6d0], ecx
jmp 0x4348cd
mov dword [ebp - 0x6d0], 2
mov edx, dword [ebp - 0x6c8]
shl edx, 2
add edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x6d0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x6c8]
shl ecx, 2
add ecx, dword [ebp - 0x6c4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x435407
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x434c02
xor eax, eax
je 0x434977
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4349b3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x8fb8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x434b53
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x434b53
mov dword [ebp - 0x6d8], 0
jmp 0x434a32
cmp dword [ebp - 0x6d8], 9
jae 0x434b4e
cvtsi2sd xmm0, dword [ebp - 0x6d8]
movsd xmm1, qword [ebp - 0x8fb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fc0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434aa1
mov ecx, dword [ebp - 0x6d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8fb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fb8], xmm1
jmp 0x43499d
cvtsi2sd xmm0, dword [ebp - 0x6d8]
movsd xmm1, qword [ebp - 0x8fb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fc8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8fc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434afe
mov eax, dword [ebp - 0x6d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fb8], xmm1
jmp 0x434b17
mov ecx, 1
test ecx, ecx
je 0x434b13
jmp 0x434bd0
jmp 0x434b3a
cvtsi2sd xmm0, dword [ebp - 0x6d8]
movsd xmm1, qword [ebp - 0x8fb8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x6dc], edx
jmp 0x434bda
xor eax, eax
je 0x434b44
jmp 0x434b53
jmp 0x43499d
jmp 0x43499d
mov ecx, 6
test ecx, ecx
je 0x434bd0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x6e0], eax
cvtsi2sd xmm0, dword [ebp - 0x6e0]
mov eax, dword [ebp - 0x6e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8fb8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x6dc], ecx
jmp 0x434bda
mov dword [ebp - 0x6dc], 2
mov edx, dword [ebp - 0x6c8]
shl edx, 2
add edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x6dc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x6c8]
shl ecx, 2
add ecx, dword [ebp - 0x6c4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x434eca
xor eax, eax
je 0x434c3f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x434c7b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x8fd0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x434e1b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x434e1b
mov dword [ebp - 0x6e4], 0
jmp 0x434cfa
cmp dword [ebp - 0x6e4], 9
jae 0x434e16
cvtsi2sd xmm0, dword [ebp - 0x6e4]
movsd xmm1, qword [ebp - 0x8fd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434d69
mov ecx, dword [ebp - 0x6e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8fd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fd0], xmm1
jmp 0x434c65
cvtsi2sd xmm0, dword [ebp - 0x6e4]
movsd xmm1, qword [ebp - 0x8fd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fe0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x8fe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x434dc6
mov eax, dword [ebp - 0x6e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8fd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8fd0], xmm1
jmp 0x434ddf
mov ecx, 1
test ecx, ecx
je 0x434ddb
jmp 0x434e98
jmp 0x434e02
cvtsi2sd xmm0, dword [ebp - 0x6e4]
movsd xmm1, qword [ebp - 0x8fd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x6e8], edx
jmp 0x434ea2
xor eax, eax
je 0x434e0c
jmp 0x434e1b
jmp 0x434c65
jmp 0x434c65
mov ecx, 6
test ecx, ecx
je 0x434e98
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x6ec], eax
cvtsi2sd xmm0, dword [ebp - 0x6ec]
mov eax, dword [ebp - 0x6ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8fd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x6e8], ecx
jmp 0x434ea2
mov dword [ebp - 0x6e8], 2
mov edx, dword [ebp - 0x6c8]
shl edx, 2
add edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x6e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x6c8]
shl ecx, 2
add ecx, dword [ebp - 0x6c4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x6c8]
add edx, 0xffffffa4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x8fe8], xmm0
xor eax, eax
je 0x434ee4
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x434f20
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x8fe8]
movsd qword [ebp - 0x8ff0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4350c0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4350c0
mov dword [ebp - 0x6f0], 0
jmp 0x434f9f
cmp dword [ebp - 0x6f0], 9
jae 0x4350bb
cvtsi2sd xmm0, dword [ebp - 0x6f0]
movsd xmm1, qword [ebp - 0x8ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ff8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43500e
mov ecx, dword [ebp - 0x6f0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x8ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ff0], xmm1
jmp 0x434f0a
cvtsi2sd xmm0, dword [ebp - 0x6f0]
movsd xmm1, qword [ebp - 0x8ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9000], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9000]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43506b
mov eax, dword [ebp - 0x6f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x8ff0]
addsd xmm1, xmm0
movsd qword [ebp - 0x8ff0], xmm1
jmp 0x435084
mov ecx, 1
test ecx, ecx
je 0x435080
jmp 0x43513d
jmp 0x4350a7
cvtsi2sd xmm0, dword [ebp - 0x6f0]
movsd xmm1, qword [ebp - 0x8ff0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x6f4], edx
jmp 0x435147
xor eax, eax
je 0x4350b1
jmp 0x4350c0
jmp 0x434f0a
jmp 0x434f0a
mov ecx, 6
test ecx, ecx
je 0x43513d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x6f8], eax
cvtsi2sd xmm0, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x6f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x8ff0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x6f4], ecx
jmp 0x435147
mov dword [ebp - 0x6f4], 2
mov edx, dword [ebp - 0x6c8]
add edx, 0xffffffa4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9008], xmm0
xor eax, eax
je 0x435161
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43519d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9008]
movsd qword [ebp - 0x9010], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43533d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43533d
mov dword [ebp - 0x6fc], 0
jmp 0x43521c
cmp dword [ebp - 0x6fc], 9
jae 0x435338
cvtsi2sd xmm0, dword [ebp - 0x6fc]
movsd xmm1, qword [ebp - 0x9010]
addsd xmm1, xmm0
movsd qword [ebp - 0x9018], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43528b
mov ecx, dword [ebp - 0x6fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9010]
addsd xmm1, xmm0
movsd qword [ebp - 0x9010], xmm1
jmp 0x435187
cvtsi2sd xmm0, dword [ebp - 0x6fc]
movsd xmm1, qword [ebp - 0x9010]
addsd xmm1, xmm0
movsd qword [ebp - 0x9020], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9020]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4352e8
mov eax, dword [ebp - 0x6fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9010]
addsd xmm1, xmm0
movsd qword [ebp - 0x9010], xmm1
jmp 0x435301
mov ecx, 1
test ecx, ecx
je 0x4352fd
jmp 0x4353ba
jmp 0x435324
cvtsi2sd xmm0, dword [ebp - 0x6fc]
movsd xmm1, qword [ebp - 0x9010]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x700], edx
jmp 0x4353c4
xor eax, eax
je 0x43532e
jmp 0x43533d
jmp 0x435187
jmp 0x435187
mov ecx, 6
test ecx, ecx
je 0x4353ba
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x704], eax
cvtsi2sd xmm0, dword [ebp - 0x704]
mov eax, dword [ebp - 0x704]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9010]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x700], ecx
jmp 0x4353c4
mov dword [ebp - 0x700], 2
mov edx, dword [ebp - 0x6c8]
shl edx, 2
add edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x6f4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x6c8]
shl ecx, 2
add ecx, dword [ebp - 0x6c4]
mov edx, dword [ebp - 0x700]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x6c8]
shl ecx, 2
add ecx, dword [ebp - 0x6c4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4356cf
xor eax, eax
je 0x435444
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x435480
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x9028], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x435620
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x435620
mov dword [ebp - 0x708], 0
jmp 0x4354ff
cmp dword [ebp - 0x708], 9
jae 0x43561b
cvtsi2sd xmm0, dword [ebp - 0x708]
movsd xmm1, qword [ebp - 0x9028]
addsd xmm1, xmm0
movsd qword [ebp - 0x9030], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9030]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43556e
mov ecx, dword [ebp - 0x708]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9028]
addsd xmm1, xmm0
movsd qword [ebp - 0x9028], xmm1
jmp 0x43546a
cvtsi2sd xmm0, dword [ebp - 0x708]
movsd xmm1, qword [ebp - 0x9028]
addsd xmm1, xmm0
movsd qword [ebp - 0x9038], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4355cb
mov eax, dword [ebp - 0x708]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9028]
addsd xmm1, xmm0
movsd qword [ebp - 0x9028], xmm1
jmp 0x4355e4
mov ecx, 1
test ecx, ecx
je 0x4355e0
jmp 0x43569d
jmp 0x435607
cvtsi2sd xmm0, dword [ebp - 0x708]
movsd xmm1, qword [ebp - 0x9028]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x70c], edx
jmp 0x4356a7
xor eax, eax
je 0x435611
jmp 0x435620
jmp 0x43546a
jmp 0x43546a
mov ecx, 6
test ecx, ecx
je 0x43569d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x710], eax
cvtsi2sd xmm0, dword [ebp - 0x710]
mov eax, dword [ebp - 0x710]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9028]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x70c], ecx
jmp 0x4356a7
mov dword [ebp - 0x70c], 2
mov edx, dword [ebp - 0x6c8]
shl edx, 2
add edx, dword [ebp - 0x6c4]
mov eax, dword [ebp - 0x70c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x6c8]
shl ecx, 2
add ecx, dword [ebp - 0x6c4]
mov dword [ecx], eax
jmp 0x434611
mov edx, dword [ebp - 0x6c0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x714]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x718]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0
je 0x43685f
xor ecx, ecx
mov byte [ebp - 0x10], cl
lea ecx, [ebp - 0x10]
call fcn.00425050
mov dword [ebp - 0x720], eax
mov edx, dword [ebp - 0x720]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x436826
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x724], ecx
mov dword [ebp - 0x728], 0
jmp 0x435772
mov edx, dword [ebp - 0x728]
add edx, 1
mov dword [ebp - 0x728], edx
cmp dword [ebp - 0x728], 1
jae 0x436826
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x435a47
xor eax, eax
je 0x4357bc
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4357f8
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726408]
movsd qword [ebp - 0x9040], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x435998
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x435998
mov dword [ebp - 0x72c], 0
jmp 0x435877
cmp dword [ebp - 0x72c], 9
jae 0x435993
cvtsi2sd xmm0, dword [ebp - 0x72c]
movsd xmm1, qword [ebp - 0x9040]
addsd xmm1, xmm0
movsd qword [ebp - 0x9048], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9048]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4358e6
mov ecx, dword [ebp - 0x72c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9040]
addsd xmm1, xmm0
movsd qword [ebp - 0x9040], xmm1
jmp 0x4357e2
cvtsi2sd xmm0, dword [ebp - 0x72c]
movsd xmm1, qword [ebp - 0x9040]
addsd xmm1, xmm0
movsd qword [ebp - 0x9050], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9050]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435943
mov eax, dword [ebp - 0x72c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9040]
addsd xmm1, xmm0
movsd qword [ebp - 0x9040], xmm1
jmp 0x43595c
mov ecx, 1
test ecx, ecx
je 0x435958
jmp 0x435a15
jmp 0x43597f
cvtsi2sd xmm0, dword [ebp - 0x72c]
movsd xmm1, qword [ebp - 0x9040]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x730], edx
jmp 0x435a1f
xor eax, eax
je 0x435989
jmp 0x435998
jmp 0x4357e2
jmp 0x4357e2
mov ecx, 6
test ecx, ecx
je 0x435a15
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x734], eax
cvtsi2sd xmm0, dword [ebp - 0x734]
mov eax, dword [ebp - 0x734]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9040]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x730], ecx
jmp 0x435a1f
mov dword [ebp - 0x730], 2
mov edx, dword [ebp - 0x728]
shl edx, 2
add edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x730]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x728]
shl ecx, 2
add ecx, dword [ebp - 0x724]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x436559
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x435d54
xor eax, eax
je 0x435ac9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x435b05
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x9058], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x435ca5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x435ca5
mov dword [ebp - 0x738], 0
jmp 0x435b84
cmp dword [ebp - 0x738], 9
jae 0x435ca0
cvtsi2sd xmm0, dword [ebp - 0x738]
movsd xmm1, qword [ebp - 0x9058]
addsd xmm1, xmm0
movsd qword [ebp - 0x9060], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9060]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435bf3
mov ecx, dword [ebp - 0x738]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9058]
addsd xmm1, xmm0
movsd qword [ebp - 0x9058], xmm1
jmp 0x435aef
cvtsi2sd xmm0, dword [ebp - 0x738]
movsd xmm1, qword [ebp - 0x9058]
addsd xmm1, xmm0
movsd qword [ebp - 0x9068], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9068]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435c50
mov eax, dword [ebp - 0x738]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9058]
addsd xmm1, xmm0
movsd qword [ebp - 0x9058], xmm1
jmp 0x435c69
mov ecx, 1
test ecx, ecx
je 0x435c65
jmp 0x435d22
jmp 0x435c8c
cvtsi2sd xmm0, dword [ebp - 0x738]
movsd xmm1, qword [ebp - 0x9058]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x73c], edx
jmp 0x435d2c
xor eax, eax
je 0x435c96
jmp 0x435ca5
jmp 0x435aef
jmp 0x435aef
mov ecx, 6
test ecx, ecx
je 0x435d22
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x740], eax
cvtsi2sd xmm0, dword [ebp - 0x740]
mov eax, dword [ebp - 0x740]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9058]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x73c], ecx
jmp 0x435d2c
mov dword [ebp - 0x73c], 2
mov edx, dword [ebp - 0x728]
shl edx, 2
add edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x73c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x728]
shl ecx, 2
add ecx, dword [ebp - 0x724]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43601c
xor eax, eax
je 0x435d91
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x435dcd
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x9070], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x435f6d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x435f6d
mov dword [ebp - 0x744], 0
jmp 0x435e4c
cmp dword [ebp - 0x744], 9
jae 0x435f68
cvtsi2sd xmm0, dword [ebp - 0x744]
movsd xmm1, qword [ebp - 0x9070]
addsd xmm1, xmm0
movsd qword [ebp - 0x9078], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9078]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435ebb
mov ecx, dword [ebp - 0x744]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9070]
addsd xmm1, xmm0
movsd qword [ebp - 0x9070], xmm1
jmp 0x435db7
cvtsi2sd xmm0, dword [ebp - 0x744]
movsd xmm1, qword [ebp - 0x9070]
addsd xmm1, xmm0
movsd qword [ebp - 0x9080], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9080]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x435f18
mov eax, dword [ebp - 0x744]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9070]
addsd xmm1, xmm0
movsd qword [ebp - 0x9070], xmm1
jmp 0x435f31
mov ecx, 1
test ecx, ecx
je 0x435f2d
jmp 0x435fea
jmp 0x435f54
cvtsi2sd xmm0, dword [ebp - 0x744]
movsd xmm1, qword [ebp - 0x9070]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x748], edx
jmp 0x435ff4
xor eax, eax
je 0x435f5e
jmp 0x435f6d
jmp 0x435db7
jmp 0x435db7
mov ecx, 6
test ecx, ecx
je 0x435fea
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x74c], eax
cvtsi2sd xmm0, dword [ebp - 0x74c]
mov eax, dword [ebp - 0x74c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9070]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x748], ecx
jmp 0x435ff4
mov dword [ebp - 0x748], 2
mov edx, dword [ebp - 0x728]
shl edx, 2
add edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x748]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x728]
shl ecx, 2
add ecx, dword [ebp - 0x724]
mov dword [ecx], eax
mov edx, dword [ebp - 0x728]
add edx, 0xffffffa4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9088], xmm0
xor eax, eax
je 0x436036
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x436072
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9088]
movsd qword [ebp - 0x9090], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x436212
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x436212
mov dword [ebp - 0x750], 0
jmp 0x4360f1
cmp dword [ebp - 0x750], 9
jae 0x43620d
cvtsi2sd xmm0, dword [ebp - 0x750]
movsd xmm1, qword [ebp - 0x9090]
addsd xmm1, xmm0
movsd qword [ebp - 0x9098], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436160
mov ecx, dword [ebp - 0x750]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9090]
addsd xmm1, xmm0
movsd qword [ebp - 0x9090], xmm1
jmp 0x43605c
cvtsi2sd xmm0, dword [ebp - 0x750]
movsd xmm1, qword [ebp - 0x9090]
addsd xmm1, xmm0
movsd qword [ebp - 0x90a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x90a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4361bd
mov eax, dword [ebp - 0x750]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9090]
addsd xmm1, xmm0
movsd qword [ebp - 0x9090], xmm1
jmp 0x4361d6
mov ecx, 1
test ecx, ecx
je 0x4361d2
jmp 0x43628f
jmp 0x4361f9
cvtsi2sd xmm0, dword [ebp - 0x750]
movsd xmm1, qword [ebp - 0x9090]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x754], edx
jmp 0x436299
xor eax, eax
je 0x436203
jmp 0x436212
jmp 0x43605c
jmp 0x43605c
mov ecx, 6
test ecx, ecx
je 0x43628f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x758], eax
cvtsi2sd xmm0, dword [ebp - 0x758]
mov eax, dword [ebp - 0x758]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9090]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x754], ecx
jmp 0x436299
mov dword [ebp - 0x754], 2
mov edx, dword [ebp - 0x728]
add edx, 0xffffffa4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x90a8], xmm0
xor eax, eax
je 0x4362b3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4362ef
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x90a8]
movsd qword [ebp - 0x90b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43648f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43648f
mov dword [ebp - 0x75c], 0
jmp 0x43636e
cmp dword [ebp - 0x75c], 9
jae 0x43648a
cvtsi2sd xmm0, dword [ebp - 0x75c]
movsd xmm1, qword [ebp - 0x90b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4363dd
mov ecx, dword [ebp - 0x75c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x90b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90b0], xmm1
jmp 0x4362d9
cvtsi2sd xmm0, dword [ebp - 0x75c]
movsd xmm1, qword [ebp - 0x90b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x90c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43643a
mov eax, dword [ebp - 0x75c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90b0], xmm1
jmp 0x436453
mov ecx, 1
test ecx, ecx
je 0x43644f
jmp 0x43650c
jmp 0x436476
cvtsi2sd xmm0, dword [ebp - 0x75c]
movsd xmm1, qword [ebp - 0x90b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x760], edx
jmp 0x436516
xor eax, eax
je 0x436480
jmp 0x43648f
jmp 0x4362d9
jmp 0x4362d9
mov ecx, 6
test ecx, ecx
je 0x43650c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x764], eax
cvtsi2sd xmm0, dword [ebp - 0x764]
mov eax, dword [ebp - 0x764]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x90b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x760], ecx
jmp 0x436516
mov dword [ebp - 0x760], 2
mov edx, dword [ebp - 0x728]
shl edx, 2
add edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x754]
add eax, dword [edx]
mov ecx, dword [ebp - 0x728]
shl ecx, 2
add ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x760]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x728]
shl ecx, 2
add ecx, dword [ebp - 0x724]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x436821
xor eax, eax
je 0x436596
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4365d2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x90c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x436772
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x436772
mov dword [ebp - 0x768], 0
jmp 0x436651
cmp dword [ebp - 0x768], 9
jae 0x43676d
cvtsi2sd xmm0, dword [ebp - 0x768]
movsd xmm1, qword [ebp - 0x90c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4366c0
mov ecx, dword [ebp - 0x768]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x90c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90c8], xmm1
jmp 0x4365bc
cvtsi2sd xmm0, dword [ebp - 0x768]
movsd xmm1, qword [ebp - 0x90c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x90d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43671d
mov eax, dword [ebp - 0x768]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90c8], xmm1
jmp 0x436736
mov ecx, 1
test ecx, ecx
je 0x436732
jmp 0x4367ef
jmp 0x436759
cvtsi2sd xmm0, dword [ebp - 0x768]
movsd xmm1, qword [ebp - 0x90c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x76c], edx
jmp 0x4367f9
xor eax, eax
je 0x436763
jmp 0x436772
jmp 0x4365bc
jmp 0x4365bc
mov ecx, 6
test ecx, ecx
je 0x4367ef
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x770], eax
cvtsi2sd xmm0, dword [ebp - 0x770]
mov eax, dword [ebp - 0x770]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x90c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x76c], ecx
jmp 0x4367f9
mov dword [ebp - 0x76c], 2
mov edx, dword [ebp - 0x728]
shl edx, 2
add edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x76c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x728]
shl ecx, 2
add ecx, dword [ebp - 0x724]
mov dword [ecx], eax
jmp 0x435763
mov edx, dword [ebp - 0x720]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x778], ecx
mov edx, dword [ebp - 0x778]
mov dword [ebp - 0x71c], edx
cmp dword [ebp - 0x2fc], 0
je 0x43687a
cmp dword [ebp - 0x47c], 0
je 0x43687a
cmp dword [ebp - 0x5fc], 0
jne 0x436881
xor al, al
jmp 0x5a78e3
xor eax, eax
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x11]
call fcn.00425020
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x77c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x437981
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x784], 0
jmp 0x4368cd
mov ecx, dword [ebp - 0x784]
add ecx, 1
mov dword [ebp - 0x784], ecx
cmp dword [ebp - 0x784], 1
jae 0x437981
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x436ba2
xor eax, eax
je 0x436917
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x436953
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x90e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x436af3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x436af3
mov dword [ebp - 0x788], 0
jmp 0x4369d2
cmp dword [ebp - 0x788], 9
jae 0x436aee
cvtsi2sd xmm0, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x90e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436a41
mov ecx, dword [ebp - 0x788]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x90e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90e0], xmm1
jmp 0x43693d
cvtsi2sd xmm0, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x90e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x90f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436a9e
mov eax, dword [ebp - 0x788]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x90e0], xmm1
jmp 0x436ab7
mov ecx, 1
test ecx, ecx
je 0x436ab3
jmp 0x436b70
jmp 0x436ada
cvtsi2sd xmm0, dword [ebp - 0x788]
movsd xmm1, qword [ebp - 0x90e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x78c], edx
jmp 0x436b7a
xor eax, eax
je 0x436ae4
jmp 0x436af3
jmp 0x43693d
jmp 0x43693d
mov ecx, 6
test ecx, ecx
je 0x436b70
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x790], eax
cvtsi2sd xmm0, dword [ebp - 0x790]
mov eax, dword [ebp - 0x790]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x90e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x78c], ecx
jmp 0x436b7a
mov dword [ebp - 0x78c], 2
mov edx, dword [ebp - 0x784]
shl edx, 2
add edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x78c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x784]
shl ecx, 2
add ecx, dword [ebp - 0x780]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4376b4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x436eaf
xor eax, eax
je 0x436c24
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x436c60
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x90f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x436e00
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x436e00
mov dword [ebp - 0x794], 0
jmp 0x436cdf
cmp dword [ebp - 0x794], 9
jae 0x436dfb
cvtsi2sd xmm0, dword [ebp - 0x794]
movsd xmm1, qword [ebp - 0x90f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9100], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9100]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436d4e
mov ecx, dword [ebp - 0x794]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x90f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90f8], xmm1
jmp 0x436c4a
cvtsi2sd xmm0, dword [ebp - 0x794]
movsd xmm1, qword [ebp - 0x90f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9108], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9108]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x436dab
mov eax, dword [ebp - 0x794]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x90f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x90f8], xmm1
jmp 0x436dc4
mov ecx, 1
test ecx, ecx
je 0x436dc0
jmp 0x436e7d
jmp 0x436de7
cvtsi2sd xmm0, dword [ebp - 0x794]
movsd xmm1, qword [ebp - 0x90f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x798], edx
jmp 0x436e87
xor eax, eax
je 0x436df1
jmp 0x436e00
jmp 0x436c4a
jmp 0x436c4a
mov ecx, 6
test ecx, ecx
je 0x436e7d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x79c], eax
cvtsi2sd xmm0, dword [ebp - 0x79c]
mov eax, dword [ebp - 0x79c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x90f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x798], ecx
jmp 0x436e87
mov dword [ebp - 0x798], 2
mov edx, dword [ebp - 0x784]
shl edx, 2
add edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x798]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x784]
shl ecx, 2
add ecx, dword [ebp - 0x780]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x437177
xor eax, eax
je 0x436eec
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x436f28
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x9110], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4370c8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4370c8
mov dword [ebp - 0x7a0], 0
jmp 0x436fa7
cmp dword [ebp - 0x7a0], 9
jae 0x4370c3
cvtsi2sd xmm0, dword [ebp - 0x7a0]
movsd xmm1, qword [ebp - 0x9110]
addsd xmm1, xmm0
movsd qword [ebp - 0x9118], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9118]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437016
mov ecx, dword [ebp - 0x7a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9110]
addsd xmm1, xmm0
movsd qword [ebp - 0x9110], xmm1
jmp 0x436f12
cvtsi2sd xmm0, dword [ebp - 0x7a0]
movsd xmm1, qword [ebp - 0x9110]
addsd xmm1, xmm0
movsd qword [ebp - 0x9120], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9120]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437073
mov eax, dword [ebp - 0x7a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9110]
addsd xmm1, xmm0
movsd qword [ebp - 0x9110], xmm1
jmp 0x43708c
mov ecx, 1
test ecx, ecx
je 0x437088
jmp 0x437145
jmp 0x4370af
cvtsi2sd xmm0, dword [ebp - 0x7a0]
movsd xmm1, qword [ebp - 0x9110]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7a4], edx
jmp 0x43714f
xor eax, eax
je 0x4370b9
jmp 0x4370c8
jmp 0x436f12
jmp 0x436f12
mov ecx, 6
test ecx, ecx
je 0x437145
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x7a8], eax
cvtsi2sd xmm0, dword [ebp - 0x7a8]
mov eax, dword [ebp - 0x7a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9110]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x7a4], ecx
jmp 0x43714f
mov dword [ebp - 0x7a4], 2
mov edx, dword [ebp - 0x784]
shl edx, 2
add edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x7a4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x784]
shl ecx, 2
add ecx, dword [ebp - 0x780]
mov dword [ecx], eax
mov edx, dword [ebp - 0x784]
add edx, 0xffffffa5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9128], xmm0
xor eax, eax
je 0x437191
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4371cd
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9128]
movsd qword [ebp - 0x9130], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43736d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43736d
mov dword [ebp - 0x7ac], 0
jmp 0x43724c
cmp dword [ebp - 0x7ac], 9
jae 0x437368
cvtsi2sd xmm0, dword [ebp - 0x7ac]
movsd xmm1, qword [ebp - 0x9130]
addsd xmm1, xmm0
movsd qword [ebp - 0x9138], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4372bb
mov ecx, dword [ebp - 0x7ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9130]
addsd xmm1, xmm0
movsd qword [ebp - 0x9130], xmm1
jmp 0x4371b7
cvtsi2sd xmm0, dword [ebp - 0x7ac]
movsd xmm1, qword [ebp - 0x9130]
addsd xmm1, xmm0
movsd qword [ebp - 0x9140], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9140]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437318
mov eax, dword [ebp - 0x7ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9130]
addsd xmm1, xmm0
movsd qword [ebp - 0x9130], xmm1
jmp 0x437331
mov ecx, 1
test ecx, ecx
je 0x43732d
jmp 0x4373ea
jmp 0x437354
cvtsi2sd xmm0, dword [ebp - 0x7ac]
movsd xmm1, qword [ebp - 0x9130]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7b0], edx
jmp 0x4373f4
xor eax, eax
je 0x43735e
jmp 0x43736d
jmp 0x4371b7
jmp 0x4371b7
mov ecx, 6
test ecx, ecx
je 0x4373ea
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x7b4], eax
cvtsi2sd xmm0, dword [ebp - 0x7b4]
mov eax, dword [ebp - 0x7b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9130]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x7b0], ecx
jmp 0x4373f4
mov dword [ebp - 0x7b0], 2
mov edx, dword [ebp - 0x784]
add edx, 0xffffffa5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9148], xmm0
xor eax, eax
je 0x43740e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43744a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9148]
movsd qword [ebp - 0x9150], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4375ea
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4375ea
mov dword [ebp - 0x7b8], 0
jmp 0x4374c9
cmp dword [ebp - 0x7b8], 9
jae 0x4375e5
cvtsi2sd xmm0, dword [ebp - 0x7b8]
movsd xmm1, qword [ebp - 0x9150]
addsd xmm1, xmm0
movsd qword [ebp - 0x9158], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437538
mov ecx, dword [ebp - 0x7b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9150]
addsd xmm1, xmm0
movsd qword [ebp - 0x9150], xmm1
jmp 0x437434
cvtsi2sd xmm0, dword [ebp - 0x7b8]
movsd xmm1, qword [ebp - 0x9150]
addsd xmm1, xmm0
movsd qword [ebp - 0x9160], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9160]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437595
mov eax, dword [ebp - 0x7b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9150]
addsd xmm1, xmm0
movsd qword [ebp - 0x9150], xmm1
jmp 0x4375ae
mov ecx, 1
test ecx, ecx
je 0x4375aa
jmp 0x437667
jmp 0x4375d1
cvtsi2sd xmm0, dword [ebp - 0x7b8]
movsd xmm1, qword [ebp - 0x9150]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7bc], edx
jmp 0x437671
xor eax, eax
je 0x4375db
jmp 0x4375ea
jmp 0x437434
jmp 0x437434
mov ecx, 6
test ecx, ecx
je 0x437667
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x7c0], eax
cvtsi2sd xmm0, dword [ebp - 0x7c0]
mov eax, dword [ebp - 0x7c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9150]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x7bc], ecx
jmp 0x437671
mov dword [ebp - 0x7bc], 2
mov edx, dword [ebp - 0x784]
shl edx, 2
add edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x7b0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x784]
shl ecx, 2
add ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x7bc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x784]
shl ecx, 2
add ecx, dword [ebp - 0x780]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43797c
xor eax, eax
je 0x4376f1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43772d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x9168], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4378cd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4378cd
mov dword [ebp - 0x7c4], 0
jmp 0x4377ac
cmp dword [ebp - 0x7c4], 9
jae 0x4378c8
cvtsi2sd xmm0, dword [ebp - 0x7c4]
movsd xmm1, qword [ebp - 0x9168]
addsd xmm1, xmm0
movsd qword [ebp - 0x9170], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9170]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43781b
mov ecx, dword [ebp - 0x7c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9168]
addsd xmm1, xmm0
movsd qword [ebp - 0x9168], xmm1
jmp 0x437717
cvtsi2sd xmm0, dword [ebp - 0x7c4]
movsd xmm1, qword [ebp - 0x9168]
addsd xmm1, xmm0
movsd qword [ebp - 0x9178], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437878
mov eax, dword [ebp - 0x7c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9168]
addsd xmm1, xmm0
movsd qword [ebp - 0x9168], xmm1
jmp 0x437891
mov ecx, 1
test ecx, ecx
je 0x43788d
jmp 0x43794a
jmp 0x4378b4
cvtsi2sd xmm0, dword [ebp - 0x7c4]
movsd xmm1, qword [ebp - 0x9168]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7c8], edx
jmp 0x437954
xor eax, eax
je 0x4378be
jmp 0x4378cd
jmp 0x437717
jmp 0x437717
mov ecx, 6
test ecx, ecx
je 0x43794a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x7cc], eax
cvtsi2sd xmm0, dword [ebp - 0x7cc]
mov eax, dword [ebp - 0x7cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9168]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x7c8], ecx
jmp 0x437954
mov dword [ebp - 0x7c8], 2
mov edx, dword [ebp - 0x784]
shl edx, 2
add edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x7c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x784]
shl ecx, 2
add ecx, dword [ebp - 0x780]
mov dword [ecx], eax
jmp 0x4368be
mov edx, dword [ebp - 0x77c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0x7d0], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x7d4], ecx
mov edx, dword [ebp - 0x7d4]
mov dword [ebp - 0x7d8], edx
xor eax, eax
mov byte [ebp - 0x12], al
lea ecx, [ebp - 0x12]
call fcn.00424ff0
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7dc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x438aba
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x7e4], 0
jmp 0x437a06
mov ecx, dword [ebp - 0x7e4]
add ecx, 1
mov dword [ebp - 0x7e4], ecx
cmp dword [ebp - 0x7e4], 1
jae 0x438aba
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x437cdb
xor eax, eax
je 0x437a50
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x437a8c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x9180], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x437c2c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x437c2c
mov dword [ebp - 0x7e8], 0
jmp 0x437b0b
cmp dword [ebp - 0x7e8], 9
jae 0x437c27
cvtsi2sd xmm0, dword [ebp - 0x7e8]
movsd xmm1, qword [ebp - 0x9180]
addsd xmm1, xmm0
movsd qword [ebp - 0x9188], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9188]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437b7a
mov ecx, dword [ebp - 0x7e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9180]
addsd xmm1, xmm0
movsd qword [ebp - 0x9180], xmm1
jmp 0x437a76
cvtsi2sd xmm0, dword [ebp - 0x7e8]
movsd xmm1, qword [ebp - 0x9180]
addsd xmm1, xmm0
movsd qword [ebp - 0x9190], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9190]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437bd7
mov eax, dword [ebp - 0x7e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9180]
addsd xmm1, xmm0
movsd qword [ebp - 0x9180], xmm1
jmp 0x437bf0
mov ecx, 1
test ecx, ecx
je 0x437bec
jmp 0x437ca9
jmp 0x437c13
cvtsi2sd xmm0, dword [ebp - 0x7e8]
movsd xmm1, qword [ebp - 0x9180]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7ec], edx
jmp 0x437cb3
xor eax, eax
je 0x437c1d
jmp 0x437c2c
jmp 0x437a76
jmp 0x437a76
mov ecx, 6
test ecx, ecx
je 0x437ca9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x7f0], eax
cvtsi2sd xmm0, dword [ebp - 0x7f0]
mov eax, dword [ebp - 0x7f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9180]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x7ec], ecx
jmp 0x437cb3
mov dword [ebp - 0x7ec], 2
mov edx, dword [ebp - 0x7e4]
shl edx, 2
add edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x7e4]
shl ecx, 2
add ecx, dword [ebp - 0x7e0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4387ed
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x437fe8
xor eax, eax
je 0x437d5d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x437d99
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x9198], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x437f39
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x437f39
mov dword [ebp - 0x7f4], 0
jmp 0x437e18
cmp dword [ebp - 0x7f4], 9
jae 0x437f34
cvtsi2sd xmm0, dword [ebp - 0x7f4]
movsd xmm1, qword [ebp - 0x9198]
addsd xmm1, xmm0
movsd qword [ebp - 0x91a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437e87
mov ecx, dword [ebp - 0x7f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9198]
addsd xmm1, xmm0
movsd qword [ebp - 0x9198], xmm1
jmp 0x437d83
cvtsi2sd xmm0, dword [ebp - 0x7f4]
movsd xmm1, qword [ebp - 0x9198]
addsd xmm1, xmm0
movsd qword [ebp - 0x91a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x91a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x437ee4
mov eax, dword [ebp - 0x7f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9198]
addsd xmm1, xmm0
movsd qword [ebp - 0x9198], xmm1
jmp 0x437efd
mov ecx, 1
test ecx, ecx
je 0x437ef9
jmp 0x437fb6
jmp 0x437f20
cvtsi2sd xmm0, dword [ebp - 0x7f4]
movsd xmm1, qword [ebp - 0x9198]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x7f8], edx
jmp 0x437fc0
xor eax, eax
je 0x437f2a
jmp 0x437f39
jmp 0x437d83
jmp 0x437d83
mov ecx, 6
test ecx, ecx
je 0x437fb6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x7fc], eax
cvtsi2sd xmm0, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x7fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9198]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x7f8], ecx
jmp 0x437fc0
mov dword [ebp - 0x7f8], 2
mov edx, dword [ebp - 0x7e4]
shl edx, 2
add edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x7f8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x7e4]
shl ecx, 2
add ecx, dword [ebp - 0x7e0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4382b0
xor eax, eax
je 0x438025
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x438061
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x91b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x438201
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x438201
mov dword [ebp - 0x800], 0
jmp 0x4380e0
cmp dword [ebp - 0x800], 9
jae 0x4381fc
cvtsi2sd xmm0, dword [ebp - 0x800]
movsd xmm1, qword [ebp - 0x91b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43814f
mov ecx, dword [ebp - 0x800]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x91b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91b0], xmm1
jmp 0x43804b
cvtsi2sd xmm0, dword [ebp - 0x800]
movsd xmm1, qword [ebp - 0x91b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x91c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4381ac
mov eax, dword [ebp - 0x800]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91b0], xmm1
jmp 0x4381c5
mov ecx, 1
test ecx, ecx
je 0x4381c1
jmp 0x43827e
jmp 0x4381e8
cvtsi2sd xmm0, dword [ebp - 0x800]
movsd xmm1, qword [ebp - 0x91b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x804], edx
jmp 0x438288
xor eax, eax
je 0x4381f2
jmp 0x438201
jmp 0x43804b
jmp 0x43804b
mov ecx, 6
test ecx, ecx
je 0x43827e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x808], eax
cvtsi2sd xmm0, dword [ebp - 0x808]
mov eax, dword [ebp - 0x808]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x91b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x804], ecx
jmp 0x438288
mov dword [ebp - 0x804], 2
mov edx, dword [ebp - 0x7e4]
shl edx, 2
add edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x804]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x7e4]
shl ecx, 2
add ecx, dword [ebp - 0x7e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x7e4]
add edx, 0xffffffa5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x91c8], xmm0
xor eax, eax
je 0x4382ca
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x438306
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x91c8]
movsd qword [ebp - 0x91d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4384a6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4384a6
mov dword [ebp - 0x80c], 0
jmp 0x438385
cmp dword [ebp - 0x80c], 9
jae 0x4384a1
cvtsi2sd xmm0, dword [ebp - 0x80c]
movsd xmm1, qword [ebp - 0x91d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4383f4
mov ecx, dword [ebp - 0x80c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x91d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91d0], xmm1
jmp 0x4382f0
cvtsi2sd xmm0, dword [ebp - 0x80c]
movsd xmm1, qword [ebp - 0x91d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x91e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438451
mov eax, dword [ebp - 0x80c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91d0], xmm1
jmp 0x43846a
mov ecx, 1
test ecx, ecx
je 0x438466
jmp 0x438523
jmp 0x43848d
cvtsi2sd xmm0, dword [ebp - 0x80c]
movsd xmm1, qword [ebp - 0x91d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x810], edx
jmp 0x43852d
xor eax, eax
je 0x438497
jmp 0x4384a6
jmp 0x4382f0
jmp 0x4382f0
mov ecx, 6
test ecx, ecx
je 0x438523
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x814], eax
cvtsi2sd xmm0, dword [ebp - 0x814]
mov eax, dword [ebp - 0x814]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x91d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x810], ecx
jmp 0x43852d
mov dword [ebp - 0x810], 2
mov edx, dword [ebp - 0x7e4]
add edx, 0xffffffa5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x91e8], xmm0
xor eax, eax
je 0x438547
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x438583
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x91e8]
movsd qword [ebp - 0x91f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x438723
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x438723
mov dword [ebp - 0x818], 0
jmp 0x438602
cmp dword [ebp - 0x818], 9
jae 0x43871e
cvtsi2sd xmm0, dword [ebp - 0x818]
movsd xmm1, qword [ebp - 0x91f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438671
mov ecx, dword [ebp - 0x818]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x91f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91f0], xmm1
jmp 0x43856d
cvtsi2sd xmm0, dword [ebp - 0x818]
movsd xmm1, qword [ebp - 0x91f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9200], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9200]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4386ce
mov eax, dword [ebp - 0x818]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x91f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x91f0], xmm1
jmp 0x4386e7
mov ecx, 1
test ecx, ecx
je 0x4386e3
jmp 0x4387a0
jmp 0x43870a
cvtsi2sd xmm0, dword [ebp - 0x818]
movsd xmm1, qword [ebp - 0x91f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x81c], edx
jmp 0x4387aa
xor eax, eax
je 0x438714
jmp 0x438723
jmp 0x43856d
jmp 0x43856d
mov ecx, 6
test ecx, ecx
je 0x4387a0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x820], eax
cvtsi2sd xmm0, dword [ebp - 0x820]
mov eax, dword [ebp - 0x820]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x91f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x81c], ecx
jmp 0x4387aa
mov dword [ebp - 0x81c], 2
mov edx, dword [ebp - 0x7e4]
shl edx, 2
add edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x810]
add eax, dword [edx]
mov ecx, dword [ebp - 0x7e4]
shl ecx, 2
add ecx, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0x81c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x7e4]
shl ecx, 2
add ecx, dword [ebp - 0x7e0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x438ab5
xor eax, eax
je 0x43882a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x438866
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x9208], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x438a06
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x438a06
mov dword [ebp - 0x824], 0
jmp 0x4388e5
cmp dword [ebp - 0x824], 9
jae 0x438a01
cvtsi2sd xmm0, dword [ebp - 0x824]
movsd xmm1, qword [ebp - 0x9208]
addsd xmm1, xmm0
movsd qword [ebp - 0x9210], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9210]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438954
mov ecx, dword [ebp - 0x824]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9208]
addsd xmm1, xmm0
movsd qword [ebp - 0x9208], xmm1
jmp 0x438850
cvtsi2sd xmm0, dword [ebp - 0x824]
movsd xmm1, qword [ebp - 0x9208]
addsd xmm1, xmm0
movsd qword [ebp - 0x9218], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4389b1
mov eax, dword [ebp - 0x824]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9208]
addsd xmm1, xmm0
movsd qword [ebp - 0x9208], xmm1
jmp 0x4389ca
mov ecx, 1
test ecx, ecx
je 0x4389c6
jmp 0x438a83
jmp 0x4389ed
cvtsi2sd xmm0, dword [ebp - 0x824]
movsd xmm1, qword [ebp - 0x9208]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x828], edx
jmp 0x438a8d
xor eax, eax
je 0x4389f7
jmp 0x438a06
jmp 0x438850
jmp 0x438850
mov ecx, 6
test ecx, ecx
je 0x438a83
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x82c], eax
cvtsi2sd xmm0, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x82c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9208]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x828], ecx
jmp 0x438a8d
mov dword [ebp - 0x828], 2
mov edx, dword [ebp - 0x7e4]
shl edx, 2
add edx, dword [ebp - 0x7e0]
mov eax, dword [ebp - 0x828]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x7e4]
shl ecx, 2
add ecx, dword [ebp - 0x7e0]
mov dword [ecx], eax
jmp 0x4379f7
mov edx, dword [ebp - 0x7dc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x830], eax
mov ecx, dword [ebp - 0x830]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x834]
mov dword [ebp - 0x838], edx
xor eax, eax
mov byte [ebp - 0x13], al
lea ecx, [ebp - 0x13]
call fcn.00424fc0
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x83c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x439bf3
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x844], 0
jmp 0x438b3f
mov ecx, dword [ebp - 0x844]
add ecx, 1
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 1
jae 0x439bf3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x438e14
xor eax, eax
je 0x438b89
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x438bc5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726400]
movsd qword [ebp - 0x9220], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x438d65
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x438d65
mov dword [ebp - 0x848], 0
jmp 0x438c44
cmp dword [ebp - 0x848], 9
jae 0x438d60
cvtsi2sd xmm0, dword [ebp - 0x848]
movsd xmm1, qword [ebp - 0x9220]
addsd xmm1, xmm0
movsd qword [ebp - 0x9228], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9228]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438cb3
mov ecx, dword [ebp - 0x848]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9220]
addsd xmm1, xmm0
movsd qword [ebp - 0x9220], xmm1
jmp 0x438baf
cvtsi2sd xmm0, dword [ebp - 0x848]
movsd xmm1, qword [ebp - 0x9220]
addsd xmm1, xmm0
movsd qword [ebp - 0x9230], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9230]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438d10
mov eax, dword [ebp - 0x848]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9220]
addsd xmm1, xmm0
movsd qword [ebp - 0x9220], xmm1
jmp 0x438d29
mov ecx, 1
test ecx, ecx
je 0x438d25
jmp 0x438de2
jmp 0x438d4c
cvtsi2sd xmm0, dword [ebp - 0x848]
movsd xmm1, qword [ebp - 0x9220]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x84c], edx
jmp 0x438dec
xor eax, eax
je 0x438d56
jmp 0x438d65
jmp 0x438baf
jmp 0x438baf
mov ecx, 6
test ecx, ecx
je 0x438de2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x850], eax
cvtsi2sd xmm0, dword [ebp - 0x850]
mov eax, dword [ebp - 0x850]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9220]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x84c], ecx
jmp 0x438dec
mov dword [ebp - 0x84c], 2
mov edx, dword [ebp - 0x844]
shl edx, 2
add edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x84c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x844]
shl ecx, 2
add ecx, dword [ebp - 0x840]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x439926
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x439121
xor eax, eax
je 0x438e96
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x438ed2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x9238], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x439072
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x439072
mov dword [ebp - 0x854], 0
jmp 0x438f51
cmp dword [ebp - 0x854], 9
jae 0x43906d
cvtsi2sd xmm0, dword [ebp - 0x854]
movsd xmm1, qword [ebp - 0x9238]
addsd xmm1, xmm0
movsd qword [ebp - 0x9240], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9240]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x438fc0
mov ecx, dword [ebp - 0x854]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9238]
addsd xmm1, xmm0
movsd qword [ebp - 0x9238], xmm1
jmp 0x438ebc
cvtsi2sd xmm0, dword [ebp - 0x854]
movsd xmm1, qword [ebp - 0x9238]
addsd xmm1, xmm0
movsd qword [ebp - 0x9248], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9248]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43901d
mov eax, dword [ebp - 0x854]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9238]
addsd xmm1, xmm0
movsd qword [ebp - 0x9238], xmm1
jmp 0x439036
mov ecx, 1
test ecx, ecx
je 0x439032
jmp 0x4390ef
jmp 0x439059
cvtsi2sd xmm0, dword [ebp - 0x854]
movsd xmm1, qword [ebp - 0x9238]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x858], edx
jmp 0x4390f9
xor eax, eax
je 0x439063
jmp 0x439072
jmp 0x438ebc
jmp 0x438ebc
mov ecx, 6
test ecx, ecx
je 0x4390ef
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x85c], eax
cvtsi2sd xmm0, dword [ebp - 0x85c]
mov eax, dword [ebp - 0x85c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9238]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x858], ecx
jmp 0x4390f9
mov dword [ebp - 0x858], 2
mov edx, dword [ebp - 0x844]
shl edx, 2
add edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x858]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x844]
shl ecx, 2
add ecx, dword [ebp - 0x840]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4393e9
xor eax, eax
je 0x43915e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43919a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x9250], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43933a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43933a
mov dword [ebp - 0x860], 0
jmp 0x439219
cmp dword [ebp - 0x860], 9
jae 0x439335
cvtsi2sd xmm0, dword [ebp - 0x860]
movsd xmm1, qword [ebp - 0x9250]
addsd xmm1, xmm0
movsd qword [ebp - 0x9258], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439288
mov ecx, dword [ebp - 0x860]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9250]
addsd xmm1, xmm0
movsd qword [ebp - 0x9250], xmm1
jmp 0x439184
cvtsi2sd xmm0, dword [ebp - 0x860]
movsd xmm1, qword [ebp - 0x9250]
addsd xmm1, xmm0
movsd qword [ebp - 0x9260], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9260]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4392e5
mov eax, dword [ebp - 0x860]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9250]
addsd xmm1, xmm0
movsd qword [ebp - 0x9250], xmm1
jmp 0x4392fe
mov ecx, 1
test ecx, ecx
je 0x4392fa
jmp 0x4393b7
jmp 0x439321
cvtsi2sd xmm0, dword [ebp - 0x860]
movsd xmm1, qword [ebp - 0x9250]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x864], edx
jmp 0x4393c1
xor eax, eax
je 0x43932b
jmp 0x43933a
jmp 0x439184
jmp 0x439184
mov ecx, 6
test ecx, ecx
je 0x4393b7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x868], eax
cvtsi2sd xmm0, dword [ebp - 0x868]
mov eax, dword [ebp - 0x868]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9250]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x864], ecx
jmp 0x4393c1
mov dword [ebp - 0x864], 2
mov edx, dword [ebp - 0x844]
shl edx, 2
add edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x864]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x844]
shl ecx, 2
add ecx, dword [ebp - 0x840]
mov dword [ecx], eax
mov edx, dword [ebp - 0x844]
add edx, 0xffffffa5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9268], xmm0
xor eax, eax
je 0x439403
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43943f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9268]
movsd qword [ebp - 0x9270], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4395df
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4395df
mov dword [ebp - 0x86c], 0
jmp 0x4394be
cmp dword [ebp - 0x86c], 9
jae 0x4395da
cvtsi2sd xmm0, dword [ebp - 0x86c]
movsd xmm1, qword [ebp - 0x9270]
addsd xmm1, xmm0
movsd qword [ebp - 0x9278], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43952d
mov ecx, dword [ebp - 0x86c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9270]
addsd xmm1, xmm0
movsd qword [ebp - 0x9270], xmm1
jmp 0x439429
cvtsi2sd xmm0, dword [ebp - 0x86c]
movsd xmm1, qword [ebp - 0x9270]
addsd xmm1, xmm0
movsd qword [ebp - 0x9280], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9280]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43958a
mov eax, dword [ebp - 0x86c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9270]
addsd xmm1, xmm0
movsd qword [ebp - 0x9270], xmm1
jmp 0x4395a3
mov ecx, 1
test ecx, ecx
je 0x43959f
jmp 0x43965c
jmp 0x4395c6
cvtsi2sd xmm0, dword [ebp - 0x86c]
movsd xmm1, qword [ebp - 0x9270]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x870], edx
jmp 0x439666
xor eax, eax
je 0x4395d0
jmp 0x4395df
jmp 0x439429
jmp 0x439429
mov ecx, 6
test ecx, ecx
je 0x43965c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x874], eax
cvtsi2sd xmm0, dword [ebp - 0x874]
mov eax, dword [ebp - 0x874]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9270]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x870], ecx
jmp 0x439666
mov dword [ebp - 0x870], 2
mov edx, dword [ebp - 0x844]
add edx, 0xffffffa5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9288], xmm0
xor eax, eax
je 0x439680
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4396bc
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9288]
movsd qword [ebp - 0x9290], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43985c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43985c
mov dword [ebp - 0x878], 0
jmp 0x43973b
cmp dword [ebp - 0x878], 9
jae 0x439857
cvtsi2sd xmm0, dword [ebp - 0x878]
movsd xmm1, qword [ebp - 0x9290]
addsd xmm1, xmm0
movsd qword [ebp - 0x9298], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4397aa
mov ecx, dword [ebp - 0x878]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9290]
addsd xmm1, xmm0
movsd qword [ebp - 0x9290], xmm1
jmp 0x4396a6
cvtsi2sd xmm0, dword [ebp - 0x878]
movsd xmm1, qword [ebp - 0x9290]
addsd xmm1, xmm0
movsd qword [ebp - 0x92a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x92a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439807
mov eax, dword [ebp - 0x878]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9290]
addsd xmm1, xmm0
movsd qword [ebp - 0x9290], xmm1
jmp 0x439820
mov ecx, 1
test ecx, ecx
je 0x43981c
jmp 0x4398d9
jmp 0x439843
cvtsi2sd xmm0, dword [ebp - 0x878]
movsd xmm1, qword [ebp - 0x9290]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x87c], edx
jmp 0x4398e3
xor eax, eax
je 0x43984d
jmp 0x43985c
jmp 0x4396a6
jmp 0x4396a6
mov ecx, 6
test ecx, ecx
je 0x4398d9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x880], eax
cvtsi2sd xmm0, dword [ebp - 0x880]
mov eax, dword [ebp - 0x880]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9290]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x87c], ecx
jmp 0x4398e3
mov dword [ebp - 0x87c], 2
mov edx, dword [ebp - 0x844]
shl edx, 2
add edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x870]
add eax, dword [edx]
mov ecx, dword [ebp - 0x844]
shl ecx, 2
add ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0x87c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x844]
shl ecx, 2
add ecx, dword [ebp - 0x840]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x439bee
xor eax, eax
je 0x439963
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43999f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x92a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x439b3f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x439b3f
mov dword [ebp - 0x884], 0
jmp 0x439a1e
cmp dword [ebp - 0x884], 9
jae 0x439b3a
cvtsi2sd xmm0, dword [ebp - 0x884]
movsd xmm1, qword [ebp - 0x92a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439a8d
mov ecx, dword [ebp - 0x884]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x92a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92a8], xmm1
jmp 0x439989
cvtsi2sd xmm0, dword [ebp - 0x884]
movsd xmm1, qword [ebp - 0x92a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x92b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439aea
mov eax, dword [ebp - 0x884]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92a8], xmm1
jmp 0x439b03
mov ecx, 1
test ecx, ecx
je 0x439aff
jmp 0x439bbc
jmp 0x439b26
cvtsi2sd xmm0, dword [ebp - 0x884]
movsd xmm1, qword [ebp - 0x92a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x888], edx
jmp 0x439bc6
xor eax, eax
je 0x439b30
jmp 0x439b3f
jmp 0x439989
jmp 0x439989
mov ecx, 6
test ecx, ecx
je 0x439bbc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x88c], eax
cvtsi2sd xmm0, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x88c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x92a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x888], ecx
jmp 0x439bc6
mov dword [ebp - 0x888], 2
mov edx, dword [ebp - 0x844]
shl edx, 2
add edx, dword [ebp - 0x840]
mov eax, dword [ebp - 0x888]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x844]
shl ecx, 2
add ecx, dword [ebp - 0x840]
mov dword [ecx], eax
jmp 0x438b30
mov edx, dword [ebp - 0x83c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x890]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x894]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x7d8], eax
cmp dword [ebp - 0x7d8], 0
je 0x43ad7e
xor ecx, ecx
mov byte [ebp - 0x14], cl
lea ecx, [ebp - 0x14]
call fcn.00424f90
mov dword [ebp - 0x89c], eax
mov edx, dword [ebp - 0x89c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x43ad45
mov ecx, dword [ebp - 0x89c]
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x8a4], 0
jmp 0x439c91
mov edx, dword [ebp - 0x8a4]
add edx, 1
mov dword [ebp - 0x8a4], edx
cmp dword [ebp - 0x8a4], 1
jae 0x43ad45
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x439f66
xor eax, eax
je 0x439cdb
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x439d17
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x92c0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x439eb7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x439eb7
mov dword [ebp - 0x8a8], 0
jmp 0x439d96
cmp dword [ebp - 0x8a8], 9
jae 0x439eb2
cvtsi2sd xmm0, dword [ebp - 0x8a8]
movsd xmm1, qword [ebp - 0x92c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439e05
mov ecx, dword [ebp - 0x8a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x92c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92c0], xmm1
jmp 0x439d01
cvtsi2sd xmm0, dword [ebp - 0x8a8]
movsd xmm1, qword [ebp - 0x92c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x92d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x439e62
mov eax, dword [ebp - 0x8a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92c0], xmm1
jmp 0x439e7b
mov ecx, 1
test ecx, ecx
je 0x439e77
jmp 0x439f34
jmp 0x439e9e
cvtsi2sd xmm0, dword [ebp - 0x8a8]
movsd xmm1, qword [ebp - 0x92c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x8ac], edx
jmp 0x439f3e
xor eax, eax
je 0x439ea8
jmp 0x439eb7
jmp 0x439d01
jmp 0x439d01
mov ecx, 6
test ecx, ecx
je 0x439f34
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x8b0], eax
cvtsi2sd xmm0, dword [ebp - 0x8b0]
mov eax, dword [ebp - 0x8b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x92c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x8ac], ecx
jmp 0x439f3e
mov dword [ebp - 0x8ac], 2
mov edx, dword [ebp - 0x8a4]
shl edx, 2
add edx, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x8ac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x8a4]
shl ecx, 2
add ecx, dword [ebp - 0x8a0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43aa78
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43a273
xor eax, eax
je 0x439fe8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43a024
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x92d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43a1c4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43a1c4
mov dword [ebp - 0x8b4], 0
jmp 0x43a0a3
cmp dword [ebp - 0x8b4], 9
jae 0x43a1bf
cvtsi2sd xmm0, dword [ebp - 0x8b4]
movsd xmm1, qword [ebp - 0x92d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a112
mov ecx, dword [ebp - 0x8b4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x92d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92d8], xmm1
jmp 0x43a00e
cvtsi2sd xmm0, dword [ebp - 0x8b4]
movsd xmm1, qword [ebp - 0x92d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x92e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a16f
mov eax, dword [ebp - 0x8b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x92d8], xmm1
jmp 0x43a188
mov ecx, 1
test ecx, ecx
je 0x43a184
jmp 0x43a241
jmp 0x43a1ab
cvtsi2sd xmm0, dword [ebp - 0x8b4]
movsd xmm1, qword [ebp - 0x92d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x8b8], edx
jmp 0x43a24b
xor eax, eax
je 0x43a1b5
jmp 0x43a1c4
jmp 0x43a00e
jmp 0x43a00e
mov ecx, 6
test ecx, ecx
je 0x43a241
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x8bc], eax
cvtsi2sd xmm0, dword [ebp - 0x8bc]
mov eax, dword [ebp - 0x8bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x92d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x8b8], ecx
jmp 0x43a24b
mov dword [ebp - 0x8b8], 2
mov edx, dword [ebp - 0x8a4]
shl edx, 2
add edx, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x8b8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x8a4]
shl ecx, 2
add ecx, dword [ebp - 0x8a0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43a53b
xor eax, eax
je 0x43a2b0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43a2ec
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x92f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43a48c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43a48c
mov dword [ebp - 0x8c0], 0
jmp 0x43a36b
cmp dword [ebp - 0x8c0], 9
jae 0x43a487
cvtsi2sd xmm0, dword [ebp - 0x8c0]
movsd xmm1, qword [ebp - 0x92f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a3da
mov ecx, dword [ebp - 0x8c0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x92f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92f0], xmm1
jmp 0x43a2d6
cvtsi2sd xmm0, dword [ebp - 0x8c0]
movsd xmm1, qword [ebp - 0x92f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9300], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9300]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a437
mov eax, dword [ebp - 0x8c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x92f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x92f0], xmm1
jmp 0x43a450
mov ecx, 1
test ecx, ecx
je 0x43a44c
jmp 0x43a509
jmp 0x43a473
cvtsi2sd xmm0, dword [ebp - 0x8c0]
movsd xmm1, qword [ebp - 0x92f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x8c4], edx
jmp 0x43a513
xor eax, eax
je 0x43a47d
jmp 0x43a48c
jmp 0x43a2d6
jmp 0x43a2d6
mov ecx, 6
test ecx, ecx
je 0x43a509
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x8c8], eax
cvtsi2sd xmm0, dword [ebp - 0x8c8]
mov eax, dword [ebp - 0x8c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x92f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x8c4], ecx
jmp 0x43a513
mov dword [ebp - 0x8c4], 2
mov edx, dword [ebp - 0x8a4]
shl edx, 2
add edx, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x8c4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x8a4]
shl ecx, 2
add ecx, dword [ebp - 0x8a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8a4]
add edx, 0xffffffa6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9308], xmm0
xor eax, eax
je 0x43a555
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43a591
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9308]
movsd qword [ebp - 0x9310], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43a731
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43a731
mov dword [ebp - 0x8cc], 0
jmp 0x43a610
cmp dword [ebp - 0x8cc], 9
jae 0x43a72c
cvtsi2sd xmm0, dword [ebp - 0x8cc]
movsd xmm1, qword [ebp - 0x9310]
addsd xmm1, xmm0
movsd qword [ebp - 0x9318], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a67f
mov ecx, dword [ebp - 0x8cc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9310]
addsd xmm1, xmm0
movsd qword [ebp - 0x9310], xmm1
jmp 0x43a57b
cvtsi2sd xmm0, dword [ebp - 0x8cc]
movsd xmm1, qword [ebp - 0x9310]
addsd xmm1, xmm0
movsd qword [ebp - 0x9320], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9320]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a6dc
mov eax, dword [ebp - 0x8cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9310]
addsd xmm1, xmm0
movsd qword [ebp - 0x9310], xmm1
jmp 0x43a6f5
mov ecx, 1
test ecx, ecx
je 0x43a6f1
jmp 0x43a7ae
jmp 0x43a718
cvtsi2sd xmm0, dword [ebp - 0x8cc]
movsd xmm1, qword [ebp - 0x9310]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x8d0], edx
jmp 0x43a7b8
xor eax, eax
je 0x43a722
jmp 0x43a731
jmp 0x43a57b
jmp 0x43a57b
mov ecx, 6
test ecx, ecx
je 0x43a7ae
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x8d4], eax
cvtsi2sd xmm0, dword [ebp - 0x8d4]
mov eax, dword [ebp - 0x8d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9310]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x8d0], ecx
jmp 0x43a7b8
mov dword [ebp - 0x8d0], 2
mov edx, dword [ebp - 0x8a4]
add edx, 0xffffffa6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9328], xmm0
xor eax, eax
je 0x43a7d2
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43a80e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9328]
movsd qword [ebp - 0x9330], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43a9ae
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43a9ae
mov dword [ebp - 0x8d8], 0
jmp 0x43a88d
cmp dword [ebp - 0x8d8], 9
jae 0x43a9a9
cvtsi2sd xmm0, dword [ebp - 0x8d8]
movsd xmm1, qword [ebp - 0x9330]
addsd xmm1, xmm0
movsd qword [ebp - 0x9338], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a8fc
mov ecx, dword [ebp - 0x8d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9330]
addsd xmm1, xmm0
movsd qword [ebp - 0x9330], xmm1
jmp 0x43a7f8
cvtsi2sd xmm0, dword [ebp - 0x8d8]
movsd xmm1, qword [ebp - 0x9330]
addsd xmm1, xmm0
movsd qword [ebp - 0x9340], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9340]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43a959
mov eax, dword [ebp - 0x8d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9330]
addsd xmm1, xmm0
movsd qword [ebp - 0x9330], xmm1
jmp 0x43a972
mov ecx, 1
test ecx, ecx
je 0x43a96e
jmp 0x43aa2b
jmp 0x43a995
cvtsi2sd xmm0, dword [ebp - 0x8d8]
movsd xmm1, qword [ebp - 0x9330]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x8dc], edx
jmp 0x43aa35
xor eax, eax
je 0x43a99f
jmp 0x43a9ae
jmp 0x43a7f8
jmp 0x43a7f8
mov ecx, 6
test ecx, ecx
je 0x43aa2b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x8e0], eax
cvtsi2sd xmm0, dword [ebp - 0x8e0]
mov eax, dword [ebp - 0x8e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9330]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x8dc], ecx
jmp 0x43aa35
mov dword [ebp - 0x8dc], 2
mov edx, dword [ebp - 0x8a4]
shl edx, 2
add edx, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x8d0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x8a4]
shl ecx, 2
add ecx, dword [ebp - 0x8a0]
mov edx, dword [ebp - 0x8dc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x8a4]
shl ecx, 2
add ecx, dword [ebp - 0x8a0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43ad40
xor eax, eax
je 0x43aab5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43aaf1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x9348], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43ac91
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43ac91
mov dword [ebp - 0x8e4], 0
jmp 0x43ab70
cmp dword [ebp - 0x8e4], 9
jae 0x43ac8c
cvtsi2sd xmm0, dword [ebp - 0x8e4]
movsd xmm1, qword [ebp - 0x9348]
addsd xmm1, xmm0
movsd qword [ebp - 0x9350], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9350]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43abdf
mov ecx, dword [ebp - 0x8e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9348]
addsd xmm1, xmm0
movsd qword [ebp - 0x9348], xmm1
jmp 0x43aadb
cvtsi2sd xmm0, dword [ebp - 0x8e4]
movsd xmm1, qword [ebp - 0x9348]
addsd xmm1, xmm0
movsd qword [ebp - 0x9358], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ac3c
mov eax, dword [ebp - 0x8e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9348]
addsd xmm1, xmm0
movsd qword [ebp - 0x9348], xmm1
jmp 0x43ac55
mov ecx, 1
test ecx, ecx
je 0x43ac51
jmp 0x43ad0e
jmp 0x43ac78
cvtsi2sd xmm0, dword [ebp - 0x8e4]
movsd xmm1, qword [ebp - 0x9348]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x8e8], edx
jmp 0x43ad18
xor eax, eax
je 0x43ac82
jmp 0x43ac91
jmp 0x43aadb
jmp 0x43aadb
mov ecx, 6
test ecx, ecx
je 0x43ad0e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x8ec], eax
cvtsi2sd xmm0, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9348]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x8e8], ecx
jmp 0x43ad18
mov dword [ebp - 0x8e8], 2
mov edx, dword [ebp - 0x8a4]
shl edx, 2
add edx, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x8e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x8a4]
shl ecx, 2
add ecx, dword [ebp - 0x8a0]
mov dword [ecx], eax
jmp 0x439c82
mov edx, dword [ebp - 0x89c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x89c]
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x8f0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x8f4], ecx
mov edx, dword [ebp - 0x8f4]
mov dword [ebp - 0x898], edx
xor eax, eax
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x15]
call fcn.00424f60
mov dword [ebp - 0x8f8], eax
mov ecx, dword [ebp - 0x8f8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x43be7e
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x900], 0
jmp 0x43adca
mov ecx, dword [ebp - 0x900]
add ecx, 1
mov dword [ebp - 0x900], ecx
cmp dword [ebp - 0x900], 1
jae 0x43be7e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43b09f
xor eax, eax
je 0x43ae14
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43ae50
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f8]
movsd qword [ebp - 0x9360], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43aff0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43aff0
mov dword [ebp - 0x904], 0
jmp 0x43aecf
cmp dword [ebp - 0x904], 9
jae 0x43afeb
cvtsi2sd xmm0, dword [ebp - 0x904]
movsd xmm1, qword [ebp - 0x9360]
addsd xmm1, xmm0
movsd qword [ebp - 0x9368], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9368]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43af3e
mov ecx, dword [ebp - 0x904]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9360]
addsd xmm1, xmm0
movsd qword [ebp - 0x9360], xmm1
jmp 0x43ae3a
cvtsi2sd xmm0, dword [ebp - 0x904]
movsd xmm1, qword [ebp - 0x9360]
addsd xmm1, xmm0
movsd qword [ebp - 0x9370], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9370]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43af9b
mov eax, dword [ebp - 0x904]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9360]
addsd xmm1, xmm0
movsd qword [ebp - 0x9360], xmm1
jmp 0x43afb4
mov ecx, 1
test ecx, ecx
je 0x43afb0
jmp 0x43b06d
jmp 0x43afd7
cvtsi2sd xmm0, dword [ebp - 0x904]
movsd xmm1, qword [ebp - 0x9360]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x908], edx
jmp 0x43b077
xor eax, eax
je 0x43afe1
jmp 0x43aff0
jmp 0x43ae3a
jmp 0x43ae3a
mov ecx, 6
test ecx, ecx
je 0x43b06d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x90c], eax
cvtsi2sd xmm0, dword [ebp - 0x90c]
mov eax, dword [ebp - 0x90c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9360]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x908], ecx
jmp 0x43b077
mov dword [ebp - 0x908], 2
mov edx, dword [ebp - 0x900]
shl edx, 2
add edx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x908]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x900]
shl ecx, 2
add ecx, dword [ebp - 0x8fc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43bbb1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43b3ac
xor eax, eax
je 0x43b121
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43b15d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x9378], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43b2fd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43b2fd
mov dword [ebp - 0x910], 0
jmp 0x43b1dc
cmp dword [ebp - 0x910], 9
jae 0x43b2f8
cvtsi2sd xmm0, dword [ebp - 0x910]
movsd xmm1, qword [ebp - 0x9378]
addsd xmm1, xmm0
movsd qword [ebp - 0x9380], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9380]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b24b
mov ecx, dword [ebp - 0x910]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9378]
addsd xmm1, xmm0
movsd qword [ebp - 0x9378], xmm1
jmp 0x43b147
cvtsi2sd xmm0, dword [ebp - 0x910]
movsd xmm1, qword [ebp - 0x9378]
addsd xmm1, xmm0
movsd qword [ebp - 0x9388], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9388]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b2a8
mov eax, dword [ebp - 0x910]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9378]
addsd xmm1, xmm0
movsd qword [ebp - 0x9378], xmm1
jmp 0x43b2c1
mov ecx, 1
test ecx, ecx
je 0x43b2bd
jmp 0x43b37a
jmp 0x43b2e4
cvtsi2sd xmm0, dword [ebp - 0x910]
movsd xmm1, qword [ebp - 0x9378]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x914], edx
jmp 0x43b384
xor eax, eax
je 0x43b2ee
jmp 0x43b2fd
jmp 0x43b147
jmp 0x43b147
mov ecx, 6
test ecx, ecx
je 0x43b37a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x918], eax
cvtsi2sd xmm0, dword [ebp - 0x918]
mov eax, dword [ebp - 0x918]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9378]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x914], ecx
jmp 0x43b384
mov dword [ebp - 0x914], 2
mov edx, dword [ebp - 0x900]
shl edx, 2
add edx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x914]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x900]
shl ecx, 2
add ecx, dword [ebp - 0x8fc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43b674
xor eax, eax
je 0x43b3e9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43b425
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x9390], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43b5c5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43b5c5
mov dword [ebp - 0x91c], 0
jmp 0x43b4a4
cmp dword [ebp - 0x91c], 9
jae 0x43b5c0
cvtsi2sd xmm0, dword [ebp - 0x91c]
movsd xmm1, qword [ebp - 0x9390]
addsd xmm1, xmm0
movsd qword [ebp - 0x9398], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b513
mov ecx, dword [ebp - 0x91c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9390]
addsd xmm1, xmm0
movsd qword [ebp - 0x9390], xmm1
jmp 0x43b40f
cvtsi2sd xmm0, dword [ebp - 0x91c]
movsd xmm1, qword [ebp - 0x9390]
addsd xmm1, xmm0
movsd qword [ebp - 0x93a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x93a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b570
mov eax, dword [ebp - 0x91c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9390]
addsd xmm1, xmm0
movsd qword [ebp - 0x9390], xmm1
jmp 0x43b589
mov ecx, 1
test ecx, ecx
je 0x43b585
jmp 0x43b642
jmp 0x43b5ac
cvtsi2sd xmm0, dword [ebp - 0x91c]
movsd xmm1, qword [ebp - 0x9390]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x920], edx
jmp 0x43b64c
xor eax, eax
je 0x43b5b6
jmp 0x43b5c5
jmp 0x43b40f
jmp 0x43b40f
mov ecx, 6
test ecx, ecx
je 0x43b642
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x924], eax
cvtsi2sd xmm0, dword [ebp - 0x924]
mov eax, dword [ebp - 0x924]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9390]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x920], ecx
jmp 0x43b64c
mov dword [ebp - 0x920], 2
mov edx, dword [ebp - 0x900]
shl edx, 2
add edx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x920]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x900]
shl ecx, 2
add ecx, dword [ebp - 0x8fc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x900]
add edx, 0xffffffa6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x93a8], xmm0
xor eax, eax
je 0x43b68e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43b6ca
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x93a8]
movsd qword [ebp - 0x93b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43b86a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43b86a
mov dword [ebp - 0x928], 0
jmp 0x43b749
cmp dword [ebp - 0x928], 9
jae 0x43b865
cvtsi2sd xmm0, dword [ebp - 0x928]
movsd xmm1, qword [ebp - 0x93b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b7b8
mov ecx, dword [ebp - 0x928]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x93b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93b0], xmm1
jmp 0x43b6b4
cvtsi2sd xmm0, dword [ebp - 0x928]
movsd xmm1, qword [ebp - 0x93b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x93c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43b815
mov eax, dword [ebp - 0x928]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93b0], xmm1
jmp 0x43b82e
mov ecx, 1
test ecx, ecx
je 0x43b82a
jmp 0x43b8e7
jmp 0x43b851
cvtsi2sd xmm0, dword [ebp - 0x928]
movsd xmm1, qword [ebp - 0x93b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x92c], edx
jmp 0x43b8f1
xor eax, eax
je 0x43b85b
jmp 0x43b86a
jmp 0x43b6b4
jmp 0x43b6b4
mov ecx, 6
test ecx, ecx
je 0x43b8e7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x930], eax
cvtsi2sd xmm0, dword [ebp - 0x930]
mov eax, dword [ebp - 0x930]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x93b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x92c], ecx
jmp 0x43b8f1
mov dword [ebp - 0x92c], 2
mov edx, dword [ebp - 0x900]
add edx, 0xffffffa6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x93c8], xmm0
xor eax, eax
je 0x43b90b
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43b947
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x93c8]
movsd qword [ebp - 0x93d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43bae7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43bae7
mov dword [ebp - 0x934], 0
jmp 0x43b9c6
cmp dword [ebp - 0x934], 9
jae 0x43bae2
cvtsi2sd xmm0, dword [ebp - 0x934]
movsd xmm1, qword [ebp - 0x93d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ba35
mov ecx, dword [ebp - 0x934]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x93d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93d0], xmm1
jmp 0x43b931
cvtsi2sd xmm0, dword [ebp - 0x934]
movsd xmm1, qword [ebp - 0x93d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x93e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ba92
mov eax, dword [ebp - 0x934]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x93d0], xmm1
jmp 0x43baab
mov ecx, 1
test ecx, ecx
je 0x43baa7
jmp 0x43bb64
jmp 0x43bace
cvtsi2sd xmm0, dword [ebp - 0x934]
movsd xmm1, qword [ebp - 0x93d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x938], edx
jmp 0x43bb6e
xor eax, eax
je 0x43bad8
jmp 0x43bae7
jmp 0x43b931
jmp 0x43b931
mov ecx, 6
test ecx, ecx
je 0x43bb64
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x93c], eax
cvtsi2sd xmm0, dword [ebp - 0x93c]
mov eax, dword [ebp - 0x93c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x93d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x938], ecx
jmp 0x43bb6e
mov dword [ebp - 0x938], 2
mov edx, dword [ebp - 0x900]
shl edx, 2
add edx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x92c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x900]
shl ecx, 2
add ecx, dword [ebp - 0x8fc]
mov edx, dword [ebp - 0x938]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x900]
shl ecx, 2
add ecx, dword [ebp - 0x8fc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43be79
xor eax, eax
je 0x43bbee
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43bc2a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x93e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43bdca
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43bdca
mov dword [ebp - 0x940], 0
jmp 0x43bca9
cmp dword [ebp - 0x940], 9
jae 0x43bdc5
cvtsi2sd xmm0, dword [ebp - 0x940]
movsd xmm1, qword [ebp - 0x93e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43bd18
mov ecx, dword [ebp - 0x940]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x93e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93e8], xmm1
jmp 0x43bc14
cvtsi2sd xmm0, dword [ebp - 0x940]
movsd xmm1, qword [ebp - 0x93e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x93f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43bd75
mov eax, dword [ebp - 0x940]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x93e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x93e8], xmm1
jmp 0x43bd8e
mov ecx, 1
test ecx, ecx
je 0x43bd8a
jmp 0x43be47
jmp 0x43bdb1
cvtsi2sd xmm0, dword [ebp - 0x940]
movsd xmm1, qword [ebp - 0x93e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x944], edx
jmp 0x43be51
xor eax, eax
je 0x43bdbb
jmp 0x43bdca
jmp 0x43bc14
jmp 0x43bc14
mov ecx, 6
test ecx, ecx
je 0x43be47
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x948], eax
cvtsi2sd xmm0, dword [ebp - 0x948]
mov eax, dword [ebp - 0x948]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x93e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x944], ecx
jmp 0x43be51
mov dword [ebp - 0x944], 2
mov edx, dword [ebp - 0x900]
shl edx, 2
add edx, dword [ebp - 0x8fc]
mov eax, dword [ebp - 0x944]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x900]
shl ecx, 2
add ecx, dword [ebp - 0x8fc]
mov dword [ecx], eax
jmp 0x43adbb
mov edx, dword [ebp - 0x8f8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0x94c], eax
mov ecx, dword [ebp - 0x94c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x950]
mov dword [ebp - 0x954], edx
xor eax, eax
mov byte [ebp - 0x16], al
lea ecx, [ebp - 0x16]
call fcn.00424f30
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x958]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x43cfb7
mov eax, dword [ebp - 0x958]
mov dword [ebp - 0x95c], eax
mov dword [ebp - 0x960], 0
jmp 0x43bf03
mov ecx, dword [ebp - 0x960]
add ecx, 1
mov dword [ebp - 0x960], ecx
cmp dword [ebp - 0x960], 1
jae 0x43cfb7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43c1d8
xor eax, eax
je 0x43bf4d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43bf89
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x9400], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43c129
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43c129
mov dword [ebp - 0x964], 0
jmp 0x43c008
cmp dword [ebp - 0x964], 9
jae 0x43c124
cvtsi2sd xmm0, dword [ebp - 0x964]
movsd xmm1, qword [ebp - 0x9400]
addsd xmm1, xmm0
movsd qword [ebp - 0x9408], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9408]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c077
mov ecx, dword [ebp - 0x964]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9400]
addsd xmm1, xmm0
movsd qword [ebp - 0x9400], xmm1
jmp 0x43bf73
cvtsi2sd xmm0, dword [ebp - 0x964]
movsd xmm1, qword [ebp - 0x9400]
addsd xmm1, xmm0
movsd qword [ebp - 0x9410], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9410]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c0d4
mov eax, dword [ebp - 0x964]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9400]
addsd xmm1, xmm0
movsd qword [ebp - 0x9400], xmm1
jmp 0x43c0ed
mov ecx, 1
test ecx, ecx
je 0x43c0e9
jmp 0x43c1a6
jmp 0x43c110
cvtsi2sd xmm0, dword [ebp - 0x964]
movsd xmm1, qword [ebp - 0x9400]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x968], edx
jmp 0x43c1b0
xor eax, eax
je 0x43c11a
jmp 0x43c129
jmp 0x43bf73
jmp 0x43bf73
mov ecx, 6
test ecx, ecx
je 0x43c1a6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x96c], eax
cvtsi2sd xmm0, dword [ebp - 0x96c]
mov eax, dword [ebp - 0x96c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9400]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x968], ecx
jmp 0x43c1b0
mov dword [ebp - 0x968], 2
mov edx, dword [ebp - 0x960]
shl edx, 2
add edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x968]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43ccea
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43c4e5
xor eax, eax
je 0x43c25a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43c296
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x9418], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43c436
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43c436
mov dword [ebp - 0x970], 0
jmp 0x43c315
cmp dword [ebp - 0x970], 9
jae 0x43c431
cvtsi2sd xmm0, dword [ebp - 0x970]
movsd xmm1, qword [ebp - 0x9418]
addsd xmm1, xmm0
movsd qword [ebp - 0x9420], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9420]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c384
mov ecx, dword [ebp - 0x970]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9418]
addsd xmm1, xmm0
movsd qword [ebp - 0x9418], xmm1
jmp 0x43c280
cvtsi2sd xmm0, dword [ebp - 0x970]
movsd xmm1, qword [ebp - 0x9418]
addsd xmm1, xmm0
movsd qword [ebp - 0x9428], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9428]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c3e1
mov eax, dword [ebp - 0x970]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9418]
addsd xmm1, xmm0
movsd qword [ebp - 0x9418], xmm1
jmp 0x43c3fa
mov ecx, 1
test ecx, ecx
je 0x43c3f6
jmp 0x43c4b3
jmp 0x43c41d
cvtsi2sd xmm0, dword [ebp - 0x970]
movsd xmm1, qword [ebp - 0x9418]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x974], edx
jmp 0x43c4bd
xor eax, eax
je 0x43c427
jmp 0x43c436
jmp 0x43c280
jmp 0x43c280
mov ecx, 6
test ecx, ecx
je 0x43c4b3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x978], eax
cvtsi2sd xmm0, dword [ebp - 0x978]
mov eax, dword [ebp - 0x978]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9418]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x974], ecx
jmp 0x43c4bd
mov dword [ebp - 0x974], 2
mov edx, dword [ebp - 0x960]
shl edx, 2
add edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x974]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43c7ad
xor eax, eax
je 0x43c522
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43c55e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x9430], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43c6fe
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43c6fe
mov dword [ebp - 0x97c], 0
jmp 0x43c5dd
cmp dword [ebp - 0x97c], 9
jae 0x43c6f9
cvtsi2sd xmm0, dword [ebp - 0x97c]
movsd xmm1, qword [ebp - 0x9430]
addsd xmm1, xmm0
movsd qword [ebp - 0x9438], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c64c
mov ecx, dword [ebp - 0x97c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9430]
addsd xmm1, xmm0
movsd qword [ebp - 0x9430], xmm1
jmp 0x43c548
cvtsi2sd xmm0, dword [ebp - 0x97c]
movsd xmm1, qword [ebp - 0x9430]
addsd xmm1, xmm0
movsd qword [ebp - 0x9440], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9440]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c6a9
mov eax, dword [ebp - 0x97c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9430]
addsd xmm1, xmm0
movsd qword [ebp - 0x9430], xmm1
jmp 0x43c6c2
mov ecx, 1
test ecx, ecx
je 0x43c6be
jmp 0x43c77b
jmp 0x43c6e5
cvtsi2sd xmm0, dword [ebp - 0x97c]
movsd xmm1, qword [ebp - 0x9430]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x980], edx
jmp 0x43c785
xor eax, eax
je 0x43c6ef
jmp 0x43c6fe
jmp 0x43c548
jmp 0x43c548
mov ecx, 6
test ecx, ecx
je 0x43c77b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x984], eax
cvtsi2sd xmm0, dword [ebp - 0x984]
mov eax, dword [ebp - 0x984]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9430]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x980], ecx
jmp 0x43c785
mov dword [ebp - 0x980], 2
mov edx, dword [ebp - 0x960]
shl edx, 2
add edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x980]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x960]
add edx, 0xffffffa7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9448], xmm0
xor eax, eax
je 0x43c7c7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43c803
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9448]
movsd qword [ebp - 0x9450], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43c9a3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43c9a3
mov dword [ebp - 0x988], 0
jmp 0x43c882
cmp dword [ebp - 0x988], 9
jae 0x43c99e
cvtsi2sd xmm0, dword [ebp - 0x988]
movsd xmm1, qword [ebp - 0x9450]
addsd xmm1, xmm0
movsd qword [ebp - 0x9458], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c8f1
mov ecx, dword [ebp - 0x988]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9450]
addsd xmm1, xmm0
movsd qword [ebp - 0x9450], xmm1
jmp 0x43c7ed
cvtsi2sd xmm0, dword [ebp - 0x988]
movsd xmm1, qword [ebp - 0x9450]
addsd xmm1, xmm0
movsd qword [ebp - 0x9460], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9460]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43c94e
mov eax, dword [ebp - 0x988]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9450]
addsd xmm1, xmm0
movsd qword [ebp - 0x9450], xmm1
jmp 0x43c967
mov ecx, 1
test ecx, ecx
je 0x43c963
jmp 0x43ca20
jmp 0x43c98a
cvtsi2sd xmm0, dword [ebp - 0x988]
movsd xmm1, qword [ebp - 0x9450]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x98c], edx
jmp 0x43ca2a
xor eax, eax
je 0x43c994
jmp 0x43c9a3
jmp 0x43c7ed
jmp 0x43c7ed
mov ecx, 6
test ecx, ecx
je 0x43ca20
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x990], eax
cvtsi2sd xmm0, dword [ebp - 0x990]
mov eax, dword [ebp - 0x990]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9450]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x98c], ecx
jmp 0x43ca2a
mov dword [ebp - 0x98c], 2
mov edx, dword [ebp - 0x960]
add edx, 0xffffffa7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9468], xmm0
xor eax, eax
je 0x43ca44
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43ca80
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9468]
movsd qword [ebp - 0x9470], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43cc20
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43cc20
mov dword [ebp - 0x994], 0
jmp 0x43caff
cmp dword [ebp - 0x994], 9
jae 0x43cc1b
cvtsi2sd xmm0, dword [ebp - 0x994]
movsd xmm1, qword [ebp - 0x9470]
addsd xmm1, xmm0
movsd qword [ebp - 0x9478], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43cb6e
mov ecx, dword [ebp - 0x994]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9470]
addsd xmm1, xmm0
movsd qword [ebp - 0x9470], xmm1
jmp 0x43ca6a
cvtsi2sd xmm0, dword [ebp - 0x994]
movsd xmm1, qword [ebp - 0x9470]
addsd xmm1, xmm0
movsd qword [ebp - 0x9480], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9480]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43cbcb
mov eax, dword [ebp - 0x994]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9470]
addsd xmm1, xmm0
movsd qword [ebp - 0x9470], xmm1
jmp 0x43cbe4
mov ecx, 1
test ecx, ecx
je 0x43cbe0
jmp 0x43cc9d
jmp 0x43cc07
cvtsi2sd xmm0, dword [ebp - 0x994]
movsd xmm1, qword [ebp - 0x9470]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x998], edx
jmp 0x43cca7
xor eax, eax
je 0x43cc11
jmp 0x43cc20
jmp 0x43ca6a
jmp 0x43ca6a
mov ecx, 6
test ecx, ecx
je 0x43cc9d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x99c], eax
cvtsi2sd xmm0, dword [ebp - 0x99c]
mov eax, dword [ebp - 0x99c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9470]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x998], ecx
jmp 0x43cca7
mov dword [ebp - 0x998], 2
mov edx, dword [ebp - 0x960]
shl edx, 2
add edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x98c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov edx, dword [ebp - 0x998]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43cfb2
xor eax, eax
je 0x43cd27
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43cd63
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x9488], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43cf03
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43cf03
mov dword [ebp - 0x9a0], 0
jmp 0x43cde2
cmp dword [ebp - 0x9a0], 9
jae 0x43cefe
cvtsi2sd xmm0, dword [ebp - 0x9a0]
movsd xmm1, qword [ebp - 0x9488]
addsd xmm1, xmm0
movsd qword [ebp - 0x9490], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9490]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ce51
mov ecx, dword [ebp - 0x9a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9488]
addsd xmm1, xmm0
movsd qword [ebp - 0x9488], xmm1
jmp 0x43cd4d
cvtsi2sd xmm0, dword [ebp - 0x9a0]
movsd xmm1, qword [ebp - 0x9488]
addsd xmm1, xmm0
movsd qword [ebp - 0x9498], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ceae
mov eax, dword [ebp - 0x9a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9488]
addsd xmm1, xmm0
movsd qword [ebp - 0x9488], xmm1
jmp 0x43cec7
mov ecx, 1
test ecx, ecx
je 0x43cec3
jmp 0x43cf80
jmp 0x43ceea
cvtsi2sd xmm0, dword [ebp - 0x9a0]
movsd xmm1, qword [ebp - 0x9488]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x9a4], edx
jmp 0x43cf8a
xor eax, eax
je 0x43cef4
jmp 0x43cf03
jmp 0x43cd4d
jmp 0x43cd4d
mov ecx, 6
test ecx, ecx
je 0x43cf80
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x9a8], eax
cvtsi2sd xmm0, dword [ebp - 0x9a8]
mov eax, dword [ebp - 0x9a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9488]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x9a4], ecx
jmp 0x43cf8a
mov dword [ebp - 0x9a4], 2
mov edx, dword [ebp - 0x960]
shl edx, 2
add edx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x9a4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x960]
shl ecx, 2
add ecx, dword [ebp - 0x95c]
mov dword [ecx], eax
jmp 0x43bef4
mov edx, dword [ebp - 0x958]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x958]
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x9ac]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x9b0], ecx
mov edx, dword [ebp - 0x9b0]
mov dword [ebp - 0x9b4], edx
xor eax, eax
mov byte [ebp - 0x17], al
lea ecx, [ebp - 0x17]
call fcn.00424f00
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9b8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x43e0f0
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0x9c0], 0
jmp 0x43d03c
mov ecx, dword [ebp - 0x9c0]
add ecx, 1
mov dword [ebp - 0x9c0], ecx
cmp dword [ebp - 0x9c0], 1
jae 0x43e0f0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43d311
xor eax, eax
je 0x43d086
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43d0c2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x94a0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43d262
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43d262
mov dword [ebp - 0x9c4], 0
jmp 0x43d141
cmp dword [ebp - 0x9c4], 9
jae 0x43d25d
cvtsi2sd xmm0, dword [ebp - 0x9c4]
movsd xmm1, qword [ebp - 0x94a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d1b0
mov ecx, dword [ebp - 0x9c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x94a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94a0], xmm1
jmp 0x43d0ac
cvtsi2sd xmm0, dword [ebp - 0x9c4]
movsd xmm1, qword [ebp - 0x94a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x94b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d20d
mov eax, dword [ebp - 0x9c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94a0], xmm1
jmp 0x43d226
mov ecx, 1
test ecx, ecx
je 0x43d222
jmp 0x43d2df
jmp 0x43d249
cvtsi2sd xmm0, dword [ebp - 0x9c4]
movsd xmm1, qword [ebp - 0x94a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x9c8], edx
jmp 0x43d2e9
xor eax, eax
je 0x43d253
jmp 0x43d262
jmp 0x43d0ac
jmp 0x43d0ac
mov ecx, 6
test ecx, ecx
je 0x43d2df
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x9cc], eax
cvtsi2sd xmm0, dword [ebp - 0x9cc]
mov eax, dword [ebp - 0x9cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x94a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x9c8], ecx
jmp 0x43d2e9
mov dword [ebp - 0x9c8], 2
mov edx, dword [ebp - 0x9c0]
shl edx, 2
add edx, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x9c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
add ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43de23
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43d61e
xor eax, eax
je 0x43d393
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43d3cf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x94b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43d56f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43d56f
mov dword [ebp - 0x9d0], 0
jmp 0x43d44e
cmp dword [ebp - 0x9d0], 9
jae 0x43d56a
cvtsi2sd xmm0, dword [ebp - 0x9d0]
movsd xmm1, qword [ebp - 0x94b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d4bd
mov ecx, dword [ebp - 0x9d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x94b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94b8], xmm1
jmp 0x43d3b9
cvtsi2sd xmm0, dword [ebp - 0x9d0]
movsd xmm1, qword [ebp - 0x94b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x94c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d51a
mov eax, dword [ebp - 0x9d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x94b8], xmm1
jmp 0x43d533
mov ecx, 1
test ecx, ecx
je 0x43d52f
jmp 0x43d5ec
jmp 0x43d556
cvtsi2sd xmm0, dword [ebp - 0x9d0]
movsd xmm1, qword [ebp - 0x94b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x9d4], edx
jmp 0x43d5f6
xor eax, eax
je 0x43d560
jmp 0x43d56f
jmp 0x43d3b9
jmp 0x43d3b9
mov ecx, 6
test ecx, ecx
je 0x43d5ec
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x9d8], eax
cvtsi2sd xmm0, dword [ebp - 0x9d8]
mov eax, dword [ebp - 0x9d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x94b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x9d4], ecx
jmp 0x43d5f6
mov dword [ebp - 0x9d4], 2
mov edx, dword [ebp - 0x9c0]
shl edx, 2
add edx, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x9d4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
add ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43d8e6
xor eax, eax
je 0x43d65b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43d697
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x94d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43d837
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43d837
mov dword [ebp - 0x9dc], 0
jmp 0x43d716
cmp dword [ebp - 0x9dc], 9
jae 0x43d832
cvtsi2sd xmm0, dword [ebp - 0x9dc]
movsd xmm1, qword [ebp - 0x94d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d785
mov ecx, dword [ebp - 0x9dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x94d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94d0], xmm1
jmp 0x43d681
cvtsi2sd xmm0, dword [ebp - 0x9dc]
movsd xmm1, qword [ebp - 0x94d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x94e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43d7e2
mov eax, dword [ebp - 0x9dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94d0], xmm1
jmp 0x43d7fb
mov ecx, 1
test ecx, ecx
je 0x43d7f7
jmp 0x43d8b4
jmp 0x43d81e
cvtsi2sd xmm0, dword [ebp - 0x9dc]
movsd xmm1, qword [ebp - 0x94d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x9e0], edx
jmp 0x43d8be
xor eax, eax
je 0x43d828
jmp 0x43d837
jmp 0x43d681
jmp 0x43d681
mov ecx, 6
test ecx, ecx
je 0x43d8b4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x9e4], eax
cvtsi2sd xmm0, dword [ebp - 0x9e4]
mov eax, dword [ebp - 0x9e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x94d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x9e0], ecx
jmp 0x43d8be
mov dword [ebp - 0x9e0], 2
mov edx, dword [ebp - 0x9c0]
shl edx, 2
add edx, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x9e0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
add ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x9c0]
add edx, 0xffffffa7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x94e8], xmm0
xor eax, eax
je 0x43d900
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43d93c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x94e8]
movsd qword [ebp - 0x94f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43dadc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43dadc
mov dword [ebp - 0x9e8], 0
jmp 0x43d9bb
cmp dword [ebp - 0x9e8], 9
jae 0x43dad7
cvtsi2sd xmm0, dword [ebp - 0x9e8]
movsd xmm1, qword [ebp - 0x94f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43da2a
mov ecx, dword [ebp - 0x9e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x94f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94f0], xmm1
jmp 0x43d926
cvtsi2sd xmm0, dword [ebp - 0x9e8]
movsd xmm1, qword [ebp - 0x94f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9500], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9500]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43da87
mov eax, dword [ebp - 0x9e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x94f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x94f0], xmm1
jmp 0x43daa0
mov ecx, 1
test ecx, ecx
je 0x43da9c
jmp 0x43db59
jmp 0x43dac3
cvtsi2sd xmm0, dword [ebp - 0x9e8]
movsd xmm1, qword [ebp - 0x94f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x9ec], edx
jmp 0x43db63
xor eax, eax
je 0x43dacd
jmp 0x43dadc
jmp 0x43d926
jmp 0x43d926
mov ecx, 6
test ecx, ecx
je 0x43db59
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x9f0], eax
cvtsi2sd xmm0, dword [ebp - 0x9f0]
mov eax, dword [ebp - 0x9f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x94f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x9ec], ecx
jmp 0x43db63
mov dword [ebp - 0x9ec], 2
mov edx, dword [ebp - 0x9c0]
add edx, 0xffffffa7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9508], xmm0
xor eax, eax
je 0x43db7d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43dbb9
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9508]
movsd qword [ebp - 0x9510], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43dd59
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43dd59
mov dword [ebp - 0x9f4], 0
jmp 0x43dc38
cmp dword [ebp - 0x9f4], 9
jae 0x43dd54
cvtsi2sd xmm0, dword [ebp - 0x9f4]
movsd xmm1, qword [ebp - 0x9510]
addsd xmm1, xmm0
movsd qword [ebp - 0x9518], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43dca7
mov ecx, dword [ebp - 0x9f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9510]
addsd xmm1, xmm0
movsd qword [ebp - 0x9510], xmm1
jmp 0x43dba3
cvtsi2sd xmm0, dword [ebp - 0x9f4]
movsd xmm1, qword [ebp - 0x9510]
addsd xmm1, xmm0
movsd qword [ebp - 0x9520], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9520]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43dd04
mov eax, dword [ebp - 0x9f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9510]
addsd xmm1, xmm0
movsd qword [ebp - 0x9510], xmm1
jmp 0x43dd1d
mov ecx, 1
test ecx, ecx
je 0x43dd19
jmp 0x43ddd6
jmp 0x43dd40
cvtsi2sd xmm0, dword [ebp - 0x9f4]
movsd xmm1, qword [ebp - 0x9510]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x9f8], edx
jmp 0x43dde0
xor eax, eax
je 0x43dd4a
jmp 0x43dd59
jmp 0x43dba3
jmp 0x43dba3
mov ecx, 6
test ecx, ecx
je 0x43ddd6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x9fc], eax
cvtsi2sd xmm0, dword [ebp - 0x9fc]
mov eax, dword [ebp - 0x9fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9510]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x9f8], ecx
jmp 0x43dde0
mov dword [ebp - 0x9f8], 2
mov edx, dword [ebp - 0x9c0]
shl edx, 2
add edx, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0x9ec]
add eax, dword [edx]
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
add ecx, dword [ebp - 0x9bc]
mov edx, dword [ebp - 0x9f8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
add ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43e0eb
xor eax, eax
je 0x43de60
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43de9c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x9528], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43e03c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43e03c
mov dword [ebp - 0xa00], 0
jmp 0x43df1b
cmp dword [ebp - 0xa00], 9
jae 0x43e037
cvtsi2sd xmm0, dword [ebp - 0xa00]
movsd xmm1, qword [ebp - 0x9528]
addsd xmm1, xmm0
movsd qword [ebp - 0x9530], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9530]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43df8a
mov ecx, dword [ebp - 0xa00]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9528]
addsd xmm1, xmm0
movsd qword [ebp - 0x9528], xmm1
jmp 0x43de86
cvtsi2sd xmm0, dword [ebp - 0xa00]
movsd xmm1, qword [ebp - 0x9528]
addsd xmm1, xmm0
movsd qword [ebp - 0x9538], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43dfe7
mov eax, dword [ebp - 0xa00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9528]
addsd xmm1, xmm0
movsd qword [ebp - 0x9528], xmm1
jmp 0x43e000
mov ecx, 1
test ecx, ecx
je 0x43dffc
jmp 0x43e0b9
jmp 0x43e023
cvtsi2sd xmm0, dword [ebp - 0xa00]
movsd xmm1, qword [ebp - 0x9528]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa04], edx
jmp 0x43e0c3
xor eax, eax
je 0x43e02d
jmp 0x43e03c
jmp 0x43de86
jmp 0x43de86
mov ecx, 6
test ecx, ecx
je 0x43e0b9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa08], eax
cvtsi2sd xmm0, dword [ebp - 0xa08]
mov eax, dword [ebp - 0xa08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9528]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa04], ecx
jmp 0x43e0c3
mov dword [ebp - 0xa04], 2
mov edx, dword [ebp - 0x9c0]
shl edx, 2
add edx, dword [ebp - 0x9bc]
mov eax, dword [ebp - 0xa04]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x9c0]
shl ecx, 2
add ecx, dword [ebp - 0x9bc]
mov dword [ecx], eax
jmp 0x43d02d
mov edx, dword [ebp - 0x9b8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0xa0c], eax
mov ecx, dword [ebp - 0xa0c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa10]
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x954], eax
cmp dword [ebp - 0x954], 0
je 0x43f27b
xor ecx, ecx
mov byte [ebp - 0x18], cl
lea ecx, [ebp - 0x18]
call fcn.00424ed0
mov dword [ebp - 0xa18], eax
mov edx, dword [ebp - 0xa18]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x43f242
mov ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], ecx
mov dword [ebp - 0xa20], 0
jmp 0x43e18e
mov edx, dword [ebp - 0xa20]
add edx, 1
mov dword [ebp - 0xa20], edx
cmp dword [ebp - 0xa20], 1
jae 0x43f242
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43e463
xor eax, eax
je 0x43e1d8
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x43e214
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263f0]
movsd qword [ebp - 0x9540], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43e3b4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43e3b4
mov dword [ebp - 0xa24], 0
jmp 0x43e293
cmp dword [ebp - 0xa24], 9
jae 0x43e3af
cvtsi2sd xmm0, dword [ebp - 0xa24]
movsd xmm1, qword [ebp - 0x9540]
addsd xmm1, xmm0
movsd qword [ebp - 0x9548], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9548]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e302
mov ecx, dword [ebp - 0xa24]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9540]
addsd xmm1, xmm0
movsd qword [ebp - 0x9540], xmm1
jmp 0x43e1fe
cvtsi2sd xmm0, dword [ebp - 0xa24]
movsd xmm1, qword [ebp - 0x9540]
addsd xmm1, xmm0
movsd qword [ebp - 0x9550], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9550]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e35f
mov eax, dword [ebp - 0xa24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9540]
addsd xmm1, xmm0
movsd qword [ebp - 0x9540], xmm1
jmp 0x43e378
mov ecx, 1
test ecx, ecx
je 0x43e374
jmp 0x43e431
jmp 0x43e39b
cvtsi2sd xmm0, dword [ebp - 0xa24]
movsd xmm1, qword [ebp - 0x9540]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa28], edx
jmp 0x43e43b
xor eax, eax
je 0x43e3a5
jmp 0x43e3b4
jmp 0x43e1fe
jmp 0x43e1fe
mov ecx, 6
test ecx, ecx
je 0x43e431
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa2c], eax
cvtsi2sd xmm0, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0xa2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9540]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa28], ecx
jmp 0x43e43b
mov dword [ebp - 0xa28], 2
mov edx, dword [ebp - 0xa20]
shl edx, 2
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xa28]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa20]
shl ecx, 2
add ecx, dword [ebp - 0xa1c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43ef75
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43e770
xor eax, eax
je 0x43e4e5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43e521
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x9558], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43e6c1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43e6c1
mov dword [ebp - 0xa30], 0
jmp 0x43e5a0
cmp dword [ebp - 0xa30], 9
jae 0x43e6bc
cvtsi2sd xmm0, dword [ebp - 0xa30]
movsd xmm1, qword [ebp - 0x9558]
addsd xmm1, xmm0
movsd qword [ebp - 0x9560], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9560]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e60f
mov ecx, dword [ebp - 0xa30]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9558]
addsd xmm1, xmm0
movsd qword [ebp - 0x9558], xmm1
jmp 0x43e50b
cvtsi2sd xmm0, dword [ebp - 0xa30]
movsd xmm1, qword [ebp - 0x9558]
addsd xmm1, xmm0
movsd qword [ebp - 0x9568], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9568]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e66c
mov eax, dword [ebp - 0xa30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9558]
addsd xmm1, xmm0
movsd qword [ebp - 0x9558], xmm1
jmp 0x43e685
mov ecx, 1
test ecx, ecx
je 0x43e681
jmp 0x43e73e
jmp 0x43e6a8
cvtsi2sd xmm0, dword [ebp - 0xa30]
movsd xmm1, qword [ebp - 0x9558]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa34], edx
jmp 0x43e748
xor eax, eax
je 0x43e6b2
jmp 0x43e6c1
jmp 0x43e50b
jmp 0x43e50b
mov ecx, 6
test ecx, ecx
je 0x43e73e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa38], eax
cvtsi2sd xmm0, dword [ebp - 0xa38]
mov eax, dword [ebp - 0xa38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9558]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa34], ecx
jmp 0x43e748
mov dword [ebp - 0xa34], 2
mov edx, dword [ebp - 0xa20]
shl edx, 2
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xa34]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa20]
shl ecx, 2
add ecx, dword [ebp - 0xa1c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43ea38
xor eax, eax
je 0x43e7ad
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43e7e9
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x9570], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43e989
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43e989
mov dword [ebp - 0xa3c], 0
jmp 0x43e868
cmp dword [ebp - 0xa3c], 9
jae 0x43e984
cvtsi2sd xmm0, dword [ebp - 0xa3c]
movsd xmm1, qword [ebp - 0x9570]
addsd xmm1, xmm0
movsd qword [ebp - 0x9578], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e8d7
mov ecx, dword [ebp - 0xa3c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9570]
addsd xmm1, xmm0
movsd qword [ebp - 0x9570], xmm1
jmp 0x43e7d3
cvtsi2sd xmm0, dword [ebp - 0xa3c]
movsd xmm1, qword [ebp - 0x9570]
addsd xmm1, xmm0
movsd qword [ebp - 0x9580], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9580]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43e934
mov eax, dword [ebp - 0xa3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9570]
addsd xmm1, xmm0
movsd qword [ebp - 0x9570], xmm1
jmp 0x43e94d
mov ecx, 1
test ecx, ecx
je 0x43e949
jmp 0x43ea06
jmp 0x43e970
cvtsi2sd xmm0, dword [ebp - 0xa3c]
movsd xmm1, qword [ebp - 0x9570]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa40], edx
jmp 0x43ea10
xor eax, eax
je 0x43e97a
jmp 0x43e989
jmp 0x43e7d3
jmp 0x43e7d3
mov ecx, 6
test ecx, ecx
je 0x43ea06
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa44], eax
cvtsi2sd xmm0, dword [ebp - 0xa44]
mov eax, dword [ebp - 0xa44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9570]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa40], ecx
jmp 0x43ea10
mov dword [ebp - 0xa40], 2
mov edx, dword [ebp - 0xa20]
shl edx, 2
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xa40]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa20]
shl ecx, 2
add ecx, dword [ebp - 0xa1c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xa20]
add edx, 0xffffffa7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9588], xmm0
xor eax, eax
je 0x43ea52
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43ea8e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9588]
movsd qword [ebp - 0x9590], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43ec2e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43ec2e
mov dword [ebp - 0xa48], 0
jmp 0x43eb0d
cmp dword [ebp - 0xa48], 9
jae 0x43ec29
cvtsi2sd xmm0, dword [ebp - 0xa48]
movsd xmm1, qword [ebp - 0x9590]
addsd xmm1, xmm0
movsd qword [ebp - 0x9598], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43eb7c
mov ecx, dword [ebp - 0xa48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9590]
addsd xmm1, xmm0
movsd qword [ebp - 0x9590], xmm1
jmp 0x43ea78
cvtsi2sd xmm0, dword [ebp - 0xa48]
movsd xmm1, qword [ebp - 0x9590]
addsd xmm1, xmm0
movsd qword [ebp - 0x95a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x95a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ebd9
mov eax, dword [ebp - 0xa48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9590]
addsd xmm1, xmm0
movsd qword [ebp - 0x9590], xmm1
jmp 0x43ebf2
mov ecx, 1
test ecx, ecx
je 0x43ebee
jmp 0x43ecab
jmp 0x43ec15
cvtsi2sd xmm0, dword [ebp - 0xa48]
movsd xmm1, qword [ebp - 0x9590]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa4c], edx
jmp 0x43ecb5
xor eax, eax
je 0x43ec1f
jmp 0x43ec2e
jmp 0x43ea78
jmp 0x43ea78
mov ecx, 6
test ecx, ecx
je 0x43ecab
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa50], eax
cvtsi2sd xmm0, dword [ebp - 0xa50]
mov eax, dword [ebp - 0xa50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9590]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa4c], ecx
jmp 0x43ecb5
mov dword [ebp - 0xa4c], 2
mov edx, dword [ebp - 0xa20]
add edx, 0xffffffa7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x95a8], xmm0
xor eax, eax
je 0x43eccf
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43ed0b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x95a8]
movsd qword [ebp - 0x95b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43eeab
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43eeab
mov dword [ebp - 0xa54], 0
jmp 0x43ed8a
cmp dword [ebp - 0xa54], 9
jae 0x43eea6
cvtsi2sd xmm0, dword [ebp - 0xa54]
movsd xmm1, qword [ebp - 0x95b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43edf9
mov ecx, dword [ebp - 0xa54]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x95b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95b0], xmm1
jmp 0x43ecf5
cvtsi2sd xmm0, dword [ebp - 0xa54]
movsd xmm1, qword [ebp - 0x95b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x95c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ee56
mov eax, dword [ebp - 0xa54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95b0], xmm1
jmp 0x43ee6f
mov ecx, 1
test ecx, ecx
je 0x43ee6b
jmp 0x43ef28
jmp 0x43ee92
cvtsi2sd xmm0, dword [ebp - 0xa54]
movsd xmm1, qword [ebp - 0x95b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa58], edx
jmp 0x43ef32
xor eax, eax
je 0x43ee9c
jmp 0x43eeab
jmp 0x43ecf5
jmp 0x43ecf5
mov ecx, 6
test ecx, ecx
je 0x43ef28
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa5c], eax
cvtsi2sd xmm0, dword [ebp - 0xa5c]
mov eax, dword [ebp - 0xa5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x95b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa58], ecx
jmp 0x43ef32
mov dword [ebp - 0xa58], 2
mov edx, dword [ebp - 0xa20]
shl edx, 2
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xa4c]
add eax, dword [edx]
mov ecx, dword [ebp - 0xa20]
shl ecx, 2
add ecx, dword [ebp - 0xa1c]
mov edx, dword [ebp - 0xa58]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xa20]
shl ecx, 2
add ecx, dword [ebp - 0xa1c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43f23d
xor eax, eax
je 0x43efb2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43efee
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x95c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43f18e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43f18e
mov dword [ebp - 0xa60], 0
jmp 0x43f06d
cmp dword [ebp - 0xa60], 9
jae 0x43f189
cvtsi2sd xmm0, dword [ebp - 0xa60]
movsd xmm1, qword [ebp - 0x95c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f0dc
mov ecx, dword [ebp - 0xa60]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x95c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95c8], xmm1
jmp 0x43efd8
cvtsi2sd xmm0, dword [ebp - 0xa60]
movsd xmm1, qword [ebp - 0x95c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x95d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f139
mov eax, dword [ebp - 0xa60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95c8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95c8], xmm1
jmp 0x43f152
mov ecx, 1
test ecx, ecx
je 0x43f14e
jmp 0x43f20b
jmp 0x43f175
cvtsi2sd xmm0, dword [ebp - 0xa60]
movsd xmm1, qword [ebp - 0x95c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa64], edx
jmp 0x43f215
xor eax, eax
je 0x43f17f
jmp 0x43f18e
jmp 0x43efd8
jmp 0x43efd8
mov ecx, 6
test ecx, ecx
je 0x43f20b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa68], eax
cvtsi2sd xmm0, dword [ebp - 0xa68]
mov eax, dword [ebp - 0xa68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x95c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa64], ecx
jmp 0x43f215
mov dword [ebp - 0xa64], 2
mov edx, dword [ebp - 0xa20]
shl edx, 2
add edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xa64]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa20]
shl ecx, 2
add ecx, dword [ebp - 0xa1c]
mov dword [ecx], eax
jmp 0x43e17f
mov edx, dword [ebp - 0xa18]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xa18]
mov dword [ebp - 0xa6c], eax
mov ecx, dword [ebp - 0xa6c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xa70], ecx
mov edx, dword [ebp - 0xa70]
mov dword [ebp - 0xa14], edx
xor eax, eax
mov byte [ebp - 0x19], al
lea ecx, [ebp - 0x19]
call fcn.00424ea0
mov dword [ebp - 0xa74], eax
mov ecx, dword [ebp - 0xa74]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x44037b
mov eax, dword [ebp - 0xa74]
mov dword [ebp - 0xa78], eax
mov dword [ebp - 0xa7c], 0
jmp 0x43f2c7
mov ecx, dword [ebp - 0xa7c]
add ecx, 1
mov dword [ebp - 0xa7c], ecx
cmp dword [ebp - 0xa7c], 1
jae 0x44037b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43f59c
xor eax, eax
je 0x43f311
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43f34d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x95e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43f4ed
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43f4ed
mov dword [ebp - 0xa80], 0
jmp 0x43f3cc
cmp dword [ebp - 0xa80], 9
jae 0x43f4e8
cvtsi2sd xmm0, dword [ebp - 0xa80]
movsd xmm1, qword [ebp - 0x95e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f43b
mov ecx, dword [ebp - 0xa80]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x95e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95e0], xmm1
jmp 0x43f337
cvtsi2sd xmm0, dword [ebp - 0xa80]
movsd xmm1, qword [ebp - 0x95e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x95f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f498
mov eax, dword [ebp - 0xa80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95e0]
addsd xmm1, xmm0
movsd qword [ebp - 0x95e0], xmm1
jmp 0x43f4b1
mov ecx, 1
test ecx, ecx
je 0x43f4ad
jmp 0x43f56a
jmp 0x43f4d4
cvtsi2sd xmm0, dword [ebp - 0xa80]
movsd xmm1, qword [ebp - 0x95e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa84], edx
jmp 0x43f574
xor eax, eax
je 0x43f4de
jmp 0x43f4ed
jmp 0x43f337
jmp 0x43f337
mov ecx, 6
test ecx, ecx
je 0x43f56a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa88], eax
cvtsi2sd xmm0, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xa88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x95e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa84], ecx
jmp 0x43f574
mov dword [ebp - 0xa84], 2
mov edx, dword [ebp - 0xa7c]
shl edx, 2
add edx, dword [ebp - 0xa78]
mov eax, dword [ebp - 0xa84]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa7c]
shl ecx, 2
add ecx, dword [ebp - 0xa78]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4400ae
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43f8a9
xor eax, eax
je 0x43f61e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43f65a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x95f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43f7fa
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43f7fa
mov dword [ebp - 0xa8c], 0
jmp 0x43f6d9
cmp dword [ebp - 0xa8c], 9
jae 0x43f7f5
cvtsi2sd xmm0, dword [ebp - 0xa8c]
movsd xmm1, qword [ebp - 0x95f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9600], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9600]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f748
mov ecx, dword [ebp - 0xa8c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x95f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95f8], xmm1
jmp 0x43f644
cvtsi2sd xmm0, dword [ebp - 0xa8c]
movsd xmm1, qword [ebp - 0x95f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9608], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9608]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43f7a5
mov eax, dword [ebp - 0xa8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x95f8]
addsd xmm1, xmm0
movsd qword [ebp - 0x95f8], xmm1
jmp 0x43f7be
mov ecx, 1
test ecx, ecx
je 0x43f7ba
jmp 0x43f877
jmp 0x43f7e1
cvtsi2sd xmm0, dword [ebp - 0xa8c]
movsd xmm1, qword [ebp - 0x95f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa90], edx
jmp 0x43f881
xor eax, eax
je 0x43f7eb
jmp 0x43f7fa
jmp 0x43f644
jmp 0x43f644
mov ecx, 6
test ecx, ecx
je 0x43f877
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xa94], eax
cvtsi2sd xmm0, dword [ebp - 0xa94]
mov eax, dword [ebp - 0xa94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x95f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa90], ecx
jmp 0x43f881
mov dword [ebp - 0xa90], 2
mov edx, dword [ebp - 0xa7c]
shl edx, 2
add edx, dword [ebp - 0xa78]
mov eax, dword [ebp - 0xa90]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa7c]
shl ecx, 2
add ecx, dword [ebp - 0xa78]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x43fb71
xor eax, eax
je 0x43f8e6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x43f922
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x9610], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43fac2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43fac2
mov dword [ebp - 0xa98], 0
jmp 0x43f9a1
cmp dword [ebp - 0xa98], 9
jae 0x43fabd
cvtsi2sd xmm0, dword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0x9610]
addsd xmm1, xmm0
movsd qword [ebp - 0x9618], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fa10
mov ecx, dword [ebp - 0xa98]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9610]
addsd xmm1, xmm0
movsd qword [ebp - 0x9610], xmm1
jmp 0x43f90c
cvtsi2sd xmm0, dword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0x9610]
addsd xmm1, xmm0
movsd qword [ebp - 0x9620], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9620]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fa6d
mov eax, dword [ebp - 0xa98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9610]
addsd xmm1, xmm0
movsd qword [ebp - 0x9610], xmm1
jmp 0x43fa86
mov ecx, 1
test ecx, ecx
je 0x43fa82
jmp 0x43fb3f
jmp 0x43faa9
cvtsi2sd xmm0, dword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0x9610]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xa9c], edx
jmp 0x43fb49
xor eax, eax
je 0x43fab3
jmp 0x43fac2
jmp 0x43f90c
jmp 0x43f90c
mov ecx, 6
test ecx, ecx
je 0x43fb3f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xaa0], eax
cvtsi2sd xmm0, dword [ebp - 0xaa0]
mov eax, dword [ebp - 0xaa0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9610]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xa9c], ecx
jmp 0x43fb49
mov dword [ebp - 0xa9c], 2
mov edx, dword [ebp - 0xa7c]
shl edx, 2
add edx, dword [ebp - 0xa78]
mov eax, dword [ebp - 0xa9c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa7c]
shl ecx, 2
add ecx, dword [ebp - 0xa78]
mov dword [ecx], eax
mov edx, dword [ebp - 0xa7c]
add edx, 0xffffffa8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9628], xmm0
xor eax, eax
je 0x43fb8b
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43fbc7
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9628]
movsd qword [ebp - 0x9630], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43fd67
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43fd67
mov dword [ebp - 0xaa4], 0
jmp 0x43fc46
cmp dword [ebp - 0xaa4], 9
jae 0x43fd62
cvtsi2sd xmm0, dword [ebp - 0xaa4]
movsd xmm1, qword [ebp - 0x9630]
addsd xmm1, xmm0
movsd qword [ebp - 0x9638], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fcb5
mov ecx, dword [ebp - 0xaa4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9630]
addsd xmm1, xmm0
movsd qword [ebp - 0x9630], xmm1
jmp 0x43fbb1
cvtsi2sd xmm0, dword [ebp - 0xaa4]
movsd xmm1, qword [ebp - 0x9630]
addsd xmm1, xmm0
movsd qword [ebp - 0x9640], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9640]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43fd12
mov eax, dword [ebp - 0xaa4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9630]
addsd xmm1, xmm0
movsd qword [ebp - 0x9630], xmm1
jmp 0x43fd2b
mov ecx, 1
test ecx, ecx
je 0x43fd27
jmp 0x43fde4
jmp 0x43fd4e
cvtsi2sd xmm0, dword [ebp - 0xaa4]
movsd xmm1, qword [ebp - 0x9630]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xaa8], edx
jmp 0x43fdee
xor eax, eax
je 0x43fd58
jmp 0x43fd67
jmp 0x43fbb1
jmp 0x43fbb1
mov ecx, 6
test ecx, ecx
je 0x43fde4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xaac], eax
cvtsi2sd xmm0, dword [ebp - 0xaac]
mov eax, dword [ebp - 0xaac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9630]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xaa8], ecx
jmp 0x43fdee
mov dword [ebp - 0xaa8], 2
mov edx, dword [ebp - 0xa7c]
add edx, 0xffffffa8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9648], xmm0
xor eax, eax
je 0x43fe08
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x43fe44
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9648]
movsd qword [ebp - 0x9650], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x43ffe4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x43ffe4
mov dword [ebp - 0xab0], 0
jmp 0x43fec3
cmp dword [ebp - 0xab0], 9
jae 0x43ffdf
cvtsi2sd xmm0, dword [ebp - 0xab0]
movsd xmm1, qword [ebp - 0x9650]
addsd xmm1, xmm0
movsd qword [ebp - 0x9658], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ff32
mov ecx, dword [ebp - 0xab0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9650]
addsd xmm1, xmm0
movsd qword [ebp - 0x9650], xmm1
jmp 0x43fe2e
cvtsi2sd xmm0, dword [ebp - 0xab0]
movsd xmm1, qword [ebp - 0x9650]
addsd xmm1, xmm0
movsd qword [ebp - 0x9660], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9660]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x43ff8f
mov eax, dword [ebp - 0xab0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9650]
addsd xmm1, xmm0
movsd qword [ebp - 0x9650], xmm1
jmp 0x43ffa8
mov ecx, 1
test ecx, ecx
je 0x43ffa4
jmp 0x440061
jmp 0x43ffcb
cvtsi2sd xmm0, dword [ebp - 0xab0]
movsd xmm1, qword [ebp - 0x9650]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xab4], edx
jmp 0x44006b
xor eax, eax
je 0x43ffd5
jmp 0x43ffe4
jmp 0x43fe2e
jmp 0x43fe2e
mov ecx, 6
test ecx, ecx
je 0x440061
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xab8], eax
cvtsi2sd xmm0, dword [ebp - 0xab8]
mov eax, dword [ebp - 0xab8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9650]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xab4], ecx
jmp 0x44006b
mov dword [ebp - 0xab4], 2
mov edx, dword [ebp - 0xa7c]
shl edx, 2
add edx, dword [ebp - 0xa78]
mov eax, dword [ebp - 0xaa8]
add eax, dword [edx]
mov ecx, dword [ebp - 0xa7c]
shl ecx, 2
add ecx, dword [ebp - 0xa78]
mov edx, dword [ebp - 0xab4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xa7c]
shl ecx, 2
add ecx, dword [ebp - 0xa78]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x440376
xor eax, eax
je 0x4400eb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x440127
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x9668], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4402c7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4402c7
mov dword [ebp - 0xabc], 0
jmp 0x4401a6
cmp dword [ebp - 0xabc], 9
jae 0x4402c2
cvtsi2sd xmm0, dword [ebp - 0xabc]
movsd xmm1, qword [ebp - 0x9668]
addsd xmm1, xmm0
movsd qword [ebp - 0x9670], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9670]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440215
mov ecx, dword [ebp - 0xabc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9668]
addsd xmm1, xmm0
movsd qword [ebp - 0x9668], xmm1
jmp 0x440111
cvtsi2sd xmm0, dword [ebp - 0xabc]
movsd xmm1, qword [ebp - 0x9668]
addsd xmm1, xmm0
movsd qword [ebp - 0x9678], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440272
mov eax, dword [ebp - 0xabc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9668]
addsd xmm1, xmm0
movsd qword [ebp - 0x9668], xmm1
jmp 0x44028b
mov ecx, 1
test ecx, ecx
je 0x440287
jmp 0x440344
jmp 0x4402ae
cvtsi2sd xmm0, dword [ebp - 0xabc]
movsd xmm1, qword [ebp - 0x9668]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xac0], edx
jmp 0x44034e
xor eax, eax
je 0x4402b8
jmp 0x4402c7
jmp 0x440111
jmp 0x440111
mov ecx, 6
test ecx, ecx
je 0x440344
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xac4], eax
cvtsi2sd xmm0, dword [ebp - 0xac4]
mov eax, dword [ebp - 0xac4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9668]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xac0], ecx
jmp 0x44034e
mov dword [ebp - 0xac0], 2
mov edx, dword [ebp - 0xa7c]
shl edx, 2
add edx, dword [ebp - 0xa78]
mov eax, dword [ebp - 0xac0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xa7c]
shl ecx, 2
add ecx, dword [ebp - 0xa78]
mov dword [ecx], eax
jmp 0x43f2b8
mov edx, dword [ebp - 0xa74]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xa74]
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xac8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xacc], ecx
mov edx, dword [ebp - 0xacc]
shl edx, 2
add edx, 0x772518
mov eax, dword [edx]
call eax
test eax, eax
jne 0x44b033
xor ecx, ecx
mov byte [ebp - 0x1a], cl
lea ecx, [ebp - 0x1a]
call fcn.00424e70
mov dword [ebp - 0xad0], eax
mov edx, dword [ebp - 0xad0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4414c3
mov ecx, dword [ebp - 0xad0]
mov dword [ebp - 0xad4], ecx
mov dword [ebp - 0xad8], 0
jmp 0x44040f
mov edx, dword [ebp - 0xad8]
add edx, 1
mov dword [ebp - 0xad8], edx
cmp dword [ebp - 0xad8], 1
jae 0x4414c3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4406e4
xor eax, eax
je 0x440459
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x440495
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263e8]
movsd qword [ebp - 0x9680], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x440635
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x440635
mov dword [ebp - 0xadc], 0
jmp 0x440514
cmp dword [ebp - 0xadc], 9
jae 0x440630
cvtsi2sd xmm0, dword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0x9680]
addsd xmm1, xmm0
movsd qword [ebp - 0x9688], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9688]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440583
mov ecx, dword [ebp - 0xadc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9680]
addsd xmm1, xmm0
movsd qword [ebp - 0x9680], xmm1
jmp 0x44047f
cvtsi2sd xmm0, dword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0x9680]
addsd xmm1, xmm0
movsd qword [ebp - 0x9690], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9690]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4405e0
mov eax, dword [ebp - 0xadc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9680]
addsd xmm1, xmm0
movsd qword [ebp - 0x9680], xmm1
jmp 0x4405f9
mov ecx, 1
test ecx, ecx
je 0x4405f5
jmp 0x4406b2
jmp 0x44061c
cvtsi2sd xmm0, dword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0x9680]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xae0], edx
jmp 0x4406bc
xor eax, eax
je 0x440626
jmp 0x440635
jmp 0x44047f
jmp 0x44047f
mov ecx, 6
test ecx, ecx
je 0x4406b2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xae4], eax
cvtsi2sd xmm0, dword [ebp - 0xae4]
mov eax, dword [ebp - 0xae4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9680]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xae0], ecx
jmp 0x4406bc
mov dword [ebp - 0xae0], 2
mov edx, dword [ebp - 0xad8]
shl edx, 2
add edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0xae0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xad8]
shl ecx, 2
add ecx, dword [ebp - 0xad4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4411f6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4409f1
xor eax, eax
je 0x440766
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4407a2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x9698], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x440942
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x440942
mov dword [ebp - 0xae8], 0
jmp 0x440821
cmp dword [ebp - 0xae8], 9
jae 0x44093d
cvtsi2sd xmm0, dword [ebp - 0xae8]
movsd xmm1, qword [ebp - 0x9698]
addsd xmm1, xmm0
movsd qword [ebp - 0x96a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440890
mov ecx, dword [ebp - 0xae8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9698]
addsd xmm1, xmm0
movsd qword [ebp - 0x9698], xmm1
jmp 0x44078c
cvtsi2sd xmm0, dword [ebp - 0xae8]
movsd xmm1, qword [ebp - 0x9698]
addsd xmm1, xmm0
movsd qword [ebp - 0x96a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x96a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4408ed
mov eax, dword [ebp - 0xae8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9698]
addsd xmm1, xmm0
movsd qword [ebp - 0x9698], xmm1
jmp 0x440906
mov ecx, 1
test ecx, ecx
je 0x440902
jmp 0x4409bf
jmp 0x440929
cvtsi2sd xmm0, dword [ebp - 0xae8]
movsd xmm1, qword [ebp - 0x9698]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xaec], edx
jmp 0x4409c9
xor eax, eax
je 0x440933
jmp 0x440942
jmp 0x44078c
jmp 0x44078c
mov ecx, 6
test ecx, ecx
je 0x4409bf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xaf0], eax
cvtsi2sd xmm0, dword [ebp - 0xaf0]
mov eax, dword [ebp - 0xaf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9698]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xaec], ecx
jmp 0x4409c9
mov dword [ebp - 0xaec], 2
mov edx, dword [ebp - 0xad8]
shl edx, 2
add edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0xaec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xad8]
shl ecx, 2
add ecx, dword [ebp - 0xad4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x440cb9
xor eax, eax
je 0x440a2e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x440a6a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x96b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x440c0a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x440c0a
mov dword [ebp - 0xaf4], 0
jmp 0x440ae9
cmp dword [ebp - 0xaf4], 9
jae 0x440c05
cvtsi2sd xmm0, dword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0x96b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440b58
mov ecx, dword [ebp - 0xaf4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x96b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96b0], xmm1
jmp 0x440a54
cvtsi2sd xmm0, dword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0x96b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x96c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440bb5
mov eax, dword [ebp - 0xaf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96b0], xmm1
jmp 0x440bce
mov ecx, 1
test ecx, ecx
je 0x440bca
jmp 0x440c87
jmp 0x440bf1
cvtsi2sd xmm0, dword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0x96b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xaf8], edx
jmp 0x440c91
xor eax, eax
je 0x440bfb
jmp 0x440c0a
jmp 0x440a54
jmp 0x440a54
mov ecx, 6
test ecx, ecx
je 0x440c87
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xafc], eax
cvtsi2sd xmm0, dword [ebp - 0xafc]
mov eax, dword [ebp - 0xafc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x96b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xaf8], ecx
jmp 0x440c91
mov dword [ebp - 0xaf8], 2
mov edx, dword [ebp - 0xad8]
shl edx, 2
add edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0xaf8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xad8]
shl ecx, 2
add ecx, dword [ebp - 0xad4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xad8]
add edx, 0xffffffa8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x96c8], xmm0
xor eax, eax
je 0x440cd3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x440d0f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x96c8]
movsd qword [ebp - 0x96d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x440eaf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x440eaf
mov dword [ebp - 0xb00], 0
jmp 0x440d8e
cmp dword [ebp - 0xb00], 9
jae 0x440eaa
cvtsi2sd xmm0, dword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0x96d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440dfd
mov ecx, dword [ebp - 0xb00]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x96d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96d0], xmm1
jmp 0x440cf9
cvtsi2sd xmm0, dword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0x96d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x96e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x440e5a
mov eax, dword [ebp - 0xb00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96d0], xmm1
jmp 0x440e73
mov ecx, 1
test ecx, ecx
je 0x440e6f
jmp 0x440f2c
jmp 0x440e96
cvtsi2sd xmm0, dword [ebp - 0xb00]
movsd xmm1, qword [ebp - 0x96d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb04], edx
jmp 0x440f36
xor eax, eax
je 0x440ea0
jmp 0x440eaf
jmp 0x440cf9
jmp 0x440cf9
mov ecx, 6
test ecx, ecx
je 0x440f2c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb08], eax
cvtsi2sd xmm0, dword [ebp - 0xb08]
mov eax, dword [ebp - 0xb08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x96d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb04], ecx
jmp 0x440f36
mov dword [ebp - 0xb04], 2
mov edx, dword [ebp - 0xad8]
add edx, 0xffffffa8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x96e8], xmm0
xor eax, eax
je 0x440f50
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x440f8c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x96e8]
movsd qword [ebp - 0x96f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44112c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44112c
mov dword [ebp - 0xb0c], 0
jmp 0x44100b
cmp dword [ebp - 0xb0c], 9
jae 0x441127
cvtsi2sd xmm0, dword [ebp - 0xb0c]
movsd xmm1, qword [ebp - 0x96f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44107a
mov ecx, dword [ebp - 0xb0c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x96f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96f0], xmm1
jmp 0x440f76
cvtsi2sd xmm0, dword [ebp - 0xb0c]
movsd xmm1, qword [ebp - 0x96f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9700], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9700]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4410d7
mov eax, dword [ebp - 0xb0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x96f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x96f0], xmm1
jmp 0x4410f0
mov ecx, 1
test ecx, ecx
je 0x4410ec
jmp 0x4411a9
jmp 0x441113
cvtsi2sd xmm0, dword [ebp - 0xb0c]
movsd xmm1, qword [ebp - 0x96f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb10], edx
jmp 0x4411b3
xor eax, eax
je 0x44111d
jmp 0x44112c
jmp 0x440f76
jmp 0x440f76
mov ecx, 6
test ecx, ecx
je 0x4411a9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb14], eax
cvtsi2sd xmm0, dword [ebp - 0xb14]
mov eax, dword [ebp - 0xb14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x96f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb10], ecx
jmp 0x4411b3
mov dword [ebp - 0xb10], 2
mov edx, dword [ebp - 0xad8]
shl edx, 2
add edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0xb04]
add eax, dword [edx]
mov ecx, dword [ebp - 0xad8]
shl ecx, 2
add ecx, dword [ebp - 0xad4]
mov edx, dword [ebp - 0xb10]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xad8]
shl ecx, 2
add ecx, dword [ebp - 0xad4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4414be
xor eax, eax
je 0x441233
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44126f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x9708], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44140f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44140f
mov dword [ebp - 0xb18], 0
jmp 0x4412ee
cmp dword [ebp - 0xb18], 9
jae 0x44140a
cvtsi2sd xmm0, dword [ebp - 0xb18]
movsd xmm1, qword [ebp - 0x9708]
addsd xmm1, xmm0
movsd qword [ebp - 0x9710], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9710]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44135d
mov ecx, dword [ebp - 0xb18]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9708]
addsd xmm1, xmm0
movsd qword [ebp - 0x9708], xmm1
jmp 0x441259
cvtsi2sd xmm0, dword [ebp - 0xb18]
movsd xmm1, qword [ebp - 0x9708]
addsd xmm1, xmm0
movsd qword [ebp - 0x9718], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4413ba
mov eax, dword [ebp - 0xb18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9708]
addsd xmm1, xmm0
movsd qword [ebp - 0x9708], xmm1
jmp 0x4413d3
mov ecx, 1
test ecx, ecx
je 0x4413cf
jmp 0x44148c
jmp 0x4413f6
cvtsi2sd xmm0, dword [ebp - 0xb18]
movsd xmm1, qword [ebp - 0x9708]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb1c], edx
jmp 0x441496
xor eax, eax
je 0x441400
jmp 0x44140f
jmp 0x441259
jmp 0x441259
mov ecx, 6
test ecx, ecx
je 0x44148c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb20], eax
cvtsi2sd xmm0, dword [ebp - 0xb20]
mov eax, dword [ebp - 0xb20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9708]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb1c], ecx
jmp 0x441496
mov dword [ebp - 0xb1c], 2
mov edx, dword [ebp - 0xad8]
shl edx, 2
add edx, dword [ebp - 0xad4]
mov eax, dword [ebp - 0xb1c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xad8]
shl ecx, 2
add ecx, dword [ebp - 0xad4]
mov dword [ecx], eax
jmp 0x440400
mov edx, dword [ebp - 0xad0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xad0]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb24]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xb28], ecx
mov edx, dword [ebp - 0xb28]
mov dword [ebp - 0xb2c], edx
xor eax, eax
mov byte [ebp - 0x1b], al
lea ecx, [ebp - 0x1b]
call fcn.00424e40
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0xb30]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4425fc
mov eax, dword [ebp - 0xb30]
mov dword [ebp - 0xb34], eax
mov dword [ebp - 0xb38], 0
jmp 0x441548
mov ecx, dword [ebp - 0xb38]
add ecx, 1
mov dword [ebp - 0xb38], ecx
cmp dword [ebp - 0xb38], 1
jae 0x4425fc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44181d
xor eax, eax
je 0x441592
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4415ce
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x9720], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44176e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44176e
mov dword [ebp - 0xb3c], 0
jmp 0x44164d
cmp dword [ebp - 0xb3c], 9
jae 0x441769
cvtsi2sd xmm0, dword [ebp - 0xb3c]
movsd xmm1, qword [ebp - 0x9720]
addsd xmm1, xmm0
movsd qword [ebp - 0x9728], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9728]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4416bc
mov ecx, dword [ebp - 0xb3c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9720]
addsd xmm1, xmm0
movsd qword [ebp - 0x9720], xmm1
jmp 0x4415b8
cvtsi2sd xmm0, dword [ebp - 0xb3c]
movsd xmm1, qword [ebp - 0x9720]
addsd xmm1, xmm0
movsd qword [ebp - 0x9730], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9730]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441719
mov eax, dword [ebp - 0xb3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9720]
addsd xmm1, xmm0
movsd qword [ebp - 0x9720], xmm1
jmp 0x441732
mov ecx, 1
test ecx, ecx
je 0x44172e
jmp 0x4417eb
jmp 0x441755
cvtsi2sd xmm0, dword [ebp - 0xb3c]
movsd xmm1, qword [ebp - 0x9720]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb40], edx
jmp 0x4417f5
xor eax, eax
je 0x44175f
jmp 0x44176e
jmp 0x4415b8
jmp 0x4415b8
mov ecx, 6
test ecx, ecx
je 0x4417eb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb44], eax
cvtsi2sd xmm0, dword [ebp - 0xb44]
mov eax, dword [ebp - 0xb44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9720]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb40], ecx
jmp 0x4417f5
mov dword [ebp - 0xb40], 2
mov edx, dword [ebp - 0xb38]
shl edx, 2
add edx, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb40]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb38]
shl ecx, 2
add ecx, dword [ebp - 0xb34]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44232f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x441b2a
xor eax, eax
je 0x44189f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4418db
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x9738], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x441a7b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x441a7b
mov dword [ebp - 0xb48], 0
jmp 0x44195a
cmp dword [ebp - 0xb48], 9
jae 0x441a76
cvtsi2sd xmm0, dword [ebp - 0xb48]
movsd xmm1, qword [ebp - 0x9738]
addsd xmm1, xmm0
movsd qword [ebp - 0x9740], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9740]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4419c9
mov ecx, dword [ebp - 0xb48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9738]
addsd xmm1, xmm0
movsd qword [ebp - 0x9738], xmm1
jmp 0x4418c5
cvtsi2sd xmm0, dword [ebp - 0xb48]
movsd xmm1, qword [ebp - 0x9738]
addsd xmm1, xmm0
movsd qword [ebp - 0x9748], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9748]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441a26
mov eax, dword [ebp - 0xb48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9738]
addsd xmm1, xmm0
movsd qword [ebp - 0x9738], xmm1
jmp 0x441a3f
mov ecx, 1
test ecx, ecx
je 0x441a3b
jmp 0x441af8
jmp 0x441a62
cvtsi2sd xmm0, dword [ebp - 0xb48]
movsd xmm1, qword [ebp - 0x9738]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb4c], edx
jmp 0x441b02
xor eax, eax
je 0x441a6c
jmp 0x441a7b
jmp 0x4418c5
jmp 0x4418c5
mov ecx, 6
test ecx, ecx
je 0x441af8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb50], eax
cvtsi2sd xmm0, dword [ebp - 0xb50]
mov eax, dword [ebp - 0xb50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9738]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb4c], ecx
jmp 0x441b02
mov dword [ebp - 0xb4c], 2
mov edx, dword [ebp - 0xb38]
shl edx, 2
add edx, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb38]
shl ecx, 2
add ecx, dword [ebp - 0xb34]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x441df2
xor eax, eax
je 0x441b67
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x441ba3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x9750], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x441d43
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x441d43
mov dword [ebp - 0xb54], 0
jmp 0x441c22
cmp dword [ebp - 0xb54], 9
jae 0x441d3e
cvtsi2sd xmm0, dword [ebp - 0xb54]
movsd xmm1, qword [ebp - 0x9750]
addsd xmm1, xmm0
movsd qword [ebp - 0x9758], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441c91
mov ecx, dword [ebp - 0xb54]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9750]
addsd xmm1, xmm0
movsd qword [ebp - 0x9750], xmm1
jmp 0x441b8d
cvtsi2sd xmm0, dword [ebp - 0xb54]
movsd xmm1, qword [ebp - 0x9750]
addsd xmm1, xmm0
movsd qword [ebp - 0x9760], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9760]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441cee
mov eax, dword [ebp - 0xb54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9750]
addsd xmm1, xmm0
movsd qword [ebp - 0x9750], xmm1
jmp 0x441d07
mov ecx, 1
test ecx, ecx
je 0x441d03
jmp 0x441dc0
jmp 0x441d2a
cvtsi2sd xmm0, dword [ebp - 0xb54]
movsd xmm1, qword [ebp - 0x9750]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb58], edx
jmp 0x441dca
xor eax, eax
je 0x441d34
jmp 0x441d43
jmp 0x441b8d
jmp 0x441b8d
mov ecx, 6
test ecx, ecx
je 0x441dc0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb5c], eax
cvtsi2sd xmm0, dword [ebp - 0xb5c]
mov eax, dword [ebp - 0xb5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9750]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb58], ecx
jmp 0x441dca
mov dword [ebp - 0xb58], 2
mov edx, dword [ebp - 0xb38]
shl edx, 2
add edx, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb58]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb38]
shl ecx, 2
add ecx, dword [ebp - 0xb34]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb38]
add edx, 0xffffffa9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9768], xmm0
xor eax, eax
je 0x441e0c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x441e48
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9768]
movsd qword [ebp - 0x9770], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x441fe8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x441fe8
mov dword [ebp - 0xb60], 0
jmp 0x441ec7
cmp dword [ebp - 0xb60], 9
jae 0x441fe3
cvtsi2sd xmm0, dword [ebp - 0xb60]
movsd xmm1, qword [ebp - 0x9770]
addsd xmm1, xmm0
movsd qword [ebp - 0x9778], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441f36
mov ecx, dword [ebp - 0xb60]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9770]
addsd xmm1, xmm0
movsd qword [ebp - 0x9770], xmm1
jmp 0x441e32
cvtsi2sd xmm0, dword [ebp - 0xb60]
movsd xmm1, qword [ebp - 0x9770]
addsd xmm1, xmm0
movsd qword [ebp - 0x9780], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9780]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x441f93
mov eax, dword [ebp - 0xb60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9770]
addsd xmm1, xmm0
movsd qword [ebp - 0x9770], xmm1
jmp 0x441fac
mov ecx, 1
test ecx, ecx
je 0x441fa8
jmp 0x442065
jmp 0x441fcf
cvtsi2sd xmm0, dword [ebp - 0xb60]
movsd xmm1, qword [ebp - 0x9770]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb64], edx
jmp 0x44206f
xor eax, eax
je 0x441fd9
jmp 0x441fe8
jmp 0x441e32
jmp 0x441e32
mov ecx, 6
test ecx, ecx
je 0x442065
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb68], eax
cvtsi2sd xmm0, dword [ebp - 0xb68]
mov eax, dword [ebp - 0xb68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9770]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb64], ecx
jmp 0x44206f
mov dword [ebp - 0xb64], 2
mov edx, dword [ebp - 0xb38]
add edx, 0xffffffa9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9788], xmm0
xor eax, eax
je 0x442089
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4420c5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9788]
movsd qword [ebp - 0x9790], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x442265
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x442265
mov dword [ebp - 0xb6c], 0
jmp 0x442144
cmp dword [ebp - 0xb6c], 9
jae 0x442260
cvtsi2sd xmm0, dword [ebp - 0xb6c]
movsd xmm1, qword [ebp - 0x9790]
addsd xmm1, xmm0
movsd qword [ebp - 0x9798], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4421b3
mov ecx, dword [ebp - 0xb6c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9790]
addsd xmm1, xmm0
movsd qword [ebp - 0x9790], xmm1
jmp 0x4420af
cvtsi2sd xmm0, dword [ebp - 0xb6c]
movsd xmm1, qword [ebp - 0x9790]
addsd xmm1, xmm0
movsd qword [ebp - 0x97a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x97a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442210
mov eax, dword [ebp - 0xb6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9790]
addsd xmm1, xmm0
movsd qword [ebp - 0x9790], xmm1
jmp 0x442229
mov ecx, 1
test ecx, ecx
je 0x442225
jmp 0x4422e2
jmp 0x44224c
cvtsi2sd xmm0, dword [ebp - 0xb6c]
movsd xmm1, qword [ebp - 0x9790]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb70], edx
jmp 0x4422ec
xor eax, eax
je 0x442256
jmp 0x442265
jmp 0x4420af
jmp 0x4420af
mov ecx, 6
test ecx, ecx
je 0x4422e2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb74], eax
cvtsi2sd xmm0, dword [ebp - 0xb74]
mov eax, dword [ebp - 0xb74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9790]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb70], ecx
jmp 0x4422ec
mov dword [ebp - 0xb70], 2
mov edx, dword [ebp - 0xb38]
shl edx, 2
add edx, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb64]
add eax, dword [edx]
mov ecx, dword [ebp - 0xb38]
shl ecx, 2
add ecx, dword [ebp - 0xb34]
mov edx, dword [ebp - 0xb70]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xb38]
shl ecx, 2
add ecx, dword [ebp - 0xb34]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4425f7
xor eax, eax
je 0x44236c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4423a8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x97a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x442548
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x442548
mov dword [ebp - 0xb78], 0
jmp 0x442427
cmp dword [ebp - 0xb78], 9
jae 0x442543
cvtsi2sd xmm0, dword [ebp - 0xb78]
movsd xmm1, qword [ebp - 0x97a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442496
mov ecx, dword [ebp - 0xb78]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x97a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97a8], xmm1
jmp 0x442392
cvtsi2sd xmm0, dword [ebp - 0xb78]
movsd xmm1, qword [ebp - 0x97a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x97b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4424f3
mov eax, dword [ebp - 0xb78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97a8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97a8], xmm1
jmp 0x44250c
mov ecx, 1
test ecx, ecx
je 0x442508
jmp 0x4425c5
jmp 0x44252f
cvtsi2sd xmm0, dword [ebp - 0xb78]
movsd xmm1, qword [ebp - 0x97a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xb7c], edx
jmp 0x4425cf
xor eax, eax
je 0x442539
jmp 0x442548
jmp 0x442392
jmp 0x442392
mov ecx, 6
test ecx, ecx
je 0x4425c5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xb80], eax
cvtsi2sd xmm0, dword [ebp - 0xb80]
mov eax, dword [ebp - 0xb80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x97a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xb7c], ecx
jmp 0x4425cf
mov dword [ebp - 0xb7c], 2
mov edx, dword [ebp - 0xb38]
shl edx, 2
add edx, dword [ebp - 0xb34]
mov eax, dword [ebp - 0xb7c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb38]
shl ecx, 2
add ecx, dword [ebp - 0xb34]
mov dword [ecx], eax
jmp 0x441539
mov edx, dword [ebp - 0xb30]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xb30]
mov dword [ebp - 0xb84], eax
mov ecx, dword [ebp - 0xb84]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xb88], ecx
mov edx, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], edx
xor eax, eax
mov byte [ebp - 0x1c], al
lea ecx, [ebp - 0x1c]
call fcn.00424e10
mov dword [ebp - 0xb90], eax
mov ecx, dword [ebp - 0xb90]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x443735
mov eax, dword [ebp - 0xb90]
mov dword [ebp - 0xb94], eax
mov dword [ebp - 0xb98], 0
jmp 0x442681
mov ecx, dword [ebp - 0xb98]
add ecx, 1
mov dword [ebp - 0xb98], ecx
cmp dword [ebp - 0xb98], 1
jae 0x443735
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x442956
xor eax, eax
je 0x4426cb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x442707
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263e0]
movsd qword [ebp - 0x97c0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4428a7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4428a7
mov dword [ebp - 0xb9c], 0
jmp 0x442786
cmp dword [ebp - 0xb9c], 9
jae 0x4428a2
cvtsi2sd xmm0, dword [ebp - 0xb9c]
movsd xmm1, qword [ebp - 0x97c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4427f5
mov ecx, dword [ebp - 0xb9c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x97c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97c0], xmm1
jmp 0x4426f1
cvtsi2sd xmm0, dword [ebp - 0xb9c]
movsd xmm1, qword [ebp - 0x97c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x97d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442852
mov eax, dword [ebp - 0xb9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97c0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97c0], xmm1
jmp 0x44286b
mov ecx, 1
test ecx, ecx
je 0x442867
jmp 0x442924
jmp 0x44288e
cvtsi2sd xmm0, dword [ebp - 0xb9c]
movsd xmm1, qword [ebp - 0x97c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xba0], edx
jmp 0x44292e
xor eax, eax
je 0x442898
jmp 0x4428a7
jmp 0x4426f1
jmp 0x4426f1
mov ecx, 6
test ecx, ecx
je 0x442924
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xba4], eax
cvtsi2sd xmm0, dword [ebp - 0xba4]
mov eax, dword [ebp - 0xba4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x97c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xba0], ecx
jmp 0x44292e
mov dword [ebp - 0xba0], 2
mov edx, dword [ebp - 0xb98]
shl edx, 2
add edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xba0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb98]
shl ecx, 2
add ecx, dword [ebp - 0xb94]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x443468
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x442c63
xor eax, eax
je 0x4429d8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x442a14
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x97d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x442bb4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x442bb4
mov dword [ebp - 0xba8], 0
jmp 0x442a93
cmp dword [ebp - 0xba8], 9
jae 0x442baf
cvtsi2sd xmm0, dword [ebp - 0xba8]
movsd xmm1, qword [ebp - 0x97d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442b02
mov ecx, dword [ebp - 0xba8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x97d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97d8], xmm1
jmp 0x4429fe
cvtsi2sd xmm0, dword [ebp - 0xba8]
movsd xmm1, qword [ebp - 0x97d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x97e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442b5f
mov eax, dword [ebp - 0xba8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97d8]
addsd xmm1, xmm0
movsd qword [ebp - 0x97d8], xmm1
jmp 0x442b78
mov ecx, 1
test ecx, ecx
je 0x442b74
jmp 0x442c31
jmp 0x442b9b
cvtsi2sd xmm0, dword [ebp - 0xba8]
movsd xmm1, qword [ebp - 0x97d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xbac], edx
jmp 0x442c3b
xor eax, eax
je 0x442ba5
jmp 0x442bb4
jmp 0x4429fe
jmp 0x4429fe
mov ecx, 6
test ecx, ecx
je 0x442c31
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xbb0], eax
cvtsi2sd xmm0, dword [ebp - 0xbb0]
mov eax, dword [ebp - 0xbb0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x97d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xbac], ecx
jmp 0x442c3b
mov dword [ebp - 0xbac], 2
mov edx, dword [ebp - 0xb98]
shl edx, 2
add edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xbac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb98]
shl ecx, 2
add ecx, dword [ebp - 0xb94]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x442f2b
xor eax, eax
je 0x442ca0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x442cdc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x97f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x442e7c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x442e7c
mov dword [ebp - 0xbb4], 0
jmp 0x442d5b
cmp dword [ebp - 0xbb4], 9
jae 0x442e77
cvtsi2sd xmm0, dword [ebp - 0xbb4]
movsd xmm1, qword [ebp - 0x97f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442dca
mov ecx, dword [ebp - 0xbb4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x97f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97f0], xmm1
jmp 0x442cc6
cvtsi2sd xmm0, dword [ebp - 0xbb4]
movsd xmm1, qword [ebp - 0x97f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9800], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9800]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x442e27
mov eax, dword [ebp - 0xbb4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x97f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x97f0], xmm1
jmp 0x442e40
mov ecx, 1
test ecx, ecx
je 0x442e3c
jmp 0x442ef9
jmp 0x442e63
cvtsi2sd xmm0, dword [ebp - 0xbb4]
movsd xmm1, qword [ebp - 0x97f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xbb8], edx
jmp 0x442f03
xor eax, eax
je 0x442e6d
jmp 0x442e7c
jmp 0x442cc6
jmp 0x442cc6
mov ecx, 6
test ecx, ecx
je 0x442ef9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xbbc], eax
cvtsi2sd xmm0, dword [ebp - 0xbbc]
mov eax, dword [ebp - 0xbbc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x97f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xbb8], ecx
jmp 0x442f03
mov dword [ebp - 0xbb8], 2
mov edx, dword [ebp - 0xb98]
shl edx, 2
add edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xbb8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb98]
shl ecx, 2
add ecx, dword [ebp - 0xb94]
mov dword [ecx], eax
mov edx, dword [ebp - 0xb98]
add edx, 0xffffffa9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9808], xmm0
xor eax, eax
je 0x442f45
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x442f81
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9808]
movsd qword [ebp - 0x9810], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x443121
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x443121
mov dword [ebp - 0xbc0], 0
jmp 0x443000
cmp dword [ebp - 0xbc0], 9
jae 0x44311c
cvtsi2sd xmm0, dword [ebp - 0xbc0]
movsd xmm1, qword [ebp - 0x9810]
addsd xmm1, xmm0
movsd qword [ebp - 0x9818], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44306f
mov ecx, dword [ebp - 0xbc0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9810]
addsd xmm1, xmm0
movsd qword [ebp - 0x9810], xmm1
jmp 0x442f6b
cvtsi2sd xmm0, dword [ebp - 0xbc0]
movsd xmm1, qword [ebp - 0x9810]
addsd xmm1, xmm0
movsd qword [ebp - 0x9820], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9820]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4430cc
mov eax, dword [ebp - 0xbc0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9810]
addsd xmm1, xmm0
movsd qword [ebp - 0x9810], xmm1
jmp 0x4430e5
mov ecx, 1
test ecx, ecx
je 0x4430e1
jmp 0x44319e
jmp 0x443108
cvtsi2sd xmm0, dword [ebp - 0xbc0]
movsd xmm1, qword [ebp - 0x9810]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xbc4], edx
jmp 0x4431a8
xor eax, eax
je 0x443112
jmp 0x443121
jmp 0x442f6b
jmp 0x442f6b
mov ecx, 6
test ecx, ecx
je 0x44319e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xbc8], eax
cvtsi2sd xmm0, dword [ebp - 0xbc8]
mov eax, dword [ebp - 0xbc8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9810]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xbc4], ecx
jmp 0x4431a8
mov dword [ebp - 0xbc4], 2
mov edx, dword [ebp - 0xb98]
add edx, 0xffffffa9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9828], xmm0
xor eax, eax
je 0x4431c2
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4431fe
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9828]
movsd qword [ebp - 0x9830], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44339e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44339e
mov dword [ebp - 0xbcc], 0
jmp 0x44327d
cmp dword [ebp - 0xbcc], 9
jae 0x443399
cvtsi2sd xmm0, dword [ebp - 0xbcc]
movsd xmm1, qword [ebp - 0x9830]
addsd xmm1, xmm0
movsd qword [ebp - 0x9838], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4432ec
mov ecx, dword [ebp - 0xbcc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9830]
addsd xmm1, xmm0
movsd qword [ebp - 0x9830], xmm1
jmp 0x4431e8
cvtsi2sd xmm0, dword [ebp - 0xbcc]
movsd xmm1, qword [ebp - 0x9830]
addsd xmm1, xmm0
movsd qword [ebp - 0x9840], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9840]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443349
mov eax, dword [ebp - 0xbcc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9830]
addsd xmm1, xmm0
movsd qword [ebp - 0x9830], xmm1
jmp 0x443362
mov ecx, 1
test ecx, ecx
je 0x44335e
jmp 0x44341b
jmp 0x443385
cvtsi2sd xmm0, dword [ebp - 0xbcc]
movsd xmm1, qword [ebp - 0x9830]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xbd0], edx
jmp 0x443425
xor eax, eax
je 0x44338f
jmp 0x44339e
jmp 0x4431e8
jmp 0x4431e8
mov ecx, 6
test ecx, ecx
je 0x44341b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xbd4], eax
cvtsi2sd xmm0, dword [ebp - 0xbd4]
mov eax, dword [ebp - 0xbd4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9830]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xbd0], ecx
jmp 0x443425
mov dword [ebp - 0xbd0], 2
mov edx, dword [ebp - 0xb98]
shl edx, 2
add edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xbc4]
add eax, dword [edx]
mov ecx, dword [ebp - 0xb98]
shl ecx, 2
add ecx, dword [ebp - 0xb94]
mov edx, dword [ebp - 0xbd0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xb98]
shl ecx, 2
add ecx, dword [ebp - 0xb94]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x443730
xor eax, eax
je 0x4434a5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4434e1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x9848], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x443681
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x443681
mov dword [ebp - 0xbd8], 0
jmp 0x443560
cmp dword [ebp - 0xbd8], 9
jae 0x44367c
cvtsi2sd xmm0, dword [ebp - 0xbd8]
movsd xmm1, qword [ebp - 0x9848]
addsd xmm1, xmm0
movsd qword [ebp - 0x9850], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9850]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4435cf
mov ecx, dword [ebp - 0xbd8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9848]
addsd xmm1, xmm0
movsd qword [ebp - 0x9848], xmm1
jmp 0x4434cb
cvtsi2sd xmm0, dword [ebp - 0xbd8]
movsd xmm1, qword [ebp - 0x9848]
addsd xmm1, xmm0
movsd qword [ebp - 0x9858], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44362c
mov eax, dword [ebp - 0xbd8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9848]
addsd xmm1, xmm0
movsd qword [ebp - 0x9848], xmm1
jmp 0x443645
mov ecx, 1
test ecx, ecx
je 0x443641
jmp 0x4436fe
jmp 0x443668
cvtsi2sd xmm0, dword [ebp - 0xbd8]
movsd xmm1, qword [ebp - 0x9848]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xbdc], edx
jmp 0x443708
xor eax, eax
je 0x443672
jmp 0x443681
jmp 0x4434cb
jmp 0x4434cb
mov ecx, 6
test ecx, ecx
je 0x4436fe
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xbe0], eax
cvtsi2sd xmm0, dword [ebp - 0xbe0]
mov eax, dword [ebp - 0xbe0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9848]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xbdc], ecx
jmp 0x443708
mov dword [ebp - 0xbdc], 2
mov edx, dword [ebp - 0xb98]
shl edx, 2
add edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xbdc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xb98]
shl ecx, 2
add ecx, dword [ebp - 0xb94]
mov dword [ecx], eax
jmp 0x442672
mov edx, dword [ebp - 0xb90]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xb90]
mov dword [ebp - 0xbe4], eax
mov ecx, dword [ebp - 0xbe4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xbe8], ecx
mov edx, dword [ebp - 0xbe8]
mov dword [ebp - 0xbec], edx
mov eax, dword [ebp - 0xb8c]
mov dword [ebp - 0xb2c], eax
cmp dword [ebp - 0xb2c], 0
je 0x4448c0
xor ecx, ecx
mov byte [ebp - 0x1d], cl
lea ecx, [ebp - 0x1d]
call fcn.00424de0
mov dword [ebp - 0xbf0], eax
mov edx, dword [ebp - 0xbf0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x444887
mov ecx, dword [ebp - 0xbf0]
mov dword [ebp - 0xbf4], ecx
mov dword [ebp - 0xbf8], 0
jmp 0x4437d3
mov edx, dword [ebp - 0xbf8]
add edx, 1
mov dword [ebp - 0xbf8], edx
cmp dword [ebp - 0xbf8], 1
jae 0x444887
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x443aa8
xor eax, eax
je 0x44381d
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x443859
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x9860], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4439f9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4439f9
mov dword [ebp - 0xbfc], 0
jmp 0x4438d8
cmp dword [ebp - 0xbfc], 9
jae 0x4439f4
cvtsi2sd xmm0, dword [ebp - 0xbfc]
movsd xmm1, qword [ebp - 0x9860]
addsd xmm1, xmm0
movsd qword [ebp - 0x9868], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9868]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443947
mov ecx, dword [ebp - 0xbfc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9860]
addsd xmm1, xmm0
movsd qword [ebp - 0x9860], xmm1
jmp 0x443843
cvtsi2sd xmm0, dword [ebp - 0xbfc]
movsd xmm1, qword [ebp - 0x9860]
addsd xmm1, xmm0
movsd qword [ebp - 0x9870], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9870]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4439a4
mov eax, dword [ebp - 0xbfc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9860]
addsd xmm1, xmm0
movsd qword [ebp - 0x9860], xmm1
jmp 0x4439bd
mov ecx, 1
test ecx, ecx
je 0x4439b9
jmp 0x443a76
jmp 0x4439e0
cvtsi2sd xmm0, dword [ebp - 0xbfc]
movsd xmm1, qword [ebp - 0x9860]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc00], edx
jmp 0x443a80
xor eax, eax
je 0x4439ea
jmp 0x4439f9
jmp 0x443843
jmp 0x443843
mov ecx, 6
test ecx, ecx
je 0x443a76
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc04], eax
cvtsi2sd xmm0, dword [ebp - 0xc04]
mov eax, dword [ebp - 0xc04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9860]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc00], ecx
jmp 0x443a80
mov dword [ebp - 0xc00], 2
mov edx, dword [ebp - 0xbf8]
shl edx, 2
add edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xc00]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xbf8]
shl ecx, 2
add ecx, dword [ebp - 0xbf4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4445ba
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x443db5
xor eax, eax
je 0x443b2a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x443b66
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x9878], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x443d06
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x443d06
mov dword [ebp - 0xc08], 0
jmp 0x443be5
cmp dword [ebp - 0xc08], 9
jae 0x443d01
cvtsi2sd xmm0, dword [ebp - 0xc08]
movsd xmm1, qword [ebp - 0x9878]
addsd xmm1, xmm0
movsd qword [ebp - 0x9880], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9880]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443c54
mov ecx, dword [ebp - 0xc08]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9878]
addsd xmm1, xmm0
movsd qword [ebp - 0x9878], xmm1
jmp 0x443b50
cvtsi2sd xmm0, dword [ebp - 0xc08]
movsd xmm1, qword [ebp - 0x9878]
addsd xmm1, xmm0
movsd qword [ebp - 0x9888], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9888]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443cb1
mov eax, dword [ebp - 0xc08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9878]
addsd xmm1, xmm0
movsd qword [ebp - 0x9878], xmm1
jmp 0x443cca
mov ecx, 1
test ecx, ecx
je 0x443cc6
jmp 0x443d83
jmp 0x443ced
cvtsi2sd xmm0, dword [ebp - 0xc08]
movsd xmm1, qword [ebp - 0x9878]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc0c], edx
jmp 0x443d8d
xor eax, eax
je 0x443cf7
jmp 0x443d06
jmp 0x443b50
jmp 0x443b50
mov ecx, 6
test ecx, ecx
je 0x443d83
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc10], eax
cvtsi2sd xmm0, dword [ebp - 0xc10]
mov eax, dword [ebp - 0xc10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9878]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc0c], ecx
jmp 0x443d8d
mov dword [ebp - 0xc0c], 2
mov edx, dword [ebp - 0xbf8]
shl edx, 2
add edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xc0c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xbf8]
shl ecx, 2
add ecx, dword [ebp - 0xbf4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44407d
xor eax, eax
je 0x443df2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x443e2e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x9890], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x443fce
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x443fce
mov dword [ebp - 0xc14], 0
jmp 0x443ead
cmp dword [ebp - 0xc14], 9
jae 0x443fc9
cvtsi2sd xmm0, dword [ebp - 0xc14]
movsd xmm1, qword [ebp - 0x9890]
addsd xmm1, xmm0
movsd qword [ebp - 0x9898], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443f1c
mov ecx, dword [ebp - 0xc14]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9890]
addsd xmm1, xmm0
movsd qword [ebp - 0x9890], xmm1
jmp 0x443e18
cvtsi2sd xmm0, dword [ebp - 0xc14]
movsd xmm1, qword [ebp - 0x9890]
addsd xmm1, xmm0
movsd qword [ebp - 0x98a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x98a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x443f79
mov eax, dword [ebp - 0xc14]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9890]
addsd xmm1, xmm0
movsd qword [ebp - 0x9890], xmm1
jmp 0x443f92
mov ecx, 1
test ecx, ecx
je 0x443f8e
jmp 0x44404b
jmp 0x443fb5
cvtsi2sd xmm0, dword [ebp - 0xc14]
movsd xmm1, qword [ebp - 0x9890]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc18], edx
jmp 0x444055
xor eax, eax
je 0x443fbf
jmp 0x443fce
jmp 0x443e18
jmp 0x443e18
mov ecx, 6
test ecx, ecx
je 0x44404b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc1c], eax
cvtsi2sd xmm0, dword [ebp - 0xc1c]
mov eax, dword [ebp - 0xc1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9890]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc18], ecx
jmp 0x444055
mov dword [ebp - 0xc18], 2
mov edx, dword [ebp - 0xbf8]
shl edx, 2
add edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xc18]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xbf8]
shl ecx, 2
add ecx, dword [ebp - 0xbf4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xbf8]
add edx, 0xffffffaa
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x98a8], xmm0
xor eax, eax
je 0x444097
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4440d3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x98a8]
movsd qword [ebp - 0x98b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x444273
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x444273
mov dword [ebp - 0xc20], 0
jmp 0x444152
cmp dword [ebp - 0xc20], 9
jae 0x44426e
cvtsi2sd xmm0, dword [ebp - 0xc20]
movsd xmm1, qword [ebp - 0x98b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4441c1
mov ecx, dword [ebp - 0xc20]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x98b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98b0], xmm1
jmp 0x4440bd
cvtsi2sd xmm0, dword [ebp - 0xc20]
movsd xmm1, qword [ebp - 0x98b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x98c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44421e
mov eax, dword [ebp - 0xc20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98b0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98b0], xmm1
jmp 0x444237
mov ecx, 1
test ecx, ecx
je 0x444233
jmp 0x4442f0
jmp 0x44425a
cvtsi2sd xmm0, dword [ebp - 0xc20]
movsd xmm1, qword [ebp - 0x98b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc24], edx
jmp 0x4442fa
xor eax, eax
je 0x444264
jmp 0x444273
jmp 0x4440bd
jmp 0x4440bd
mov ecx, 6
test ecx, ecx
je 0x4442f0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc28], eax
cvtsi2sd xmm0, dword [ebp - 0xc28]
mov eax, dword [ebp - 0xc28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x98b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc24], ecx
jmp 0x4442fa
mov dword [ebp - 0xc24], 2
mov edx, dword [ebp - 0xbf8]
add edx, 0xffffffaa
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x98c8], xmm0
xor eax, eax
je 0x444314
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x444350
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x98c8]
movsd qword [ebp - 0x98d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4444f0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4444f0
mov dword [ebp - 0xc2c], 0
jmp 0x4443cf
cmp dword [ebp - 0xc2c], 9
jae 0x4444eb
cvtsi2sd xmm0, dword [ebp - 0xc2c]
movsd xmm1, qword [ebp - 0x98d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44443e
mov ecx, dword [ebp - 0xc2c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x98d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98d0], xmm1
jmp 0x44433a
cvtsi2sd xmm0, dword [ebp - 0xc2c]
movsd xmm1, qword [ebp - 0x98d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x98e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44449b
mov eax, dword [ebp - 0xc2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x98d0], xmm1
jmp 0x4444b4
mov ecx, 1
test ecx, ecx
je 0x4444b0
jmp 0x44456d
jmp 0x4444d7
cvtsi2sd xmm0, dword [ebp - 0xc2c]
movsd xmm1, qword [ebp - 0x98d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc30], edx
jmp 0x444577
xor eax, eax
je 0x4444e1
jmp 0x4444f0
jmp 0x44433a
jmp 0x44433a
mov ecx, 6
test ecx, ecx
je 0x44456d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc34], eax
cvtsi2sd xmm0, dword [ebp - 0xc34]
mov eax, dword [ebp - 0xc34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x98d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc30], ecx
jmp 0x444577
mov dword [ebp - 0xc30], 2
mov edx, dword [ebp - 0xbf8]
shl edx, 2
add edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xc24]
add eax, dword [edx]
mov ecx, dword [ebp - 0xbf8]
shl ecx, 2
add ecx, dword [ebp - 0xbf4]
mov edx, dword [ebp - 0xc30]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xbf8]
shl ecx, 2
add ecx, dword [ebp - 0xbf4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x444882
xor eax, eax
je 0x4445f7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x444633
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x98e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4447d3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4447d3
mov dword [ebp - 0xc38], 0
jmp 0x4446b2
cmp dword [ebp - 0xc38], 9
jae 0x4447ce
cvtsi2sd xmm0, dword [ebp - 0xc38]
movsd xmm1, qword [ebp - 0x98e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444721
mov ecx, dword [ebp - 0xc38]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x98e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98e8], xmm1
jmp 0x44461d
cvtsi2sd xmm0, dword [ebp - 0xc38]
movsd xmm1, qword [ebp - 0x98e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x98f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44477e
mov eax, dword [ebp - 0xc38]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x98e8]
addsd xmm1, xmm0
movsd qword [ebp - 0x98e8], xmm1
jmp 0x444797
mov ecx, 1
test ecx, ecx
je 0x444793
jmp 0x444850
jmp 0x4447ba
cvtsi2sd xmm0, dword [ebp - 0xc38]
movsd xmm1, qword [ebp - 0x98e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc3c], edx
jmp 0x44485a
xor eax, eax
je 0x4447c4
jmp 0x4447d3
jmp 0x44461d
jmp 0x44461d
mov ecx, 6
test ecx, ecx
je 0x444850
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc40], eax
cvtsi2sd xmm0, dword [ebp - 0xc40]
mov eax, dword [ebp - 0xc40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x98e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc3c], ecx
jmp 0x44485a
mov dword [ebp - 0xc3c], 2
mov edx, dword [ebp - 0xbf8]
shl edx, 2
add edx, dword [ebp - 0xbf4]
mov eax, dword [ebp - 0xc3c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xbf8]
shl ecx, 2
add ecx, dword [ebp - 0xbf4]
mov dword [ecx], eax
jmp 0x4437c4
mov edx, dword [ebp - 0xbf0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xbf0]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc44]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xc48], ecx
mov edx, dword [ebp - 0xc48]
mov dword [ebp - 0xbec], edx
xor eax, eax
mov byte [ebp - 0x1e], al
xor ecx, ecx
mov byte [ebp - 0x1f], cl
lea ecx, [ebp - 0x1f]
call fcn.00424db0
mov dword [ebp - 0xc4c], eax
mov edx, dword [ebp - 0xc4c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4459c5
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0xc50], ecx
mov dword [ebp - 0xc54], 0
jmp 0x444911
mov edx, dword [ebp - 0xc54]
add edx, 1
mov dword [ebp - 0xc54], edx
cmp dword [ebp - 0xc54], 1
jae 0x4459c5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x444be6
xor eax, eax
je 0x44495b
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x444997
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x9900], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x444b37
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x444b37
mov dword [ebp - 0xc58], 0
jmp 0x444a16
cmp dword [ebp - 0xc58], 9
jae 0x444b32
cvtsi2sd xmm0, dword [ebp - 0xc58]
movsd xmm1, qword [ebp - 0x9900]
addsd xmm1, xmm0
movsd qword [ebp - 0x9908], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9908]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444a85
mov ecx, dword [ebp - 0xc58]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9900]
addsd xmm1, xmm0
movsd qword [ebp - 0x9900], xmm1
jmp 0x444981
cvtsi2sd xmm0, dword [ebp - 0xc58]
movsd xmm1, qword [ebp - 0x9900]
addsd xmm1, xmm0
movsd qword [ebp - 0x9910], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9910]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444ae2
mov eax, dword [ebp - 0xc58]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9900]
addsd xmm1, xmm0
movsd qword [ebp - 0x9900], xmm1
jmp 0x444afb
mov ecx, 1
test ecx, ecx
je 0x444af7
jmp 0x444bb4
jmp 0x444b1e
cvtsi2sd xmm0, dword [ebp - 0xc58]
movsd xmm1, qword [ebp - 0x9900]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc5c], edx
jmp 0x444bbe
xor eax, eax
je 0x444b28
jmp 0x444b37
jmp 0x444981
jmp 0x444981
mov ecx, 6
test ecx, ecx
je 0x444bb4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc60], eax
cvtsi2sd xmm0, dword [ebp - 0xc60]
mov eax, dword [ebp - 0xc60]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9900]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc5c], ecx
jmp 0x444bbe
mov dword [ebp - 0xc5c], 2
mov edx, dword [ebp - 0xc54]
shl edx, 2
add edx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc5c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xc54]
shl ecx, 2
add ecx, dword [ebp - 0xc50]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4456f8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x444ef3
xor eax, eax
je 0x444c68
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x444ca4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x9918], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x444e44
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x444e44
mov dword [ebp - 0xc64], 0
jmp 0x444d23
cmp dword [ebp - 0xc64], 9
jae 0x444e3f
cvtsi2sd xmm0, dword [ebp - 0xc64]
movsd xmm1, qword [ebp - 0x9918]
addsd xmm1, xmm0
movsd qword [ebp - 0x9920], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9920]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444d92
mov ecx, dword [ebp - 0xc64]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9918]
addsd xmm1, xmm0
movsd qword [ebp - 0x9918], xmm1
jmp 0x444c8e
cvtsi2sd xmm0, dword [ebp - 0xc64]
movsd xmm1, qword [ebp - 0x9918]
addsd xmm1, xmm0
movsd qword [ebp - 0x9928], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9928]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x444def
mov eax, dword [ebp - 0xc64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9918]
addsd xmm1, xmm0
movsd qword [ebp - 0x9918], xmm1
jmp 0x444e08
mov ecx, 1
test ecx, ecx
je 0x444e04
jmp 0x444ec1
jmp 0x444e2b
cvtsi2sd xmm0, dword [ebp - 0xc64]
movsd xmm1, qword [ebp - 0x9918]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc68], edx
jmp 0x444ecb
xor eax, eax
je 0x444e35
jmp 0x444e44
jmp 0x444c8e
jmp 0x444c8e
mov ecx, 6
test ecx, ecx
je 0x444ec1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc6c], eax
cvtsi2sd xmm0, dword [ebp - 0xc6c]
mov eax, dword [ebp - 0xc6c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9918]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc68], ecx
jmp 0x444ecb
mov dword [ebp - 0xc68], 2
mov edx, dword [ebp - 0xc54]
shl edx, 2
add edx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc68]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xc54]
shl ecx, 2
add ecx, dword [ebp - 0xc50]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4451bb
xor eax, eax
je 0x444f30
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x444f6c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9930], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44510c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44510c
mov dword [ebp - 0xc70], 0
jmp 0x444feb
cmp dword [ebp - 0xc70], 9
jae 0x445107
cvtsi2sd xmm0, dword [ebp - 0xc70]
movsd xmm1, qword [ebp - 0x9930]
addsd xmm1, xmm0
movsd qword [ebp - 0x9938], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44505a
mov ecx, dword [ebp - 0xc70]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9930]
addsd xmm1, xmm0
movsd qword [ebp - 0x9930], xmm1
jmp 0x444f56
cvtsi2sd xmm0, dword [ebp - 0xc70]
movsd xmm1, qword [ebp - 0x9930]
addsd xmm1, xmm0
movsd qword [ebp - 0x9940], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9940]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4450b7
mov eax, dword [ebp - 0xc70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9930]
addsd xmm1, xmm0
movsd qword [ebp - 0x9930], xmm1
jmp 0x4450d0
mov ecx, 1
test ecx, ecx
je 0x4450cc
jmp 0x445189
jmp 0x4450f3
cvtsi2sd xmm0, dword [ebp - 0xc70]
movsd xmm1, qword [ebp - 0x9930]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc74], edx
jmp 0x445193
xor eax, eax
je 0x4450fd
jmp 0x44510c
jmp 0x444f56
jmp 0x444f56
mov ecx, 6
test ecx, ecx
je 0x445189
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc78], eax
cvtsi2sd xmm0, dword [ebp - 0xc78]
mov eax, dword [ebp - 0xc78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9930]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc74], ecx
jmp 0x445193
mov dword [ebp - 0xc74], 2
mov edx, dword [ebp - 0xc54]
shl edx, 2
add edx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc74]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xc54]
shl ecx, 2
add ecx, dword [ebp - 0xc50]
mov dword [ecx], eax
mov edx, dword [ebp - 0xc54]
add edx, 0xffffffab
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9948], xmm0
xor eax, eax
je 0x4451d5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x445211
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9948]
movsd qword [ebp - 0x9950], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4453b1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4453b1
mov dword [ebp - 0xc7c], 0
jmp 0x445290
cmp dword [ebp - 0xc7c], 9
jae 0x4453ac
cvtsi2sd xmm0, dword [ebp - 0xc7c]
movsd xmm1, qword [ebp - 0x9950]
addsd xmm1, xmm0
movsd qword [ebp - 0x9958], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4452ff
mov ecx, dword [ebp - 0xc7c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9950]
addsd xmm1, xmm0
movsd qword [ebp - 0x9950], xmm1
jmp 0x4451fb
cvtsi2sd xmm0, dword [ebp - 0xc7c]
movsd xmm1, qword [ebp - 0x9950]
addsd xmm1, xmm0
movsd qword [ebp - 0x9960], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9960]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44535c
mov eax, dword [ebp - 0xc7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9950]
addsd xmm1, xmm0
movsd qword [ebp - 0x9950], xmm1
jmp 0x445375
mov ecx, 1
test ecx, ecx
je 0x445371
jmp 0x44542e
jmp 0x445398
cvtsi2sd xmm0, dword [ebp - 0xc7c]
movsd xmm1, qword [ebp - 0x9950]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc80], edx
jmp 0x445438
xor eax, eax
je 0x4453a2
jmp 0x4453b1
jmp 0x4451fb
jmp 0x4451fb
mov ecx, 6
test ecx, ecx
je 0x44542e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc84], eax
cvtsi2sd xmm0, dword [ebp - 0xc84]
mov eax, dword [ebp - 0xc84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9950]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc80], ecx
jmp 0x445438
mov dword [ebp - 0xc80], 2
mov edx, dword [ebp - 0xc54]
add edx, 0xffffffab
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9968], xmm0
xor eax, eax
je 0x445452
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44548e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9968]
movsd qword [ebp - 0x9970], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44562e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44562e
mov dword [ebp - 0xc88], 0
jmp 0x44550d
cmp dword [ebp - 0xc88], 9
jae 0x445629
cvtsi2sd xmm0, dword [ebp - 0xc88]
movsd xmm1, qword [ebp - 0x9970]
addsd xmm1, xmm0
movsd qword [ebp - 0x9978], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44557c
mov ecx, dword [ebp - 0xc88]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9970]
addsd xmm1, xmm0
movsd qword [ebp - 0x9970], xmm1
jmp 0x445478
cvtsi2sd xmm0, dword [ebp - 0xc88]
movsd xmm1, qword [ebp - 0x9970]
addsd xmm1, xmm0
movsd qword [ebp - 0x9980], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9980]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4455d9
mov eax, dword [ebp - 0xc88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9970]
addsd xmm1, xmm0
movsd qword [ebp - 0x9970], xmm1
jmp 0x4455f2
mov ecx, 1
test ecx, ecx
je 0x4455ee
jmp 0x4456ab
jmp 0x445615
cvtsi2sd xmm0, dword [ebp - 0xc88]
movsd xmm1, qword [ebp - 0x9970]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc8c], edx
jmp 0x4456b5
xor eax, eax
je 0x44561f
jmp 0x44562e
jmp 0x445478
jmp 0x445478
mov ecx, 6
test ecx, ecx
je 0x4456ab
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc90], eax
cvtsi2sd xmm0, dword [ebp - 0xc90]
mov eax, dword [ebp - 0xc90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9970]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc8c], ecx
jmp 0x4456b5
mov dword [ebp - 0xc8c], 2
mov edx, dword [ebp - 0xc54]
shl edx, 2
add edx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc80]
add eax, dword [edx]
mov ecx, dword [ebp - 0xc54]
shl ecx, 2
add ecx, dword [ebp - 0xc50]
mov edx, dword [ebp - 0xc8c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xc54]
shl ecx, 2
add ecx, dword [ebp - 0xc50]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4459c0
xor eax, eax
je 0x445735
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x445771
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9988], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x445911
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x445911
mov dword [ebp - 0xc94], 0
jmp 0x4457f0
cmp dword [ebp - 0xc94], 9
jae 0x44590c
cvtsi2sd xmm0, dword [ebp - 0xc94]
movsd xmm1, qword [ebp - 0x9988]
addsd xmm1, xmm0
movsd qword [ebp - 0x9990], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9990]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44585f
mov ecx, dword [ebp - 0xc94]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9988]
addsd xmm1, xmm0
movsd qword [ebp - 0x9988], xmm1
jmp 0x44575b
cvtsi2sd xmm0, dword [ebp - 0xc94]
movsd xmm1, qword [ebp - 0x9988]
addsd xmm1, xmm0
movsd qword [ebp - 0x9998], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4458bc
mov eax, dword [ebp - 0xc94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9988]
addsd xmm1, xmm0
movsd qword [ebp - 0x9988], xmm1
jmp 0x4458d5
mov ecx, 1
test ecx, ecx
je 0x4458d1
jmp 0x44598e
jmp 0x4458f8
cvtsi2sd xmm0, dword [ebp - 0xc94]
movsd xmm1, qword [ebp - 0x9988]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xc98], edx
jmp 0x445998
xor eax, eax
je 0x445902
jmp 0x445911
jmp 0x44575b
jmp 0x44575b
mov ecx, 6
test ecx, ecx
je 0x44598e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xc9c], eax
cvtsi2sd xmm0, dword [ebp - 0xc9c]
mov eax, dword [ebp - 0xc9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9988]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xc98], ecx
jmp 0x445998
mov dword [ebp - 0xc98], 2
mov edx, dword [ebp - 0xc54]
shl edx, 2
add edx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc98]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xc54]
shl ecx, 2
add ecx, dword [ebp - 0xc50]
mov dword [ecx], eax
jmp 0x444902
mov edx, dword [ebp - 0xc4c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0xca0], eax
mov ecx, dword [ebp - 0xca0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xca4], ecx
lea ecx, [ebp - 0x1e]
call fcn.00424d80
mov dword [ebp - 0xca8], eax
mov edx, dword [ebp - 0xca8]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x446aed
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0xcac], ecx
mov dword [ebp - 0xcb0], 0
jmp 0x445a39
mov edx, dword [ebp - 0xcb0]
add edx, 1
mov dword [ebp - 0xcb0], edx
cmp dword [ebp - 0xcb0], 1
jae 0x446aed
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x445d0e
xor eax, eax
je 0x445a83
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x445abf
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263d8]
movsd qword [ebp - 0x99a0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x445c5f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x445c5f
mov dword [ebp - 0xcb4], 0
jmp 0x445b3e
cmp dword [ebp - 0xcb4], 9
jae 0x445c5a
cvtsi2sd xmm0, dword [ebp - 0xcb4]
movsd xmm1, qword [ebp - 0x99a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445bad
mov ecx, dword [ebp - 0xcb4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x99a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99a0], xmm1
jmp 0x445aa9
cvtsi2sd xmm0, dword [ebp - 0xcb4]
movsd xmm1, qword [ebp - 0x99a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x99b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445c0a
mov eax, dword [ebp - 0xcb4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99a0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99a0], xmm1
jmp 0x445c23
mov ecx, 1
test ecx, ecx
je 0x445c1f
jmp 0x445cdc
jmp 0x445c46
cvtsi2sd xmm0, dword [ebp - 0xcb4]
movsd xmm1, qword [ebp - 0x99a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xcb8], edx
jmp 0x445ce6
xor eax, eax
je 0x445c50
jmp 0x445c5f
jmp 0x445aa9
jmp 0x445aa9
mov ecx, 6
test ecx, ecx
je 0x445cdc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xcbc], eax
cvtsi2sd xmm0, dword [ebp - 0xcbc]
mov eax, dword [ebp - 0xcbc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x99a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xcb8], ecx
jmp 0x445ce6
mov dword [ebp - 0xcb8], 2
mov edx, dword [ebp - 0xcb0]
shl edx, 2
add edx, dword [ebp - 0xcac]
mov eax, dword [ebp - 0xcb8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xcb0]
shl ecx, 2
add ecx, dword [ebp - 0xcac]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x446820
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44601b
xor eax, eax
je 0x445d90
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x445dcc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x99b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x445f6c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x445f6c
mov dword [ebp - 0xcc0], 0
jmp 0x445e4b
cmp dword [ebp - 0xcc0], 9
jae 0x445f67
cvtsi2sd xmm0, dword [ebp - 0xcc0]
movsd xmm1, qword [ebp - 0x99b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445eba
mov ecx, dword [ebp - 0xcc0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x99b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99b8], xmm1
jmp 0x445db6
cvtsi2sd xmm0, dword [ebp - 0xcc0]
movsd xmm1, qword [ebp - 0x99b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x99c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x445f17
mov eax, dword [ebp - 0xcc0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99b8]
addsd xmm1, xmm0
movsd qword [ebp - 0x99b8], xmm1
jmp 0x445f30
mov ecx, 1
test ecx, ecx
je 0x445f2c
jmp 0x445fe9
jmp 0x445f53
cvtsi2sd xmm0, dword [ebp - 0xcc0]
movsd xmm1, qword [ebp - 0x99b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xcc4], edx
jmp 0x445ff3
xor eax, eax
je 0x445f5d
jmp 0x445f6c
jmp 0x445db6
jmp 0x445db6
mov ecx, 6
test ecx, ecx
je 0x445fe9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xcc8], eax
cvtsi2sd xmm0, dword [ebp - 0xcc8]
mov eax, dword [ebp - 0xcc8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x99b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xcc4], ecx
jmp 0x445ff3
mov dword [ebp - 0xcc4], 2
mov edx, dword [ebp - 0xcb0]
shl edx, 2
add edx, dword [ebp - 0xcac]
mov eax, dword [ebp - 0xcc4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xcb0]
shl ecx, 2
add ecx, dword [ebp - 0xcac]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4462e3
xor eax, eax
je 0x446058
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x446094
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x99d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x446234
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x446234
mov dword [ebp - 0xccc], 0
jmp 0x446113
cmp dword [ebp - 0xccc], 9
jae 0x44622f
cvtsi2sd xmm0, dword [ebp - 0xccc]
movsd xmm1, qword [ebp - 0x99d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446182
mov ecx, dword [ebp - 0xccc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x99d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99d0], xmm1
jmp 0x44607e
cvtsi2sd xmm0, dword [ebp - 0xccc]
movsd xmm1, qword [ebp - 0x99d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x99e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4461df
mov eax, dword [ebp - 0xccc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99d0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99d0], xmm1
jmp 0x4461f8
mov ecx, 1
test ecx, ecx
je 0x4461f4
jmp 0x4462b1
jmp 0x44621b
cvtsi2sd xmm0, dword [ebp - 0xccc]
movsd xmm1, qword [ebp - 0x99d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xcd0], edx
jmp 0x4462bb
xor eax, eax
je 0x446225
jmp 0x446234
jmp 0x44607e
jmp 0x44607e
mov ecx, 6
test ecx, ecx
je 0x4462b1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xcd4], eax
cvtsi2sd xmm0, dword [ebp - 0xcd4]
mov eax, dword [ebp - 0xcd4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x99d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xcd0], ecx
jmp 0x4462bb
mov dword [ebp - 0xcd0], 2
mov edx, dword [ebp - 0xcb0]
shl edx, 2
add edx, dword [ebp - 0xcac]
mov eax, dword [ebp - 0xcd0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xcb0]
shl ecx, 2
add ecx, dword [ebp - 0xcac]
mov dword [ecx], eax
mov edx, dword [ebp - 0xcb0]
add edx, 0xffffffaa
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x99e8], xmm0
xor eax, eax
je 0x4462fd
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x446339
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x99e8]
movsd qword [ebp - 0x99f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4464d9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4464d9
mov dword [ebp - 0xcd8], 0
jmp 0x4463b8
cmp dword [ebp - 0xcd8], 9
jae 0x4464d4
cvtsi2sd xmm0, dword [ebp - 0xcd8]
movsd xmm1, qword [ebp - 0x99f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446427
mov ecx, dword [ebp - 0xcd8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x99f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99f0], xmm1
jmp 0x446323
cvtsi2sd xmm0, dword [ebp - 0xcd8]
movsd xmm1, qword [ebp - 0x99f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9a00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446484
mov eax, dword [ebp - 0xcd8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x99f0]
addsd xmm1, xmm0
movsd qword [ebp - 0x99f0], xmm1
jmp 0x44649d
mov ecx, 1
test ecx, ecx
je 0x446499
jmp 0x446556
jmp 0x4464c0
cvtsi2sd xmm0, dword [ebp - 0xcd8]
movsd xmm1, qword [ebp - 0x99f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xcdc], edx
jmp 0x446560
xor eax, eax
je 0x4464ca
jmp 0x4464d9
jmp 0x446323
jmp 0x446323
mov ecx, 6
test ecx, ecx
je 0x446556
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xce0], eax
cvtsi2sd xmm0, dword [ebp - 0xce0]
mov eax, dword [ebp - 0xce0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x99f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xcdc], ecx
jmp 0x446560
mov dword [ebp - 0xcdc], 2
mov edx, dword [ebp - 0xcb0]
add edx, 0xffffffaa
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9a08], xmm0
xor eax, eax
je 0x44657a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4465b6
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9a08]
movsd qword [ebp - 0x9a10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x446756
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x446756
mov dword [ebp - 0xce4], 0
jmp 0x446635
cmp dword [ebp - 0xce4], 9
jae 0x446751
cvtsi2sd xmm0, dword [ebp - 0xce4]
movsd xmm1, qword [ebp - 0x9a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4466a4
mov ecx, dword [ebp - 0xce4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a10], xmm1
jmp 0x4465a0
cvtsi2sd xmm0, dword [ebp - 0xce4]
movsd xmm1, qword [ebp - 0x9a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9a20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446701
mov eax, dword [ebp - 0xce4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a10], xmm1
jmp 0x44671a
mov ecx, 1
test ecx, ecx
je 0x446716
jmp 0x4467d3
jmp 0x44673d
cvtsi2sd xmm0, dword [ebp - 0xce4]
movsd xmm1, qword [ebp - 0x9a10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xce8], edx
jmp 0x4467dd
xor eax, eax
je 0x446747
jmp 0x446756
jmp 0x4465a0
jmp 0x4465a0
mov ecx, 6
test ecx, ecx
je 0x4467d3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xcec], eax
cvtsi2sd xmm0, dword [ebp - 0xcec]
mov eax, dword [ebp - 0xcec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9a10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xce8], ecx
jmp 0x4467dd
mov dword [ebp - 0xce8], 2
mov edx, dword [ebp - 0xcb0]
shl edx, 2
add edx, dword [ebp - 0xcac]
mov eax, dword [ebp - 0xcdc]
add eax, dword [edx]
mov ecx, dword [ebp - 0xcb0]
shl ecx, 2
add ecx, dword [ebp - 0xcac]
mov edx, dword [ebp - 0xce8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xcb0]
shl ecx, 2
add ecx, dword [ebp - 0xcac]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x446ae8
xor eax, eax
je 0x44685d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x446899
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9a28], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x446a39
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x446a39
mov dword [ebp - 0xcf0], 0
jmp 0x446918
cmp dword [ebp - 0xcf0], 9
jae 0x446a34
cvtsi2sd xmm0, dword [ebp - 0xcf0]
movsd xmm1, qword [ebp - 0x9a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a30], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446987
mov ecx, dword [ebp - 0xcf0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a28], xmm1
jmp 0x446883
cvtsi2sd xmm0, dword [ebp - 0xcf0]
movsd xmm1, qword [ebp - 0x9a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a38], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9a38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4469e4
mov eax, dword [ebp - 0xcf0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a28], xmm1
jmp 0x4469fd
mov ecx, 1
test ecx, ecx
je 0x4469f9
jmp 0x446ab6
jmp 0x446a20
cvtsi2sd xmm0, dword [ebp - 0xcf0]
movsd xmm1, qword [ebp - 0x9a28]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xcf4], edx
jmp 0x446ac0
xor eax, eax
je 0x446a2a
jmp 0x446a39
jmp 0x446883
jmp 0x446883
mov ecx, 6
test ecx, ecx
je 0x446ab6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xcf8], eax
cvtsi2sd xmm0, dword [ebp - 0xcf8]
mov eax, dword [ebp - 0xcf8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9a28]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xcf4], ecx
jmp 0x446ac0
mov dword [ebp - 0xcf4], 2
mov edx, dword [ebp - 0xcb0]
shl edx, 2
add edx, dword [ebp - 0xcac]
mov eax, dword [ebp - 0xcf4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xcb0]
shl ecx, 2
add ecx, dword [ebp - 0xcac]
mov dword [ecx], eax
jmp 0x445a2a
mov edx, dword [ebp - 0xca8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xca8]
mov dword [ebp - 0xcfc], eax
mov ecx, dword [ebp - 0xcfc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xd00], ecx
mov edx, dword [ebp - 0xd00]
push edx
mov eax, dword [ebp - 0xca4]
shl eax, 2
add eax, 0x7724c8
mov ecx, dword [eax]
call ecx
add esp, 4
xor edx, edx
mov byte [ebp - 0x20], dl
lea ecx, [ebp - 0x20]
call fcn.00424d50
mov dword [ebp - 0xd04], eax
mov eax, dword [ebp - 0xd04]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x447c36
mov edx, dword [ebp - 0xd04]
mov dword [ebp - 0xd08], edx
mov dword [ebp - 0xd0c], 0
jmp 0x446b82
mov eax, dword [ebp - 0xd0c]
add eax, 1
mov dword [ebp - 0xd0c], eax
cmp dword [ebp - 0xd0c], 1
jae 0x447c36
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx ecx, al
add esi, ecx
call fcn.005e1cc0
movsx edx, al
imul eax, edx, 7
movsx ecx, byte [0x77378c]
imul eax, ecx
add esi, eax
call fcn.005e1c90
movsx edx, al
sub esi, edx
je 0x446e57
xor eax, eax
je 0x446bcc
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x446c08
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x7263d0]
movsd qword [ebp - 0x9a40], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x446da8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x446da8
mov dword [ebp - 0xd10], 0
jmp 0x446c87
cmp dword [ebp - 0xd10], 9
jae 0x446da3
cvtsi2sd xmm0, dword [ebp - 0xd10]
movsd xmm1, qword [ebp - 0x9a40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a48], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446cf6
mov ecx, dword [ebp - 0xd10]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9a40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a40], xmm1
jmp 0x446bf2
cvtsi2sd xmm0, dword [ebp - 0xd10]
movsd xmm1, qword [ebp - 0x9a40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a50], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9a50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x446d53
mov eax, dword [ebp - 0xd10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a40], xmm1
jmp 0x446d6c
mov ecx, 1
test ecx, ecx
je 0x446d68
jmp 0x446e25
jmp 0x446d8f
cvtsi2sd xmm0, dword [ebp - 0xd10]
movsd xmm1, qword [ebp - 0x9a40]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd14], edx
jmp 0x446e2f
xor eax, eax
je 0x446d99
jmp 0x446da8
jmp 0x446bf2
jmp 0x446bf2
mov ecx, 6
test ecx, ecx
je 0x446e25
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd18], eax
cvtsi2sd xmm0, dword [ebp - 0xd18]
mov eax, dword [ebp - 0xd18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9a40]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd14], ecx
jmp 0x446e2f
mov dword [ebp - 0xd14], 2
mov edx, dword [ebp - 0xd0c]
shl edx, 2
add edx, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd14]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd0c]
shl ecx, 2
add ecx, dword [ebp - 0xd08]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x447969
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x447164
xor eax, eax
je 0x446ed9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x446f15
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x9a58], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4470b5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4470b5
mov dword [ebp - 0xd1c], 0
jmp 0x446f94
cmp dword [ebp - 0xd1c], 9
jae 0x4470b0
cvtsi2sd xmm0, dword [ebp - 0xd1c]
movsd xmm1, qword [ebp - 0x9a58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a60], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447003
mov ecx, dword [ebp - 0xd1c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9a58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a58], xmm1
jmp 0x446eff
cvtsi2sd xmm0, dword [ebp - 0xd1c]
movsd xmm1, qword [ebp - 0x9a58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a68], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9a68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447060
mov eax, dword [ebp - 0xd1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a58], xmm1
jmp 0x447079
mov ecx, 1
test ecx, ecx
je 0x447075
jmp 0x447132
jmp 0x44709c
cvtsi2sd xmm0, dword [ebp - 0xd1c]
movsd xmm1, qword [ebp - 0x9a58]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd20], edx
jmp 0x44713c
xor eax, eax
je 0x4470a6
jmp 0x4470b5
jmp 0x446eff
jmp 0x446eff
mov ecx, 6
test ecx, ecx
je 0x447132
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd24], eax
cvtsi2sd xmm0, dword [ebp - 0xd24]
mov eax, dword [ebp - 0xd24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9a58]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd20], ecx
jmp 0x44713c
mov dword [ebp - 0xd20], 2
mov edx, dword [ebp - 0xd0c]
shl edx, 2
add edx, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd20]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd0c]
shl ecx, 2
add ecx, dword [ebp - 0xd08]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44742c
xor eax, eax
je 0x4471a1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4471dd
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9a70], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44737d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44737d
mov dword [ebp - 0xd28], 0
jmp 0x44725c
cmp dword [ebp - 0xd28], 9
jae 0x447378
cvtsi2sd xmm0, dword [ebp - 0xd28]
movsd xmm1, qword [ebp - 0x9a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4472cb
mov ecx, dword [ebp - 0xd28]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a70], xmm1
jmp 0x4471c7
cvtsi2sd xmm0, dword [ebp - 0xd28]
movsd xmm1, qword [ebp - 0x9a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9a80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447328
mov eax, dword [ebp - 0xd28]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a70], xmm1
jmp 0x447341
mov ecx, 1
test ecx, ecx
je 0x44733d
jmp 0x4473fa
jmp 0x447364
cvtsi2sd xmm0, dword [ebp - 0xd28]
movsd xmm1, qword [ebp - 0x9a70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd2c], edx
jmp 0x447404
xor eax, eax
je 0x44736e
jmp 0x44737d
jmp 0x4471c7
jmp 0x4471c7
mov ecx, 6
test ecx, ecx
je 0x4473fa
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd30], eax
cvtsi2sd xmm0, dword [ebp - 0xd30]
mov eax, dword [ebp - 0xd30]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9a70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd2c], ecx
jmp 0x447404
mov dword [ebp - 0xd2c], 2
mov edx, dword [ebp - 0xd0c]
shl edx, 2
add edx, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd2c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd0c]
shl ecx, 2
add ecx, dword [ebp - 0xd08]
mov dword [ecx], eax
mov edx, dword [ebp - 0xd0c]
add edx, 0xffffffab
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9a88], xmm0
xor eax, eax
je 0x447446
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x447482
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9a88]
movsd qword [ebp - 0x9a90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x447622
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x447622
mov dword [ebp - 0xd34], 0
jmp 0x447501
cmp dword [ebp - 0xd34], 9
jae 0x44761d
cvtsi2sd xmm0, dword [ebp - 0xd34]
movsd xmm1, qword [ebp - 0x9a90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447570
mov ecx, dword [ebp - 0xd34]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9a90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a90], xmm1
jmp 0x44746c
cvtsi2sd xmm0, dword [ebp - 0xd34]
movsd xmm1, qword [ebp - 0x9a90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9aa0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9aa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4475cd
mov eax, dword [ebp - 0xd34]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9a90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9a90], xmm1
jmp 0x4475e6
mov ecx, 1
test ecx, ecx
je 0x4475e2
jmp 0x44769f
jmp 0x447609
cvtsi2sd xmm0, dword [ebp - 0xd34]
movsd xmm1, qword [ebp - 0x9a90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd38], edx
jmp 0x4476a9
xor eax, eax
je 0x447613
jmp 0x447622
jmp 0x44746c
jmp 0x44746c
mov ecx, 6
test ecx, ecx
je 0x44769f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd3c], eax
cvtsi2sd xmm0, dword [ebp - 0xd3c]
mov eax, dword [ebp - 0xd3c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9a90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd38], ecx
jmp 0x4476a9
mov dword [ebp - 0xd38], 2
mov edx, dword [ebp - 0xd0c]
add edx, 0xffffffab
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9aa8], xmm0
xor eax, eax
je 0x4476c3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4476ff
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9aa8]
movsd qword [ebp - 0x9ab0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44789f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44789f
mov dword [ebp - 0xd40], 0
jmp 0x44777e
cmp dword [ebp - 0xd40], 9
jae 0x44789a
cvtsi2sd xmm0, dword [ebp - 0xd40]
movsd xmm1, qword [ebp - 0x9ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ab8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4477ed
mov ecx, dword [ebp - 0xd40]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ab0], xmm1
jmp 0x4476e9
cvtsi2sd xmm0, dword [ebp - 0xd40]
movsd xmm1, qword [ebp - 0x9ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ac0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ac0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44784a
mov eax, dword [ebp - 0xd40]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ab0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ab0], xmm1
jmp 0x447863
mov ecx, 1
test ecx, ecx
je 0x44785f
jmp 0x44791c
jmp 0x447886
cvtsi2sd xmm0, dword [ebp - 0xd40]
movsd xmm1, qword [ebp - 0x9ab0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd44], edx
jmp 0x447926
xor eax, eax
je 0x447890
jmp 0x44789f
jmp 0x4476e9
jmp 0x4476e9
mov ecx, 6
test ecx, ecx
je 0x44791c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd48], eax
cvtsi2sd xmm0, dword [ebp - 0xd48]
mov eax, dword [ebp - 0xd48]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ab0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd44], ecx
jmp 0x447926
mov dword [ebp - 0xd44], 2
mov edx, dword [ebp - 0xd0c]
shl edx, 2
add edx, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd38]
add eax, dword [edx]
mov ecx, dword [ebp - 0xd0c]
shl ecx, 2
add ecx, dword [ebp - 0xd08]
mov edx, dword [ebp - 0xd44]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xd0c]
shl ecx, 2
add ecx, dword [ebp - 0xd08]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x447c31
xor eax, eax
je 0x4479a6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4479e2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9ac8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x447b82
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x447b82
mov dword [ebp - 0xd4c], 0
jmp 0x447a61
cmp dword [ebp - 0xd4c], 9
jae 0x447b7d
cvtsi2sd xmm0, dword [ebp - 0xd4c]
movsd xmm1, qword [ebp - 0x9ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ad0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ad0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447ad0
mov ecx, dword [ebp - 0xd4c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ac8], xmm1
jmp 0x4479cc
cvtsi2sd xmm0, dword [ebp - 0xd4c]
movsd xmm1, qword [ebp - 0x9ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ad8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447b2d
mov eax, dword [ebp - 0xd4c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ac8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ac8], xmm1
jmp 0x447b46
mov ecx, 1
test ecx, ecx
je 0x447b42
jmp 0x447bff
jmp 0x447b69
cvtsi2sd xmm0, dword [ebp - 0xd4c]
movsd xmm1, qword [ebp - 0x9ac8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd50], edx
jmp 0x447c09
xor eax, eax
je 0x447b73
jmp 0x447b82
jmp 0x4479cc
jmp 0x4479cc
mov ecx, 6
test ecx, ecx
je 0x447bff
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd54], eax
cvtsi2sd xmm0, dword [ebp - 0xd54]
mov eax, dword [ebp - 0xd54]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ac8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd50], ecx
jmp 0x447c09
mov dword [ebp - 0xd50], 2
mov edx, dword [ebp - 0xd0c]
shl edx, 2
add edx, dword [ebp - 0xd08]
mov eax, dword [ebp - 0xd50]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd0c]
shl ecx, 2
add ecx, dword [ebp - 0xd08]
mov dword [ecx], eax
jmp 0x446b73
mov edx, dword [ebp - 0xd04]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xd04]
mov dword [ebp - 0xd58], eax
mov ecx, dword [ebp - 0xd58]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xd5c], ecx
mov edx, dword [ebp - 0xd5c]
mov dword [ebp - 0xd60], edx
xor eax, eax
mov byte [ebp - 0x21], al
lea ecx, [ebp - 0x21]
call fcn.00424d20
mov dword [ebp - 0xd64], eax
mov ecx, dword [ebp - 0xd64]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x448d6f
mov eax, dword [ebp - 0xd64]
mov dword [ebp - 0xd68], eax
mov dword [ebp - 0xd6c], 0
jmp 0x447cbb
mov ecx, dword [ebp - 0xd6c]
add ecx, 1
mov dword [ebp - 0xd6c], ecx
cmp dword [ebp - 0xd6c], 1
jae 0x448d6f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x447f90
xor eax, eax
je 0x447d05
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x447d41
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x9ae0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x447ee1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x447ee1
mov dword [ebp - 0xd70], 0
jmp 0x447dc0
cmp dword [ebp - 0xd70], 9
jae 0x447edc
cvtsi2sd xmm0, dword [ebp - 0xd70]
movsd xmm1, qword [ebp - 0x9ae0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ae8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ae8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447e2f
mov ecx, dword [ebp - 0xd70]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ae0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ae0], xmm1
jmp 0x447d2b
cvtsi2sd xmm0, dword [ebp - 0xd70]
movsd xmm1, qword [ebp - 0x9ae0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9af0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9af0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x447e8c
mov eax, dword [ebp - 0xd70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ae0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ae0], xmm1
jmp 0x447ea5
mov ecx, 1
test ecx, ecx
je 0x447ea1
jmp 0x447f5e
jmp 0x447ec8
cvtsi2sd xmm0, dword [ebp - 0xd70]
movsd xmm1, qword [ebp - 0x9ae0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd74], edx
jmp 0x447f68
xor eax, eax
je 0x447ed2
jmp 0x447ee1
jmp 0x447d2b
jmp 0x447d2b
mov ecx, 6
test ecx, ecx
je 0x447f5e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd78], eax
cvtsi2sd xmm0, dword [ebp - 0xd78]
mov eax, dword [ebp - 0xd78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ae0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd74], ecx
jmp 0x447f68
mov dword [ebp - 0xd74], 2
mov edx, dword [ebp - 0xd6c]
shl edx, 2
add edx, dword [ebp - 0xd68]
mov eax, dword [ebp - 0xd74]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd6c]
shl ecx, 2
add ecx, dword [ebp - 0xd68]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x448aa2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44829d
xor eax, eax
je 0x448012
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44804e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9af8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4481ee
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4481ee
mov dword [ebp - 0xd7c], 0
jmp 0x4480cd
cmp dword [ebp - 0xd7c], 9
jae 0x4481e9
cvtsi2sd xmm0, dword [ebp - 0xd7c]
movsd xmm1, qword [ebp - 0x9af8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b00], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44813c
mov ecx, dword [ebp - 0xd7c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9af8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9af8], xmm1
jmp 0x448038
cvtsi2sd xmm0, dword [ebp - 0xd7c]
movsd xmm1, qword [ebp - 0x9af8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b08], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9b08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448199
mov eax, dword [ebp - 0xd7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9af8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9af8], xmm1
jmp 0x4481b2
mov ecx, 1
test ecx, ecx
je 0x4481ae
jmp 0x44826b
jmp 0x4481d5
cvtsi2sd xmm0, dword [ebp - 0xd7c]
movsd xmm1, qword [ebp - 0x9af8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd80], edx
jmp 0x448275
xor eax, eax
je 0x4481df
jmp 0x4481ee
jmp 0x448038
jmp 0x448038
mov ecx, 6
test ecx, ecx
je 0x44826b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd84], eax
cvtsi2sd xmm0, dword [ebp - 0xd84]
mov eax, dword [ebp - 0xd84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9af8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd80], ecx
jmp 0x448275
mov dword [ebp - 0xd80], 2
mov edx, dword [ebp - 0xd6c]
shl edx, 2
add edx, dword [ebp - 0xd68]
mov eax, dword [ebp - 0xd80]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd6c]
shl ecx, 2
add ecx, dword [ebp - 0xd68]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x448565
xor eax, eax
je 0x4482da
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x448316
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9b10], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4484b6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4484b6
mov dword [ebp - 0xd88], 0
jmp 0x448395
cmp dword [ebp - 0xd88], 9
jae 0x4484b1
cvtsi2sd xmm0, dword [ebp - 0xd88]
movsd xmm1, qword [ebp - 0x9b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448404
mov ecx, dword [ebp - 0xd88]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b10], xmm1
jmp 0x448300
cvtsi2sd xmm0, dword [ebp - 0xd88]
movsd xmm1, qword [ebp - 0x9b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9b20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448461
mov eax, dword [ebp - 0xd88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b10], xmm1
jmp 0x44847a
mov ecx, 1
test ecx, ecx
je 0x448476
jmp 0x448533
jmp 0x44849d
cvtsi2sd xmm0, dword [ebp - 0xd88]
movsd xmm1, qword [ebp - 0x9b10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd8c], edx
jmp 0x44853d
xor eax, eax
je 0x4484a7
jmp 0x4484b6
jmp 0x448300
jmp 0x448300
mov ecx, 6
test ecx, ecx
je 0x448533
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd90], eax
cvtsi2sd xmm0, dword [ebp - 0xd90]
mov eax, dword [ebp - 0xd90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9b10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd8c], ecx
jmp 0x44853d
mov dword [ebp - 0xd8c], 2
mov edx, dword [ebp - 0xd6c]
shl edx, 2
add edx, dword [ebp - 0xd68]
mov eax, dword [ebp - 0xd8c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd6c]
shl ecx, 2
add ecx, dword [ebp - 0xd68]
mov dword [ecx], eax
mov edx, dword [ebp - 0xd6c]
add edx, 0xffffffac
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9b28], xmm0
xor eax, eax
je 0x44857f
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4485bb
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9b28]
movsd qword [ebp - 0x9b30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44875b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44875b
mov dword [ebp - 0xd94], 0
jmp 0x44863a
cmp dword [ebp - 0xd94], 9
jae 0x448756
cvtsi2sd xmm0, dword [ebp - 0xd94]
movsd xmm1, qword [ebp - 0x9b30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4486a9
mov ecx, dword [ebp - 0xd94]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9b30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b30], xmm1
jmp 0x4485a5
cvtsi2sd xmm0, dword [ebp - 0xd94]
movsd xmm1, qword [ebp - 0x9b30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9b40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448706
mov eax, dword [ebp - 0xd94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b30], xmm1
jmp 0x44871f
mov ecx, 1
test ecx, ecx
je 0x44871b
jmp 0x4487d8
jmp 0x448742
cvtsi2sd xmm0, dword [ebp - 0xd94]
movsd xmm1, qword [ebp - 0x9b30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xd98], edx
jmp 0x4487e2
xor eax, eax
je 0x44874c
jmp 0x44875b
jmp 0x4485a5
jmp 0x4485a5
mov ecx, 6
test ecx, ecx
je 0x4487d8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xd9c], eax
cvtsi2sd xmm0, dword [ebp - 0xd9c]
mov eax, dword [ebp - 0xd9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9b30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xd98], ecx
jmp 0x4487e2
mov dword [ebp - 0xd98], 2
mov edx, dword [ebp - 0xd6c]
add edx, 0xffffffac
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9b48], xmm0
xor eax, eax
je 0x4487fc
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x448838
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9b48]
movsd qword [ebp - 0x9b50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4489d8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4489d8
mov dword [ebp - 0xda0], 0
jmp 0x4488b7
cmp dword [ebp - 0xda0], 9
jae 0x4489d3
cvtsi2sd xmm0, dword [ebp - 0xda0]
movsd xmm1, qword [ebp - 0x9b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448926
mov ecx, dword [ebp - 0xda0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b50], xmm1
jmp 0x448822
cvtsi2sd xmm0, dword [ebp - 0xda0]
movsd xmm1, qword [ebp - 0x9b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9b60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448983
mov eax, dword [ebp - 0xda0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b50], xmm1
jmp 0x44899c
mov ecx, 1
test ecx, ecx
je 0x448998
jmp 0x448a55
jmp 0x4489bf
cvtsi2sd xmm0, dword [ebp - 0xda0]
movsd xmm1, qword [ebp - 0x9b50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xda4], edx
jmp 0x448a5f
xor eax, eax
je 0x4489c9
jmp 0x4489d8
jmp 0x448822
jmp 0x448822
mov ecx, 6
test ecx, ecx
je 0x448a55
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xda8], eax
cvtsi2sd xmm0, dword [ebp - 0xda8]
mov eax, dword [ebp - 0xda8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9b50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xda4], ecx
jmp 0x448a5f
mov dword [ebp - 0xda4], 2
mov edx, dword [ebp - 0xd6c]
shl edx, 2
add edx, dword [ebp - 0xd68]
mov eax, dword [ebp - 0xd98]
add eax, dword [edx]
mov ecx, dword [ebp - 0xd6c]
shl ecx, 2
add ecx, dword [ebp - 0xd68]
mov edx, dword [ebp - 0xda4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xd6c]
shl ecx, 2
add ecx, dword [ebp - 0xd68]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x448d6a
xor eax, eax
je 0x448adf
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x448b1b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9b68], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x448cbb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x448cbb
mov dword [ebp - 0xdac], 0
jmp 0x448b9a
cmp dword [ebp - 0xdac], 9
jae 0x448cb6
cvtsi2sd xmm0, dword [ebp - 0xdac]
movsd xmm1, qword [ebp - 0x9b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b70], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448c09
mov ecx, dword [ebp - 0xdac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b68], xmm1
jmp 0x448b05
cvtsi2sd xmm0, dword [ebp - 0xdac]
movsd xmm1, qword [ebp - 0x9b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b78], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9b78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448c66
mov eax, dword [ebp - 0xdac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b68]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b68], xmm1
jmp 0x448c7f
mov ecx, 1
test ecx, ecx
je 0x448c7b
jmp 0x448d38
jmp 0x448ca2
cvtsi2sd xmm0, dword [ebp - 0xdac]
movsd xmm1, qword [ebp - 0x9b68]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xdb0], edx
jmp 0x448d42
xor eax, eax
je 0x448cac
jmp 0x448cbb
jmp 0x448b05
jmp 0x448b05
mov ecx, 6
test ecx, ecx
je 0x448d38
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xdb4], eax
cvtsi2sd xmm0, dword [ebp - 0xdb4]
mov eax, dword [ebp - 0xdb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9b68]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xdb0], ecx
jmp 0x448d42
mov dword [ebp - 0xdb0], 2
mov edx, dword [ebp - 0xd6c]
shl edx, 2
add edx, dword [ebp - 0xd68]
mov eax, dword [ebp - 0xdb0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xd6c]
shl ecx, 2
add ecx, dword [ebp - 0xd68]
mov dword [ecx], eax
jmp 0x447cac
mov edx, dword [ebp - 0xd64]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xd64]
mov dword [ebp - 0xdb8], eax
mov ecx, dword [ebp - 0xdb8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xdbc], ecx
mov edx, dword [ebp - 0xdbc]
mov dword [ebp - 0xdc0], edx
xor eax, eax
mov byte [ebp - 0x22], al
lea ecx, [ebp - 0x22]
call fcn.00424cf0
mov dword [ebp - 0xdc4], eax
mov ecx, dword [ebp - 0xdc4]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x449ea8
mov eax, dword [ebp - 0xdc4]
mov dword [ebp - 0xdc8], eax
mov dword [ebp - 0xdcc], 0
jmp 0x448df4
mov ecx, dword [ebp - 0xdcc]
add ecx, 1
mov dword [ebp - 0xdcc], ecx
cmp dword [ebp - 0xdcc], 1
jae 0x449ea8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4490c9
xor eax, eax
je 0x448e3e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x448e7a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c8]
movsd qword [ebp - 0x9b80], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44901a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44901a
mov dword [ebp - 0xdd0], 0
jmp 0x448ef9
cmp dword [ebp - 0xdd0], 9
jae 0x449015
cvtsi2sd xmm0, dword [ebp - 0xdd0]
movsd xmm1, qword [ebp - 0x9b80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b88], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448f68
mov ecx, dword [ebp - 0xdd0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9b80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b80], xmm1
jmp 0x448e64
cvtsi2sd xmm0, dword [ebp - 0xdd0]
movsd xmm1, qword [ebp - 0x9b80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b90], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9b90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x448fc5
mov eax, dword [ebp - 0xdd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b80]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b80], xmm1
jmp 0x448fde
mov ecx, 1
test ecx, ecx
je 0x448fda
jmp 0x449097
jmp 0x449001
cvtsi2sd xmm0, dword [ebp - 0xdd0]
movsd xmm1, qword [ebp - 0x9b80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xdd4], edx
jmp 0x4490a1
xor eax, eax
je 0x44900b
jmp 0x44901a
jmp 0x448e64
jmp 0x448e64
mov ecx, 6
test ecx, ecx
je 0x449097
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xdd8], eax
cvtsi2sd xmm0, dword [ebp - 0xdd8]
mov eax, dword [ebp - 0xdd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9b80]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xdd4], ecx
jmp 0x4490a1
mov dword [ebp - 0xdd4], 2
mov edx, dword [ebp - 0xdcc]
shl edx, 2
add edx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xdd4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xdcc]
shl ecx, 2
add ecx, dword [ebp - 0xdc8]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x449bdb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4493d6
xor eax, eax
je 0x44914b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x449187
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9b98], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x449327
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x449327
mov dword [ebp - 0xddc], 0
jmp 0x449206
cmp dword [ebp - 0xddc], 9
jae 0x449322
cvtsi2sd xmm0, dword [ebp - 0xddc]
movsd xmm1, qword [ebp - 0x9b98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ba0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ba0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449275
mov ecx, dword [ebp - 0xddc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9b98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b98], xmm1
jmp 0x449171
cvtsi2sd xmm0, dword [ebp - 0xddc]
movsd xmm1, qword [ebp - 0x9b98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ba8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ba8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4492d2
mov eax, dword [ebp - 0xddc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9b98]
addsd xmm1, xmm0
movsd qword [ebp - 0x9b98], xmm1
jmp 0x4492eb
mov ecx, 1
test ecx, ecx
je 0x4492e7
jmp 0x4493a4
jmp 0x44930e
cvtsi2sd xmm0, dword [ebp - 0xddc]
movsd xmm1, qword [ebp - 0x9b98]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xde0], edx
jmp 0x4493ae
xor eax, eax
je 0x449318
jmp 0x449327
jmp 0x449171
jmp 0x449171
mov ecx, 6
test ecx, ecx
je 0x4493a4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xde4], eax
cvtsi2sd xmm0, dword [ebp - 0xde4]
mov eax, dword [ebp - 0xde4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9b98]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xde0], ecx
jmp 0x4493ae
mov dword [ebp - 0xde0], 2
mov edx, dword [ebp - 0xdcc]
shl edx, 2
add edx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xde0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xdcc]
shl ecx, 2
add ecx, dword [ebp - 0xdc8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44969e
xor eax, eax
je 0x449413
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44944f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9bb0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4495ef
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4495ef
mov dword [ebp - 0xde8], 0
jmp 0x4494ce
cmp dword [ebp - 0xde8], 9
jae 0x4495ea
cvtsi2sd xmm0, dword [ebp - 0xde8]
movsd xmm1, qword [ebp - 0x9bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44953d
mov ecx, dword [ebp - 0xde8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bb0], xmm1
jmp 0x449439
cvtsi2sd xmm0, dword [ebp - 0xde8]
movsd xmm1, qword [ebp - 0x9bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9bc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44959a
mov eax, dword [ebp - 0xde8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bb0], xmm1
jmp 0x4495b3
mov ecx, 1
test ecx, ecx
je 0x4495af
jmp 0x44966c
jmp 0x4495d6
cvtsi2sd xmm0, dword [ebp - 0xde8]
movsd xmm1, qword [ebp - 0x9bb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xdec], edx
jmp 0x449676
xor eax, eax
je 0x4495e0
jmp 0x4495ef
jmp 0x449439
jmp 0x449439
mov ecx, 6
test ecx, ecx
je 0x44966c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xdf0], eax
cvtsi2sd xmm0, dword [ebp - 0xdf0]
mov eax, dword [ebp - 0xdf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9bb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xdec], ecx
jmp 0x449676
mov dword [ebp - 0xdec], 2
mov edx, dword [ebp - 0xdcc]
shl edx, 2
add edx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xdec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xdcc]
shl ecx, 2
add ecx, dword [ebp - 0xdc8]
mov dword [ecx], eax
mov edx, dword [ebp - 0xdcc]
add edx, 0xffffffac
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9bc8], xmm0
xor eax, eax
je 0x4496b8
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4496f4
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9bc8]
movsd qword [ebp - 0x9bd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x449894
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x449894
mov dword [ebp - 0xdf4], 0
jmp 0x449773
cmp dword [ebp - 0xdf4], 9
jae 0x44988f
cvtsi2sd xmm0, dword [ebp - 0xdf4]
movsd xmm1, qword [ebp - 0x9bd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4497e2
mov ecx, dword [ebp - 0xdf4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9bd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bd0], xmm1
jmp 0x4496de
cvtsi2sd xmm0, dword [ebp - 0xdf4]
movsd xmm1, qword [ebp - 0x9bd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9be0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9be0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44983f
mov eax, dword [ebp - 0xdf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bd0], xmm1
jmp 0x449858
mov ecx, 1
test ecx, ecx
je 0x449854
jmp 0x449911
jmp 0x44987b
cvtsi2sd xmm0, dword [ebp - 0xdf4]
movsd xmm1, qword [ebp - 0x9bd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xdf8], edx
jmp 0x44991b
xor eax, eax
je 0x449885
jmp 0x449894
jmp 0x4496de
jmp 0x4496de
mov ecx, 6
test ecx, ecx
je 0x449911
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xdfc], eax
cvtsi2sd xmm0, dword [ebp - 0xdfc]
mov eax, dword [ebp - 0xdfc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9bd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xdf8], ecx
jmp 0x44991b
mov dword [ebp - 0xdf8], 2
mov edx, dword [ebp - 0xdcc]
add edx, 0xffffffac
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9be8], xmm0
xor eax, eax
je 0x449935
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x449971
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9be8]
movsd qword [ebp - 0x9bf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x449b11
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x449b11
mov dword [ebp - 0xe00], 0
jmp 0x4499f0
cmp dword [ebp - 0xe00], 9
jae 0x449b0c
cvtsi2sd xmm0, dword [ebp - 0xe00]
movsd xmm1, qword [ebp - 0x9bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449a5f
mov ecx, dword [ebp - 0xe00]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bf0], xmm1
jmp 0x44995b
cvtsi2sd xmm0, dword [ebp - 0xe00]
movsd xmm1, qword [ebp - 0x9bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9c00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449abc
mov eax, dword [ebp - 0xe00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9bf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9bf0], xmm1
jmp 0x449ad5
mov ecx, 1
test ecx, ecx
je 0x449ad1
jmp 0x449b8e
jmp 0x449af8
cvtsi2sd xmm0, dword [ebp - 0xe00]
movsd xmm1, qword [ebp - 0x9bf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe04], edx
jmp 0x449b98
xor eax, eax
je 0x449b02
jmp 0x449b11
jmp 0x44995b
jmp 0x44995b
mov ecx, 6
test ecx, ecx
je 0x449b8e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe08], eax
cvtsi2sd xmm0, dword [ebp - 0xe08]
mov eax, dword [ebp - 0xe08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9bf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe04], ecx
jmp 0x449b98
mov dword [ebp - 0xe04], 2
mov edx, dword [ebp - 0xdcc]
shl edx, 2
add edx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xdf8]
add eax, dword [edx]
mov ecx, dword [ebp - 0xdcc]
shl ecx, 2
add ecx, dword [ebp - 0xdc8]
mov edx, dword [ebp - 0xe04]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xdcc]
shl ecx, 2
add ecx, dword [ebp - 0xdc8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x449ea3
xor eax, eax
je 0x449c18
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x449c54
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9c08], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x449df4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x449df4
mov dword [ebp - 0xe0c], 0
jmp 0x449cd3
cmp dword [ebp - 0xe0c], 9
jae 0x449def
cvtsi2sd xmm0, dword [ebp - 0xe0c]
movsd xmm1, qword [ebp - 0x9c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c10], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449d42
mov ecx, dword [ebp - 0xe0c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c08], xmm1
jmp 0x449c3e
cvtsi2sd xmm0, dword [ebp - 0xe0c]
movsd xmm1, qword [ebp - 0x9c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c18], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9c18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x449d9f
mov eax, dword [ebp - 0xe0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c08]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c08], xmm1
jmp 0x449db8
mov ecx, 1
test ecx, ecx
je 0x449db4
jmp 0x449e71
jmp 0x449ddb
cvtsi2sd xmm0, dword [ebp - 0xe0c]
movsd xmm1, qword [ebp - 0x9c08]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe10], edx
jmp 0x449e7b
xor eax, eax
je 0x449de5
jmp 0x449df4
jmp 0x449c3e
jmp 0x449c3e
mov ecx, 6
test ecx, ecx
je 0x449e71
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe14], eax
cvtsi2sd xmm0, dword [ebp - 0xe14]
mov eax, dword [ebp - 0xe14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9c08]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe10], ecx
jmp 0x449e7b
mov dword [ebp - 0xe10], 2
mov edx, dword [ebp - 0xdcc]
shl edx, 2
add edx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0xe10]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xdcc]
shl ecx, 2
add ecx, dword [ebp - 0xdc8]
mov dword [ecx], eax
jmp 0x448de5
mov edx, dword [ebp - 0xdc4]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xdc4]
mov dword [ebp - 0xe18], eax
mov ecx, dword [ebp - 0xe18]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xe1c], ecx
mov edx, dword [ebp - 0xe1c]
mov dword [ebp - 0xe20], edx
mov eax, dword [ebp - 0xdc0]
mov dword [ebp - 0xd60], eax
cmp dword [ebp - 0xd60], 0
je 0x44b033
xor ecx, ecx
mov byte [ebp - 0x23], cl
lea ecx, [ebp - 0x23]
call fcn.00424cc0
mov dword [ebp - 0xe24], eax
mov edx, dword [ebp - 0xe24]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x44affa
mov ecx, dword [ebp - 0xe24]
mov dword [ebp - 0xe28], ecx
mov dword [ebp - 0xe2c], 0
jmp 0x449f46
mov edx, dword [ebp - 0xe2c]
add edx, 1
mov dword [ebp - 0xe2c], edx
cmp dword [ebp - 0xe2c], 1
jae 0x44affa
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44a21b
xor eax, eax
je 0x449f90
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x449fcc
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9c20], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44a16c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44a16c
mov dword [ebp - 0xe30], 0
jmp 0x44a04b
cmp dword [ebp - 0xe30], 9
jae 0x44a167
cvtsi2sd xmm0, dword [ebp - 0xe30]
movsd xmm1, qword [ebp - 0x9c20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c28], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a0ba
mov ecx, dword [ebp - 0xe30]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9c20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c20], xmm1
jmp 0x449fb6
cvtsi2sd xmm0, dword [ebp - 0xe30]
movsd xmm1, qword [ebp - 0x9c20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c30], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9c30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a117
mov eax, dword [ebp - 0xe30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c20]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c20], xmm1
jmp 0x44a130
mov ecx, 1
test ecx, ecx
je 0x44a12c
jmp 0x44a1e9
jmp 0x44a153
cvtsi2sd xmm0, dword [ebp - 0xe30]
movsd xmm1, qword [ebp - 0x9c20]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe34], edx
jmp 0x44a1f3
xor eax, eax
je 0x44a15d
jmp 0x44a16c
jmp 0x449fb6
jmp 0x449fb6
mov ecx, 6
test ecx, ecx
je 0x44a1e9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe38], eax
cvtsi2sd xmm0, dword [ebp - 0xe38]
mov eax, dword [ebp - 0xe38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9c20]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe34], ecx
jmp 0x44a1f3
mov dword [ebp - 0xe34], 2
mov edx, dword [ebp - 0xe2c]
shl edx, 2
add edx, dword [ebp - 0xe28]
mov eax, dword [ebp - 0xe34]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe2c]
shl ecx, 2
add ecx, dword [ebp - 0xe28]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44ad2d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44a528
xor eax, eax
je 0x44a29d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44a2d9
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9c38], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44a479
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44a479
mov dword [ebp - 0xe3c], 0
jmp 0x44a358
cmp dword [ebp - 0xe3c], 9
jae 0x44a474
cvtsi2sd xmm0, dword [ebp - 0xe3c]
movsd xmm1, qword [ebp - 0x9c38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c40], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a3c7
mov ecx, dword [ebp - 0xe3c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9c38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c38], xmm1
jmp 0x44a2c3
cvtsi2sd xmm0, dword [ebp - 0xe3c]
movsd xmm1, qword [ebp - 0x9c38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c48], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9c48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a424
mov eax, dword [ebp - 0xe3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c38]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c38], xmm1
jmp 0x44a43d
mov ecx, 1
test ecx, ecx
je 0x44a439
jmp 0x44a4f6
jmp 0x44a460
cvtsi2sd xmm0, dword [ebp - 0xe3c]
movsd xmm1, qword [ebp - 0x9c38]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe40], edx
jmp 0x44a500
xor eax, eax
je 0x44a46a
jmp 0x44a479
jmp 0x44a2c3
jmp 0x44a2c3
mov ecx, 6
test ecx, ecx
je 0x44a4f6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe44], eax
cvtsi2sd xmm0, dword [ebp - 0xe44]
mov eax, dword [ebp - 0xe44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9c38]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe40], ecx
jmp 0x44a500
mov dword [ebp - 0xe40], 2
mov edx, dword [ebp - 0xe2c]
shl edx, 2
add edx, dword [ebp - 0xe28]
mov eax, dword [ebp - 0xe40]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe2c]
shl ecx, 2
add ecx, dword [ebp - 0xe28]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44a7f0
xor eax, eax
je 0x44a565
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44a5a1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9c50], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44a741
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44a741
mov dword [ebp - 0xe48], 0
jmp 0x44a620
cmp dword [ebp - 0xe48], 9
jae 0x44a73c
cvtsi2sd xmm0, dword [ebp - 0xe48]
movsd xmm1, qword [ebp - 0x9c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a68f
mov ecx, dword [ebp - 0xe48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c50], xmm1
jmp 0x44a58b
cvtsi2sd xmm0, dword [ebp - 0xe48]
movsd xmm1, qword [ebp - 0x9c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9c60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a6ec
mov eax, dword [ebp - 0xe48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c50], xmm1
jmp 0x44a705
mov ecx, 1
test ecx, ecx
je 0x44a701
jmp 0x44a7be
jmp 0x44a728
cvtsi2sd xmm0, dword [ebp - 0xe48]
movsd xmm1, qword [ebp - 0x9c50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe4c], edx
jmp 0x44a7c8
xor eax, eax
je 0x44a732
jmp 0x44a741
jmp 0x44a58b
jmp 0x44a58b
mov ecx, 6
test ecx, ecx
je 0x44a7be
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe50], eax
cvtsi2sd xmm0, dword [ebp - 0xe50]
mov eax, dword [ebp - 0xe50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9c50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe4c], ecx
jmp 0x44a7c8
mov dword [ebp - 0xe4c], 2
mov edx, dword [ebp - 0xe2c]
shl edx, 2
add edx, dword [ebp - 0xe28]
mov eax, dword [ebp - 0xe4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe2c]
shl ecx, 2
add ecx, dword [ebp - 0xe28]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe2c]
add edx, 0xffffffad
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9c68], xmm0
xor eax, eax
je 0x44a80a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44a846
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9c68]
movsd qword [ebp - 0x9c70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44a9e6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44a9e6
mov dword [ebp - 0xe54], 0
jmp 0x44a8c5
cmp dword [ebp - 0xe54], 9
jae 0x44a9e1
cvtsi2sd xmm0, dword [ebp - 0xe54]
movsd xmm1, qword [ebp - 0x9c70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a934
mov ecx, dword [ebp - 0xe54]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9c70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c70], xmm1
jmp 0x44a830
cvtsi2sd xmm0, dword [ebp - 0xe54]
movsd xmm1, qword [ebp - 0x9c70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9c80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44a991
mov eax, dword [ebp - 0xe54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c70], xmm1
jmp 0x44a9aa
mov ecx, 1
test ecx, ecx
je 0x44a9a6
jmp 0x44aa63
jmp 0x44a9cd
cvtsi2sd xmm0, dword [ebp - 0xe54]
movsd xmm1, qword [ebp - 0x9c70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe58], edx
jmp 0x44aa6d
xor eax, eax
je 0x44a9d7
jmp 0x44a9e6
jmp 0x44a830
jmp 0x44a830
mov ecx, 6
test ecx, ecx
je 0x44aa63
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe5c], eax
cvtsi2sd xmm0, dword [ebp - 0xe5c]
mov eax, dword [ebp - 0xe5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9c70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe58], ecx
jmp 0x44aa6d
mov dword [ebp - 0xe58], 2
mov edx, dword [ebp - 0xe2c]
add edx, 0xffffffad
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9c88], xmm0
xor eax, eax
je 0x44aa87
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44aac3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9c88]
movsd qword [ebp - 0x9c90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44ac63
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44ac63
mov dword [ebp - 0xe60], 0
jmp 0x44ab42
cmp dword [ebp - 0xe60], 9
jae 0x44ac5e
cvtsi2sd xmm0, dword [ebp - 0xe60]
movsd xmm1, qword [ebp - 0x9c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44abb1
mov ecx, dword [ebp - 0xe60]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c90], xmm1
jmp 0x44aaad
cvtsi2sd xmm0, dword [ebp - 0xe60]
movsd xmm1, qword [ebp - 0x9c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ca0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ca0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ac0e
mov eax, dword [ebp - 0xe60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9c90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9c90], xmm1
jmp 0x44ac27
mov ecx, 1
test ecx, ecx
je 0x44ac23
jmp 0x44ace0
jmp 0x44ac4a
cvtsi2sd xmm0, dword [ebp - 0xe60]
movsd xmm1, qword [ebp - 0x9c90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe64], edx
jmp 0x44acea
xor eax, eax
je 0x44ac54
jmp 0x44ac63
jmp 0x44aaad
jmp 0x44aaad
mov ecx, 6
test ecx, ecx
je 0x44ace0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe68], eax
cvtsi2sd xmm0, dword [ebp - 0xe68]
mov eax, dword [ebp - 0xe68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9c90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe64], ecx
jmp 0x44acea
mov dword [ebp - 0xe64], 2
mov edx, dword [ebp - 0xe2c]
shl edx, 2
add edx, dword [ebp - 0xe28]
mov eax, dword [ebp - 0xe58]
add eax, dword [edx]
mov ecx, dword [ebp - 0xe2c]
shl ecx, 2
add ecx, dword [ebp - 0xe28]
mov edx, dword [ebp - 0xe64]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xe2c]
shl ecx, 2
add ecx, dword [ebp - 0xe28]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44aff5
xor eax, eax
je 0x44ad6a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44ada6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9ca8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44af46
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44af46
mov dword [ebp - 0xe6c], 0
jmp 0x44ae25
cmp dword [ebp - 0xe6c], 9
jae 0x44af41
cvtsi2sd xmm0, dword [ebp - 0xe6c]
movsd xmm1, qword [ebp - 0x9ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cb0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ae94
mov ecx, dword [ebp - 0xe6c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ca8], xmm1
jmp 0x44ad90
cvtsi2sd xmm0, dword [ebp - 0xe6c]
movsd xmm1, qword [ebp - 0x9ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cb8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9cb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44aef1
mov eax, dword [ebp - 0xe6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ca8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ca8], xmm1
jmp 0x44af0a
mov ecx, 1
test ecx, ecx
je 0x44af06
jmp 0x44afc3
jmp 0x44af2d
cvtsi2sd xmm0, dword [ebp - 0xe6c]
movsd xmm1, qword [ebp - 0x9ca8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe70], edx
jmp 0x44afcd
xor eax, eax
je 0x44af37
jmp 0x44af46
jmp 0x44ad90
jmp 0x44ad90
mov ecx, 6
test ecx, ecx
je 0x44afc3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe74], eax
cvtsi2sd xmm0, dword [ebp - 0xe74]
mov eax, dword [ebp - 0xe74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ca8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe70], ecx
jmp 0x44afcd
mov dword [ebp - 0xe70], 2
mov edx, dword [ebp - 0xe2c]
shl edx, 2
add edx, dword [ebp - 0xe28]
mov eax, dword [ebp - 0xe70]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe2c]
shl ecx, 2
add ecx, dword [ebp - 0xe28]
mov dword [ecx], eax
jmp 0x449f37
mov edx, dword [ebp - 0xe24]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xe24]
mov dword [ebp - 0xe78], eax
mov ecx, dword [ebp - 0xe78]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xe7c], ecx
mov edx, dword [ebp - 0xe7c]
mov dword [ebp - 0xe20], edx
xor eax, eax
mov byte [ebp - 0x24], al
lea ecx, [ebp - 0x24]
call fcn.00424c90
mov dword [ebp - 0xe80], eax
mov ecx, dword [ebp - 0xe80]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x44c133
mov eax, dword [ebp - 0xe80]
mov dword [ebp - 0xe84], eax
mov dword [ebp - 0xe88], 0
jmp 0x44b07f
mov ecx, dword [ebp - 0xe88]
add ecx, 1
mov dword [ebp - 0xe88], ecx
cmp dword [ebp - 0xe88], 1
jae 0x44c133
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44b354
xor eax, eax
je 0x44b0c9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44b105
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9cc0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44b2a5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44b2a5
mov dword [ebp - 0xe8c], 0
jmp 0x44b184
cmp dword [ebp - 0xe8c], 9
jae 0x44b2a0
cvtsi2sd xmm0, dword [ebp - 0xe8c]
movsd xmm1, qword [ebp - 0x9cc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cc8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b1f3
mov ecx, dword [ebp - 0xe8c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9cc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cc0], xmm1
jmp 0x44b0ef
cvtsi2sd xmm0, dword [ebp - 0xe8c]
movsd xmm1, qword [ebp - 0x9cc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cd0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9cd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b250
mov eax, dword [ebp - 0xe8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cc0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cc0], xmm1
jmp 0x44b269
mov ecx, 1
test ecx, ecx
je 0x44b265
jmp 0x44b322
jmp 0x44b28c
cvtsi2sd xmm0, dword [ebp - 0xe8c]
movsd xmm1, qword [ebp - 0x9cc0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe90], edx
jmp 0x44b32c
xor eax, eax
je 0x44b296
jmp 0x44b2a5
jmp 0x44b0ef
jmp 0x44b0ef
mov ecx, 6
test ecx, ecx
je 0x44b322
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xe94], eax
cvtsi2sd xmm0, dword [ebp - 0xe94]
mov eax, dword [ebp - 0xe94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9cc0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe90], ecx
jmp 0x44b32c
mov dword [ebp - 0xe90], 2
mov edx, dword [ebp - 0xe88]
shl edx, 2
add edx, dword [ebp - 0xe84]
mov eax, dword [ebp - 0xe90]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe88]
shl ecx, 2
add ecx, dword [ebp - 0xe84]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44be66
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44b661
xor eax, eax
je 0x44b3d6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44b412
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9cd8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44b5b2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44b5b2
mov dword [ebp - 0xe98], 0
jmp 0x44b491
cmp dword [ebp - 0xe98], 9
jae 0x44b5ad
cvtsi2sd xmm0, dword [ebp - 0xe98]
movsd xmm1, qword [ebp - 0x9cd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ce0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ce0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b500
mov ecx, dword [ebp - 0xe98]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9cd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cd8], xmm1
jmp 0x44b3fc
cvtsi2sd xmm0, dword [ebp - 0xe98]
movsd xmm1, qword [ebp - 0x9cd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ce8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ce8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b55d
mov eax, dword [ebp - 0xe98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cd8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cd8], xmm1
jmp 0x44b576
mov ecx, 1
test ecx, ecx
je 0x44b572
jmp 0x44b62f
jmp 0x44b599
cvtsi2sd xmm0, dword [ebp - 0xe98]
movsd xmm1, qword [ebp - 0x9cd8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xe9c], edx
jmp 0x44b639
xor eax, eax
je 0x44b5a3
jmp 0x44b5b2
jmp 0x44b3fc
jmp 0x44b3fc
mov ecx, 6
test ecx, ecx
je 0x44b62f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xea0], eax
cvtsi2sd xmm0, dword [ebp - 0xea0]
mov eax, dword [ebp - 0xea0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9cd8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xe9c], ecx
jmp 0x44b639
mov dword [ebp - 0xe9c], 2
mov edx, dword [ebp - 0xe88]
shl edx, 2
add edx, dword [ebp - 0xe84]
mov eax, dword [ebp - 0xe9c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe88]
shl ecx, 2
add ecx, dword [ebp - 0xe84]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44b929
xor eax, eax
je 0x44b69e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44b6da
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9cf0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44b87a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44b87a
mov dword [ebp - 0xea4], 0
jmp 0x44b759
cmp dword [ebp - 0xea4], 9
jae 0x44b875
cvtsi2sd xmm0, dword [ebp - 0xea4]
movsd xmm1, qword [ebp - 0x9cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b7c8
mov ecx, dword [ebp - 0xea4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cf0], xmm1
jmp 0x44b6c4
cvtsi2sd xmm0, dword [ebp - 0xea4]
movsd xmm1, qword [ebp - 0x9cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9d00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44b825
mov eax, dword [ebp - 0xea4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9cf0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9cf0], xmm1
jmp 0x44b83e
mov ecx, 1
test ecx, ecx
je 0x44b83a
jmp 0x44b8f7
jmp 0x44b861
cvtsi2sd xmm0, dword [ebp - 0xea4]
movsd xmm1, qword [ebp - 0x9cf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xea8], edx
jmp 0x44b901
xor eax, eax
je 0x44b86b
jmp 0x44b87a
jmp 0x44b6c4
jmp 0x44b6c4
mov ecx, 6
test ecx, ecx
je 0x44b8f7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xeac], eax
cvtsi2sd xmm0, dword [ebp - 0xeac]
mov eax, dword [ebp - 0xeac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9cf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xea8], ecx
jmp 0x44b901
mov dword [ebp - 0xea8], 2
mov edx, dword [ebp - 0xe88]
shl edx, 2
add edx, dword [ebp - 0xe84]
mov eax, dword [ebp - 0xea8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe88]
shl ecx, 2
add ecx, dword [ebp - 0xe84]
mov dword [ecx], eax
mov edx, dword [ebp - 0xe88]
add edx, 0xffffffad
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9d08], xmm0
xor eax, eax
je 0x44b943
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44b97f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9d08]
movsd qword [ebp - 0x9d10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44bb1f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44bb1f
mov dword [ebp - 0xeb0], 0
jmp 0x44b9fe
cmp dword [ebp - 0xeb0], 9
jae 0x44bb1a
cvtsi2sd xmm0, dword [ebp - 0xeb0]
movsd xmm1, qword [ebp - 0x9d10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ba6d
mov ecx, dword [ebp - 0xeb0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9d10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d10], xmm1
jmp 0x44b969
cvtsi2sd xmm0, dword [ebp - 0xeb0]
movsd xmm1, qword [ebp - 0x9d10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9d20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44baca
mov eax, dword [ebp - 0xeb0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d10], xmm1
jmp 0x44bae3
mov ecx, 1
test ecx, ecx
je 0x44badf
jmp 0x44bb9c
jmp 0x44bb06
cvtsi2sd xmm0, dword [ebp - 0xeb0]
movsd xmm1, qword [ebp - 0x9d10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xeb4], edx
jmp 0x44bba6
xor eax, eax
je 0x44bb10
jmp 0x44bb1f
jmp 0x44b969
jmp 0x44b969
mov ecx, 6
test ecx, ecx
je 0x44bb9c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xeb8], eax
cvtsi2sd xmm0, dword [ebp - 0xeb8]
mov eax, dword [ebp - 0xeb8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9d10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xeb4], ecx
jmp 0x44bba6
mov dword [ebp - 0xeb4], 2
mov edx, dword [ebp - 0xe88]
add edx, 0xffffffad
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9d28], xmm0
xor eax, eax
je 0x44bbc0
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44bbfc
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9d28]
movsd qword [ebp - 0x9d30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44bd9c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44bd9c
mov dword [ebp - 0xebc], 0
jmp 0x44bc7b
cmp dword [ebp - 0xebc], 9
jae 0x44bd97
cvtsi2sd xmm0, dword [ebp - 0xebc]
movsd xmm1, qword [ebp - 0x9d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44bcea
mov ecx, dword [ebp - 0xebc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d30], xmm1
jmp 0x44bbe6
cvtsi2sd xmm0, dword [ebp - 0xebc]
movsd xmm1, qword [ebp - 0x9d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9d40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44bd47
mov eax, dword [ebp - 0xebc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d30], xmm1
jmp 0x44bd60
mov ecx, 1
test ecx, ecx
je 0x44bd5c
jmp 0x44be19
jmp 0x44bd83
cvtsi2sd xmm0, dword [ebp - 0xebc]
movsd xmm1, qword [ebp - 0x9d30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xec0], edx
jmp 0x44be23
xor eax, eax
je 0x44bd8d
jmp 0x44bd9c
jmp 0x44bbe6
jmp 0x44bbe6
mov ecx, 6
test ecx, ecx
je 0x44be19
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xec4], eax
cvtsi2sd xmm0, dword [ebp - 0xec4]
mov eax, dword [ebp - 0xec4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9d30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xec0], ecx
jmp 0x44be23
mov dword [ebp - 0xec0], 2
mov edx, dword [ebp - 0xe88]
shl edx, 2
add edx, dword [ebp - 0xe84]
mov eax, dword [ebp - 0xeb4]
add eax, dword [edx]
mov ecx, dword [ebp - 0xe88]
shl ecx, 2
add ecx, dword [ebp - 0xe84]
mov edx, dword [ebp - 0xec0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xe88]
shl ecx, 2
add ecx, dword [ebp - 0xe84]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44c12e
xor eax, eax
je 0x44bea3
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44bedf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9d48], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44c07f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44c07f
mov dword [ebp - 0xec8], 0
jmp 0x44bf5e
cmp dword [ebp - 0xec8], 9
jae 0x44c07a
cvtsi2sd xmm0, dword [ebp - 0xec8]
movsd xmm1, qword [ebp - 0x9d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d50], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44bfcd
mov ecx, dword [ebp - 0xec8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d48], xmm1
jmp 0x44bec9
cvtsi2sd xmm0, dword [ebp - 0xec8]
movsd xmm1, qword [ebp - 0x9d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d58], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9d58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c02a
mov eax, dword [ebp - 0xec8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d48]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d48], xmm1
jmp 0x44c043
mov ecx, 1
test ecx, ecx
je 0x44c03f
jmp 0x44c0fc
jmp 0x44c066
cvtsi2sd xmm0, dword [ebp - 0xec8]
movsd xmm1, qword [ebp - 0x9d48]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xecc], edx
jmp 0x44c106
xor eax, eax
je 0x44c070
jmp 0x44c07f
jmp 0x44bec9
jmp 0x44bec9
mov ecx, 6
test ecx, ecx
je 0x44c0fc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xed0], eax
cvtsi2sd xmm0, dword [ebp - 0xed0]
mov eax, dword [ebp - 0xed0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9d48]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xecc], ecx
jmp 0x44c106
mov dword [ebp - 0xecc], 2
mov edx, dword [ebp - 0xe88]
shl edx, 2
add edx, dword [ebp - 0xe84]
mov eax, dword [ebp - 0xecc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xe88]
shl ecx, 2
add ecx, dword [ebp - 0xe84]
mov dword [ecx], eax
jmp 0x44b070
mov edx, dword [ebp - 0xe80]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xe80]
mov dword [ebp - 0xed4], eax
mov ecx, dword [ebp - 0xed4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xed8], ecx
mov edx, dword [ebp - 0xed8]
mov dword [ebp - 0xedc], edx
xor eax, eax
mov byte [ebp - 0x25], al
lea ecx, [ebp - 0x25]
call fcn.00424c60
mov dword [ebp - 0xee0], eax
mov ecx, dword [ebp - 0xee0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x44d26c
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xee4], eax
mov dword [ebp - 0xee8], 0
jmp 0x44c1b8
mov ecx, dword [ebp - 0xee8]
add ecx, 1
mov dword [ebp - 0xee8], ecx
cmp dword [ebp - 0xee8], 1
jae 0x44d26c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44c48d
xor eax, eax
je 0x44c202
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44c23e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263c0]
movsd qword [ebp - 0x9d60], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44c3de
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44c3de
mov dword [ebp - 0xeec], 0
jmp 0x44c2bd
cmp dword [ebp - 0xeec], 9
jae 0x44c3d9
cvtsi2sd xmm0, dword [ebp - 0xeec]
movsd xmm1, qword [ebp - 0x9d60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d68], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c32c
mov ecx, dword [ebp - 0xeec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9d60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d60], xmm1
jmp 0x44c228
cvtsi2sd xmm0, dword [ebp - 0xeec]
movsd xmm1, qword [ebp - 0x9d60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d70], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9d70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c389
mov eax, dword [ebp - 0xeec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d60]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d60], xmm1
jmp 0x44c3a2
mov ecx, 1
test ecx, ecx
je 0x44c39e
jmp 0x44c45b
jmp 0x44c3c5
cvtsi2sd xmm0, dword [ebp - 0xeec]
movsd xmm1, qword [ebp - 0x9d60]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xef0], edx
jmp 0x44c465
xor eax, eax
je 0x44c3cf
jmp 0x44c3de
jmp 0x44c228
jmp 0x44c228
mov ecx, 6
test ecx, ecx
je 0x44c45b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xef4], eax
cvtsi2sd xmm0, dword [ebp - 0xef4]
mov eax, dword [ebp - 0xef4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9d60]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xef0], ecx
jmp 0x44c465
mov dword [ebp - 0xef0], 2
mov edx, dword [ebp - 0xee8]
shl edx, 2
add edx, dword [ebp - 0xee4]
mov eax, dword [ebp - 0xef0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xee8]
shl ecx, 2
add ecx, dword [ebp - 0xee4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44cf9f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44c79a
xor eax, eax
je 0x44c50f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44c54b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9d78], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44c6eb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44c6eb
mov dword [ebp - 0xef8], 0
jmp 0x44c5ca
cmp dword [ebp - 0xef8], 9
jae 0x44c6e6
cvtsi2sd xmm0, dword [ebp - 0xef8]
movsd xmm1, qword [ebp - 0x9d78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d80], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c639
mov ecx, dword [ebp - 0xef8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9d78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d78], xmm1
jmp 0x44c535
cvtsi2sd xmm0, dword [ebp - 0xef8]
movsd xmm1, qword [ebp - 0x9d78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d88], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9d88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c696
mov eax, dword [ebp - 0xef8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d78]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d78], xmm1
jmp 0x44c6af
mov ecx, 1
test ecx, ecx
je 0x44c6ab
jmp 0x44c768
jmp 0x44c6d2
cvtsi2sd xmm0, dword [ebp - 0xef8]
movsd xmm1, qword [ebp - 0x9d78]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xefc], edx
jmp 0x44c772
xor eax, eax
je 0x44c6dc
jmp 0x44c6eb
jmp 0x44c535
jmp 0x44c535
mov ecx, 6
test ecx, ecx
je 0x44c768
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf00], eax
cvtsi2sd xmm0, dword [ebp - 0xf00]
mov eax, dword [ebp - 0xf00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9d78]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xefc], ecx
jmp 0x44c772
mov dword [ebp - 0xefc], 2
mov edx, dword [ebp - 0xee8]
shl edx, 2
add edx, dword [ebp - 0xee4]
mov eax, dword [ebp - 0xefc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xee8]
shl ecx, 2
add ecx, dword [ebp - 0xee4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44ca62
xor eax, eax
je 0x44c7d7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44c813
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9d90], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44c9b3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44c9b3
mov dword [ebp - 0xf04], 0
jmp 0x44c892
cmp dword [ebp - 0xf04], 9
jae 0x44c9ae
cvtsi2sd xmm0, dword [ebp - 0xf04]
movsd xmm1, qword [ebp - 0x9d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c901
mov ecx, dword [ebp - 0xf04]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d90], xmm1
jmp 0x44c7fd
cvtsi2sd xmm0, dword [ebp - 0xf04]
movsd xmm1, qword [ebp - 0x9d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9da0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9da0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44c95e
mov eax, dword [ebp - 0xf04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9d90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9d90], xmm1
jmp 0x44c977
mov ecx, 1
test ecx, ecx
je 0x44c973
jmp 0x44ca30
jmp 0x44c99a
cvtsi2sd xmm0, dword [ebp - 0xf04]
movsd xmm1, qword [ebp - 0x9d90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf08], edx
jmp 0x44ca3a
xor eax, eax
je 0x44c9a4
jmp 0x44c9b3
jmp 0x44c7fd
jmp 0x44c7fd
mov ecx, 6
test ecx, ecx
je 0x44ca30
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf0c], eax
cvtsi2sd xmm0, dword [ebp - 0xf0c]
mov eax, dword [ebp - 0xf0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9d90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf08], ecx
jmp 0x44ca3a
mov dword [ebp - 0xf08], 2
mov edx, dword [ebp - 0xee8]
shl edx, 2
add edx, dword [ebp - 0xee4]
mov eax, dword [ebp - 0xf08]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xee8]
shl ecx, 2
add ecx, dword [ebp - 0xee4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xee8]
add edx, 0xffffffad
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9da8], xmm0
xor eax, eax
je 0x44ca7c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44cab8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9da8]
movsd qword [ebp - 0x9db0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44cc58
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44cc58
mov dword [ebp - 0xf10], 0
jmp 0x44cb37
cmp dword [ebp - 0xf10], 9
jae 0x44cc53
cvtsi2sd xmm0, dword [ebp - 0xf10]
movsd xmm1, qword [ebp - 0x9db0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9db8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9db8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44cba6
mov ecx, dword [ebp - 0xf10]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9db0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9db0], xmm1
jmp 0x44caa2
cvtsi2sd xmm0, dword [ebp - 0xf10]
movsd xmm1, qword [ebp - 0x9db0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9dc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44cc03
mov eax, dword [ebp - 0xf10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9db0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9db0], xmm1
jmp 0x44cc1c
mov ecx, 1
test ecx, ecx
je 0x44cc18
jmp 0x44ccd5
jmp 0x44cc3f
cvtsi2sd xmm0, dword [ebp - 0xf10]
movsd xmm1, qword [ebp - 0x9db0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf14], edx
jmp 0x44ccdf
xor eax, eax
je 0x44cc49
jmp 0x44cc58
jmp 0x44caa2
jmp 0x44caa2
mov ecx, 6
test ecx, ecx
je 0x44ccd5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf18], eax
cvtsi2sd xmm0, dword [ebp - 0xf18]
mov eax, dword [ebp - 0xf18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9db0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf14], ecx
jmp 0x44ccdf
mov dword [ebp - 0xf14], 2
mov edx, dword [ebp - 0xee8]
add edx, 0xffffffad
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9dc8], xmm0
xor eax, eax
je 0x44ccf9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44cd35
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9dc8]
movsd qword [ebp - 0x9dd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44ced5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44ced5
mov dword [ebp - 0xf1c], 0
jmp 0x44cdb4
cmp dword [ebp - 0xf1c], 9
jae 0x44ced0
cvtsi2sd xmm0, dword [ebp - 0xf1c]
movsd xmm1, qword [ebp - 0x9dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9dd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ce23
mov ecx, dword [ebp - 0xf1c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dd0], xmm1
jmp 0x44cd1f
cvtsi2sd xmm0, dword [ebp - 0xf1c]
movsd xmm1, qword [ebp - 0x9dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9de0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9de0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ce80
mov eax, dword [ebp - 0xf1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9dd0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9dd0], xmm1
jmp 0x44ce99
mov ecx, 1
test ecx, ecx
je 0x44ce95
jmp 0x44cf52
jmp 0x44cebc
cvtsi2sd xmm0, dword [ebp - 0xf1c]
movsd xmm1, qword [ebp - 0x9dd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf20], edx
jmp 0x44cf5c
xor eax, eax
je 0x44cec6
jmp 0x44ced5
jmp 0x44cd1f
jmp 0x44cd1f
mov ecx, 6
test ecx, ecx
je 0x44cf52
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf24], eax
cvtsi2sd xmm0, dword [ebp - 0xf24]
mov eax, dword [ebp - 0xf24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9dd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf20], ecx
jmp 0x44cf5c
mov dword [ebp - 0xf20], 2
mov edx, dword [ebp - 0xee8]
shl edx, 2
add edx, dword [ebp - 0xee4]
mov eax, dword [ebp - 0xf14]
add eax, dword [edx]
mov ecx, dword [ebp - 0xee8]
shl ecx, 2
add ecx, dword [ebp - 0xee4]
mov edx, dword [ebp - 0xf20]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xee8]
shl ecx, 2
add ecx, dword [ebp - 0xee4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44d267
xor eax, eax
je 0x44cfdc
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44d018
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9de8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44d1b8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44d1b8
mov dword [ebp - 0xf28], 0
jmp 0x44d097
cmp dword [ebp - 0xf28], 9
jae 0x44d1b3
cvtsi2sd xmm0, dword [ebp - 0xf28]
movsd xmm1, qword [ebp - 0x9de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9df0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9df0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d106
mov ecx, dword [ebp - 0xf28]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9de8], xmm1
jmp 0x44d002
cvtsi2sd xmm0, dword [ebp - 0xf28]
movsd xmm1, qword [ebp - 0x9de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9df8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9df8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d163
mov eax, dword [ebp - 0xf28]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9de8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9de8], xmm1
jmp 0x44d17c
mov ecx, 1
test ecx, ecx
je 0x44d178
jmp 0x44d235
jmp 0x44d19f
cvtsi2sd xmm0, dword [ebp - 0xf28]
movsd xmm1, qword [ebp - 0x9de8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf2c], edx
jmp 0x44d23f
xor eax, eax
je 0x44d1a9
jmp 0x44d1b8
jmp 0x44d002
jmp 0x44d002
mov ecx, 6
test ecx, ecx
je 0x44d235
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf30], eax
cvtsi2sd xmm0, dword [ebp - 0xf30]
mov eax, dword [ebp - 0xf30]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9de8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf2c], ecx
jmp 0x44d23f
mov dword [ebp - 0xf2c], 2
mov edx, dword [ebp - 0xee8]
shl edx, 2
add edx, dword [ebp - 0xee4]
mov eax, dword [ebp - 0xf2c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xee8]
shl ecx, 2
add ecx, dword [ebp - 0xee4]
mov dword [ecx], eax
jmp 0x44c1a9
mov edx, dword [ebp - 0xee0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xf34], eax
mov ecx, dword [ebp - 0xf34]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xf38], ecx
mov edx, dword [ebp - 0xf38]
mov dword [ebp - 0xf3c], edx
xor eax, eax
mov byte [ebp - 0x26], al
lea ecx, [ebp - 0x26]
call fcn.00424c30
mov dword [ebp - 0xf40], eax
mov ecx, dword [ebp - 0xf40]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x44e3a5
mov eax, dword [ebp - 0xf40]
mov dword [ebp - 0xf44], eax
mov dword [ebp - 0xf48], 0
jmp 0x44d2f1
mov ecx, dword [ebp - 0xf48]
add ecx, 1
mov dword [ebp - 0xf48], ecx
cmp dword [ebp - 0xf48], 1
jae 0x44e3a5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44d5c6
xor eax, eax
je 0x44d33b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44d377
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9e00], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44d517
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44d517
mov dword [ebp - 0xf4c], 0
jmp 0x44d3f6
cmp dword [ebp - 0xf4c], 9
jae 0x44d512
cvtsi2sd xmm0, dword [ebp - 0xf4c]
movsd xmm1, qword [ebp - 0x9e00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e08], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d465
mov ecx, dword [ebp - 0xf4c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9e00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e00], xmm1
jmp 0x44d361
cvtsi2sd xmm0, dword [ebp - 0xf4c]
movsd xmm1, qword [ebp - 0x9e00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e10], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9e10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d4c2
mov eax, dword [ebp - 0xf4c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e00]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e00], xmm1
jmp 0x44d4db
mov ecx, 1
test ecx, ecx
je 0x44d4d7
jmp 0x44d594
jmp 0x44d4fe
cvtsi2sd xmm0, dword [ebp - 0xf4c]
movsd xmm1, qword [ebp - 0x9e00]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf50], edx
jmp 0x44d59e
xor eax, eax
je 0x44d508
jmp 0x44d517
jmp 0x44d361
jmp 0x44d361
mov ecx, 6
test ecx, ecx
je 0x44d594
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf54], eax
cvtsi2sd xmm0, dword [ebp - 0xf54]
mov eax, dword [ebp - 0xf54]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9e00]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf50], ecx
jmp 0x44d59e
mov dword [ebp - 0xf50], 2
mov edx, dword [ebp - 0xf48]
shl edx, 2
add edx, dword [ebp - 0xf44]
mov eax, dword [ebp - 0xf50]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xf48]
shl ecx, 2
add ecx, dword [ebp - 0xf44]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44e0d8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44d8d3
xor eax, eax
je 0x44d648
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44d684
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9e18], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44d824
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44d824
mov dword [ebp - 0xf58], 0
jmp 0x44d703
cmp dword [ebp - 0xf58], 9
jae 0x44d81f
cvtsi2sd xmm0, dword [ebp - 0xf58]
movsd xmm1, qword [ebp - 0x9e18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e20], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d772
mov ecx, dword [ebp - 0xf58]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9e18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e18], xmm1
jmp 0x44d66e
cvtsi2sd xmm0, dword [ebp - 0xf58]
movsd xmm1, qword [ebp - 0x9e18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e28], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9e28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44d7cf
mov eax, dword [ebp - 0xf58]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e18]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e18], xmm1
jmp 0x44d7e8
mov ecx, 1
test ecx, ecx
je 0x44d7e4
jmp 0x44d8a1
jmp 0x44d80b
cvtsi2sd xmm0, dword [ebp - 0xf58]
movsd xmm1, qword [ebp - 0x9e18]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf5c], edx
jmp 0x44d8ab
xor eax, eax
je 0x44d815
jmp 0x44d824
jmp 0x44d66e
jmp 0x44d66e
mov ecx, 6
test ecx, ecx
je 0x44d8a1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf60], eax
cvtsi2sd xmm0, dword [ebp - 0xf60]
mov eax, dword [ebp - 0xf60]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9e18]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf5c], ecx
jmp 0x44d8ab
mov dword [ebp - 0xf5c], 2
mov edx, dword [ebp - 0xf48]
shl edx, 2
add edx, dword [ebp - 0xf44]
mov eax, dword [ebp - 0xf5c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xf48]
shl ecx, 2
add ecx, dword [ebp - 0xf44]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44db9b
xor eax, eax
je 0x44d910
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44d94c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9e30], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44daec
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44daec
mov dword [ebp - 0xf64], 0
jmp 0x44d9cb
cmp dword [ebp - 0xf64], 9
jae 0x44dae7
cvtsi2sd xmm0, dword [ebp - 0xf64]
movsd xmm1, qword [ebp - 0x9e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44da3a
mov ecx, dword [ebp - 0xf64]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e30], xmm1
jmp 0x44d936
cvtsi2sd xmm0, dword [ebp - 0xf64]
movsd xmm1, qword [ebp - 0x9e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9e40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44da97
mov eax, dword [ebp - 0xf64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e30]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e30], xmm1
jmp 0x44dab0
mov ecx, 1
test ecx, ecx
je 0x44daac
jmp 0x44db69
jmp 0x44dad3
cvtsi2sd xmm0, dword [ebp - 0xf64]
movsd xmm1, qword [ebp - 0x9e30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf68], edx
jmp 0x44db73
xor eax, eax
je 0x44dadd
jmp 0x44daec
jmp 0x44d936
jmp 0x44d936
mov ecx, 6
test ecx, ecx
je 0x44db69
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf6c], eax
cvtsi2sd xmm0, dword [ebp - 0xf6c]
mov eax, dword [ebp - 0xf6c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9e30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf68], ecx
jmp 0x44db73
mov dword [ebp - 0xf68], 2
mov edx, dword [ebp - 0xf48]
shl edx, 2
add edx, dword [ebp - 0xf44]
mov eax, dword [ebp - 0xf68]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xf48]
shl ecx, 2
add ecx, dword [ebp - 0xf44]
mov dword [ecx], eax
mov edx, dword [ebp - 0xf48]
add edx, 0xffffffae
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9e48], xmm0
xor eax, eax
je 0x44dbb5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44dbf1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9e48]
movsd qword [ebp - 0x9e50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44dd91
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44dd91
mov dword [ebp - 0xf70], 0
jmp 0x44dc70
cmp dword [ebp - 0xf70], 9
jae 0x44dd8c
cvtsi2sd xmm0, dword [ebp - 0xf70]
movsd xmm1, qword [ebp - 0x9e50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dcdf
mov ecx, dword [ebp - 0xf70]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9e50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e50], xmm1
jmp 0x44dbdb
cvtsi2sd xmm0, dword [ebp - 0xf70]
movsd xmm1, qword [ebp - 0x9e50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9e60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dd3c
mov eax, dword [ebp - 0xf70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e50]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e50], xmm1
jmp 0x44dd55
mov ecx, 1
test ecx, ecx
je 0x44dd51
jmp 0x44de0e
jmp 0x44dd78
cvtsi2sd xmm0, dword [ebp - 0xf70]
movsd xmm1, qword [ebp - 0x9e50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf74], edx
jmp 0x44de18
xor eax, eax
je 0x44dd82
jmp 0x44dd91
jmp 0x44dbdb
jmp 0x44dbdb
mov ecx, 6
test ecx, ecx
je 0x44de0e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf78], eax
cvtsi2sd xmm0, dword [ebp - 0xf78]
mov eax, dword [ebp - 0xf78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9e50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf74], ecx
jmp 0x44de18
mov dword [ebp - 0xf74], 2
mov edx, dword [ebp - 0xf48]
add edx, 0xffffffae
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9e68], xmm0
xor eax, eax
je 0x44de32
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44de6e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9e68]
movsd qword [ebp - 0x9e70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44e00e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44e00e
mov dword [ebp - 0xf7c], 0
jmp 0x44deed
cmp dword [ebp - 0xf7c], 9
jae 0x44e009
cvtsi2sd xmm0, dword [ebp - 0xf7c]
movsd xmm1, qword [ebp - 0x9e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44df5c
mov ecx, dword [ebp - 0xf7c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e70], xmm1
jmp 0x44de58
cvtsi2sd xmm0, dword [ebp - 0xf7c]
movsd xmm1, qword [ebp - 0x9e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9e80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44dfb9
mov eax, dword [ebp - 0xf7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e70], xmm1
jmp 0x44dfd2
mov ecx, 1
test ecx, ecx
je 0x44dfce
jmp 0x44e08b
jmp 0x44dff5
cvtsi2sd xmm0, dword [ebp - 0xf7c]
movsd xmm1, qword [ebp - 0x9e70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf80], edx
jmp 0x44e095
xor eax, eax
je 0x44dfff
jmp 0x44e00e
jmp 0x44de58
jmp 0x44de58
mov ecx, 6
test ecx, ecx
je 0x44e08b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf84], eax
cvtsi2sd xmm0, dword [ebp - 0xf84]
mov eax, dword [ebp - 0xf84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9e70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf80], ecx
jmp 0x44e095
mov dword [ebp - 0xf80], 2
mov edx, dword [ebp - 0xf48]
shl edx, 2
add edx, dword [ebp - 0xf44]
mov eax, dword [ebp - 0xf74]
add eax, dword [edx]
mov ecx, dword [ebp - 0xf48]
shl ecx, 2
add ecx, dword [ebp - 0xf44]
mov edx, dword [ebp - 0xf80]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xf48]
shl ecx, 2
add ecx, dword [ebp - 0xf44]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44e3a0
xor eax, eax
je 0x44e115
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44e151
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0x9e88], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44e2f1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44e2f1
mov dword [ebp - 0xf88], 0
jmp 0x44e1d0
cmp dword [ebp - 0xf88], 9
jae 0x44e2ec
cvtsi2sd xmm0, dword [ebp - 0xf88]
movsd xmm1, qword [ebp - 0x9e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e90], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e23f
mov ecx, dword [ebp - 0xf88]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e88], xmm1
jmp 0x44e13b
cvtsi2sd xmm0, dword [ebp - 0xf88]
movsd xmm1, qword [ebp - 0x9e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e98], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9e98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e29c
mov eax, dword [ebp - 0xf88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9e88]
addsd xmm1, xmm0
movsd qword [ebp - 0x9e88], xmm1
jmp 0x44e2b5
mov ecx, 1
test ecx, ecx
je 0x44e2b1
jmp 0x44e36e
jmp 0x44e2d8
cvtsi2sd xmm0, dword [ebp - 0xf88]
movsd xmm1, qword [ebp - 0x9e88]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xf8c], edx
jmp 0x44e378
xor eax, eax
je 0x44e2e2
jmp 0x44e2f1
jmp 0x44e13b
jmp 0x44e13b
mov ecx, 6
test ecx, ecx
je 0x44e36e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xf90], eax
cvtsi2sd xmm0, dword [ebp - 0xf90]
mov eax, dword [ebp - 0xf90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9e88]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf8c], ecx
jmp 0x44e378
mov dword [ebp - 0xf8c], 2
mov edx, dword [ebp - 0xf48]
shl edx, 2
add edx, dword [ebp - 0xf44]
mov eax, dword [ebp - 0xf8c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xf48]
shl ecx, 2
add ecx, dword [ebp - 0xf44]
mov dword [ecx], eax
jmp 0x44d2e2
mov edx, dword [ebp - 0xf40]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xf40]
mov dword [ebp - 0xf94], eax
mov ecx, dword [ebp - 0xf94]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xf98], ecx
mov edx, dword [ebp - 0xf98]
mov dword [ebp - 0xf9c], edx
mov eax, dword [ebp - 0xf3c]
mov dword [ebp - 0xedc], eax
cmp dword [ebp - 0xedc], 0
je 0x44f530
xor ecx, ecx
mov byte [ebp - 0x27], cl
lea ecx, [ebp - 0x27]
call fcn.00424c00
mov dword [ebp - 0xfa0], eax
mov edx, dword [ebp - 0xfa0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x44f4f7
mov ecx, dword [ebp - 0xfa0]
mov dword [ebp - 0xfa4], ecx
mov dword [ebp - 0xfa8], 0
jmp 0x44e443
mov edx, dword [ebp - 0xfa8]
add edx, 1
mov dword [ebp - 0xfa8], edx
cmp dword [ebp - 0xfa8], 1
jae 0x44f4f7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44e718
xor eax, eax
je 0x44e48d
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x44e4c9
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263b8]
movsd qword [ebp - 0x9ea0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44e669
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44e669
mov dword [ebp - 0xfac], 0
jmp 0x44e548
cmp dword [ebp - 0xfac], 9
jae 0x44e664
cvtsi2sd xmm0, dword [ebp - 0xfac]
movsd xmm1, qword [ebp - 0x9ea0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ea8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ea8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e5b7
mov ecx, dword [ebp - 0xfac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ea0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ea0], xmm1
jmp 0x44e4b3
cvtsi2sd xmm0, dword [ebp - 0xfac]
movsd xmm1, qword [ebp - 0x9ea0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9eb0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9eb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e614
mov eax, dword [ebp - 0xfac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ea0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ea0], xmm1
jmp 0x44e62d
mov ecx, 1
test ecx, ecx
je 0x44e629
jmp 0x44e6e6
jmp 0x44e650
cvtsi2sd xmm0, dword [ebp - 0xfac]
movsd xmm1, qword [ebp - 0x9ea0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xfb0], edx
jmp 0x44e6f0
xor eax, eax
je 0x44e65a
jmp 0x44e669
jmp 0x44e4b3
jmp 0x44e4b3
mov ecx, 6
test ecx, ecx
je 0x44e6e6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xfb4], eax
cvtsi2sd xmm0, dword [ebp - 0xfb4]
mov eax, dword [ebp - 0xfb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ea0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xfb0], ecx
jmp 0x44e6f0
mov dword [ebp - 0xfb0], 2
mov edx, dword [ebp - 0xfa8]
shl edx, 2
add edx, dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xfb0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xfa8]
shl ecx, 2
add ecx, dword [ebp - 0xfa4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44f22a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44ea25
xor eax, eax
je 0x44e79a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44e7d6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9eb8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44e976
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44e976
mov dword [ebp - 0xfb8], 0
jmp 0x44e855
cmp dword [ebp - 0xfb8], 9
jae 0x44e971
cvtsi2sd xmm0, dword [ebp - 0xfb8]
movsd xmm1, qword [ebp - 0x9eb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ec0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ec0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e8c4
mov ecx, dword [ebp - 0xfb8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9eb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9eb8], xmm1
jmp 0x44e7c0
cvtsi2sd xmm0, dword [ebp - 0xfb8]
movsd xmm1, qword [ebp - 0x9eb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ec8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ec8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44e921
mov eax, dword [ebp - 0xfb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9eb8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9eb8], xmm1
jmp 0x44e93a
mov ecx, 1
test ecx, ecx
je 0x44e936
jmp 0x44e9f3
jmp 0x44e95d
cvtsi2sd xmm0, dword [ebp - 0xfb8]
movsd xmm1, qword [ebp - 0x9eb8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xfbc], edx
jmp 0x44e9fd
xor eax, eax
je 0x44e967
jmp 0x44e976
jmp 0x44e7c0
jmp 0x44e7c0
mov ecx, 6
test ecx, ecx
je 0x44e9f3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xfc0], eax
cvtsi2sd xmm0, dword [ebp - 0xfc0]
mov eax, dword [ebp - 0xfc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9eb8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xfbc], ecx
jmp 0x44e9fd
mov dword [ebp - 0xfbc], 2
mov edx, dword [ebp - 0xfa8]
shl edx, 2
add edx, dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xfbc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xfa8]
shl ecx, 2
add ecx, dword [ebp - 0xfa4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44eced
xor eax, eax
je 0x44ea62
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44ea9e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9ed0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44ec3e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44ec3e
mov dword [ebp - 0xfc4], 0
jmp 0x44eb1d
cmp dword [ebp - 0xfc4], 9
jae 0x44ec39
cvtsi2sd xmm0, dword [ebp - 0xfc4]
movsd xmm1, qword [ebp - 0x9ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ed8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44eb8c
mov ecx, dword [ebp - 0xfc4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ed0], xmm1
jmp 0x44ea88
cvtsi2sd xmm0, dword [ebp - 0xfc4]
movsd xmm1, qword [ebp - 0x9ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ee0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ee0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ebe9
mov eax, dword [ebp - 0xfc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ed0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ed0], xmm1
jmp 0x44ec02
mov ecx, 1
test ecx, ecx
je 0x44ebfe
jmp 0x44ecbb
jmp 0x44ec25
cvtsi2sd xmm0, dword [ebp - 0xfc4]
movsd xmm1, qword [ebp - 0x9ed0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xfc8], edx
jmp 0x44ecc5
xor eax, eax
je 0x44ec2f
jmp 0x44ec3e
jmp 0x44ea88
jmp 0x44ea88
mov ecx, 6
test ecx, ecx
je 0x44ecbb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xfcc], eax
cvtsi2sd xmm0, dword [ebp - 0xfcc]
mov eax, dword [ebp - 0xfcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ed0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xfc8], ecx
jmp 0x44ecc5
mov dword [ebp - 0xfc8], 2
mov edx, dword [ebp - 0xfa8]
shl edx, 2
add edx, dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xfc8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xfa8]
shl ecx, 2
add ecx, dword [ebp - 0xfa4]
mov dword [ecx], eax
mov edx, dword [ebp - 0xfa8]
add edx, 0xffffffae
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9ee8], xmm0
xor eax, eax
je 0x44ed07
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44ed43
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9ee8]
movsd qword [ebp - 0x9ef0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44eee3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44eee3
mov dword [ebp - 0xfd0], 0
jmp 0x44edc2
cmp dword [ebp - 0xfd0], 9
jae 0x44eede
cvtsi2sd xmm0, dword [ebp - 0xfd0]
movsd xmm1, qword [ebp - 0x9ef0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ef8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ee31
mov ecx, dword [ebp - 0xfd0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ef0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ef0], xmm1
jmp 0x44ed2d
cvtsi2sd xmm0, dword [ebp - 0xfd0]
movsd xmm1, qword [ebp - 0x9ef0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9f00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ee8e
mov eax, dword [ebp - 0xfd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ef0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ef0], xmm1
jmp 0x44eea7
mov ecx, 1
test ecx, ecx
je 0x44eea3
jmp 0x44ef60
jmp 0x44eeca
cvtsi2sd xmm0, dword [ebp - 0xfd0]
movsd xmm1, qword [ebp - 0x9ef0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xfd4], edx
jmp 0x44ef6a
xor eax, eax
je 0x44eed4
jmp 0x44eee3
jmp 0x44ed2d
jmp 0x44ed2d
mov ecx, 6
test ecx, ecx
je 0x44ef60
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xfd8], eax
cvtsi2sd xmm0, dword [ebp - 0xfd8]
mov eax, dword [ebp - 0xfd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ef0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xfd4], ecx
jmp 0x44ef6a
mov dword [ebp - 0xfd4], 2
mov edx, dword [ebp - 0xfa8]
add edx, 0xffffffae
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9f08], xmm0
xor eax, eax
je 0x44ef84
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44efc0
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9f08]
movsd qword [ebp - 0x9f10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44f160
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44f160
mov dword [ebp - 0xfdc], 0
jmp 0x44f03f
cmp dword [ebp - 0xfdc], 9
jae 0x44f15b
cvtsi2sd xmm0, dword [ebp - 0xfdc]
movsd xmm1, qword [ebp - 0x9f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f0ae
mov ecx, dword [ebp - 0xfdc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f10], xmm1
jmp 0x44efaa
cvtsi2sd xmm0, dword [ebp - 0xfdc]
movsd xmm1, qword [ebp - 0x9f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9f20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f10b
mov eax, dword [ebp - 0xfdc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f10]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f10], xmm1
jmp 0x44f124
mov ecx, 1
test ecx, ecx
je 0x44f120
jmp 0x44f1dd
jmp 0x44f147
cvtsi2sd xmm0, dword [ebp - 0xfdc]
movsd xmm1, qword [ebp - 0x9f10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xfe0], edx
jmp 0x44f1e7
xor eax, eax
je 0x44f151
jmp 0x44f160
jmp 0x44efaa
jmp 0x44efaa
mov ecx, 6
test ecx, ecx
je 0x44f1dd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xfe4], eax
cvtsi2sd xmm0, dword [ebp - 0xfe4]
mov eax, dword [ebp - 0xfe4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9f10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xfe0], ecx
jmp 0x44f1e7
mov dword [ebp - 0xfe0], 2
mov edx, dword [ebp - 0xfa8]
shl edx, 2
add edx, dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xfd4]
add eax, dword [edx]
mov ecx, dword [ebp - 0xfa8]
shl ecx, 2
add ecx, dword [ebp - 0xfa4]
mov edx, dword [ebp - 0xfe0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0xfa8]
shl ecx, 2
add ecx, dword [ebp - 0xfa4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44f4f2
xor eax, eax
je 0x44f267
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44f2a3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0x9f28], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44f443
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44f443
mov dword [ebp - 0xfe8], 0
jmp 0x44f322
cmp dword [ebp - 0xfe8], 9
jae 0x44f43e
cvtsi2sd xmm0, dword [ebp - 0xfe8]
movsd xmm1, qword [ebp - 0x9f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f30], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f391
mov ecx, dword [ebp - 0xfe8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f28], xmm1
jmp 0x44f28d
cvtsi2sd xmm0, dword [ebp - 0xfe8]
movsd xmm1, qword [ebp - 0x9f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f38], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9f38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f3ee
mov eax, dword [ebp - 0xfe8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f28]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f28], xmm1
jmp 0x44f407
mov ecx, 1
test ecx, ecx
je 0x44f403
jmp 0x44f4c0
jmp 0x44f42a
cvtsi2sd xmm0, dword [ebp - 0xfe8]
movsd xmm1, qword [ebp - 0x9f28]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0xfec], edx
jmp 0x44f4ca
xor eax, eax
je 0x44f434
jmp 0x44f443
jmp 0x44f28d
jmp 0x44f28d
mov ecx, 6
test ecx, ecx
je 0x44f4c0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0xff0], eax
cvtsi2sd xmm0, dword [ebp - 0xff0]
mov eax, dword [ebp - 0xff0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9f28]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xfec], ecx
jmp 0x44f4ca
mov dword [ebp - 0xfec], 2
mov edx, dword [ebp - 0xfa8]
shl edx, 2
add edx, dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xfec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0xfa8]
shl ecx, 2
add ecx, dword [ebp - 0xfa4]
mov dword [ecx], eax
jmp 0x44e434
mov edx, dword [ebp - 0xfa0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xfa0]
mov dword [ebp - 0xff4], eax
mov ecx, dword [ebp - 0xff4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0xff8], ecx
mov edx, dword [ebp - 0xff8]
mov dword [ebp - 0xf9c], edx
mov edx, dword [ebp - 0x5fc]
mov ecx, dword [ebp - 0x47c]
call fcn.005a7a40
mov byte [ebp - 0x28], al
xor eax, eax
mov byte [ebp - 0x29], al
lea ecx, [ebp - 0x29]
call fcn.00424bd0
mov dword [ebp - 0xffc], eax
mov ecx, dword [ebp - 0xffc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x450644
mov eax, dword [ebp - 0xffc]
mov dword [ebp - 0x1000], eax
mov dword [ebp - 0x1004], 0
jmp 0x44f590
mov ecx, dword [ebp - 0x1004]
add ecx, 1
mov dword [ebp - 0x1004], ecx
cmp dword [ebp - 0x1004], 1
jae 0x450644
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44f865
xor eax, eax
je 0x44f5da
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44f616
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9f40], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44f7b6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44f7b6
mov dword [ebp - 0x1008], 0
jmp 0x44f695
cmp dword [ebp - 0x1008], 9
jae 0x44f7b1
cvtsi2sd xmm0, dword [ebp - 0x1008]
movsd xmm1, qword [ebp - 0x9f40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f48], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f704
mov ecx, dword [ebp - 0x1008]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9f40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f40], xmm1
jmp 0x44f600
cvtsi2sd xmm0, dword [ebp - 0x1008]
movsd xmm1, qword [ebp - 0x9f40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f50], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9f50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44f761
mov eax, dword [ebp - 0x1008]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f40]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f40], xmm1
jmp 0x44f77a
mov ecx, 1
test ecx, ecx
je 0x44f776
jmp 0x44f833
jmp 0x44f79d
cvtsi2sd xmm0, dword [ebp - 0x1008]
movsd xmm1, qword [ebp - 0x9f40]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x100c], edx
jmp 0x44f83d
xor eax, eax
je 0x44f7a7
jmp 0x44f7b6
jmp 0x44f600
jmp 0x44f600
mov ecx, 6
test ecx, ecx
je 0x44f833
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1010], eax
cvtsi2sd xmm0, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x1010]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9f40]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x100c], ecx
jmp 0x44f83d
mov dword [ebp - 0x100c], 2
mov edx, dword [ebp - 0x1004]
shl edx, 2
add edx, dword [ebp - 0x1000]
mov eax, dword [ebp - 0x100c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1004]
shl ecx, 2
add ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x450377
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44fb72
xor eax, eax
je 0x44f8e7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44f923
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9f58], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44fac3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44fac3
mov dword [ebp - 0x1014], 0
jmp 0x44f9a2
cmp dword [ebp - 0x1014], 9
jae 0x44fabe
cvtsi2sd xmm0, dword [ebp - 0x1014]
movsd xmm1, qword [ebp - 0x9f58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f60], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44fa11
mov ecx, dword [ebp - 0x1014]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9f58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f58], xmm1
jmp 0x44f90d
cvtsi2sd xmm0, dword [ebp - 0x1014]
movsd xmm1, qword [ebp - 0x9f58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f68], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9f68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44fa6e
mov eax, dword [ebp - 0x1014]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f58]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f58], xmm1
jmp 0x44fa87
mov ecx, 1
test ecx, ecx
je 0x44fa83
jmp 0x44fb40
jmp 0x44faaa
cvtsi2sd xmm0, dword [ebp - 0x1014]
movsd xmm1, qword [ebp - 0x9f58]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1018], edx
jmp 0x44fb4a
xor eax, eax
je 0x44fab4
jmp 0x44fac3
jmp 0x44f90d
jmp 0x44f90d
mov ecx, 6
test ecx, ecx
je 0x44fb40
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x101c], eax
cvtsi2sd xmm0, dword [ebp - 0x101c]
mov eax, dword [ebp - 0x101c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9f58]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1018], ecx
jmp 0x44fb4a
mov dword [ebp - 0x1018], 2
mov edx, dword [ebp - 0x1004]
shl edx, 2
add edx, dword [ebp - 0x1000]
mov eax, dword [ebp - 0x1018]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1004]
shl ecx, 2
add ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x44fe3a
xor eax, eax
je 0x44fbaf
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x44fbeb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0x9f70], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x44fd8b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x44fd8b
mov dword [ebp - 0x1020], 0
jmp 0x44fc6a
cmp dword [ebp - 0x1020], 9
jae 0x44fd86
cvtsi2sd xmm0, dword [ebp - 0x1020]
movsd xmm1, qword [ebp - 0x9f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44fcd9
mov ecx, dword [ebp - 0x1020]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f70], xmm1
jmp 0x44fbd5
cvtsi2sd xmm0, dword [ebp - 0x1020]
movsd xmm1, qword [ebp - 0x9f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9f80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44fd36
mov eax, dword [ebp - 0x1020]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f70]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f70], xmm1
jmp 0x44fd4f
mov ecx, 1
test ecx, ecx
je 0x44fd4b
jmp 0x44fe08
jmp 0x44fd72
cvtsi2sd xmm0, dword [ebp - 0x1020]
movsd xmm1, qword [ebp - 0x9f70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1024], edx
jmp 0x44fe12
xor eax, eax
je 0x44fd7c
jmp 0x44fd8b
jmp 0x44fbd5
jmp 0x44fbd5
mov ecx, 6
test ecx, ecx
je 0x44fe08
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1028], eax
cvtsi2sd xmm0, dword [ebp - 0x1028]
mov eax, dword [ebp - 0x1028]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9f70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1024], ecx
jmp 0x44fe12
mov dword [ebp - 0x1024], 2
mov edx, dword [ebp - 0x1004]
shl edx, 2
add edx, dword [ebp - 0x1000]
mov eax, dword [ebp - 0x1024]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1004]
shl ecx, 2
add ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1004]
add edx, 0xffffffaf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9f88], xmm0
xor eax, eax
je 0x44fe54
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x44fe90
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9f88]
movsd qword [ebp - 0x9f90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x450030
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x450030
mov dword [ebp - 0x102c], 0
jmp 0x44ff0f
cmp dword [ebp - 0x102c], 9
jae 0x45002b
cvtsi2sd xmm0, dword [ebp - 0x102c]
movsd xmm1, qword [ebp - 0x9f90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ff7e
mov ecx, dword [ebp - 0x102c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9f90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f90], xmm1
jmp 0x44fe7a
cvtsi2sd xmm0, dword [ebp - 0x102c]
movsd xmm1, qword [ebp - 0x9f90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fa0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9fa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x44ffdb
mov eax, dword [ebp - 0x102c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9f90]
addsd xmm1, xmm0
movsd qword [ebp - 0x9f90], xmm1
jmp 0x44fff4
mov ecx, 1
test ecx, ecx
je 0x44fff0
jmp 0x4500ad
jmp 0x450017
cvtsi2sd xmm0, dword [ebp - 0x102c]
movsd xmm1, qword [ebp - 0x9f90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1030], edx
jmp 0x4500b7
xor eax, eax
je 0x450021
jmp 0x450030
jmp 0x44fe7a
jmp 0x44fe7a
mov ecx, 6
test ecx, ecx
je 0x4500ad
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1034], eax
cvtsi2sd xmm0, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1034]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9f90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1030], ecx
jmp 0x4500b7
mov dword [ebp - 0x1030], 2
mov edx, dword [ebp - 0x1004]
add edx, 0xffffffaf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0x9fa8], xmm0
xor eax, eax
je 0x4500d1
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45010d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0x9fa8]
movsd qword [ebp - 0x9fb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4502ad
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4502ad
mov dword [ebp - 0x1038], 0
jmp 0x45018c
cmp dword [ebp - 0x1038], 9
jae 0x4502a8
cvtsi2sd xmm0, dword [ebp - 0x1038]
movsd xmm1, qword [ebp - 0x9fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4501fb
mov ecx, dword [ebp - 0x1038]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fb0], xmm1
jmp 0x4500f7
cvtsi2sd xmm0, dword [ebp - 0x1038]
movsd xmm1, qword [ebp - 0x9fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9fc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450258
mov eax, dword [ebp - 0x1038]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fb0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fb0], xmm1
jmp 0x450271
mov ecx, 1
test ecx, ecx
je 0x45026d
jmp 0x45032a
jmp 0x450294
cvtsi2sd xmm0, dword [ebp - 0x1038]
movsd xmm1, qword [ebp - 0x9fb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x103c], edx
jmp 0x450334
xor eax, eax
je 0x45029e
jmp 0x4502ad
jmp 0x4500f7
jmp 0x4500f7
mov ecx, 6
test ecx, ecx
je 0x45032a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1040], eax
cvtsi2sd xmm0, dword [ebp - 0x1040]
mov eax, dword [ebp - 0x1040]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9fb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x103c], ecx
jmp 0x450334
mov dword [ebp - 0x103c], 2
mov edx, dword [ebp - 0x1004]
shl edx, 2
add edx, dword [ebp - 0x1000]
mov eax, dword [ebp - 0x1030]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1004]
shl ecx, 2
add ecx, dword [ebp - 0x1000]
mov edx, dword [ebp - 0x103c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1004]
shl ecx, 2
add ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45063f
xor eax, eax
je 0x4503b4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4503f0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0x9fc8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x450590
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x450590
mov dword [ebp - 0x1044], 0
jmp 0x45046f
cmp dword [ebp - 0x1044], 9
jae 0x45058b
cvtsi2sd xmm0, dword [ebp - 0x1044]
movsd xmm1, qword [ebp - 0x9fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fd0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4504de
mov ecx, dword [ebp - 0x1044]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fc8], xmm1
jmp 0x4503da
cvtsi2sd xmm0, dword [ebp - 0x1044]
movsd xmm1, qword [ebp - 0x9fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fd8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9fd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45053b
mov eax, dword [ebp - 0x1044]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fc8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fc8], xmm1
jmp 0x450554
mov ecx, 1
test ecx, ecx
je 0x450550
jmp 0x45060d
jmp 0x450577
cvtsi2sd xmm0, dword [ebp - 0x1044]
movsd xmm1, qword [ebp - 0x9fc8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1048], edx
jmp 0x450617
xor eax, eax
je 0x450581
jmp 0x450590
jmp 0x4503da
jmp 0x4503da
mov ecx, 6
test ecx, ecx
je 0x45060d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x104c], eax
cvtsi2sd xmm0, dword [ebp - 0x104c]
mov eax, dword [ebp - 0x104c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9fc8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1048], ecx
jmp 0x450617
mov dword [ebp - 0x1048], 2
mov edx, dword [ebp - 0x1004]
shl edx, 2
add edx, dword [ebp - 0x1000]
mov eax, dword [ebp - 0x1048]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1004]
shl ecx, 2
add ecx, dword [ebp - 0x1000]
mov dword [ecx], eax
jmp 0x44f581
mov edx, dword [ebp - 0xffc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0xffc]
mov dword [ebp - 0x1050], eax
mov ecx, dword [ebp - 0x1050]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1054], ecx
mov edx, dword [ebp - 0x1054]
mov dword [ebp - 0x1058], edx
xor eax, eax
mov byte [ebp - 0x2a], al
lea ecx, [ebp - 0x2a]
call fcn.00424ba0
mov dword [ebp - 0x105c], eax
mov ecx, dword [ebp - 0x105c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x45177d
mov eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1060], eax
mov dword [ebp - 0x1064], 0
jmp 0x4506c9
mov ecx, dword [ebp - 0x1064]
add ecx, 1
mov dword [ebp - 0x1064], ecx
cmp dword [ebp - 0x1064], 1
jae 0x45177d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45099e
xor eax, eax
je 0x450713
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45074f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0x9fe0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4508ef
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4508ef
mov dword [ebp - 0x1068], 0
jmp 0x4507ce
cmp dword [ebp - 0x1068], 9
jae 0x4508ea
cvtsi2sd xmm0, dword [ebp - 0x1068]
movsd xmm1, qword [ebp - 0x9fe0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fe8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fe8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45083d
mov ecx, dword [ebp - 0x1068]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9fe0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fe0], xmm1
jmp 0x450739
cvtsi2sd xmm0, dword [ebp - 0x1068]
movsd xmm1, qword [ebp - 0x9fe0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ff0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0x9ff0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45089a
mov eax, dword [ebp - 0x1068]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9fe0]
addsd xmm1, xmm0
movsd qword [ebp - 0x9fe0], xmm1
jmp 0x4508b3
mov ecx, 1
test ecx, ecx
je 0x4508af
jmp 0x45096c
jmp 0x4508d6
cvtsi2sd xmm0, dword [ebp - 0x1068]
movsd xmm1, qword [ebp - 0x9fe0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x106c], edx
jmp 0x450976
xor eax, eax
je 0x4508e0
jmp 0x4508ef
jmp 0x450739
jmp 0x450739
mov ecx, 6
test ecx, ecx
je 0x45096c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1070], eax
cvtsi2sd xmm0, dword [ebp - 0x1070]
mov eax, dword [ebp - 0x1070]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9fe0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x106c], ecx
jmp 0x450976
mov dword [ebp - 0x106c], 2
mov edx, dword [ebp - 0x1064]
shl edx, 2
add edx, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x106c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1064]
shl ecx, 2
add ecx, dword [ebp - 0x1060]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4514b0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x450cab
xor eax, eax
je 0x450a20
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x450a5c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0x9ff8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x450bfc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x450bfc
mov dword [ebp - 0x1074], 0
jmp 0x450adb
cmp dword [ebp - 0x1074], 9
jae 0x450bf7
cvtsi2sd xmm0, dword [ebp - 0x1074]
movsd xmm1, qword [ebp - 0x9ff8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa000], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa000]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450b4a
mov ecx, dword [ebp - 0x1074]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0x9ff8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ff8], xmm1
jmp 0x450a46
cvtsi2sd xmm0, dword [ebp - 0x1074]
movsd xmm1, qword [ebp - 0x9ff8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa008], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa008]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450ba7
mov eax, dword [ebp - 0x1074]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0x9ff8]
addsd xmm1, xmm0
movsd qword [ebp - 0x9ff8], xmm1
jmp 0x450bc0
mov ecx, 1
test ecx, ecx
je 0x450bbc
jmp 0x450c79
jmp 0x450be3
cvtsi2sd xmm0, dword [ebp - 0x1074]
movsd xmm1, qword [ebp - 0x9ff8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1078], edx
jmp 0x450c83
xor eax, eax
je 0x450bed
jmp 0x450bfc
jmp 0x450a46
jmp 0x450a46
mov ecx, 6
test ecx, ecx
je 0x450c79
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x107c], eax
cvtsi2sd xmm0, dword [ebp - 0x107c]
mov eax, dword [ebp - 0x107c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0x9ff8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1078], ecx
jmp 0x450c83
mov dword [ebp - 0x1078], 2
mov edx, dword [ebp - 0x1064]
shl edx, 2
add edx, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x1078]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1064]
shl ecx, 2
add ecx, dword [ebp - 0x1060]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x450f73
xor eax, eax
je 0x450ce8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x450d24
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa010], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x450ec4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x450ec4
mov dword [ebp - 0x1080], 0
jmp 0x450da3
cmp dword [ebp - 0x1080], 9
jae 0x450ebf
cvtsi2sd xmm0, dword [ebp - 0x1080]
movsd xmm1, qword [ebp - 0xa010]
addsd xmm1, xmm0
movsd qword [ebp - 0xa018], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450e12
mov ecx, dword [ebp - 0x1080]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa010]
addsd xmm1, xmm0
movsd qword [ebp - 0xa010], xmm1
jmp 0x450d0e
cvtsi2sd xmm0, dword [ebp - 0x1080]
movsd xmm1, qword [ebp - 0xa010]
addsd xmm1, xmm0
movsd qword [ebp - 0xa020], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa020]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x450e6f
mov eax, dword [ebp - 0x1080]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa010]
addsd xmm1, xmm0
movsd qword [ebp - 0xa010], xmm1
jmp 0x450e88
mov ecx, 1
test ecx, ecx
je 0x450e84
jmp 0x450f41
jmp 0x450eab
cvtsi2sd xmm0, dword [ebp - 0x1080]
movsd xmm1, qword [ebp - 0xa010]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1084], edx
jmp 0x450f4b
xor eax, eax
je 0x450eb5
jmp 0x450ec4
jmp 0x450d0e
jmp 0x450d0e
mov ecx, 6
test ecx, ecx
je 0x450f41
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1088], eax
cvtsi2sd xmm0, dword [ebp - 0x1088]
mov eax, dword [ebp - 0x1088]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa010]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1084], ecx
jmp 0x450f4b
mov dword [ebp - 0x1084], 2
mov edx, dword [ebp - 0x1064]
shl edx, 2
add edx, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x1084]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1064]
shl ecx, 2
add ecx, dword [ebp - 0x1060]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1064]
add edx, 0xffffffaf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa028], xmm0
xor eax, eax
je 0x450f8d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x450fc9
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa028]
movsd qword [ebp - 0xa030], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x451169
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x451169
mov dword [ebp - 0x108c], 0
jmp 0x451048
cmp dword [ebp - 0x108c], 9
jae 0x451164
cvtsi2sd xmm0, dword [ebp - 0x108c]
movsd xmm1, qword [ebp - 0xa030]
addsd xmm1, xmm0
movsd qword [ebp - 0xa038], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4510b7
mov ecx, dword [ebp - 0x108c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa030]
addsd xmm1, xmm0
movsd qword [ebp - 0xa030], xmm1
jmp 0x450fb3
cvtsi2sd xmm0, dword [ebp - 0x108c]
movsd xmm1, qword [ebp - 0xa030]
addsd xmm1, xmm0
movsd qword [ebp - 0xa040], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa040]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451114
mov eax, dword [ebp - 0x108c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa030]
addsd xmm1, xmm0
movsd qword [ebp - 0xa030], xmm1
jmp 0x45112d
mov ecx, 1
test ecx, ecx
je 0x451129
jmp 0x4511e6
jmp 0x451150
cvtsi2sd xmm0, dword [ebp - 0x108c]
movsd xmm1, qword [ebp - 0xa030]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1090], edx
jmp 0x4511f0
xor eax, eax
je 0x45115a
jmp 0x451169
jmp 0x450fb3
jmp 0x450fb3
mov ecx, 6
test ecx, ecx
je 0x4511e6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1094], eax
cvtsi2sd xmm0, dword [ebp - 0x1094]
mov eax, dword [ebp - 0x1094]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa030]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1090], ecx
jmp 0x4511f0
mov dword [ebp - 0x1090], 2
mov edx, dword [ebp - 0x1064]
add edx, 0xffffffaf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa048], xmm0
xor eax, eax
je 0x45120a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x451246
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa048]
movsd qword [ebp - 0xa050], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4513e6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4513e6
mov dword [ebp - 0x1098], 0
jmp 0x4512c5
cmp dword [ebp - 0x1098], 9
jae 0x4513e1
cvtsi2sd xmm0, dword [ebp - 0x1098]
movsd xmm1, qword [ebp - 0xa050]
addsd xmm1, xmm0
movsd qword [ebp - 0xa058], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451334
mov ecx, dword [ebp - 0x1098]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa050]
addsd xmm1, xmm0
movsd qword [ebp - 0xa050], xmm1
jmp 0x451230
cvtsi2sd xmm0, dword [ebp - 0x1098]
movsd xmm1, qword [ebp - 0xa050]
addsd xmm1, xmm0
movsd qword [ebp - 0xa060], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa060]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451391
mov eax, dword [ebp - 0x1098]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa050]
addsd xmm1, xmm0
movsd qword [ebp - 0xa050], xmm1
jmp 0x4513aa
mov ecx, 1
test ecx, ecx
je 0x4513a6
jmp 0x451463
jmp 0x4513cd
cvtsi2sd xmm0, dword [ebp - 0x1098]
movsd xmm1, qword [ebp - 0xa050]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x109c], edx
jmp 0x45146d
xor eax, eax
je 0x4513d7
jmp 0x4513e6
jmp 0x451230
jmp 0x451230
mov ecx, 6
test ecx, ecx
je 0x451463
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x10a0], eax
cvtsi2sd xmm0, dword [ebp - 0x10a0]
mov eax, dword [ebp - 0x10a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa050]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x109c], ecx
jmp 0x45146d
mov dword [ebp - 0x109c], 2
mov edx, dword [ebp - 0x1064]
shl edx, 2
add edx, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x1090]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1064]
shl ecx, 2
add ecx, dword [ebp - 0x1060]
mov edx, dword [ebp - 0x109c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1064]
shl ecx, 2
add ecx, dword [ebp - 0x1060]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x451778
xor eax, eax
je 0x4514ed
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x451529
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa068], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4516c9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4516c9
mov dword [ebp - 0x10a4], 0
jmp 0x4515a8
cmp dword [ebp - 0x10a4], 9
jae 0x4516c4
cvtsi2sd xmm0, dword [ebp - 0x10a4]
movsd xmm1, qword [ebp - 0xa068]
addsd xmm1, xmm0
movsd qword [ebp - 0xa070], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa070]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451617
mov ecx, dword [ebp - 0x10a4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa068]
addsd xmm1, xmm0
movsd qword [ebp - 0xa068], xmm1
jmp 0x451513
cvtsi2sd xmm0, dword [ebp - 0x10a4]
movsd xmm1, qword [ebp - 0xa068]
addsd xmm1, xmm0
movsd qword [ebp - 0xa078], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa078]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451674
mov eax, dword [ebp - 0x10a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa068]
addsd xmm1, xmm0
movsd qword [ebp - 0xa068], xmm1
jmp 0x45168d
mov ecx, 1
test ecx, ecx
je 0x451689
jmp 0x451746
jmp 0x4516b0
cvtsi2sd xmm0, dword [ebp - 0x10a4]
movsd xmm1, qword [ebp - 0xa068]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x10a8], edx
jmp 0x451750
xor eax, eax
je 0x4516ba
jmp 0x4516c9
jmp 0x451513
jmp 0x451513
mov ecx, 6
test ecx, ecx
je 0x451746
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x10ac], eax
cvtsi2sd xmm0, dword [ebp - 0x10ac]
mov eax, dword [ebp - 0x10ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa068]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x10a8], ecx
jmp 0x451750
mov dword [ebp - 0x10a8], 2
mov edx, dword [ebp - 0x1064]
shl edx, 2
add edx, dword [ebp - 0x1060]
mov eax, dword [ebp - 0x10a8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1064]
shl ecx, 2
add ecx, dword [ebp - 0x1060]
mov dword [ecx], eax
jmp 0x4506ba
mov edx, dword [ebp - 0x105c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x105c]
mov dword [ebp - 0x10b0], eax
mov ecx, dword [ebp - 0x10b0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x10b4], ecx
mov edx, dword [ebp - 0x10b4]
mov dword [ebp - 0x10b8], edx
xor eax, eax
mov byte [ebp - 0x2b], al
lea ecx, [ebp - 0x2b]
call fcn.00424b70
mov dword [ebp - 0x10bc], eax
mov ecx, dword [ebp - 0x10bc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4528b6
mov eax, dword [ebp - 0x10bc]
mov dword [ebp - 0x10c0], eax
mov dword [ebp - 0x10c4], 0
jmp 0x451802
mov ecx, dword [ebp - 0x10c4]
add ecx, 1
mov dword [ebp - 0x10c4], ecx
cmp dword [ebp - 0x10c4], 1
jae 0x4528b6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x451ad7
xor eax, eax
je 0x45184c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x451888
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263b0]
movsd qword [ebp - 0xa080], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x451a28
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x451a28
mov dword [ebp - 0x10c8], 0
jmp 0x451907
cmp dword [ebp - 0x10c8], 9
jae 0x451a23
cvtsi2sd xmm0, dword [ebp - 0x10c8]
movsd xmm1, qword [ebp - 0xa080]
addsd xmm1, xmm0
movsd qword [ebp - 0xa088], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa088]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451976
mov ecx, dword [ebp - 0x10c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa080]
addsd xmm1, xmm0
movsd qword [ebp - 0xa080], xmm1
jmp 0x451872
cvtsi2sd xmm0, dword [ebp - 0x10c8]
movsd xmm1, qword [ebp - 0xa080]
addsd xmm1, xmm0
movsd qword [ebp - 0xa090], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa090]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4519d3
mov eax, dword [ebp - 0x10c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa080]
addsd xmm1, xmm0
movsd qword [ebp - 0xa080], xmm1
jmp 0x4519ec
mov ecx, 1
test ecx, ecx
je 0x4519e8
jmp 0x451aa5
jmp 0x451a0f
cvtsi2sd xmm0, dword [ebp - 0x10c8]
movsd xmm1, qword [ebp - 0xa080]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x10cc], edx
jmp 0x451aaf
xor eax, eax
je 0x451a19
jmp 0x451a28
jmp 0x451872
jmp 0x451872
mov ecx, 6
test ecx, ecx
je 0x451aa5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x10d0], eax
cvtsi2sd xmm0, dword [ebp - 0x10d0]
mov eax, dword [ebp - 0x10d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa080]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x10cc], ecx
jmp 0x451aaf
mov dword [ebp - 0x10cc], 2
mov edx, dword [ebp - 0x10c4]
shl edx, 2
add edx, dword [ebp - 0x10c0]
mov eax, dword [ebp - 0x10cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x10c4]
shl ecx, 2
add ecx, dword [ebp - 0x10c0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4525e9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x451de4
xor eax, eax
je 0x451b59
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x451b95
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0xa098], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x451d35
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x451d35
mov dword [ebp - 0x10d4], 0
jmp 0x451c14
cmp dword [ebp - 0x10d4], 9
jae 0x451d30
cvtsi2sd xmm0, dword [ebp - 0x10d4]
movsd xmm1, qword [ebp - 0xa098]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451c83
mov ecx, dword [ebp - 0x10d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa098]
addsd xmm1, xmm0
movsd qword [ebp - 0xa098], xmm1
jmp 0x451b7f
cvtsi2sd xmm0, dword [ebp - 0x10d4]
movsd xmm1, qword [ebp - 0xa098]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa0a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451ce0
mov eax, dword [ebp - 0x10d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa098]
addsd xmm1, xmm0
movsd qword [ebp - 0xa098], xmm1
jmp 0x451cf9
mov ecx, 1
test ecx, ecx
je 0x451cf5
jmp 0x451db2
jmp 0x451d1c
cvtsi2sd xmm0, dword [ebp - 0x10d4]
movsd xmm1, qword [ebp - 0xa098]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x10d8], edx
jmp 0x451dbc
xor eax, eax
je 0x451d26
jmp 0x451d35
jmp 0x451b7f
jmp 0x451b7f
mov ecx, 6
test ecx, ecx
je 0x451db2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x10dc], eax
cvtsi2sd xmm0, dword [ebp - 0x10dc]
mov eax, dword [ebp - 0x10dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa098]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x10d8], ecx
jmp 0x451dbc
mov dword [ebp - 0x10d8], 2
mov edx, dword [ebp - 0x10c4]
shl edx, 2
add edx, dword [ebp - 0x10c0]
mov eax, dword [ebp - 0x10d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x10c4]
shl ecx, 2
add ecx, dword [ebp - 0x10c0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4520ac
xor eax, eax
je 0x451e21
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x451e5d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa0b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x451ffd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x451ffd
mov dword [ebp - 0x10e0], 0
jmp 0x451edc
cmp dword [ebp - 0x10e0], 9
jae 0x451ff8
cvtsi2sd xmm0, dword [ebp - 0x10e0]
movsd xmm1, qword [ebp - 0xa0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451f4b
mov ecx, dword [ebp - 0x10e0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0b0], xmm1
jmp 0x451e47
cvtsi2sd xmm0, dword [ebp - 0x10e0]
movsd xmm1, qword [ebp - 0xa0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa0c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x451fa8
mov eax, dword [ebp - 0x10e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0b0], xmm1
jmp 0x451fc1
mov ecx, 1
test ecx, ecx
je 0x451fbd
jmp 0x45207a
jmp 0x451fe4
cvtsi2sd xmm0, dword [ebp - 0x10e0]
movsd xmm1, qword [ebp - 0xa0b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x10e4], edx
jmp 0x452084
xor eax, eax
je 0x451fee
jmp 0x451ffd
jmp 0x451e47
jmp 0x451e47
mov ecx, 6
test ecx, ecx
je 0x45207a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x10e8], eax
cvtsi2sd xmm0, dword [ebp - 0x10e8]
mov eax, dword [ebp - 0x10e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa0b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x10e4], ecx
jmp 0x452084
mov dword [ebp - 0x10e4], 2
mov edx, dword [ebp - 0x10c4]
shl edx, 2
add edx, dword [ebp - 0x10c0]
mov eax, dword [ebp - 0x10e4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x10c4]
shl ecx, 2
add ecx, dword [ebp - 0x10c0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x10c4]
add edx, 0xffffffaf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa0c8], xmm0
xor eax, eax
je 0x4520c6
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x452102
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa0c8]
movsd qword [ebp - 0xa0d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4522a2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4522a2
mov dword [ebp - 0x10ec], 0
jmp 0x452181
cmp dword [ebp - 0x10ec], 9
jae 0x45229d
cvtsi2sd xmm0, dword [ebp - 0x10ec]
movsd xmm1, qword [ebp - 0xa0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4521f0
mov ecx, dword [ebp - 0x10ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0d0], xmm1
jmp 0x4520ec
cvtsi2sd xmm0, dword [ebp - 0x10ec]
movsd xmm1, qword [ebp - 0xa0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa0e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45224d
mov eax, dword [ebp - 0x10ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0d0], xmm1
jmp 0x452266
mov ecx, 1
test ecx, ecx
je 0x452262
jmp 0x45231f
jmp 0x452289
cvtsi2sd xmm0, dword [ebp - 0x10ec]
movsd xmm1, qword [ebp - 0xa0d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x10f0], edx
jmp 0x452329
xor eax, eax
je 0x452293
jmp 0x4522a2
jmp 0x4520ec
jmp 0x4520ec
mov ecx, 6
test ecx, ecx
je 0x45231f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x10f4], eax
cvtsi2sd xmm0, dword [ebp - 0x10f4]
mov eax, dword [ebp - 0x10f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa0d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x10f0], ecx
jmp 0x452329
mov dword [ebp - 0x10f0], 2
mov edx, dword [ebp - 0x10c4]
add edx, 0xffffffaf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa0e8], xmm0
xor eax, eax
je 0x452343
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45237f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa0e8]
movsd qword [ebp - 0xa0f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45251f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45251f
mov dword [ebp - 0x10f8], 0
jmp 0x4523fe
cmp dword [ebp - 0x10f8], 9
jae 0x45251a
cvtsi2sd xmm0, dword [ebp - 0x10f8]
movsd xmm1, qword [ebp - 0xa0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45246d
mov ecx, dword [ebp - 0x10f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0f0], xmm1
jmp 0x452369
cvtsi2sd xmm0, dword [ebp - 0x10f8]
movsd xmm1, qword [ebp - 0xa0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa100], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa100]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4524ca
mov eax, dword [ebp - 0x10f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa0f0], xmm1
jmp 0x4524e3
mov ecx, 1
test ecx, ecx
je 0x4524df
jmp 0x45259c
jmp 0x452506
cvtsi2sd xmm0, dword [ebp - 0x10f8]
movsd xmm1, qword [ebp - 0xa0f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x10fc], edx
jmp 0x4525a6
xor eax, eax
je 0x452510
jmp 0x45251f
jmp 0x452369
jmp 0x452369
mov ecx, 6
test ecx, ecx
je 0x45259c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1100], eax
cvtsi2sd xmm0, dword [ebp - 0x1100]
mov eax, dword [ebp - 0x1100]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa0f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x10fc], ecx
jmp 0x4525a6
mov dword [ebp - 0x10fc], 2
mov edx, dword [ebp - 0x10c4]
shl edx, 2
add edx, dword [ebp - 0x10c0]
mov eax, dword [ebp - 0x10f0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x10c4]
shl ecx, 2
add ecx, dword [ebp - 0x10c0]
mov edx, dword [ebp - 0x10fc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x10c4]
shl ecx, 2
add ecx, dword [ebp - 0x10c0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4528b1
xor eax, eax
je 0x452626
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x452662
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa108], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x452802
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x452802
mov dword [ebp - 0x1104], 0
jmp 0x4526e1
cmp dword [ebp - 0x1104], 9
jae 0x4527fd
cvtsi2sd xmm0, dword [ebp - 0x1104]
movsd xmm1, qword [ebp - 0xa108]
addsd xmm1, xmm0
movsd qword [ebp - 0xa110], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa110]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452750
mov ecx, dword [ebp - 0x1104]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa108]
addsd xmm1, xmm0
movsd qword [ebp - 0xa108], xmm1
jmp 0x45264c
cvtsi2sd xmm0, dword [ebp - 0x1104]
movsd xmm1, qword [ebp - 0xa108]
addsd xmm1, xmm0
movsd qword [ebp - 0xa118], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa118]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4527ad
mov eax, dword [ebp - 0x1104]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa108]
addsd xmm1, xmm0
movsd qword [ebp - 0xa108], xmm1
jmp 0x4527c6
mov ecx, 1
test ecx, ecx
je 0x4527c2
jmp 0x45287f
jmp 0x4527e9
cvtsi2sd xmm0, dword [ebp - 0x1104]
movsd xmm1, qword [ebp - 0xa108]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1108], edx
jmp 0x452889
xor eax, eax
je 0x4527f3
jmp 0x452802
jmp 0x45264c
jmp 0x45264c
mov ecx, 6
test ecx, ecx
je 0x45287f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x110c], eax
cvtsi2sd xmm0, dword [ebp - 0x110c]
mov eax, dword [ebp - 0x110c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa108]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1108], ecx
jmp 0x452889
mov dword [ebp - 0x1108], 2
mov edx, dword [ebp - 0x10c4]
shl edx, 2
add edx, dword [ebp - 0x10c0]
mov eax, dword [ebp - 0x1108]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x10c4]
shl ecx, 2
add ecx, dword [ebp - 0x10c0]
mov dword [ecx], eax
jmp 0x4517f3
mov edx, dword [ebp - 0x10bc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x10bc]
mov dword [ebp - 0x1110], eax
mov ecx, dword [ebp - 0x1110]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1114], ecx
mov edx, dword [ebp - 0x1114]
mov dword [ebp - 0x1118], edx
mov eax, dword [ebp - 0x10b8]
mov dword [ebp - 0x1058], eax
cmp dword [ebp - 0x1058], 0
je 0x453a41
xor ecx, ecx
mov byte [ebp - 0x2c], cl
lea ecx, [ebp - 0x2c]
call fcn.00424b40
mov dword [ebp - 0x111c], eax
mov edx, dword [ebp - 0x111c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x453a08
mov ecx, dword [ebp - 0x111c]
mov dword [ebp - 0x1120], ecx
mov dword [ebp - 0x1124], 0
jmp 0x452954
mov edx, dword [ebp - 0x1124]
add edx, 1
mov dword [ebp - 0x1124], edx
cmp dword [ebp - 0x1124], 1
jae 0x453a08
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x452c29
xor eax, eax
je 0x45299e
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4529da
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0xa120], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x452b7a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x452b7a
mov dword [ebp - 0x1128], 0
jmp 0x452a59
cmp dword [ebp - 0x1128], 9
jae 0x452b75
cvtsi2sd xmm0, dword [ebp - 0x1128]
movsd xmm1, qword [ebp - 0xa120]
addsd xmm1, xmm0
movsd qword [ebp - 0xa128], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa128]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452ac8
mov ecx, dword [ebp - 0x1128]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa120]
addsd xmm1, xmm0
movsd qword [ebp - 0xa120], xmm1
jmp 0x4529c4
cvtsi2sd xmm0, dword [ebp - 0x1128]
movsd xmm1, qword [ebp - 0xa120]
addsd xmm1, xmm0
movsd qword [ebp - 0xa130], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa130]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452b25
mov eax, dword [ebp - 0x1128]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa120]
addsd xmm1, xmm0
movsd qword [ebp - 0xa120], xmm1
jmp 0x452b3e
mov ecx, 1
test ecx, ecx
je 0x452b3a
jmp 0x452bf7
jmp 0x452b61
cvtsi2sd xmm0, dword [ebp - 0x1128]
movsd xmm1, qword [ebp - 0xa120]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x112c], edx
jmp 0x452c01
xor eax, eax
je 0x452b6b
jmp 0x452b7a
jmp 0x4529c4
jmp 0x4529c4
mov ecx, 6
test ecx, ecx
je 0x452bf7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1130], eax
cvtsi2sd xmm0, dword [ebp - 0x1130]
mov eax, dword [ebp - 0x1130]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa120]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x112c], ecx
jmp 0x452c01
mov dword [ebp - 0x112c], 2
mov edx, dword [ebp - 0x1124]
shl edx, 2
add edx, dword [ebp - 0x1120]
mov eax, dword [ebp - 0x112c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1124]
shl ecx, 2
add ecx, dword [ebp - 0x1120]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45373b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x452f36
xor eax, eax
je 0x452cab
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x452ce7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa138], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x452e87
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x452e87
mov dword [ebp - 0x1134], 0
jmp 0x452d66
cmp dword [ebp - 0x1134], 9
jae 0x452e82
cvtsi2sd xmm0, dword [ebp - 0x1134]
movsd xmm1, qword [ebp - 0xa138]
addsd xmm1, xmm0
movsd qword [ebp - 0xa140], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa140]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452dd5
mov ecx, dword [ebp - 0x1134]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa138]
addsd xmm1, xmm0
movsd qword [ebp - 0xa138], xmm1
jmp 0x452cd1
cvtsi2sd xmm0, dword [ebp - 0x1134]
movsd xmm1, qword [ebp - 0xa138]
addsd xmm1, xmm0
movsd qword [ebp - 0xa148], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa148]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x452e32
mov eax, dword [ebp - 0x1134]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa138]
addsd xmm1, xmm0
movsd qword [ebp - 0xa138], xmm1
jmp 0x452e4b
mov ecx, 1
test ecx, ecx
je 0x452e47
jmp 0x452f04
jmp 0x452e6e
cvtsi2sd xmm0, dword [ebp - 0x1134]
movsd xmm1, qword [ebp - 0xa138]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1138], edx
jmp 0x452f0e
xor eax, eax
je 0x452e78
jmp 0x452e87
jmp 0x452cd1
jmp 0x452cd1
mov ecx, 6
test ecx, ecx
je 0x452f04
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x113c], eax
cvtsi2sd xmm0, dword [ebp - 0x113c]
mov eax, dword [ebp - 0x113c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa138]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1138], ecx
jmp 0x452f0e
mov dword [ebp - 0x1138], 2
mov edx, dword [ebp - 0x1124]
shl edx, 2
add edx, dword [ebp - 0x1120]
mov eax, dword [ebp - 0x1138]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1124]
shl ecx, 2
add ecx, dword [ebp - 0x1120]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4531fe
xor eax, eax
je 0x452f73
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x452faf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa150], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45314f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45314f
mov dword [ebp - 0x1140], 0
jmp 0x45302e
cmp dword [ebp - 0x1140], 9
jae 0x45314a
cvtsi2sd xmm0, dword [ebp - 0x1140]
movsd xmm1, qword [ebp - 0xa150]
addsd xmm1, xmm0
movsd qword [ebp - 0xa158], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45309d
mov ecx, dword [ebp - 0x1140]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa150]
addsd xmm1, xmm0
movsd qword [ebp - 0xa150], xmm1
jmp 0x452f99
cvtsi2sd xmm0, dword [ebp - 0x1140]
movsd xmm1, qword [ebp - 0xa150]
addsd xmm1, xmm0
movsd qword [ebp - 0xa160], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa160]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4530fa
mov eax, dword [ebp - 0x1140]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa150]
addsd xmm1, xmm0
movsd qword [ebp - 0xa150], xmm1
jmp 0x453113
mov ecx, 1
test ecx, ecx
je 0x45310f
jmp 0x4531cc
jmp 0x453136
cvtsi2sd xmm0, dword [ebp - 0x1140]
movsd xmm1, qword [ebp - 0xa150]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1144], edx
jmp 0x4531d6
xor eax, eax
je 0x453140
jmp 0x45314f
jmp 0x452f99
jmp 0x452f99
mov ecx, 6
test ecx, ecx
je 0x4531cc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1148], eax
cvtsi2sd xmm0, dword [ebp - 0x1148]
mov eax, dword [ebp - 0x1148]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa150]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1144], ecx
jmp 0x4531d6
mov dword [ebp - 0x1144], 2
mov edx, dword [ebp - 0x1124]
shl edx, 2
add edx, dword [ebp - 0x1120]
mov eax, dword [ebp - 0x1144]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1124]
shl ecx, 2
add ecx, dword [ebp - 0x1120]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1124]
add edx, 0xffffffb0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa168], xmm0
xor eax, eax
je 0x453218
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x453254
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa168]
movsd qword [ebp - 0xa170], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4533f4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4533f4
mov dword [ebp - 0x114c], 0
jmp 0x4532d3
cmp dword [ebp - 0x114c], 9
jae 0x4533ef
cvtsi2sd xmm0, dword [ebp - 0x114c]
movsd xmm1, qword [ebp - 0xa170]
addsd xmm1, xmm0
movsd qword [ebp - 0xa178], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453342
mov ecx, dword [ebp - 0x114c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa170]
addsd xmm1, xmm0
movsd qword [ebp - 0xa170], xmm1
jmp 0x45323e
cvtsi2sd xmm0, dword [ebp - 0x114c]
movsd xmm1, qword [ebp - 0xa170]
addsd xmm1, xmm0
movsd qword [ebp - 0xa180], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa180]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45339f
mov eax, dword [ebp - 0x114c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa170]
addsd xmm1, xmm0
movsd qword [ebp - 0xa170], xmm1
jmp 0x4533b8
mov ecx, 1
test ecx, ecx
je 0x4533b4
jmp 0x453471
jmp 0x4533db
cvtsi2sd xmm0, dword [ebp - 0x114c]
movsd xmm1, qword [ebp - 0xa170]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1150], edx
jmp 0x45347b
xor eax, eax
je 0x4533e5
jmp 0x4533f4
jmp 0x45323e
jmp 0x45323e
mov ecx, 6
test ecx, ecx
je 0x453471
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1154], eax
cvtsi2sd xmm0, dword [ebp - 0x1154]
mov eax, dword [ebp - 0x1154]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa170]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1150], ecx
jmp 0x45347b
mov dword [ebp - 0x1150], 2
mov edx, dword [ebp - 0x1124]
add edx, 0xffffffb0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa188], xmm0
xor eax, eax
je 0x453495
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4534d1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa188]
movsd qword [ebp - 0xa190], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x453671
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x453671
mov dword [ebp - 0x1158], 0
jmp 0x453550
cmp dword [ebp - 0x1158], 9
jae 0x45366c
cvtsi2sd xmm0, dword [ebp - 0x1158]
movsd xmm1, qword [ebp - 0xa190]
addsd xmm1, xmm0
movsd qword [ebp - 0xa198], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4535bf
mov ecx, dword [ebp - 0x1158]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa190]
addsd xmm1, xmm0
movsd qword [ebp - 0xa190], xmm1
jmp 0x4534bb
cvtsi2sd xmm0, dword [ebp - 0x1158]
movsd xmm1, qword [ebp - 0xa190]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa1a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45361c
mov eax, dword [ebp - 0x1158]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa190]
addsd xmm1, xmm0
movsd qword [ebp - 0xa190], xmm1
jmp 0x453635
mov ecx, 1
test ecx, ecx
je 0x453631
jmp 0x4536ee
jmp 0x453658
cvtsi2sd xmm0, dword [ebp - 0x1158]
movsd xmm1, qword [ebp - 0xa190]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x115c], edx
jmp 0x4536f8
xor eax, eax
je 0x453662
jmp 0x453671
jmp 0x4534bb
jmp 0x4534bb
mov ecx, 6
test ecx, ecx
je 0x4536ee
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1160], eax
cvtsi2sd xmm0, dword [ebp - 0x1160]
mov eax, dword [ebp - 0x1160]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa190]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x115c], ecx
jmp 0x4536f8
mov dword [ebp - 0x115c], 2
mov edx, dword [ebp - 0x1124]
shl edx, 2
add edx, dword [ebp - 0x1120]
mov eax, dword [ebp - 0x1150]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1124]
shl ecx, 2
add ecx, dword [ebp - 0x1120]
mov edx, dword [ebp - 0x115c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1124]
shl ecx, 2
add ecx, dword [ebp - 0x1120]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x453a03
xor eax, eax
je 0x453778
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4537b4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa1a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x453954
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x453954
mov dword [ebp - 0x1164], 0
jmp 0x453833
cmp dword [ebp - 0x1164], 9
jae 0x45394f
cvtsi2sd xmm0, dword [ebp - 0x1164]
movsd xmm1, qword [ebp - 0xa1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4538a2
mov ecx, dword [ebp - 0x1164]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1a8], xmm1
jmp 0x45379e
cvtsi2sd xmm0, dword [ebp - 0x1164]
movsd xmm1, qword [ebp - 0xa1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa1b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4538ff
mov eax, dword [ebp - 0x1164]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1a8], xmm1
jmp 0x453918
mov ecx, 1
test ecx, ecx
je 0x453914
jmp 0x4539d1
jmp 0x45393b
cvtsi2sd xmm0, dword [ebp - 0x1164]
movsd xmm1, qword [ebp - 0xa1a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1168], edx
jmp 0x4539db
xor eax, eax
je 0x453945
jmp 0x453954
jmp 0x45379e
jmp 0x45379e
mov ecx, 6
test ecx, ecx
je 0x4539d1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x116c], eax
cvtsi2sd xmm0, dword [ebp - 0x116c]
mov eax, dword [ebp - 0x116c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa1a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1168], ecx
jmp 0x4539db
mov dword [ebp - 0x1168], 2
mov edx, dword [ebp - 0x1124]
shl edx, 2
add edx, dword [ebp - 0x1120]
mov eax, dword [ebp - 0x1168]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1124]
shl ecx, 2
add ecx, dword [ebp - 0x1120]
mov dword [ecx], eax
jmp 0x452945
mov edx, dword [ebp - 0x111c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 0x1170], eax
mov ecx, dword [ebp - 0x1170]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1174], ecx
mov edx, dword [ebp - 0x1174]
mov dword [ebp - 0x1118], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1178], eax
xor ecx, ecx
mov byte [ebp - 0x2d], cl
lea ecx, [ebp - 0x2d]
call fcn.00424b10
mov dword [ebp - 0x117c], eax
mov edx, dword [ebp - 0x117c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x454b4a
mov ecx, dword [ebp - 0x117c]
mov dword [ebp - 0x1180], ecx
mov dword [ebp - 0x1184], 0
jmp 0x453a96
mov edx, dword [ebp - 0x1184]
add edx, 1
mov dword [ebp - 0x1184], edx
cmp dword [ebp - 0x1184], 1
jae 0x454b4a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x453d6b
xor eax, eax
je 0x453ae0
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x453b1c
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0xa1c0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x453cbc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x453cbc
mov dword [ebp - 0x1188], 0
jmp 0x453b9b
cmp dword [ebp - 0x1188], 9
jae 0x453cb7
cvtsi2sd xmm0, dword [ebp - 0x1188]
movsd xmm1, qword [ebp - 0xa1c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453c0a
mov ecx, dword [ebp - 0x1188]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa1c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1c0], xmm1
jmp 0x453b06
cvtsi2sd xmm0, dword [ebp - 0x1188]
movsd xmm1, qword [ebp - 0xa1c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa1d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453c67
mov eax, dword [ebp - 0x1188]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1c0], xmm1
jmp 0x453c80
mov ecx, 1
test ecx, ecx
je 0x453c7c
jmp 0x453d39
jmp 0x453ca3
cvtsi2sd xmm0, dword [ebp - 0x1188]
movsd xmm1, qword [ebp - 0xa1c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x118c], edx
jmp 0x453d43
xor eax, eax
je 0x453cad
jmp 0x453cbc
jmp 0x453b06
jmp 0x453b06
mov ecx, 6
test ecx, ecx
je 0x453d39
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1190], eax
cvtsi2sd xmm0, dword [ebp - 0x1190]
mov eax, dword [ebp - 0x1190]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa1c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x118c], ecx
jmp 0x453d43
mov dword [ebp - 0x118c], 2
mov edx, dword [ebp - 0x1184]
shl edx, 2
add edx, dword [ebp - 0x1180]
mov eax, dword [ebp - 0x118c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1184]
shl ecx, 2
add ecx, dword [ebp - 0x1180]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45487d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x454078
xor eax, eax
je 0x453ded
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x453e29
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa1d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x453fc9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x453fc9
mov dword [ebp - 0x1194], 0
jmp 0x453ea8
cmp dword [ebp - 0x1194], 9
jae 0x453fc4
cvtsi2sd xmm0, dword [ebp - 0x1194]
movsd xmm1, qword [ebp - 0xa1d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453f17
mov ecx, dword [ebp - 0x1194]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa1d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1d8], xmm1
jmp 0x453e13
cvtsi2sd xmm0, dword [ebp - 0x1194]
movsd xmm1, qword [ebp - 0xa1d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa1e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x453f74
mov eax, dword [ebp - 0x1194]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1d8], xmm1
jmp 0x453f8d
mov ecx, 1
test ecx, ecx
je 0x453f89
jmp 0x454046
jmp 0x453fb0
cvtsi2sd xmm0, dword [ebp - 0x1194]
movsd xmm1, qword [ebp - 0xa1d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1198], edx
jmp 0x454050
xor eax, eax
je 0x453fba
jmp 0x453fc9
jmp 0x453e13
jmp 0x453e13
mov ecx, 6
test ecx, ecx
je 0x454046
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x119c], eax
cvtsi2sd xmm0, dword [ebp - 0x119c]
mov eax, dword [ebp - 0x119c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa1d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1198], ecx
jmp 0x454050
mov dword [ebp - 0x1198], 2
mov edx, dword [ebp - 0x1184]
shl edx, 2
add edx, dword [ebp - 0x1180]
mov eax, dword [ebp - 0x1198]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1184]
shl ecx, 2
add ecx, dword [ebp - 0x1180]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x454340
xor eax, eax
je 0x4540b5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4540f1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa1f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x454291
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x454291
mov dword [ebp - 0x11a0], 0
jmp 0x454170
cmp dword [ebp - 0x11a0], 9
jae 0x45428c
cvtsi2sd xmm0, dword [ebp - 0x11a0]
movsd xmm1, qword [ebp - 0xa1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4541df
mov ecx, dword [ebp - 0x11a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1f0], xmm1
jmp 0x4540db
cvtsi2sd xmm0, dword [ebp - 0x11a0]
movsd xmm1, qword [ebp - 0xa1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa200], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa200]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45423c
mov eax, dword [ebp - 0x11a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa1f0], xmm1
jmp 0x454255
mov ecx, 1
test ecx, ecx
je 0x454251
jmp 0x45430e
jmp 0x454278
cvtsi2sd xmm0, dword [ebp - 0x11a0]
movsd xmm1, qword [ebp - 0xa1f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x11a4], edx
jmp 0x454318
xor eax, eax
je 0x454282
jmp 0x454291
jmp 0x4540db
jmp 0x4540db
mov ecx, 6
test ecx, ecx
je 0x45430e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x11a8], eax
cvtsi2sd xmm0, dword [ebp - 0x11a8]
mov eax, dword [ebp - 0x11a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa1f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x11a4], ecx
jmp 0x454318
mov dword [ebp - 0x11a4], 2
mov edx, dword [ebp - 0x1184]
shl edx, 2
add edx, dword [ebp - 0x1180]
mov eax, dword [ebp - 0x11a4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1184]
shl ecx, 2
add ecx, dword [ebp - 0x1180]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1184]
add edx, 0xffffffb0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa208], xmm0
xor eax, eax
je 0x45435a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x454396
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa208]
movsd qword [ebp - 0xa210], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x454536
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x454536
mov dword [ebp - 0x11ac], 0
jmp 0x454415
cmp dword [ebp - 0x11ac], 9
jae 0x454531
cvtsi2sd xmm0, dword [ebp - 0x11ac]
movsd xmm1, qword [ebp - 0xa210]
addsd xmm1, xmm0
movsd qword [ebp - 0xa218], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454484
mov ecx, dword [ebp - 0x11ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa210]
addsd xmm1, xmm0
movsd qword [ebp - 0xa210], xmm1
jmp 0x454380
cvtsi2sd xmm0, dword [ebp - 0x11ac]
movsd xmm1, qword [ebp - 0xa210]
addsd xmm1, xmm0
movsd qword [ebp - 0xa220], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa220]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4544e1
mov eax, dword [ebp - 0x11ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa210]
addsd xmm1, xmm0
movsd qword [ebp - 0xa210], xmm1
jmp 0x4544fa
mov ecx, 1
test ecx, ecx
je 0x4544f6
jmp 0x4545b3
jmp 0x45451d
cvtsi2sd xmm0, dword [ebp - 0x11ac]
movsd xmm1, qword [ebp - 0xa210]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x11b0], edx
jmp 0x4545bd
xor eax, eax
je 0x454527
jmp 0x454536
jmp 0x454380
jmp 0x454380
mov ecx, 6
test ecx, ecx
je 0x4545b3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x11b4], eax
cvtsi2sd xmm0, dword [ebp - 0x11b4]
mov eax, dword [ebp - 0x11b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa210]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x11b0], ecx
jmp 0x4545bd
mov dword [ebp - 0x11b0], 2
mov edx, dword [ebp - 0x1184]
add edx, 0xffffffb0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa228], xmm0
xor eax, eax
je 0x4545d7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x454613
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa228]
movsd qword [ebp - 0xa230], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4547b3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4547b3
mov dword [ebp - 0x11b8], 0
jmp 0x454692
cmp dword [ebp - 0x11b8], 9
jae 0x4547ae
cvtsi2sd xmm0, dword [ebp - 0x11b8]
movsd xmm1, qword [ebp - 0xa230]
addsd xmm1, xmm0
movsd qword [ebp - 0xa238], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454701
mov ecx, dword [ebp - 0x11b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa230]
addsd xmm1, xmm0
movsd qword [ebp - 0xa230], xmm1
jmp 0x4545fd
cvtsi2sd xmm0, dword [ebp - 0x11b8]
movsd xmm1, qword [ebp - 0xa230]
addsd xmm1, xmm0
movsd qword [ebp - 0xa240], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa240]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45475e
mov eax, dword [ebp - 0x11b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa230]
addsd xmm1, xmm0
movsd qword [ebp - 0xa230], xmm1
jmp 0x454777
mov ecx, 1
test ecx, ecx
je 0x454773
jmp 0x454830
jmp 0x45479a
cvtsi2sd xmm0, dword [ebp - 0x11b8]
movsd xmm1, qword [ebp - 0xa230]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x11bc], edx
jmp 0x45483a
xor eax, eax
je 0x4547a4
jmp 0x4547b3
jmp 0x4545fd
jmp 0x4545fd
mov ecx, 6
test ecx, ecx
je 0x454830
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x11c0], eax
cvtsi2sd xmm0, dword [ebp - 0x11c0]
mov eax, dword [ebp - 0x11c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa230]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x11bc], ecx
jmp 0x45483a
mov dword [ebp - 0x11bc], 2
mov edx, dword [ebp - 0x1184]
shl edx, 2
add edx, dword [ebp - 0x1180]
mov eax, dword [ebp - 0x11b0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1184]
shl ecx, 2
add ecx, dword [ebp - 0x1180]
mov edx, dword [ebp - 0x11bc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1184]
shl ecx, 2
add ecx, dword [ebp - 0x1180]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x454b45
xor eax, eax
je 0x4548ba
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4548f6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa248], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x454a96
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x454a96
mov dword [ebp - 0x11c4], 0
jmp 0x454975
cmp dword [ebp - 0x11c4], 9
jae 0x454a91
cvtsi2sd xmm0, dword [ebp - 0x11c4]
movsd xmm1, qword [ebp - 0xa248]
addsd xmm1, xmm0
movsd qword [ebp - 0xa250], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa250]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4549e4
mov ecx, dword [ebp - 0x11c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa248]
addsd xmm1, xmm0
movsd qword [ebp - 0xa248], xmm1
jmp 0x4548e0
cvtsi2sd xmm0, dword [ebp - 0x11c4]
movsd xmm1, qword [ebp - 0xa248]
addsd xmm1, xmm0
movsd qword [ebp - 0xa258], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454a41
mov eax, dword [ebp - 0x11c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa248]
addsd xmm1, xmm0
movsd qword [ebp - 0xa248], xmm1
jmp 0x454a5a
mov ecx, 1
test ecx, ecx
je 0x454a56
jmp 0x454b13
jmp 0x454a7d
cvtsi2sd xmm0, dword [ebp - 0x11c4]
movsd xmm1, qword [ebp - 0xa248]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x11c8], edx
jmp 0x454b1d
xor eax, eax
je 0x454a87
jmp 0x454a96
jmp 0x4548e0
jmp 0x4548e0
mov ecx, 6
test ecx, ecx
je 0x454b13
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x11cc], eax
cvtsi2sd xmm0, dword [ebp - 0x11cc]
mov eax, dword [ebp - 0x11cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa248]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x11c8], ecx
jmp 0x454b1d
mov dword [ebp - 0x11c8], 2
mov edx, dword [ebp - 0x1184]
shl edx, 2
add edx, dword [ebp - 0x1180]
mov eax, dword [ebp - 0x11c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1184]
shl ecx, 2
add ecx, dword [ebp - 0x1180]
mov dword [ecx], eax
jmp 0x453a87
mov edx, dword [ebp - 0x117c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x117c]
mov dword [ebp - 0x11d0], eax
mov ecx, dword [ebp - 0x11d0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x11d4], ecx
mov edx, dword [ebp - 0x11d4]
mov dword [ebp - 0x11d8], edx
xor eax, eax
mov byte [ebp - 0x2e], al
lea ecx, [ebp - 0x2e]
call fcn.00424ae0
mov dword [ebp - 0x11dc], eax
mov ecx, dword [ebp - 0x11dc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x455c83
mov eax, dword [ebp - 0x11dc]
mov dword [ebp - 0x11e0], eax
mov dword [ebp - 0x11e4], 0
jmp 0x454bcf
mov ecx, dword [ebp - 0x11e4]
add ecx, 1
mov dword [ebp - 0x11e4], ecx
cmp dword [ebp - 0x11e4], 1
jae 0x455c83
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x454ea4
xor eax, eax
je 0x454c19
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x454c55
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a8]
movsd qword [ebp - 0xa260], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x454df5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x454df5
mov dword [ebp - 0x11e8], 0
jmp 0x454cd4
cmp dword [ebp - 0x11e8], 9
jae 0x454df0
cvtsi2sd xmm0, dword [ebp - 0x11e8]
movsd xmm1, qword [ebp - 0xa260]
addsd xmm1, xmm0
movsd qword [ebp - 0xa268], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa268]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454d43
mov ecx, dword [ebp - 0x11e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa260]
addsd xmm1, xmm0
movsd qword [ebp - 0xa260], xmm1
jmp 0x454c3f
cvtsi2sd xmm0, dword [ebp - 0x11e8]
movsd xmm1, qword [ebp - 0xa260]
addsd xmm1, xmm0
movsd qword [ebp - 0xa270], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa270]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x454da0
mov eax, dword [ebp - 0x11e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa260]
addsd xmm1, xmm0
movsd qword [ebp - 0xa260], xmm1
jmp 0x454db9
mov ecx, 1
test ecx, ecx
je 0x454db5
jmp 0x454e72
jmp 0x454ddc
cvtsi2sd xmm0, dword [ebp - 0x11e8]
movsd xmm1, qword [ebp - 0xa260]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x11ec], edx
jmp 0x454e7c
xor eax, eax
je 0x454de6
jmp 0x454df5
jmp 0x454c3f
jmp 0x454c3f
mov ecx, 6
test ecx, ecx
je 0x454e72
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x11f0], eax
cvtsi2sd xmm0, dword [ebp - 0x11f0]
mov eax, dword [ebp - 0x11f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa260]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x11ec], ecx
jmp 0x454e7c
mov dword [ebp - 0x11ec], 2
mov edx, dword [ebp - 0x11e4]
shl edx, 2
add edx, dword [ebp - 0x11e0]
mov eax, dword [ebp - 0x11ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x11e4]
shl ecx, 2
add ecx, dword [ebp - 0x11e0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4559b6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4551b1
xor eax, eax
je 0x454f26
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x454f62
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa278], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x455102
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x455102
mov dword [ebp - 0x11f4], 0
jmp 0x454fe1
cmp dword [ebp - 0x11f4], 9
jae 0x4550fd
cvtsi2sd xmm0, dword [ebp - 0x11f4]
movsd xmm1, qword [ebp - 0xa278]
addsd xmm1, xmm0
movsd qword [ebp - 0xa280], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa280]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455050
mov ecx, dword [ebp - 0x11f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa278]
addsd xmm1, xmm0
movsd qword [ebp - 0xa278], xmm1
jmp 0x454f4c
cvtsi2sd xmm0, dword [ebp - 0x11f4]
movsd xmm1, qword [ebp - 0xa278]
addsd xmm1, xmm0
movsd qword [ebp - 0xa288], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa288]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4550ad
mov eax, dword [ebp - 0x11f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa278]
addsd xmm1, xmm0
movsd qword [ebp - 0xa278], xmm1
jmp 0x4550c6
mov ecx, 1
test ecx, ecx
je 0x4550c2
jmp 0x45517f
jmp 0x4550e9
cvtsi2sd xmm0, dword [ebp - 0x11f4]
movsd xmm1, qword [ebp - 0xa278]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x11f8], edx
jmp 0x455189
xor eax, eax
je 0x4550f3
jmp 0x455102
jmp 0x454f4c
jmp 0x454f4c
mov ecx, 6
test ecx, ecx
je 0x45517f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x11fc], eax
cvtsi2sd xmm0, dword [ebp - 0x11fc]
mov eax, dword [ebp - 0x11fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa278]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x11f8], ecx
jmp 0x455189
mov dword [ebp - 0x11f8], 2
mov edx, dword [ebp - 0x11e4]
shl edx, 2
add edx, dword [ebp - 0x11e0]
mov eax, dword [ebp - 0x11f8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x11e4]
shl ecx, 2
add ecx, dword [ebp - 0x11e0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x455479
xor eax, eax
je 0x4551ee
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45522a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa290], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4553ca
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4553ca
mov dword [ebp - 0x1200], 0
jmp 0x4552a9
cmp dword [ebp - 0x1200], 9
jae 0x4553c5
cvtsi2sd xmm0, dword [ebp - 0x1200]
movsd xmm1, qword [ebp - 0xa290]
addsd xmm1, xmm0
movsd qword [ebp - 0xa298], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455318
mov ecx, dword [ebp - 0x1200]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa290]
addsd xmm1, xmm0
movsd qword [ebp - 0xa290], xmm1
jmp 0x455214
cvtsi2sd xmm0, dword [ebp - 0x1200]
movsd xmm1, qword [ebp - 0xa290]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa2a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455375
mov eax, dword [ebp - 0x1200]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa290]
addsd xmm1, xmm0
movsd qword [ebp - 0xa290], xmm1
jmp 0x45538e
mov ecx, 1
test ecx, ecx
je 0x45538a
jmp 0x455447
jmp 0x4553b1
cvtsi2sd xmm0, dword [ebp - 0x1200]
movsd xmm1, qword [ebp - 0xa290]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1204], edx
jmp 0x455451
xor eax, eax
je 0x4553bb
jmp 0x4553ca
jmp 0x455214
jmp 0x455214
mov ecx, 6
test ecx, ecx
je 0x455447
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1208], eax
cvtsi2sd xmm0, dword [ebp - 0x1208]
mov eax, dword [ebp - 0x1208]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa290]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1204], ecx
jmp 0x455451
mov dword [ebp - 0x1204], 2
mov edx, dword [ebp - 0x11e4]
shl edx, 2
add edx, dword [ebp - 0x11e0]
mov eax, dword [ebp - 0x1204]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x11e4]
shl ecx, 2
add ecx, dword [ebp - 0x11e0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x11e4]
add edx, 0xffffffb0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa2a8], xmm0
xor eax, eax
je 0x455493
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4554cf
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa2a8]
movsd qword [ebp - 0xa2b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45566f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45566f
mov dword [ebp - 0x120c], 0
jmp 0x45554e
cmp dword [ebp - 0x120c], 9
jae 0x45566a
cvtsi2sd xmm0, dword [ebp - 0x120c]
movsd xmm1, qword [ebp - 0xa2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4555bd
mov ecx, dword [ebp - 0x120c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2b0], xmm1
jmp 0x4554b9
cvtsi2sd xmm0, dword [ebp - 0x120c]
movsd xmm1, qword [ebp - 0xa2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa2c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45561a
mov eax, dword [ebp - 0x120c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2b0], xmm1
jmp 0x455633
mov ecx, 1
test ecx, ecx
je 0x45562f
jmp 0x4556ec
jmp 0x455656
cvtsi2sd xmm0, dword [ebp - 0x120c]
movsd xmm1, qword [ebp - 0xa2b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1210], edx
jmp 0x4556f6
xor eax, eax
je 0x455660
jmp 0x45566f
jmp 0x4554b9
jmp 0x4554b9
mov ecx, 6
test ecx, ecx
je 0x4556ec
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1214], eax
cvtsi2sd xmm0, dword [ebp - 0x1214]
mov eax, dword [ebp - 0x1214]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa2b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1210], ecx
jmp 0x4556f6
mov dword [ebp - 0x1210], 2
mov edx, dword [ebp - 0x11e4]
add edx, 0xffffffb0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa2c8], xmm0
xor eax, eax
je 0x455710
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45574c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa2c8]
movsd qword [ebp - 0xa2d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4558ec
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4558ec
mov dword [ebp - 0x1218], 0
jmp 0x4557cb
cmp dword [ebp - 0x1218], 9
jae 0x4558e7
cvtsi2sd xmm0, dword [ebp - 0x1218]
movsd xmm1, qword [ebp - 0xa2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45583a
mov ecx, dword [ebp - 0x1218]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2d0], xmm1
jmp 0x455736
cvtsi2sd xmm0, dword [ebp - 0x1218]
movsd xmm1, qword [ebp - 0xa2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa2e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455897
mov eax, dword [ebp - 0x1218]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2d0], xmm1
jmp 0x4558b0
mov ecx, 1
test ecx, ecx
je 0x4558ac
jmp 0x455969
jmp 0x4558d3
cvtsi2sd xmm0, dword [ebp - 0x1218]
movsd xmm1, qword [ebp - 0xa2d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x121c], edx
jmp 0x455973
xor eax, eax
je 0x4558dd
jmp 0x4558ec
jmp 0x455736
jmp 0x455736
mov ecx, 6
test ecx, ecx
je 0x455969
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1220], eax
cvtsi2sd xmm0, dword [ebp - 0x1220]
mov eax, dword [ebp - 0x1220]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa2d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x121c], ecx
jmp 0x455973
mov dword [ebp - 0x121c], 2
mov edx, dword [ebp - 0x11e4]
shl edx, 2
add edx, dword [ebp - 0x11e0]
mov eax, dword [ebp - 0x1210]
add eax, dword [edx]
mov ecx, dword [ebp - 0x11e4]
shl ecx, 2
add ecx, dword [ebp - 0x11e0]
mov edx, dword [ebp - 0x121c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x11e4]
shl ecx, 2
add ecx, dword [ebp - 0x11e0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x455c7e
xor eax, eax
je 0x4559f3
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x455a2f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa2e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x455bcf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x455bcf
mov dword [ebp - 0x1224], 0
jmp 0x455aae
cmp dword [ebp - 0x1224], 9
jae 0x455bca
cvtsi2sd xmm0, dword [ebp - 0x1224]
movsd xmm1, qword [ebp - 0xa2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455b1d
mov ecx, dword [ebp - 0x1224]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2e8], xmm1
jmp 0x455a19
cvtsi2sd xmm0, dword [ebp - 0x1224]
movsd xmm1, qword [ebp - 0xa2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa2f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455b7a
mov eax, dword [ebp - 0x1224]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa2e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa2e8], xmm1
jmp 0x455b93
mov ecx, 1
test ecx, ecx
je 0x455b8f
jmp 0x455c4c
jmp 0x455bb6
cvtsi2sd xmm0, dword [ebp - 0x1224]
movsd xmm1, qword [ebp - 0xa2e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1228], edx
jmp 0x455c56
xor eax, eax
je 0x455bc0
jmp 0x455bcf
jmp 0x455a19
jmp 0x455a19
mov ecx, 6
test ecx, ecx
je 0x455c4c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x122c], eax
cvtsi2sd xmm0, dword [ebp - 0x122c]
mov eax, dword [ebp - 0x122c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa2e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1228], ecx
jmp 0x455c56
mov dword [ebp - 0x1228], 2
mov edx, dword [ebp - 0x11e4]
shl edx, 2
add edx, dword [ebp - 0x11e0]
mov eax, dword [ebp - 0x1228]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x11e4]
shl ecx, 2
add ecx, dword [ebp - 0x11e0]
mov dword [ecx], eax
jmp 0x454bc0
mov edx, dword [ebp - 0x11dc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x11dc]
mov dword [ebp - 0x1230], eax
mov ecx, dword [ebp - 0x1230]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1234], ecx
mov edx, dword [ebp - 0x1234]
mov dword [ebp - 0x1238], edx
xor eax, eax
mov byte [ebp - 0x2f], al
lea ecx, [ebp - 0x2f]
call fcn.00424ab0
mov dword [ebp - 0x123c], eax
mov ecx, dword [ebp - 0x123c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x456dbc
mov eax, dword [ebp - 0x123c]
mov dword [ebp - 0x1240], eax
mov dword [ebp - 0x1244], 0
jmp 0x455d08
mov ecx, dword [ebp - 0x1244]
add ecx, 1
mov dword [ebp - 0x1244], ecx
cmp dword [ebp - 0x1244], 1
jae 0x456dbc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x455fdd
xor eax, eax
je 0x455d52
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x455d8e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa300], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x455f2e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x455f2e
mov dword [ebp - 0x1248], 0
jmp 0x455e0d
cmp dword [ebp - 0x1248], 9
jae 0x455f29
cvtsi2sd xmm0, dword [ebp - 0x1248]
movsd xmm1, qword [ebp - 0xa300]
addsd xmm1, xmm0
movsd qword [ebp - 0xa308], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa308]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455e7c
mov ecx, dword [ebp - 0x1248]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa300]
addsd xmm1, xmm0
movsd qword [ebp - 0xa300], xmm1
jmp 0x455d78
cvtsi2sd xmm0, dword [ebp - 0x1248]
movsd xmm1, qword [ebp - 0xa300]
addsd xmm1, xmm0
movsd qword [ebp - 0xa310], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa310]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x455ed9
mov eax, dword [ebp - 0x1248]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa300]
addsd xmm1, xmm0
movsd qword [ebp - 0xa300], xmm1
jmp 0x455ef2
mov ecx, 1
test ecx, ecx
je 0x455eee
jmp 0x455fab
jmp 0x455f15
cvtsi2sd xmm0, dword [ebp - 0x1248]
movsd xmm1, qword [ebp - 0xa300]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x124c], edx
jmp 0x455fb5
xor eax, eax
je 0x455f1f
jmp 0x455f2e
jmp 0x455d78
jmp 0x455d78
mov ecx, 6
test ecx, ecx
je 0x455fab
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1250], eax
cvtsi2sd xmm0, dword [ebp - 0x1250]
mov eax, dword [ebp - 0x1250]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa300]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x124c], ecx
jmp 0x455fb5
mov dword [ebp - 0x124c], 2
mov edx, dword [ebp - 0x1244]
shl edx, 2
add edx, dword [ebp - 0x1240]
mov eax, dword [ebp - 0x124c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1244]
shl ecx, 2
add ecx, dword [ebp - 0x1240]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x456aef
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4562ea
xor eax, eax
je 0x45605f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45609b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa318], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45623b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45623b
mov dword [ebp - 0x1254], 0
jmp 0x45611a
cmp dword [ebp - 0x1254], 9
jae 0x456236
cvtsi2sd xmm0, dword [ebp - 0x1254]
movsd xmm1, qword [ebp - 0xa318]
addsd xmm1, xmm0
movsd qword [ebp - 0xa320], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa320]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456189
mov ecx, dword [ebp - 0x1254]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa318]
addsd xmm1, xmm0
movsd qword [ebp - 0xa318], xmm1
jmp 0x456085
cvtsi2sd xmm0, dword [ebp - 0x1254]
movsd xmm1, qword [ebp - 0xa318]
addsd xmm1, xmm0
movsd qword [ebp - 0xa328], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa328]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4561e6
mov eax, dword [ebp - 0x1254]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa318]
addsd xmm1, xmm0
movsd qword [ebp - 0xa318], xmm1
jmp 0x4561ff
mov ecx, 1
test ecx, ecx
je 0x4561fb
jmp 0x4562b8
jmp 0x456222
cvtsi2sd xmm0, dword [ebp - 0x1254]
movsd xmm1, qword [ebp - 0xa318]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1258], edx
jmp 0x4562c2
xor eax, eax
je 0x45622c
jmp 0x45623b
jmp 0x456085
jmp 0x456085
mov ecx, 6
test ecx, ecx
je 0x4562b8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x125c], eax
cvtsi2sd xmm0, dword [ebp - 0x125c]
mov eax, dword [ebp - 0x125c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa318]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1258], ecx
jmp 0x4562c2
mov dword [ebp - 0x1258], 2
mov edx, dword [ebp - 0x1244]
shl edx, 2
add edx, dword [ebp - 0x1240]
mov eax, dword [ebp - 0x1258]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1244]
shl ecx, 2
add ecx, dword [ebp - 0x1240]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4565b2
xor eax, eax
je 0x456327
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x456363
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa330], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x456503
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x456503
mov dword [ebp - 0x1260], 0
jmp 0x4563e2
cmp dword [ebp - 0x1260], 9
jae 0x4564fe
cvtsi2sd xmm0, dword [ebp - 0x1260]
movsd xmm1, qword [ebp - 0xa330]
addsd xmm1, xmm0
movsd qword [ebp - 0xa338], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456451
mov ecx, dword [ebp - 0x1260]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa330]
addsd xmm1, xmm0
movsd qword [ebp - 0xa330], xmm1
jmp 0x45634d
cvtsi2sd xmm0, dword [ebp - 0x1260]
movsd xmm1, qword [ebp - 0xa330]
addsd xmm1, xmm0
movsd qword [ebp - 0xa340], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa340]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4564ae
mov eax, dword [ebp - 0x1260]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa330]
addsd xmm1, xmm0
movsd qword [ebp - 0xa330], xmm1
jmp 0x4564c7
mov ecx, 1
test ecx, ecx
je 0x4564c3
jmp 0x456580
jmp 0x4564ea
cvtsi2sd xmm0, dword [ebp - 0x1260]
movsd xmm1, qword [ebp - 0xa330]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1264], edx
jmp 0x45658a
xor eax, eax
je 0x4564f4
jmp 0x456503
jmp 0x45634d
jmp 0x45634d
mov ecx, 6
test ecx, ecx
je 0x456580
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1268], eax
cvtsi2sd xmm0, dword [ebp - 0x1268]
mov eax, dword [ebp - 0x1268]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa330]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1264], ecx
jmp 0x45658a
mov dword [ebp - 0x1264], 2
mov edx, dword [ebp - 0x1244]
shl edx, 2
add edx, dword [ebp - 0x1240]
mov eax, dword [ebp - 0x1264]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1244]
shl ecx, 2
add ecx, dword [ebp - 0x1240]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1244]
add edx, 0xffffffb1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa348], xmm0
xor eax, eax
je 0x4565cc
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x456608
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa348]
movsd qword [ebp - 0xa350], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4567a8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4567a8
mov dword [ebp - 0x126c], 0
jmp 0x456687
cmp dword [ebp - 0x126c], 9
jae 0x4567a3
cvtsi2sd xmm0, dword [ebp - 0x126c]
movsd xmm1, qword [ebp - 0xa350]
addsd xmm1, xmm0
movsd qword [ebp - 0xa358], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4566f6
mov ecx, dword [ebp - 0x126c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa350]
addsd xmm1, xmm0
movsd qword [ebp - 0xa350], xmm1
jmp 0x4565f2
cvtsi2sd xmm0, dword [ebp - 0x126c]
movsd xmm1, qword [ebp - 0xa350]
addsd xmm1, xmm0
movsd qword [ebp - 0xa360], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa360]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456753
mov eax, dword [ebp - 0x126c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa350]
addsd xmm1, xmm0
movsd qword [ebp - 0xa350], xmm1
jmp 0x45676c
mov ecx, 1
test ecx, ecx
je 0x456768
jmp 0x456825
jmp 0x45678f
cvtsi2sd xmm0, dword [ebp - 0x126c]
movsd xmm1, qword [ebp - 0xa350]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1270], edx
jmp 0x45682f
xor eax, eax
je 0x456799
jmp 0x4567a8
jmp 0x4565f2
jmp 0x4565f2
mov ecx, 6
test ecx, ecx
je 0x456825
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1274], eax
cvtsi2sd xmm0, dword [ebp - 0x1274]
mov eax, dword [ebp - 0x1274]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa350]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1270], ecx
jmp 0x45682f
mov dword [ebp - 0x1270], 2
mov edx, dword [ebp - 0x1244]
add edx, 0xffffffb1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa368], xmm0
xor eax, eax
je 0x456849
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x456885
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa368]
movsd qword [ebp - 0xa370], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x456a25
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x456a25
mov dword [ebp - 0x1278], 0
jmp 0x456904
cmp dword [ebp - 0x1278], 9
jae 0x456a20
cvtsi2sd xmm0, dword [ebp - 0x1278]
movsd xmm1, qword [ebp - 0xa370]
addsd xmm1, xmm0
movsd qword [ebp - 0xa378], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456973
mov ecx, dword [ebp - 0x1278]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa370]
addsd xmm1, xmm0
movsd qword [ebp - 0xa370], xmm1
jmp 0x45686f
cvtsi2sd xmm0, dword [ebp - 0x1278]
movsd xmm1, qword [ebp - 0xa370]
addsd xmm1, xmm0
movsd qword [ebp - 0xa380], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa380]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4569d0
mov eax, dword [ebp - 0x1278]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa370]
addsd xmm1, xmm0
movsd qword [ebp - 0xa370], xmm1
jmp 0x4569e9
mov ecx, 1
test ecx, ecx
je 0x4569e5
jmp 0x456aa2
jmp 0x456a0c
cvtsi2sd xmm0, dword [ebp - 0x1278]
movsd xmm1, qword [ebp - 0xa370]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x127c], edx
jmp 0x456aac
xor eax, eax
je 0x456a16
jmp 0x456a25
jmp 0x45686f
jmp 0x45686f
mov ecx, 6
test ecx, ecx
je 0x456aa2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1280], eax
cvtsi2sd xmm0, dword [ebp - 0x1280]
mov eax, dword [ebp - 0x1280]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa370]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x127c], ecx
jmp 0x456aac
mov dword [ebp - 0x127c], 2
mov edx, dword [ebp - 0x1244]
shl edx, 2
add edx, dword [ebp - 0x1240]
mov eax, dword [ebp - 0x1270]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1244]
shl ecx, 2
add ecx, dword [ebp - 0x1240]
mov edx, dword [ebp - 0x127c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1244]
shl ecx, 2
add ecx, dword [ebp - 0x1240]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x456db7
xor eax, eax
je 0x456b2c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x456b68
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa388], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x456d08
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x456d08
mov dword [ebp - 0x1284], 0
jmp 0x456be7
cmp dword [ebp - 0x1284], 9
jae 0x456d03
cvtsi2sd xmm0, dword [ebp - 0x1284]
movsd xmm1, qword [ebp - 0xa388]
addsd xmm1, xmm0
movsd qword [ebp - 0xa390], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456c56
mov ecx, dword [ebp - 0x1284]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa388]
addsd xmm1, xmm0
movsd qword [ebp - 0xa388], xmm1
jmp 0x456b52
cvtsi2sd xmm0, dword [ebp - 0x1284]
movsd xmm1, qword [ebp - 0xa388]
addsd xmm1, xmm0
movsd qword [ebp - 0xa398], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456cb3
mov eax, dword [ebp - 0x1284]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa388]
addsd xmm1, xmm0
movsd qword [ebp - 0xa388], xmm1
jmp 0x456ccc
mov ecx, 1
test ecx, ecx
je 0x456cc8
jmp 0x456d85
jmp 0x456cef
cvtsi2sd xmm0, dword [ebp - 0x1284]
movsd xmm1, qword [ebp - 0xa388]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1288], edx
jmp 0x456d8f
xor eax, eax
je 0x456cf9
jmp 0x456d08
jmp 0x456b52
jmp 0x456b52
mov ecx, 6
test ecx, ecx
je 0x456d85
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x128c], eax
cvtsi2sd xmm0, dword [ebp - 0x128c]
mov eax, dword [ebp - 0x128c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa388]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1288], ecx
jmp 0x456d8f
mov dword [ebp - 0x1288], 2
mov edx, dword [ebp - 0x1244]
shl edx, 2
add edx, dword [ebp - 0x1240]
mov eax, dword [ebp - 0x1288]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1244]
shl ecx, 2
add ecx, dword [ebp - 0x1240]
mov dword [ecx], eax
jmp 0x455cf9
mov edx, dword [ebp - 0x123c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x123c]
mov dword [ebp - 0x1290], eax
mov ecx, dword [ebp - 0x1290]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1294], ecx
mov edx, dword [ebp - 0x1294]
mov dword [ebp - 0x1298], edx
mov eax, dword [ebp - 0x1238]
mov dword [ebp - 0x11d8], eax
cmp dword [ebp - 0x11d8], 0
je 0x457f47
xor ecx, ecx
mov byte [ebp - 0x30], cl
lea ecx, [ebp - 0x30]
call fcn.00424a80
mov dword [ebp - 0x129c], eax
mov edx, dword [ebp - 0x129c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x457f0e
mov ecx, dword [ebp - 0x129c]
mov dword [ebp - 0x12a0], ecx
mov dword [ebp - 0x12a4], 0
jmp 0x456e5a
mov edx, dword [ebp - 0x12a4]
add edx, 1
mov dword [ebp - 0x12a4], edx
cmp dword [ebp - 0x12a4], 1
jae 0x457f0e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45712f
xor eax, eax
je 0x456ea4
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x456ee0
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7263a0]
movsd qword [ebp - 0xa3a0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x457080
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x457080
mov dword [ebp - 0x12a8], 0
jmp 0x456f5f
cmp dword [ebp - 0x12a8], 9
jae 0x45707b
cvtsi2sd xmm0, dword [ebp - 0x12a8]
movsd xmm1, qword [ebp - 0xa3a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x456fce
mov ecx, dword [ebp - 0x12a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa3a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3a0], xmm1
jmp 0x456eca
cvtsi2sd xmm0, dword [ebp - 0x12a8]
movsd xmm1, qword [ebp - 0xa3a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa3b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45702b
mov eax, dword [ebp - 0x12a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3a0], xmm1
jmp 0x457044
mov ecx, 1
test ecx, ecx
je 0x457040
jmp 0x4570fd
jmp 0x457067
cvtsi2sd xmm0, dword [ebp - 0x12a8]
movsd xmm1, qword [ebp - 0xa3a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x12ac], edx
jmp 0x457107
xor eax, eax
je 0x457071
jmp 0x457080
jmp 0x456eca
jmp 0x456eca
mov ecx, 6
test ecx, ecx
je 0x4570fd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x12b0], eax
cvtsi2sd xmm0, dword [ebp - 0x12b0]
mov eax, dword [ebp - 0x12b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa3a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x12ac], ecx
jmp 0x457107
mov dword [ebp - 0x12ac], 2
mov edx, dword [ebp - 0x12a4]
shl edx, 2
add edx, dword [ebp - 0x12a0]
mov eax, dword [ebp - 0x12ac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x457c41
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45743c
xor eax, eax
je 0x4571b1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4571ed
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa3b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45738d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45738d
mov dword [ebp - 0x12b4], 0
jmp 0x45726c
cmp dword [ebp - 0x12b4], 9
jae 0x457388
cvtsi2sd xmm0, dword [ebp - 0x12b4]
movsd xmm1, qword [ebp - 0xa3b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4572db
mov ecx, dword [ebp - 0x12b4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa3b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3b8], xmm1
jmp 0x4571d7
cvtsi2sd xmm0, dword [ebp - 0x12b4]
movsd xmm1, qword [ebp - 0xa3b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa3c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457338
mov eax, dword [ebp - 0x12b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3b8], xmm1
jmp 0x457351
mov ecx, 1
test ecx, ecx
je 0x45734d
jmp 0x45740a
jmp 0x457374
cvtsi2sd xmm0, dword [ebp - 0x12b4]
movsd xmm1, qword [ebp - 0xa3b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x12b8], edx
jmp 0x457414
xor eax, eax
je 0x45737e
jmp 0x45738d
jmp 0x4571d7
jmp 0x4571d7
mov ecx, 6
test ecx, ecx
je 0x45740a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x12bc], eax
cvtsi2sd xmm0, dword [ebp - 0x12bc]
mov eax, dword [ebp - 0x12bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa3b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x12b8], ecx
jmp 0x457414
mov dword [ebp - 0x12b8], 2
mov edx, dword [ebp - 0x12a4]
shl edx, 2
add edx, dword [ebp - 0x12a0]
mov eax, dword [ebp - 0x12b8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x457704
xor eax, eax
je 0x457479
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4574b5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa3d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x457655
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x457655
mov dword [ebp - 0x12c0], 0
jmp 0x457534
cmp dword [ebp - 0x12c0], 9
jae 0x457650
cvtsi2sd xmm0, dword [ebp - 0x12c0]
movsd xmm1, qword [ebp - 0xa3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4575a3
mov ecx, dword [ebp - 0x12c0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3d0], xmm1
jmp 0x45749f
cvtsi2sd xmm0, dword [ebp - 0x12c0]
movsd xmm1, qword [ebp - 0xa3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa3e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457600
mov eax, dword [ebp - 0x12c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3d0], xmm1
jmp 0x457619
mov ecx, 1
test ecx, ecx
je 0x457615
jmp 0x4576d2
jmp 0x45763c
cvtsi2sd xmm0, dword [ebp - 0x12c0]
movsd xmm1, qword [ebp - 0xa3d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x12c4], edx
jmp 0x4576dc
xor eax, eax
je 0x457646
jmp 0x457655
jmp 0x45749f
jmp 0x45749f
mov ecx, 6
test ecx, ecx
je 0x4576d2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x12c8], eax
cvtsi2sd xmm0, dword [ebp - 0x12c8]
mov eax, dword [ebp - 0x12c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa3d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x12c4], ecx
jmp 0x4576dc
mov dword [ebp - 0x12c4], 2
mov edx, dword [ebp - 0x12a4]
shl edx, 2
add edx, dword [ebp - 0x12a0]
mov eax, dword [ebp - 0x12c4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x12a4]
add edx, 0xffffffb1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa3e8], xmm0
xor eax, eax
je 0x45771e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45775a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa3e8]
movsd qword [ebp - 0xa3f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4578fa
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4578fa
mov dword [ebp - 0x12cc], 0
jmp 0x4577d9
cmp dword [ebp - 0x12cc], 9
jae 0x4578f5
cvtsi2sd xmm0, dword [ebp - 0x12cc]
movsd xmm1, qword [ebp - 0xa3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457848
mov ecx, dword [ebp - 0x12cc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3f0], xmm1
jmp 0x457744
cvtsi2sd xmm0, dword [ebp - 0x12cc]
movsd xmm1, qword [ebp - 0xa3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa400], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa400]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4578a5
mov eax, dword [ebp - 0x12cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa3f0], xmm1
jmp 0x4578be
mov ecx, 1
test ecx, ecx
je 0x4578ba
jmp 0x457977
jmp 0x4578e1
cvtsi2sd xmm0, dword [ebp - 0x12cc]
movsd xmm1, qword [ebp - 0xa3f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x12d0], edx
jmp 0x457981
xor eax, eax
je 0x4578eb
jmp 0x4578fa
jmp 0x457744
jmp 0x457744
mov ecx, 6
test ecx, ecx
je 0x457977
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x12d4], eax
cvtsi2sd xmm0, dword [ebp - 0x12d4]
mov eax, dword [ebp - 0x12d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa3f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x12d0], ecx
jmp 0x457981
mov dword [ebp - 0x12d0], 2
mov edx, dword [ebp - 0x12a4]
add edx, 0xffffffb1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa408], xmm0
xor eax, eax
je 0x45799b
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4579d7
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa408]
movsd qword [ebp - 0xa410], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x457b77
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x457b77
mov dword [ebp - 0x12d8], 0
jmp 0x457a56
cmp dword [ebp - 0x12d8], 9
jae 0x457b72
cvtsi2sd xmm0, dword [ebp - 0x12d8]
movsd xmm1, qword [ebp - 0xa410]
addsd xmm1, xmm0
movsd qword [ebp - 0xa418], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457ac5
mov ecx, dword [ebp - 0x12d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa410]
addsd xmm1, xmm0
movsd qword [ebp - 0xa410], xmm1
jmp 0x4579c1
cvtsi2sd xmm0, dword [ebp - 0x12d8]
movsd xmm1, qword [ebp - 0xa410]
addsd xmm1, xmm0
movsd qword [ebp - 0xa420], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa420]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457b22
mov eax, dword [ebp - 0x12d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa410]
addsd xmm1, xmm0
movsd qword [ebp - 0xa410], xmm1
jmp 0x457b3b
mov ecx, 1
test ecx, ecx
je 0x457b37
jmp 0x457bf4
jmp 0x457b5e
cvtsi2sd xmm0, dword [ebp - 0x12d8]
movsd xmm1, qword [ebp - 0xa410]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x12dc], edx
jmp 0x457bfe
xor eax, eax
je 0x457b68
jmp 0x457b77
jmp 0x4579c1
jmp 0x4579c1
mov ecx, 6
test ecx, ecx
je 0x457bf4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x12e0], eax
cvtsi2sd xmm0, dword [ebp - 0x12e0]
mov eax, dword [ebp - 0x12e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa410]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x12dc], ecx
jmp 0x457bfe
mov dword [ebp - 0x12dc], 2
mov edx, dword [ebp - 0x12a4]
shl edx, 2
add edx, dword [ebp - 0x12a0]
mov eax, dword [ebp - 0x12d0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov edx, dword [ebp - 0x12dc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x457f09
xor eax, eax
je 0x457c7e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x457cba
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa428], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x457e5a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x457e5a
mov dword [ebp - 0x12e4], 0
jmp 0x457d39
cmp dword [ebp - 0x12e4], 9
jae 0x457e55
cvtsi2sd xmm0, dword [ebp - 0x12e4]
movsd xmm1, qword [ebp - 0xa428]
addsd xmm1, xmm0
movsd qword [ebp - 0xa430], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa430]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457da8
mov ecx, dword [ebp - 0x12e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa428]
addsd xmm1, xmm0
movsd qword [ebp - 0xa428], xmm1
jmp 0x457ca4
cvtsi2sd xmm0, dword [ebp - 0x12e4]
movsd xmm1, qword [ebp - 0xa428]
addsd xmm1, xmm0
movsd qword [ebp - 0xa438], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x457e05
mov eax, dword [ebp - 0x12e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa428]
addsd xmm1, xmm0
movsd qword [ebp - 0xa428], xmm1
jmp 0x457e1e
mov ecx, 1
test ecx, ecx
je 0x457e1a
jmp 0x457ed7
jmp 0x457e41
cvtsi2sd xmm0, dword [ebp - 0x12e4]
movsd xmm1, qword [ebp - 0xa428]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x12e8], edx
jmp 0x457ee1
xor eax, eax
je 0x457e4b
jmp 0x457e5a
jmp 0x457ca4
jmp 0x457ca4
mov ecx, 6
test ecx, ecx
je 0x457ed7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x12ec], eax
cvtsi2sd xmm0, dword [ebp - 0x12ec]
mov eax, dword [ebp - 0x12ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa428]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x12e8], ecx
jmp 0x457ee1
mov dword [ebp - 0x12e8], 2
mov edx, dword [ebp - 0x12a4]
shl edx, 2
add edx, dword [ebp - 0x12a0]
mov eax, dword [ebp - 0x12e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x12a4]
shl ecx, 2
add ecx, dword [ebp - 0x12a0]
mov dword [ecx], eax
jmp 0x456e4b
mov edx, dword [ebp - 0x129c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x129c]
mov dword [ebp - 0x12f0], eax
mov ecx, dword [ebp - 0x12f0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x12f4], ecx
mov edx, dword [ebp - 0x12f4]
mov dword [ebp - 0x1298], edx
xor eax, eax
mov byte [ebp - 0x31], al
lea ecx, [ebp - 0x31]
call fcn.00424a50
mov dword [ebp - 0x12f8], eax
mov ecx, dword [ebp - 0x12f8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x459047
mov eax, dword [ebp - 0x12f8]
mov dword [ebp - 0x12fc], eax
mov dword [ebp - 0x1300], 0
jmp 0x457f93
mov ecx, dword [ebp - 0x1300]
add ecx, 1
mov dword [ebp - 0x1300], ecx
cmp dword [ebp - 0x1300], 1
jae 0x459047
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x458268
xor eax, eax
je 0x457fdd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x458019
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa440], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4581b9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4581b9
mov dword [ebp - 0x1304], 0
jmp 0x458098
cmp dword [ebp - 0x1304], 9
jae 0x4581b4
cvtsi2sd xmm0, dword [ebp - 0x1304]
movsd xmm1, qword [ebp - 0xa440]
addsd xmm1, xmm0
movsd qword [ebp - 0xa448], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa448]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458107
mov ecx, dword [ebp - 0x1304]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa440]
addsd xmm1, xmm0
movsd qword [ebp - 0xa440], xmm1
jmp 0x458003
cvtsi2sd xmm0, dword [ebp - 0x1304]
movsd xmm1, qword [ebp - 0xa440]
addsd xmm1, xmm0
movsd qword [ebp - 0xa450], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa450]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458164
mov eax, dword [ebp - 0x1304]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa440]
addsd xmm1, xmm0
movsd qword [ebp - 0xa440], xmm1
jmp 0x45817d
mov ecx, 1
test ecx, ecx
je 0x458179
jmp 0x458236
jmp 0x4581a0
cvtsi2sd xmm0, dword [ebp - 0x1304]
movsd xmm1, qword [ebp - 0xa440]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1308], edx
jmp 0x458240
xor eax, eax
je 0x4581aa
jmp 0x4581b9
jmp 0x458003
jmp 0x458003
mov ecx, 6
test ecx, ecx
je 0x458236
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x130c], eax
cvtsi2sd xmm0, dword [ebp - 0x130c]
mov eax, dword [ebp - 0x130c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa440]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1308], ecx
jmp 0x458240
mov dword [ebp - 0x1308], 2
mov edx, dword [ebp - 0x1300]
shl edx, 2
add edx, dword [ebp - 0x12fc]
mov eax, dword [ebp - 0x1308]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x458d7a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x458575
xor eax, eax
je 0x4582ea
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x458326
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa458], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4584c6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4584c6
mov dword [ebp - 0x1310], 0
jmp 0x4583a5
cmp dword [ebp - 0x1310], 9
jae 0x4584c1
cvtsi2sd xmm0, dword [ebp - 0x1310]
movsd xmm1, qword [ebp - 0xa458]
addsd xmm1, xmm0
movsd qword [ebp - 0xa460], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa460]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458414
mov ecx, dword [ebp - 0x1310]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa458]
addsd xmm1, xmm0
movsd qword [ebp - 0xa458], xmm1
jmp 0x458310
cvtsi2sd xmm0, dword [ebp - 0x1310]
movsd xmm1, qword [ebp - 0xa458]
addsd xmm1, xmm0
movsd qword [ebp - 0xa468], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa468]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458471
mov eax, dword [ebp - 0x1310]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa458]
addsd xmm1, xmm0
movsd qword [ebp - 0xa458], xmm1
jmp 0x45848a
mov ecx, 1
test ecx, ecx
je 0x458486
jmp 0x458543
jmp 0x4584ad
cvtsi2sd xmm0, dword [ebp - 0x1310]
movsd xmm1, qword [ebp - 0xa458]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1314], edx
jmp 0x45854d
xor eax, eax
je 0x4584b7
jmp 0x4584c6
jmp 0x458310
jmp 0x458310
mov ecx, 6
test ecx, ecx
je 0x458543
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1318], eax
cvtsi2sd xmm0, dword [ebp - 0x1318]
mov eax, dword [ebp - 0x1318]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa458]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1314], ecx
jmp 0x45854d
mov dword [ebp - 0x1314], 2
mov edx, dword [ebp - 0x1300]
shl edx, 2
add edx, dword [ebp - 0x12fc]
mov eax, dword [ebp - 0x1314]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45883d
xor eax, eax
je 0x4585b2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4585ee
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa470], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45878e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45878e
mov dword [ebp - 0x131c], 0
jmp 0x45866d
cmp dword [ebp - 0x131c], 9
jae 0x458789
cvtsi2sd xmm0, dword [ebp - 0x131c]
movsd xmm1, qword [ebp - 0xa470]
addsd xmm1, xmm0
movsd qword [ebp - 0xa478], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4586dc
mov ecx, dword [ebp - 0x131c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa470]
addsd xmm1, xmm0
movsd qword [ebp - 0xa470], xmm1
jmp 0x4585d8
cvtsi2sd xmm0, dword [ebp - 0x131c]
movsd xmm1, qword [ebp - 0xa470]
addsd xmm1, xmm0
movsd qword [ebp - 0xa480], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa480]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458739
mov eax, dword [ebp - 0x131c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa470]
addsd xmm1, xmm0
movsd qword [ebp - 0xa470], xmm1
jmp 0x458752
mov ecx, 1
test ecx, ecx
je 0x45874e
jmp 0x45880b
jmp 0x458775
cvtsi2sd xmm0, dword [ebp - 0x131c]
movsd xmm1, qword [ebp - 0xa470]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1320], edx
jmp 0x458815
xor eax, eax
je 0x45877f
jmp 0x45878e
jmp 0x4585d8
jmp 0x4585d8
mov ecx, 6
test ecx, ecx
je 0x45880b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1324], eax
cvtsi2sd xmm0, dword [ebp - 0x1324]
mov eax, dword [ebp - 0x1324]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa470]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1320], ecx
jmp 0x458815
mov dword [ebp - 0x1320], 2
mov edx, dword [ebp - 0x1300]
shl edx, 2
add edx, dword [ebp - 0x12fc]
mov eax, dword [ebp - 0x1320]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1300]
add edx, 0xffffffb2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa488], xmm0
xor eax, eax
je 0x458857
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x458893
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa488]
movsd qword [ebp - 0xa490], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x458a33
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x458a33
mov dword [ebp - 0x1328], 0
jmp 0x458912
cmp dword [ebp - 0x1328], 9
jae 0x458a2e
cvtsi2sd xmm0, dword [ebp - 0x1328]
movsd xmm1, qword [ebp - 0xa490]
addsd xmm1, xmm0
movsd qword [ebp - 0xa498], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458981
mov ecx, dword [ebp - 0x1328]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa490]
addsd xmm1, xmm0
movsd qword [ebp - 0xa490], xmm1
jmp 0x45887d
cvtsi2sd xmm0, dword [ebp - 0x1328]
movsd xmm1, qword [ebp - 0xa490]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa4a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4589de
mov eax, dword [ebp - 0x1328]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa490]
addsd xmm1, xmm0
movsd qword [ebp - 0xa490], xmm1
jmp 0x4589f7
mov ecx, 1
test ecx, ecx
je 0x4589f3
jmp 0x458ab0
jmp 0x458a1a
cvtsi2sd xmm0, dword [ebp - 0x1328]
movsd xmm1, qword [ebp - 0xa490]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x132c], edx
jmp 0x458aba
xor eax, eax
je 0x458a24
jmp 0x458a33
jmp 0x45887d
jmp 0x45887d
mov ecx, 6
test ecx, ecx
je 0x458ab0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1330], eax
cvtsi2sd xmm0, dword [ebp - 0x1330]
mov eax, dword [ebp - 0x1330]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa490]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x132c], ecx
jmp 0x458aba
mov dword [ebp - 0x132c], 2
mov edx, dword [ebp - 0x1300]
add edx, 0xffffffb2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa4a8], xmm0
xor eax, eax
je 0x458ad4
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x458b10
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa4a8]
movsd qword [ebp - 0xa4b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x458cb0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x458cb0
mov dword [ebp - 0x1334], 0
jmp 0x458b8f
cmp dword [ebp - 0x1334], 9
jae 0x458cab
cvtsi2sd xmm0, dword [ebp - 0x1334]
movsd xmm1, qword [ebp - 0xa4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458bfe
mov ecx, dword [ebp - 0x1334]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4b0], xmm1
jmp 0x458afa
cvtsi2sd xmm0, dword [ebp - 0x1334]
movsd xmm1, qword [ebp - 0xa4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa4c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458c5b
mov eax, dword [ebp - 0x1334]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4b0], xmm1
jmp 0x458c74
mov ecx, 1
test ecx, ecx
je 0x458c70
jmp 0x458d2d
jmp 0x458c97
cvtsi2sd xmm0, dword [ebp - 0x1334]
movsd xmm1, qword [ebp - 0xa4b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1338], edx
jmp 0x458d37
xor eax, eax
je 0x458ca1
jmp 0x458cb0
jmp 0x458afa
jmp 0x458afa
mov ecx, 6
test ecx, ecx
je 0x458d2d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x133c], eax
cvtsi2sd xmm0, dword [ebp - 0x133c]
mov eax, dword [ebp - 0x133c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa4b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1338], ecx
jmp 0x458d37
mov dword [ebp - 0x1338], 2
mov edx, dword [ebp - 0x1300]
shl edx, 2
add edx, dword [ebp - 0x12fc]
mov eax, dword [ebp - 0x132c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov edx, dword [ebp - 0x1338]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x459042
xor eax, eax
je 0x458db7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x458df3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa4c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x458f93
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x458f93
mov dword [ebp - 0x1340], 0
jmp 0x458e72
cmp dword [ebp - 0x1340], 9
jae 0x458f8e
cvtsi2sd xmm0, dword [ebp - 0x1340]
movsd xmm1, qword [ebp - 0xa4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458ee1
mov ecx, dword [ebp - 0x1340]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4c8], xmm1
jmp 0x458ddd
cvtsi2sd xmm0, dword [ebp - 0x1340]
movsd xmm1, qword [ebp - 0xa4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa4d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x458f3e
mov eax, dword [ebp - 0x1340]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4c8], xmm1
jmp 0x458f57
mov ecx, 1
test ecx, ecx
je 0x458f53
jmp 0x459010
jmp 0x458f7a
cvtsi2sd xmm0, dword [ebp - 0x1340]
movsd xmm1, qword [ebp - 0xa4c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1344], edx
jmp 0x45901a
xor eax, eax
je 0x458f84
jmp 0x458f93
jmp 0x458ddd
jmp 0x458ddd
mov ecx, 6
test ecx, ecx
je 0x459010
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1348], eax
cvtsi2sd xmm0, dword [ebp - 0x1348]
mov eax, dword [ebp - 0x1348]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa4c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1344], ecx
jmp 0x45901a
mov dword [ebp - 0x1344], 2
mov edx, dword [ebp - 0x1300]
shl edx, 2
add edx, dword [ebp - 0x12fc]
mov eax, dword [ebp - 0x1344]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1300]
shl ecx, 2
add ecx, dword [ebp - 0x12fc]
mov dword [ecx], eax
jmp 0x457f84
mov edx, dword [ebp - 0x12f8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x12f8]
mov dword [ebp - 0x134c], eax
mov ecx, dword [ebp - 0x134c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1350], ecx
mov edx, dword [ebp - 0x1350]
mov dword [ebp - 0x1354], edx
xor eax, eax
mov byte [ebp - 0x32], al
lea ecx, [ebp - 0x32]
call fcn.00424a20
mov dword [ebp - 0x1358], eax
mov ecx, dword [ebp - 0x1358]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x45a180
mov eax, dword [ebp - 0x1358]
mov dword [ebp - 0x135c], eax
mov dword [ebp - 0x1360], 0
jmp 0x4590cc
mov ecx, dword [ebp - 0x1360]
add ecx, 1
mov dword [ebp - 0x1360], ecx
cmp dword [ebp - 0x1360], 1
jae 0x45a180
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4593a1
xor eax, eax
je 0x459116
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x459152
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa4e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4592f2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4592f2
mov dword [ebp - 0x1364], 0
jmp 0x4591d1
cmp dword [ebp - 0x1364], 9
jae 0x4592ed
cvtsi2sd xmm0, dword [ebp - 0x1364]
movsd xmm1, qword [ebp - 0xa4e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459240
mov ecx, dword [ebp - 0x1364]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa4e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4e0], xmm1
jmp 0x45913c
cvtsi2sd xmm0, dword [ebp - 0x1364]
movsd xmm1, qword [ebp - 0xa4e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa4f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45929d
mov eax, dword [ebp - 0x1364]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4e0], xmm1
jmp 0x4592b6
mov ecx, 1
test ecx, ecx
je 0x4592b2
jmp 0x45936f
jmp 0x4592d9
cvtsi2sd xmm0, dword [ebp - 0x1364]
movsd xmm1, qword [ebp - 0xa4e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1368], edx
jmp 0x459379
xor eax, eax
je 0x4592e3
jmp 0x4592f2
jmp 0x45913c
jmp 0x45913c
mov ecx, 6
test ecx, ecx
je 0x45936f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x136c], eax
cvtsi2sd xmm0, dword [ebp - 0x136c]
mov eax, dword [ebp - 0x136c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa4e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1368], ecx
jmp 0x459379
mov dword [ebp - 0x1368], 2
mov edx, dword [ebp - 0x1360]
shl edx, 2
add edx, dword [ebp - 0x135c]
mov eax, dword [ebp - 0x1368]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1360]
shl ecx, 2
add ecx, dword [ebp - 0x135c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x459eb3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4596ae
xor eax, eax
je 0x459423
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45945f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa4f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4595ff
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4595ff
mov dword [ebp - 0x1370], 0
jmp 0x4594de
cmp dword [ebp - 0x1370], 9
jae 0x4595fa
cvtsi2sd xmm0, dword [ebp - 0x1370]
movsd xmm1, qword [ebp - 0xa4f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa500], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa500]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45954d
mov ecx, dword [ebp - 0x1370]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa4f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4f8], xmm1
jmp 0x459449
cvtsi2sd xmm0, dword [ebp - 0x1370]
movsd xmm1, qword [ebp - 0xa4f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa508], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa508]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4595aa
mov eax, dword [ebp - 0x1370]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa4f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa4f8], xmm1
jmp 0x4595c3
mov ecx, 1
test ecx, ecx
je 0x4595bf
jmp 0x45967c
jmp 0x4595e6
cvtsi2sd xmm0, dword [ebp - 0x1370]
movsd xmm1, qword [ebp - 0xa4f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1374], edx
jmp 0x459686
xor eax, eax
je 0x4595f0
jmp 0x4595ff
jmp 0x459449
jmp 0x459449
mov ecx, 6
test ecx, ecx
je 0x45967c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1378], eax
cvtsi2sd xmm0, dword [ebp - 0x1378]
mov eax, dword [ebp - 0x1378]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa4f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1374], ecx
jmp 0x459686
mov dword [ebp - 0x1374], 2
mov edx, dword [ebp - 0x1360]
shl edx, 2
add edx, dword [ebp - 0x135c]
mov eax, dword [ebp - 0x1374]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1360]
shl ecx, 2
add ecx, dword [ebp - 0x135c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x459976
xor eax, eax
je 0x4596eb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x459727
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa510], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4598c7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4598c7
mov dword [ebp - 0x137c], 0
jmp 0x4597a6
cmp dword [ebp - 0x137c], 9
jae 0x4598c2
cvtsi2sd xmm0, dword [ebp - 0x137c]
movsd xmm1, qword [ebp - 0xa510]
addsd xmm1, xmm0
movsd qword [ebp - 0xa518], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459815
mov ecx, dword [ebp - 0x137c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa510]
addsd xmm1, xmm0
movsd qword [ebp - 0xa510], xmm1
jmp 0x459711
cvtsi2sd xmm0, dword [ebp - 0x137c]
movsd xmm1, qword [ebp - 0xa510]
addsd xmm1, xmm0
movsd qword [ebp - 0xa520], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa520]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459872
mov eax, dword [ebp - 0x137c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa510]
addsd xmm1, xmm0
movsd qword [ebp - 0xa510], xmm1
jmp 0x45988b
mov ecx, 1
test ecx, ecx
je 0x459887
jmp 0x459944
jmp 0x4598ae
cvtsi2sd xmm0, dword [ebp - 0x137c]
movsd xmm1, qword [ebp - 0xa510]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1380], edx
jmp 0x45994e
xor eax, eax
je 0x4598b8
jmp 0x4598c7
jmp 0x459711
jmp 0x459711
mov ecx, 6
test ecx, ecx
je 0x459944
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1384], eax
cvtsi2sd xmm0, dword [ebp - 0x1384]
mov eax, dword [ebp - 0x1384]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa510]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1380], ecx
jmp 0x45994e
mov dword [ebp - 0x1380], 2
mov edx, dword [ebp - 0x1360]
shl edx, 2
add edx, dword [ebp - 0x135c]
mov eax, dword [ebp - 0x1380]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1360]
shl ecx, 2
add ecx, dword [ebp - 0x135c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1360]
add edx, 0xffffffb2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa528], xmm0
xor eax, eax
je 0x459990
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4599cc
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa528]
movsd qword [ebp - 0xa530], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x459b6c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x459b6c
mov dword [ebp - 0x1388], 0
jmp 0x459a4b
cmp dword [ebp - 0x1388], 9
jae 0x459b67
cvtsi2sd xmm0, dword [ebp - 0x1388]
movsd xmm1, qword [ebp - 0xa530]
addsd xmm1, xmm0
movsd qword [ebp - 0xa538], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459aba
mov ecx, dword [ebp - 0x1388]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa530]
addsd xmm1, xmm0
movsd qword [ebp - 0xa530], xmm1
jmp 0x4599b6
cvtsi2sd xmm0, dword [ebp - 0x1388]
movsd xmm1, qword [ebp - 0xa530]
addsd xmm1, xmm0
movsd qword [ebp - 0xa540], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa540]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459b17
mov eax, dword [ebp - 0x1388]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa530]
addsd xmm1, xmm0
movsd qword [ebp - 0xa530], xmm1
jmp 0x459b30
mov ecx, 1
test ecx, ecx
je 0x459b2c
jmp 0x459be9
jmp 0x459b53
cvtsi2sd xmm0, dword [ebp - 0x1388]
movsd xmm1, qword [ebp - 0xa530]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x138c], edx
jmp 0x459bf3
xor eax, eax
je 0x459b5d
jmp 0x459b6c
jmp 0x4599b6
jmp 0x4599b6
mov ecx, 6
test ecx, ecx
je 0x459be9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1390], eax
cvtsi2sd xmm0, dword [ebp - 0x1390]
mov eax, dword [ebp - 0x1390]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa530]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x138c], ecx
jmp 0x459bf3
mov dword [ebp - 0x138c], 2
mov edx, dword [ebp - 0x1360]
add edx, 0xffffffb2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa548], xmm0
xor eax, eax
je 0x459c0d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x459c49
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa548]
movsd qword [ebp - 0xa550], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x459de9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x459de9
mov dword [ebp - 0x1394], 0
jmp 0x459cc8
cmp dword [ebp - 0x1394], 9
jae 0x459de4
cvtsi2sd xmm0, dword [ebp - 0x1394]
movsd xmm1, qword [ebp - 0xa550]
addsd xmm1, xmm0
movsd qword [ebp - 0xa558], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459d37
mov ecx, dword [ebp - 0x1394]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa550]
addsd xmm1, xmm0
movsd qword [ebp - 0xa550], xmm1
jmp 0x459c33
cvtsi2sd xmm0, dword [ebp - 0x1394]
movsd xmm1, qword [ebp - 0xa550]
addsd xmm1, xmm0
movsd qword [ebp - 0xa560], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa560]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x459d94
mov eax, dword [ebp - 0x1394]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa550]
addsd xmm1, xmm0
movsd qword [ebp - 0xa550], xmm1
jmp 0x459dad
mov ecx, 1
test ecx, ecx
je 0x459da9
jmp 0x459e66
jmp 0x459dd0
cvtsi2sd xmm0, dword [ebp - 0x1394]
movsd xmm1, qword [ebp - 0xa550]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1398], edx
jmp 0x459e70
xor eax, eax
je 0x459dda
jmp 0x459de9
jmp 0x459c33
jmp 0x459c33
mov ecx, 6
test ecx, ecx
je 0x459e66
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x139c], eax
cvtsi2sd xmm0, dword [ebp - 0x139c]
mov eax, dword [ebp - 0x139c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa550]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1398], ecx
jmp 0x459e70
mov dword [ebp - 0x1398], 2
mov edx, dword [ebp - 0x1360]
shl edx, 2
add edx, dword [ebp - 0x135c]
mov eax, dword [ebp - 0x138c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1360]
shl ecx, 2
add ecx, dword [ebp - 0x135c]
mov edx, dword [ebp - 0x1398]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1360]
shl ecx, 2
add ecx, dword [ebp - 0x135c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45a17b
xor eax, eax
je 0x459ef0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x459f2c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa568], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45a0cc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45a0cc
mov dword [ebp - 0x13a0], 0
jmp 0x459fab
cmp dword [ebp - 0x13a0], 9
jae 0x45a0c7
cvtsi2sd xmm0, dword [ebp - 0x13a0]
movsd xmm1, qword [ebp - 0xa568]
addsd xmm1, xmm0
movsd qword [ebp - 0xa570], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa570]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a01a
mov ecx, dword [ebp - 0x13a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa568]
addsd xmm1, xmm0
movsd qword [ebp - 0xa568], xmm1
jmp 0x459f16
cvtsi2sd xmm0, dword [ebp - 0x13a0]
movsd xmm1, qword [ebp - 0xa568]
addsd xmm1, xmm0
movsd qword [ebp - 0xa578], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a077
mov eax, dword [ebp - 0x13a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa568]
addsd xmm1, xmm0
movsd qword [ebp - 0xa568], xmm1
jmp 0x45a090
mov ecx, 1
test ecx, ecx
je 0x45a08c
jmp 0x45a149
jmp 0x45a0b3
cvtsi2sd xmm0, dword [ebp - 0x13a0]
movsd xmm1, qword [ebp - 0xa568]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x13a4], edx
jmp 0x45a153
xor eax, eax
je 0x45a0bd
jmp 0x45a0cc
jmp 0x459f16
jmp 0x459f16
mov ecx, 6
test ecx, ecx
je 0x45a149
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x13a8], eax
cvtsi2sd xmm0, dword [ebp - 0x13a8]
mov eax, dword [ebp - 0x13a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa568]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x13a4], ecx
jmp 0x45a153
mov dword [ebp - 0x13a4], 2
mov edx, dword [ebp - 0x1360]
shl edx, 2
add edx, dword [ebp - 0x135c]
mov eax, dword [ebp - 0x13a4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1360]
shl ecx, 2
add ecx, dword [ebp - 0x135c]
mov dword [ecx], eax
jmp 0x4590bd
mov edx, dword [ebp - 0x1358]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1358]
mov dword [ebp - 0x13ac], eax
mov ecx, dword [ebp - 0x13ac]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x13b0], ecx
mov edx, dword [ebp - 0x13b0]
mov dword [ebp - 0x13b4], edx
xor eax, eax
mov byte [ebp - 0x33], al
lea ecx, [ebp - 0x33]
call fcn.004249f0
mov dword [ebp - 0x13b8], eax
mov ecx, dword [ebp - 0x13b8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x45b2b9
mov eax, dword [ebp - 0x13b8]
mov dword [ebp - 0x13bc], eax
mov dword [ebp - 0x13c0], 0
jmp 0x45a205
mov ecx, dword [ebp - 0x13c0]
add ecx, 1
mov dword [ebp - 0x13c0], ecx
cmp dword [ebp - 0x13c0], 1
jae 0x45b2b9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45a4da
xor eax, eax
je 0x45a24f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45a28b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726398]
movsd qword [ebp - 0xa580], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45a42b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45a42b
mov dword [ebp - 0x13c4], 0
jmp 0x45a30a
cmp dword [ebp - 0x13c4], 9
jae 0x45a426
cvtsi2sd xmm0, dword [ebp - 0x13c4]
movsd xmm1, qword [ebp - 0xa580]
addsd xmm1, xmm0
movsd qword [ebp - 0xa588], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa588]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a379
mov ecx, dword [ebp - 0x13c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa580]
addsd xmm1, xmm0
movsd qword [ebp - 0xa580], xmm1
jmp 0x45a275
cvtsi2sd xmm0, dword [ebp - 0x13c4]
movsd xmm1, qword [ebp - 0xa580]
addsd xmm1, xmm0
movsd qword [ebp - 0xa590], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa590]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a3d6
mov eax, dword [ebp - 0x13c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa580]
addsd xmm1, xmm0
movsd qword [ebp - 0xa580], xmm1
jmp 0x45a3ef
mov ecx, 1
test ecx, ecx
je 0x45a3eb
jmp 0x45a4a8
jmp 0x45a412
cvtsi2sd xmm0, dword [ebp - 0x13c4]
movsd xmm1, qword [ebp - 0xa580]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x13c8], edx
jmp 0x45a4b2
xor eax, eax
je 0x45a41c
jmp 0x45a42b
jmp 0x45a275
jmp 0x45a275
mov ecx, 6
test ecx, ecx
je 0x45a4a8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x13cc], eax
cvtsi2sd xmm0, dword [ebp - 0x13cc]
mov eax, dword [ebp - 0x13cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa580]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x13c8], ecx
jmp 0x45a4b2
mov dword [ebp - 0x13c8], 2
mov edx, dword [ebp - 0x13c0]
shl edx, 2
add edx, dword [ebp - 0x13bc]
mov eax, dword [ebp - 0x13c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x13c0]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45afec
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45a7e7
xor eax, eax
je 0x45a55c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45a598
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa598], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45a738
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45a738
mov dword [ebp - 0x13d0], 0
jmp 0x45a617
cmp dword [ebp - 0x13d0], 9
jae 0x45a733
cvtsi2sd xmm0, dword [ebp - 0x13d0]
movsd xmm1, qword [ebp - 0xa598]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a686
mov ecx, dword [ebp - 0x13d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa598]
addsd xmm1, xmm0
movsd qword [ebp - 0xa598], xmm1
jmp 0x45a582
cvtsi2sd xmm0, dword [ebp - 0x13d0]
movsd xmm1, qword [ebp - 0xa598]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa5a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a6e3
mov eax, dword [ebp - 0x13d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa598]
addsd xmm1, xmm0
movsd qword [ebp - 0xa598], xmm1
jmp 0x45a6fc
mov ecx, 1
test ecx, ecx
je 0x45a6f8
jmp 0x45a7b5
jmp 0x45a71f
cvtsi2sd xmm0, dword [ebp - 0x13d0]
movsd xmm1, qword [ebp - 0xa598]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x13d4], edx
jmp 0x45a7bf
xor eax, eax
je 0x45a729
jmp 0x45a738
jmp 0x45a582
jmp 0x45a582
mov ecx, 6
test ecx, ecx
je 0x45a7b5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x13d8], eax
cvtsi2sd xmm0, dword [ebp - 0x13d8]
mov eax, dword [ebp - 0x13d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa598]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x13d4], ecx
jmp 0x45a7bf
mov dword [ebp - 0x13d4], 2
mov edx, dword [ebp - 0x13c0]
shl edx, 2
add edx, dword [ebp - 0x13bc]
mov eax, dword [ebp - 0x13d4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x13c0]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45aaaf
xor eax, eax
je 0x45a824
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45a860
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa5b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45aa00
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45aa00
mov dword [ebp - 0x13dc], 0
jmp 0x45a8df
cmp dword [ebp - 0x13dc], 9
jae 0x45a9fb
cvtsi2sd xmm0, dword [ebp - 0x13dc]
movsd xmm1, qword [ebp - 0xa5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a94e
mov ecx, dword [ebp - 0x13dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5b0], xmm1
jmp 0x45a84a
cvtsi2sd xmm0, dword [ebp - 0x13dc]
movsd xmm1, qword [ebp - 0xa5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa5c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45a9ab
mov eax, dword [ebp - 0x13dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5b0], xmm1
jmp 0x45a9c4
mov ecx, 1
test ecx, ecx
je 0x45a9c0
jmp 0x45aa7d
jmp 0x45a9e7
cvtsi2sd xmm0, dword [ebp - 0x13dc]
movsd xmm1, qword [ebp - 0xa5b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x13e0], edx
jmp 0x45aa87
xor eax, eax
je 0x45a9f1
jmp 0x45aa00
jmp 0x45a84a
jmp 0x45a84a
mov ecx, 6
test ecx, ecx
je 0x45aa7d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x13e4], eax
cvtsi2sd xmm0, dword [ebp - 0x13e4]
mov eax, dword [ebp - 0x13e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa5b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x13e0], ecx
jmp 0x45aa87
mov dword [ebp - 0x13e0], 2
mov edx, dword [ebp - 0x13c0]
shl edx, 2
add edx, dword [ebp - 0x13bc]
mov eax, dword [ebp - 0x13e0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x13c0]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x13c0]
add edx, 0xffffffb2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa5c8], xmm0
xor eax, eax
je 0x45aac9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45ab05
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa5c8]
movsd qword [ebp - 0xa5d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45aca5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45aca5
mov dword [ebp - 0x13e8], 0
jmp 0x45ab84
cmp dword [ebp - 0x13e8], 9
jae 0x45aca0
cvtsi2sd xmm0, dword [ebp - 0x13e8]
movsd xmm1, qword [ebp - 0xa5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45abf3
mov ecx, dword [ebp - 0x13e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5d0], xmm1
jmp 0x45aaef
cvtsi2sd xmm0, dword [ebp - 0x13e8]
movsd xmm1, qword [ebp - 0xa5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa5e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ac50
mov eax, dword [ebp - 0x13e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5d0], xmm1
jmp 0x45ac69
mov ecx, 1
test ecx, ecx
je 0x45ac65
jmp 0x45ad22
jmp 0x45ac8c
cvtsi2sd xmm0, dword [ebp - 0x13e8]
movsd xmm1, qword [ebp - 0xa5d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x13ec], edx
jmp 0x45ad2c
xor eax, eax
je 0x45ac96
jmp 0x45aca5
jmp 0x45aaef
jmp 0x45aaef
mov ecx, 6
test ecx, ecx
je 0x45ad22
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x13f0], eax
cvtsi2sd xmm0, dword [ebp - 0x13f0]
mov eax, dword [ebp - 0x13f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa5d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x13ec], ecx
jmp 0x45ad2c
mov dword [ebp - 0x13ec], 2
mov edx, dword [ebp - 0x13c0]
add edx, 0xffffffb2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa5e8], xmm0
xor eax, eax
je 0x45ad46
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45ad82
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa5e8]
movsd qword [ebp - 0xa5f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45af22
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45af22
mov dword [ebp - 0x13f4], 0
jmp 0x45ae01
cmp dword [ebp - 0x13f4], 9
jae 0x45af1d
cvtsi2sd xmm0, dword [ebp - 0x13f4]
movsd xmm1, qword [ebp - 0xa5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ae70
mov ecx, dword [ebp - 0x13f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5f0], xmm1
jmp 0x45ad6c
cvtsi2sd xmm0, dword [ebp - 0x13f4]
movsd xmm1, qword [ebp - 0xa5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa600], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa600]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45aecd
mov eax, dword [ebp - 0x13f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa5f0], xmm1
jmp 0x45aee6
mov ecx, 1
test ecx, ecx
je 0x45aee2
jmp 0x45af9f
jmp 0x45af09
cvtsi2sd xmm0, dword [ebp - 0x13f4]
movsd xmm1, qword [ebp - 0xa5f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x13f8], edx
jmp 0x45afa9
xor eax, eax
je 0x45af13
jmp 0x45af22
jmp 0x45ad6c
jmp 0x45ad6c
mov ecx, 6
test ecx, ecx
je 0x45af9f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x13fc], eax
cvtsi2sd xmm0, dword [ebp - 0x13fc]
mov eax, dword [ebp - 0x13fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa5f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x13f8], ecx
jmp 0x45afa9
mov dword [ebp - 0x13f8], 2
mov edx, dword [ebp - 0x13c0]
shl edx, 2
add edx, dword [ebp - 0x13bc]
mov eax, dword [ebp - 0x13ec]
add eax, dword [edx]
mov ecx, dword [ebp - 0x13c0]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov edx, dword [ebp - 0x13f8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x13c0]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45b2b4
xor eax, eax
je 0x45b029
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45b065
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa608], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45b205
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45b205
mov dword [ebp - 0x1400], 0
jmp 0x45b0e4
cmp dword [ebp - 0x1400], 9
jae 0x45b200
cvtsi2sd xmm0, dword [ebp - 0x1400]
movsd xmm1, qword [ebp - 0xa608]
addsd xmm1, xmm0
movsd qword [ebp - 0xa610], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa610]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b153
mov ecx, dword [ebp - 0x1400]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa608]
addsd xmm1, xmm0
movsd qword [ebp - 0xa608], xmm1
jmp 0x45b04f
cvtsi2sd xmm0, dword [ebp - 0x1400]
movsd xmm1, qword [ebp - 0xa608]
addsd xmm1, xmm0
movsd qword [ebp - 0xa618], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b1b0
mov eax, dword [ebp - 0x1400]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa608]
addsd xmm1, xmm0
movsd qword [ebp - 0xa608], xmm1
jmp 0x45b1c9
mov ecx, 1
test ecx, ecx
je 0x45b1c5
jmp 0x45b282
jmp 0x45b1ec
cvtsi2sd xmm0, dword [ebp - 0x1400]
movsd xmm1, qword [ebp - 0xa608]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1404], edx
jmp 0x45b28c
xor eax, eax
je 0x45b1f6
jmp 0x45b205
jmp 0x45b04f
jmp 0x45b04f
mov ecx, 6
test ecx, ecx
je 0x45b282
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1408], eax
cvtsi2sd xmm0, dword [ebp - 0x1408]
mov eax, dword [ebp - 0x1408]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa608]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1404], ecx
jmp 0x45b28c
mov dword [ebp - 0x1404], 2
mov edx, dword [ebp - 0x13c0]
shl edx, 2
add edx, dword [ebp - 0x13bc]
mov eax, dword [ebp - 0x1404]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x13c0]
shl ecx, 2
add ecx, dword [ebp - 0x13bc]
mov dword [ecx], eax
jmp 0x45a1f6
mov edx, dword [ebp - 0x13b8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x13b8]
mov dword [ebp - 0x140c], eax
mov ecx, dword [ebp - 0x140c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1410], ecx
mov edx, dword [ebp - 0x1410]
mov dword [ebp - 0x1414], edx
mov eax, dword [ebp - 0x13b4]
mov dword [ebp - 0x1354], eax
cmp dword [ebp - 0x1354], 0
je 0x45c444
xor ecx, ecx
mov byte [ebp - 0x34], cl
lea ecx, [ebp - 0x34]
call fcn.004249c0
mov dword [ebp - 0x1418], eax
mov edx, dword [ebp - 0x1418]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x45c40b
mov ecx, dword [ebp - 0x1418]
mov dword [ebp - 0x141c], ecx
mov dword [ebp - 0x1420], 0
jmp 0x45b357
mov edx, dword [ebp - 0x1420]
add edx, 1
mov dword [ebp - 0x1420], edx
cmp dword [ebp - 0x1420], 1
jae 0x45c40b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45b62c
xor eax, eax
je 0x45b3a1
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x45b3dd
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa620], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45b57d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45b57d
mov dword [ebp - 0x1424], 0
jmp 0x45b45c
cmp dword [ebp - 0x1424], 9
jae 0x45b578
cvtsi2sd xmm0, dword [ebp - 0x1424]
movsd xmm1, qword [ebp - 0xa620]
addsd xmm1, xmm0
movsd qword [ebp - 0xa628], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa628]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b4cb
mov ecx, dword [ebp - 0x1424]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa620]
addsd xmm1, xmm0
movsd qword [ebp - 0xa620], xmm1
jmp 0x45b3c7
cvtsi2sd xmm0, dword [ebp - 0x1424]
movsd xmm1, qword [ebp - 0xa620]
addsd xmm1, xmm0
movsd qword [ebp - 0xa630], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa630]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b528
mov eax, dword [ebp - 0x1424]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa620]
addsd xmm1, xmm0
movsd qword [ebp - 0xa620], xmm1
jmp 0x45b541
mov ecx, 1
test ecx, ecx
je 0x45b53d
jmp 0x45b5fa
jmp 0x45b564
cvtsi2sd xmm0, dword [ebp - 0x1424]
movsd xmm1, qword [ebp - 0xa620]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1428], edx
jmp 0x45b604
xor eax, eax
je 0x45b56e
jmp 0x45b57d
jmp 0x45b3c7
jmp 0x45b3c7
mov ecx, 6
test ecx, ecx
je 0x45b5fa
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x142c], eax
cvtsi2sd xmm0, dword [ebp - 0x142c]
mov eax, dword [ebp - 0x142c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa620]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1428], ecx
jmp 0x45b604
mov dword [ebp - 0x1428], 2
mov edx, dword [ebp - 0x1420]
shl edx, 2
add edx, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x1428]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1420]
shl ecx, 2
add ecx, dword [ebp - 0x141c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45c13e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45b939
xor eax, eax
je 0x45b6ae
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45b6ea
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa638], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45b88a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45b88a
mov dword [ebp - 0x1430], 0
jmp 0x45b769
cmp dword [ebp - 0x1430], 9
jae 0x45b885
cvtsi2sd xmm0, dword [ebp - 0x1430]
movsd xmm1, qword [ebp - 0xa638]
addsd xmm1, xmm0
movsd qword [ebp - 0xa640], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa640]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b7d8
mov ecx, dword [ebp - 0x1430]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa638]
addsd xmm1, xmm0
movsd qword [ebp - 0xa638], xmm1
jmp 0x45b6d4
cvtsi2sd xmm0, dword [ebp - 0x1430]
movsd xmm1, qword [ebp - 0xa638]
addsd xmm1, xmm0
movsd qword [ebp - 0xa648], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa648]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45b835
mov eax, dword [ebp - 0x1430]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa638]
addsd xmm1, xmm0
movsd qword [ebp - 0xa638], xmm1
jmp 0x45b84e
mov ecx, 1
test ecx, ecx
je 0x45b84a
jmp 0x45b907
jmp 0x45b871
cvtsi2sd xmm0, dword [ebp - 0x1430]
movsd xmm1, qword [ebp - 0xa638]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1434], edx
jmp 0x45b911
xor eax, eax
je 0x45b87b
jmp 0x45b88a
jmp 0x45b6d4
jmp 0x45b6d4
mov ecx, 6
test ecx, ecx
je 0x45b907
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1438], eax
cvtsi2sd xmm0, dword [ebp - 0x1438]
mov eax, dword [ebp - 0x1438]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa638]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1434], ecx
jmp 0x45b911
mov dword [ebp - 0x1434], 2
mov edx, dword [ebp - 0x1420]
shl edx, 2
add edx, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x1434]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1420]
shl ecx, 2
add ecx, dword [ebp - 0x141c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45bc01
xor eax, eax
je 0x45b976
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45b9b2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa650], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45bb52
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45bb52
mov dword [ebp - 0x143c], 0
jmp 0x45ba31
cmp dword [ebp - 0x143c], 9
jae 0x45bb4d
cvtsi2sd xmm0, dword [ebp - 0x143c]
movsd xmm1, qword [ebp - 0xa650]
addsd xmm1, xmm0
movsd qword [ebp - 0xa658], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45baa0
mov ecx, dword [ebp - 0x143c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa650]
addsd xmm1, xmm0
movsd qword [ebp - 0xa650], xmm1
jmp 0x45b99c
cvtsi2sd xmm0, dword [ebp - 0x143c]
movsd xmm1, qword [ebp - 0xa650]
addsd xmm1, xmm0
movsd qword [ebp - 0xa660], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa660]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45bafd
mov eax, dword [ebp - 0x143c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa650]
addsd xmm1, xmm0
movsd qword [ebp - 0xa650], xmm1
jmp 0x45bb16
mov ecx, 1
test ecx, ecx
je 0x45bb12
jmp 0x45bbcf
jmp 0x45bb39
cvtsi2sd xmm0, dword [ebp - 0x143c]
movsd xmm1, qword [ebp - 0xa650]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1440], edx
jmp 0x45bbd9
xor eax, eax
je 0x45bb43
jmp 0x45bb52
jmp 0x45b99c
jmp 0x45b99c
mov ecx, 6
test ecx, ecx
je 0x45bbcf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1444], eax
cvtsi2sd xmm0, dword [ebp - 0x1444]
mov eax, dword [ebp - 0x1444]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa650]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1440], ecx
jmp 0x45bbd9
mov dword [ebp - 0x1440], 2
mov edx, dword [ebp - 0x1420]
shl edx, 2
add edx, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x1440]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1420]
shl ecx, 2
add ecx, dword [ebp - 0x141c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1420]
add edx, 0xffffffb3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa668], xmm0
xor eax, eax
je 0x45bc1b
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45bc57
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa668]
movsd qword [ebp - 0xa670], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45bdf7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45bdf7
mov dword [ebp - 0x1448], 0
jmp 0x45bcd6
cmp dword [ebp - 0x1448], 9
jae 0x45bdf2
cvtsi2sd xmm0, dword [ebp - 0x1448]
movsd xmm1, qword [ebp - 0xa670]
addsd xmm1, xmm0
movsd qword [ebp - 0xa678], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45bd45
mov ecx, dword [ebp - 0x1448]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa670]
addsd xmm1, xmm0
movsd qword [ebp - 0xa670], xmm1
jmp 0x45bc41
cvtsi2sd xmm0, dword [ebp - 0x1448]
movsd xmm1, qword [ebp - 0xa670]
addsd xmm1, xmm0
movsd qword [ebp - 0xa680], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa680]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45bda2
mov eax, dword [ebp - 0x1448]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa670]
addsd xmm1, xmm0
movsd qword [ebp - 0xa670], xmm1
jmp 0x45bdbb
mov ecx, 1
test ecx, ecx
je 0x45bdb7
jmp 0x45be74
jmp 0x45bdde
cvtsi2sd xmm0, dword [ebp - 0x1448]
movsd xmm1, qword [ebp - 0xa670]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x144c], edx
jmp 0x45be7e
xor eax, eax
je 0x45bde8
jmp 0x45bdf7
jmp 0x45bc41
jmp 0x45bc41
mov ecx, 6
test ecx, ecx
je 0x45be74
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1450], eax
cvtsi2sd xmm0, dword [ebp - 0x1450]
mov eax, dword [ebp - 0x1450]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa670]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x144c], ecx
jmp 0x45be7e
mov dword [ebp - 0x144c], 2
mov edx, dword [ebp - 0x1420]
add edx, 0xffffffb3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa688], xmm0
xor eax, eax
je 0x45be98
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45bed4
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa688]
movsd qword [ebp - 0xa690], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45c074
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45c074
mov dword [ebp - 0x1454], 0
jmp 0x45bf53
cmp dword [ebp - 0x1454], 9
jae 0x45c06f
cvtsi2sd xmm0, dword [ebp - 0x1454]
movsd xmm1, qword [ebp - 0xa690]
addsd xmm1, xmm0
movsd qword [ebp - 0xa698], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45bfc2
mov ecx, dword [ebp - 0x1454]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa690]
addsd xmm1, xmm0
movsd qword [ebp - 0xa690], xmm1
jmp 0x45bebe
cvtsi2sd xmm0, dword [ebp - 0x1454]
movsd xmm1, qword [ebp - 0xa690]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa6a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c01f
mov eax, dword [ebp - 0x1454]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa690]
addsd xmm1, xmm0
movsd qword [ebp - 0xa690], xmm1
jmp 0x45c038
mov ecx, 1
test ecx, ecx
je 0x45c034
jmp 0x45c0f1
jmp 0x45c05b
cvtsi2sd xmm0, dword [ebp - 0x1454]
movsd xmm1, qword [ebp - 0xa690]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1458], edx
jmp 0x45c0fb
xor eax, eax
je 0x45c065
jmp 0x45c074
jmp 0x45bebe
jmp 0x45bebe
mov ecx, 6
test ecx, ecx
je 0x45c0f1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x145c], eax
cvtsi2sd xmm0, dword [ebp - 0x145c]
mov eax, dword [ebp - 0x145c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa690]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1458], ecx
jmp 0x45c0fb
mov dword [ebp - 0x1458], 2
mov edx, dword [ebp - 0x1420]
shl edx, 2
add edx, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x144c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1420]
shl ecx, 2
add ecx, dword [ebp - 0x141c]
mov edx, dword [ebp - 0x1458]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1420]
shl ecx, 2
add ecx, dword [ebp - 0x141c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45c406
xor eax, eax
je 0x45c17b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45c1b7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa6a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45c357
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45c357
mov dword [ebp - 0x1460], 0
jmp 0x45c236
cmp dword [ebp - 0x1460], 9
jae 0x45c352
cvtsi2sd xmm0, dword [ebp - 0x1460]
movsd xmm1, qword [ebp - 0xa6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c2a5
mov ecx, dword [ebp - 0x1460]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6a8], xmm1
jmp 0x45c1a1
cvtsi2sd xmm0, dword [ebp - 0x1460]
movsd xmm1, qword [ebp - 0xa6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa6b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c302
mov eax, dword [ebp - 0x1460]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6a8], xmm1
jmp 0x45c31b
mov ecx, 1
test ecx, ecx
je 0x45c317
jmp 0x45c3d4
jmp 0x45c33e
cvtsi2sd xmm0, dword [ebp - 0x1460]
movsd xmm1, qword [ebp - 0xa6a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1464], edx
jmp 0x45c3de
xor eax, eax
je 0x45c348
jmp 0x45c357
jmp 0x45c1a1
jmp 0x45c1a1
mov ecx, 6
test ecx, ecx
je 0x45c3d4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1468], eax
cvtsi2sd xmm0, dword [ebp - 0x1468]
mov eax, dword [ebp - 0x1468]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa6a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1464], ecx
jmp 0x45c3de
mov dword [ebp - 0x1464], 2
mov edx, dword [ebp - 0x1420]
shl edx, 2
add edx, dword [ebp - 0x141c]
mov eax, dword [ebp - 0x1464]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1420]
shl ecx, 2
add ecx, dword [ebp - 0x141c]
mov dword [ecx], eax
jmp 0x45b348
mov edx, dword [ebp - 0x1418]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1418]
mov dword [ebp - 0x146c], eax
mov ecx, dword [ebp - 0x146c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1470], ecx
mov edx, dword [ebp - 0x1470]
mov dword [ebp - 0x1414], edx
xor eax, eax
mov byte [ebp - 0x35], al
lea ecx, [ebp - 0x35]
call fcn.00424990
mov dword [ebp - 0x1474], eax
mov ecx, dword [ebp - 0x1474]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x45d544
mov eax, dword [ebp - 0x1474]
mov dword [ebp - 0x1478], eax
mov dword [ebp - 0x147c], 0
jmp 0x45c490
mov ecx, dword [ebp - 0x147c]
add ecx, 1
mov dword [ebp - 0x147c], ecx
cmp dword [ebp - 0x147c], 1
jae 0x45d544
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45c765
xor eax, eax
je 0x45c4da
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45c516
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa6c0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45c6b6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45c6b6
mov dword [ebp - 0x1480], 0
jmp 0x45c595
cmp dword [ebp - 0x1480], 9
jae 0x45c6b1
cvtsi2sd xmm0, dword [ebp - 0x1480]
movsd xmm1, qword [ebp - 0xa6c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c604
mov ecx, dword [ebp - 0x1480]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa6c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6c0], xmm1
jmp 0x45c500
cvtsi2sd xmm0, dword [ebp - 0x1480]
movsd xmm1, qword [ebp - 0xa6c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa6d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c661
mov eax, dword [ebp - 0x1480]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6c0], xmm1
jmp 0x45c67a
mov ecx, 1
test ecx, ecx
je 0x45c676
jmp 0x45c733
jmp 0x45c69d
cvtsi2sd xmm0, dword [ebp - 0x1480]
movsd xmm1, qword [ebp - 0xa6c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1484], edx
jmp 0x45c73d
xor eax, eax
je 0x45c6a7
jmp 0x45c6b6
jmp 0x45c500
jmp 0x45c500
mov ecx, 6
test ecx, ecx
je 0x45c733
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1488], eax
cvtsi2sd xmm0, dword [ebp - 0x1488]
mov eax, dword [ebp - 0x1488]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa6c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1484], ecx
jmp 0x45c73d
mov dword [ebp - 0x1484], 2
mov edx, dword [ebp - 0x147c]
shl edx, 2
add edx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x1484]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x147c]
shl ecx, 2
add ecx, dword [ebp - 0x1478]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45d277
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45ca72
xor eax, eax
je 0x45c7e7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45c823
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa6d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45c9c3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45c9c3
mov dword [ebp - 0x148c], 0
jmp 0x45c8a2
cmp dword [ebp - 0x148c], 9
jae 0x45c9be
cvtsi2sd xmm0, dword [ebp - 0x148c]
movsd xmm1, qword [ebp - 0xa6d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c911
mov ecx, dword [ebp - 0x148c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa6d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6d8], xmm1
jmp 0x45c80d
cvtsi2sd xmm0, dword [ebp - 0x148c]
movsd xmm1, qword [ebp - 0xa6d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa6e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45c96e
mov eax, dword [ebp - 0x148c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6d8], xmm1
jmp 0x45c987
mov ecx, 1
test ecx, ecx
je 0x45c983
jmp 0x45ca40
jmp 0x45c9aa
cvtsi2sd xmm0, dword [ebp - 0x148c]
movsd xmm1, qword [ebp - 0xa6d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1490], edx
jmp 0x45ca4a
xor eax, eax
je 0x45c9b4
jmp 0x45c9c3
jmp 0x45c80d
jmp 0x45c80d
mov ecx, 6
test ecx, ecx
je 0x45ca40
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1494], eax
cvtsi2sd xmm0, dword [ebp - 0x1494]
mov eax, dword [ebp - 0x1494]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa6d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1490], ecx
jmp 0x45ca4a
mov dword [ebp - 0x1490], 2
mov edx, dword [ebp - 0x147c]
shl edx, 2
add edx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x1490]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x147c]
shl ecx, 2
add ecx, dword [ebp - 0x1478]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45cd3a
xor eax, eax
je 0x45caaf
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45caeb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa6f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45cc8b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45cc8b
mov dword [ebp - 0x1498], 0
jmp 0x45cb6a
cmp dword [ebp - 0x1498], 9
jae 0x45cc86
cvtsi2sd xmm0, dword [ebp - 0x1498]
movsd xmm1, qword [ebp - 0xa6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45cbd9
mov ecx, dword [ebp - 0x1498]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6f0], xmm1
jmp 0x45cad5
cvtsi2sd xmm0, dword [ebp - 0x1498]
movsd xmm1, qword [ebp - 0xa6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa700], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa700]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45cc36
mov eax, dword [ebp - 0x1498]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa6f0], xmm1
jmp 0x45cc4f
mov ecx, 1
test ecx, ecx
je 0x45cc4b
jmp 0x45cd08
jmp 0x45cc72
cvtsi2sd xmm0, dword [ebp - 0x1498]
movsd xmm1, qword [ebp - 0xa6f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x149c], edx
jmp 0x45cd12
xor eax, eax
je 0x45cc7c
jmp 0x45cc8b
jmp 0x45cad5
jmp 0x45cad5
mov ecx, 6
test ecx, ecx
je 0x45cd08
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x14a0], eax
cvtsi2sd xmm0, dword [ebp - 0x14a0]
mov eax, dword [ebp - 0x14a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa6f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x149c], ecx
jmp 0x45cd12
mov dword [ebp - 0x149c], 2
mov edx, dword [ebp - 0x147c]
shl edx, 2
add edx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x149c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x147c]
shl ecx, 2
add ecx, dword [ebp - 0x1478]
mov dword [ecx], eax
mov edx, dword [ebp - 0x147c]
add edx, 0xffffffb3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa708], xmm0
xor eax, eax
je 0x45cd54
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45cd90
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa708]
movsd qword [ebp - 0xa710], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45cf30
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45cf30
mov dword [ebp - 0x14a4], 0
jmp 0x45ce0f
cmp dword [ebp - 0x14a4], 9
jae 0x45cf2b
cvtsi2sd xmm0, dword [ebp - 0x14a4]
movsd xmm1, qword [ebp - 0xa710]
addsd xmm1, xmm0
movsd qword [ebp - 0xa718], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ce7e
mov ecx, dword [ebp - 0x14a4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa710]
addsd xmm1, xmm0
movsd qword [ebp - 0xa710], xmm1
jmp 0x45cd7a
cvtsi2sd xmm0, dword [ebp - 0x14a4]
movsd xmm1, qword [ebp - 0xa710]
addsd xmm1, xmm0
movsd qword [ebp - 0xa720], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa720]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45cedb
mov eax, dword [ebp - 0x14a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa710]
addsd xmm1, xmm0
movsd qword [ebp - 0xa710], xmm1
jmp 0x45cef4
mov ecx, 1
test ecx, ecx
je 0x45cef0
jmp 0x45cfad
jmp 0x45cf17
cvtsi2sd xmm0, dword [ebp - 0x14a4]
movsd xmm1, qword [ebp - 0xa710]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x14a8], edx
jmp 0x45cfb7
xor eax, eax
je 0x45cf21
jmp 0x45cf30
jmp 0x45cd7a
jmp 0x45cd7a
mov ecx, 6
test ecx, ecx
je 0x45cfad
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x14ac], eax
cvtsi2sd xmm0, dword [ebp - 0x14ac]
mov eax, dword [ebp - 0x14ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa710]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x14a8], ecx
jmp 0x45cfb7
mov dword [ebp - 0x14a8], 2
mov edx, dword [ebp - 0x147c]
add edx, 0xffffffb3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa728], xmm0
xor eax, eax
je 0x45cfd1
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45d00d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa728]
movsd qword [ebp - 0xa730], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45d1ad
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45d1ad
mov dword [ebp - 0x14b0], 0
jmp 0x45d08c
cmp dword [ebp - 0x14b0], 9
jae 0x45d1a8
cvtsi2sd xmm0, dword [ebp - 0x14b0]
movsd xmm1, qword [ebp - 0xa730]
addsd xmm1, xmm0
movsd qword [ebp - 0xa738], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d0fb
mov ecx, dword [ebp - 0x14b0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa730]
addsd xmm1, xmm0
movsd qword [ebp - 0xa730], xmm1
jmp 0x45cff7
cvtsi2sd xmm0, dword [ebp - 0x14b0]
movsd xmm1, qword [ebp - 0xa730]
addsd xmm1, xmm0
movsd qword [ebp - 0xa740], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa740]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d158
mov eax, dword [ebp - 0x14b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa730]
addsd xmm1, xmm0
movsd qword [ebp - 0xa730], xmm1
jmp 0x45d171
mov ecx, 1
test ecx, ecx
je 0x45d16d
jmp 0x45d22a
jmp 0x45d194
cvtsi2sd xmm0, dword [ebp - 0x14b0]
movsd xmm1, qword [ebp - 0xa730]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x14b4], edx
jmp 0x45d234
xor eax, eax
je 0x45d19e
jmp 0x45d1ad
jmp 0x45cff7
jmp 0x45cff7
mov ecx, 6
test ecx, ecx
je 0x45d22a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x14b8], eax
cvtsi2sd xmm0, dword [ebp - 0x14b8]
mov eax, dword [ebp - 0x14b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa730]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x14b4], ecx
jmp 0x45d234
mov dword [ebp - 0x14b4], 2
mov edx, dword [ebp - 0x147c]
shl edx, 2
add edx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x14a8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x147c]
shl ecx, 2
add ecx, dword [ebp - 0x1478]
mov edx, dword [ebp - 0x14b4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x147c]
shl ecx, 2
add ecx, dword [ebp - 0x1478]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45d53f
xor eax, eax
je 0x45d2b4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45d2f0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa748], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45d490
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45d490
mov dword [ebp - 0x14bc], 0
jmp 0x45d36f
cmp dword [ebp - 0x14bc], 9
jae 0x45d48b
cvtsi2sd xmm0, dword [ebp - 0x14bc]
movsd xmm1, qword [ebp - 0xa748]
addsd xmm1, xmm0
movsd qword [ebp - 0xa750], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa750]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d3de
mov ecx, dword [ebp - 0x14bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa748]
addsd xmm1, xmm0
movsd qword [ebp - 0xa748], xmm1
jmp 0x45d2da
cvtsi2sd xmm0, dword [ebp - 0x14bc]
movsd xmm1, qword [ebp - 0xa748]
addsd xmm1, xmm0
movsd qword [ebp - 0xa758], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d43b
mov eax, dword [ebp - 0x14bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa748]
addsd xmm1, xmm0
movsd qword [ebp - 0xa748], xmm1
jmp 0x45d454
mov ecx, 1
test ecx, ecx
je 0x45d450
jmp 0x45d50d
jmp 0x45d477
cvtsi2sd xmm0, dword [ebp - 0x14bc]
movsd xmm1, qword [ebp - 0xa748]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x14c0], edx
jmp 0x45d517
xor eax, eax
je 0x45d481
jmp 0x45d490
jmp 0x45d2da
jmp 0x45d2da
mov ecx, 6
test ecx, ecx
je 0x45d50d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x14c4], eax
cvtsi2sd xmm0, dword [ebp - 0x14c4]
mov eax, dword [ebp - 0x14c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa748]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x14c0], ecx
jmp 0x45d517
mov dword [ebp - 0x14c0], 2
mov edx, dword [ebp - 0x147c]
shl edx, 2
add edx, dword [ebp - 0x1478]
mov eax, dword [ebp - 0x14c0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x147c]
shl ecx, 2
add ecx, dword [ebp - 0x1478]
mov dword [ecx], eax
jmp 0x45c481
mov edx, dword [ebp - 0x1474]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1474]
mov dword [ebp - 0x14c8], eax
mov ecx, dword [ebp - 0x14c8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x14cc], ecx
mov edx, dword [ebp - 0x14cc]
mov dword [ebp - 0x14d0], edx
xor eax, eax
mov byte [ebp - 0x36], al
lea ecx, [ebp - 0x36]
call fcn.00424960
mov dword [ebp - 0x14d4], eax
mov ecx, dword [ebp - 0x14d4]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x45e67d
mov eax, dword [ebp - 0x14d4]
mov dword [ebp - 0x14d8], eax
mov dword [ebp - 0x14dc], 0
jmp 0x45d5c9
mov ecx, dword [ebp - 0x14dc]
add ecx, 1
mov dword [ebp - 0x14dc], ecx
cmp dword [ebp - 0x14dc], 1
jae 0x45e67d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45d89e
xor eax, eax
je 0x45d613
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45d64f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726390]
movsd qword [ebp - 0xa760], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45d7ef
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45d7ef
mov dword [ebp - 0x14e0], 0
jmp 0x45d6ce
cmp dword [ebp - 0x14e0], 9
jae 0x45d7ea
cvtsi2sd xmm0, dword [ebp - 0x14e0]
movsd xmm1, qword [ebp - 0xa760]
addsd xmm1, xmm0
movsd qword [ebp - 0xa768], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa768]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d73d
mov ecx, dword [ebp - 0x14e0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa760]
addsd xmm1, xmm0
movsd qword [ebp - 0xa760], xmm1
jmp 0x45d639
cvtsi2sd xmm0, dword [ebp - 0x14e0]
movsd xmm1, qword [ebp - 0xa760]
addsd xmm1, xmm0
movsd qword [ebp - 0xa770], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa770]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45d79a
mov eax, dword [ebp - 0x14e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa760]
addsd xmm1, xmm0
movsd qword [ebp - 0xa760], xmm1
jmp 0x45d7b3
mov ecx, 1
test ecx, ecx
je 0x45d7af
jmp 0x45d86c
jmp 0x45d7d6
cvtsi2sd xmm0, dword [ebp - 0x14e0]
movsd xmm1, qword [ebp - 0xa760]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x14e4], edx
jmp 0x45d876
xor eax, eax
je 0x45d7e0
jmp 0x45d7ef
jmp 0x45d639
jmp 0x45d639
mov ecx, 6
test ecx, ecx
je 0x45d86c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x14e8], eax
cvtsi2sd xmm0, dword [ebp - 0x14e8]
mov eax, dword [ebp - 0x14e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa760]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x14e4], ecx
jmp 0x45d876
mov dword [ebp - 0x14e4], 2
mov edx, dword [ebp - 0x14dc]
shl edx, 2
add edx, dword [ebp - 0x14d8]
mov eax, dword [ebp - 0x14e4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x14dc]
shl ecx, 2
add ecx, dword [ebp - 0x14d8]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45e3b0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45dbab
xor eax, eax
je 0x45d920
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45d95c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa778], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45dafc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45dafc
mov dword [ebp - 0x14ec], 0
jmp 0x45d9db
cmp dword [ebp - 0x14ec], 9
jae 0x45daf7
cvtsi2sd xmm0, dword [ebp - 0x14ec]
movsd xmm1, qword [ebp - 0xa778]
addsd xmm1, xmm0
movsd qword [ebp - 0xa780], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa780]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45da4a
mov ecx, dword [ebp - 0x14ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa778]
addsd xmm1, xmm0
movsd qword [ebp - 0xa778], xmm1
jmp 0x45d946
cvtsi2sd xmm0, dword [ebp - 0x14ec]
movsd xmm1, qword [ebp - 0xa778]
addsd xmm1, xmm0
movsd qword [ebp - 0xa788], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa788]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45daa7
mov eax, dword [ebp - 0x14ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa778]
addsd xmm1, xmm0
movsd qword [ebp - 0xa778], xmm1
jmp 0x45dac0
mov ecx, 1
test ecx, ecx
je 0x45dabc
jmp 0x45db79
jmp 0x45dae3
cvtsi2sd xmm0, dword [ebp - 0x14ec]
movsd xmm1, qword [ebp - 0xa778]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x14f0], edx
jmp 0x45db83
xor eax, eax
je 0x45daed
jmp 0x45dafc
jmp 0x45d946
jmp 0x45d946
mov ecx, 6
test ecx, ecx
je 0x45db79
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x14f4], eax
cvtsi2sd xmm0, dword [ebp - 0x14f4]
mov eax, dword [ebp - 0x14f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa778]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x14f0], ecx
jmp 0x45db83
mov dword [ebp - 0x14f0], 2
mov edx, dword [ebp - 0x14dc]
shl edx, 2
add edx, dword [ebp - 0x14d8]
mov eax, dword [ebp - 0x14f0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x14dc]
shl ecx, 2
add ecx, dword [ebp - 0x14d8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45de73
xor eax, eax
je 0x45dbe8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45dc24
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa790], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45ddc4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45ddc4
mov dword [ebp - 0x14f8], 0
jmp 0x45dca3
cmp dword [ebp - 0x14f8], 9
jae 0x45ddbf
cvtsi2sd xmm0, dword [ebp - 0x14f8]
movsd xmm1, qword [ebp - 0xa790]
addsd xmm1, xmm0
movsd qword [ebp - 0xa798], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45dd12
mov ecx, dword [ebp - 0x14f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa790]
addsd xmm1, xmm0
movsd qword [ebp - 0xa790], xmm1
jmp 0x45dc0e
cvtsi2sd xmm0, dword [ebp - 0x14f8]
movsd xmm1, qword [ebp - 0xa790]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa7a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45dd6f
mov eax, dword [ebp - 0x14f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa790]
addsd xmm1, xmm0
movsd qword [ebp - 0xa790], xmm1
jmp 0x45dd88
mov ecx, 1
test ecx, ecx
je 0x45dd84
jmp 0x45de41
jmp 0x45ddab
cvtsi2sd xmm0, dword [ebp - 0x14f8]
movsd xmm1, qword [ebp - 0xa790]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x14fc], edx
jmp 0x45de4b
xor eax, eax
je 0x45ddb5
jmp 0x45ddc4
jmp 0x45dc0e
jmp 0x45dc0e
mov ecx, 6
test ecx, ecx
je 0x45de41
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1500], eax
cvtsi2sd xmm0, dword [ebp - 0x1500]
mov eax, dword [ebp - 0x1500]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa790]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x14fc], ecx
jmp 0x45de4b
mov dword [ebp - 0x14fc], 2
mov edx, dword [ebp - 0x14dc]
shl edx, 2
add edx, dword [ebp - 0x14d8]
mov eax, dword [ebp - 0x14fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x14dc]
shl ecx, 2
add ecx, dword [ebp - 0x14d8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x14dc]
add edx, 0xffffffb3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa7a8], xmm0
xor eax, eax
je 0x45de8d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45dec9
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa7a8]
movsd qword [ebp - 0xa7b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45e069
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45e069
mov dword [ebp - 0x1504], 0
jmp 0x45df48
cmp dword [ebp - 0x1504], 9
jae 0x45e064
cvtsi2sd xmm0, dword [ebp - 0x1504]
movsd xmm1, qword [ebp - 0xa7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45dfb7
mov ecx, dword [ebp - 0x1504]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7b0], xmm1
jmp 0x45deb3
cvtsi2sd xmm0, dword [ebp - 0x1504]
movsd xmm1, qword [ebp - 0xa7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa7c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e014
mov eax, dword [ebp - 0x1504]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7b0], xmm1
jmp 0x45e02d
mov ecx, 1
test ecx, ecx
je 0x45e029
jmp 0x45e0e6
jmp 0x45e050
cvtsi2sd xmm0, dword [ebp - 0x1504]
movsd xmm1, qword [ebp - 0xa7b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1508], edx
jmp 0x45e0f0
xor eax, eax
je 0x45e05a
jmp 0x45e069
jmp 0x45deb3
jmp 0x45deb3
mov ecx, 6
test ecx, ecx
je 0x45e0e6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x150c], eax
cvtsi2sd xmm0, dword [ebp - 0x150c]
mov eax, dword [ebp - 0x150c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa7b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1508], ecx
jmp 0x45e0f0
mov dword [ebp - 0x1508], 2
mov edx, dword [ebp - 0x14dc]
add edx, 0xffffffb3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa7c8], xmm0
xor eax, eax
je 0x45e10a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45e146
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa7c8]
movsd qword [ebp - 0xa7d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45e2e6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45e2e6
mov dword [ebp - 0x1510], 0
jmp 0x45e1c5
cmp dword [ebp - 0x1510], 9
jae 0x45e2e1
cvtsi2sd xmm0, dword [ebp - 0x1510]
movsd xmm1, qword [ebp - 0xa7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e234
mov ecx, dword [ebp - 0x1510]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7d0], xmm1
jmp 0x45e130
cvtsi2sd xmm0, dword [ebp - 0x1510]
movsd xmm1, qword [ebp - 0xa7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa7e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e291
mov eax, dword [ebp - 0x1510]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7d0], xmm1
jmp 0x45e2aa
mov ecx, 1
test ecx, ecx
je 0x45e2a6
jmp 0x45e363
jmp 0x45e2cd
cvtsi2sd xmm0, dword [ebp - 0x1510]
movsd xmm1, qword [ebp - 0xa7d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1514], edx
jmp 0x45e36d
xor eax, eax
je 0x45e2d7
jmp 0x45e2e6
jmp 0x45e130
jmp 0x45e130
mov ecx, 6
test ecx, ecx
je 0x45e363
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1518], eax
cvtsi2sd xmm0, dword [ebp - 0x1518]
mov eax, dword [ebp - 0x1518]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa7d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1514], ecx
jmp 0x45e36d
mov dword [ebp - 0x1514], 2
mov edx, dword [ebp - 0x14dc]
shl edx, 2
add edx, dword [ebp - 0x14d8]
mov eax, dword [ebp - 0x1508]
add eax, dword [edx]
mov ecx, dword [ebp - 0x14dc]
shl ecx, 2
add ecx, dword [ebp - 0x14d8]
mov edx, dword [ebp - 0x1514]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x14dc]
shl ecx, 2
add ecx, dword [ebp - 0x14d8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45e678
xor eax, eax
je 0x45e3ed
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45e429
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa7e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45e5c9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45e5c9
mov dword [ebp - 0x151c], 0
jmp 0x45e4a8
cmp dword [ebp - 0x151c], 9
jae 0x45e5c4
cvtsi2sd xmm0, dword [ebp - 0x151c]
movsd xmm1, qword [ebp - 0xa7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e517
mov ecx, dword [ebp - 0x151c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7e8], xmm1
jmp 0x45e413
cvtsi2sd xmm0, dword [ebp - 0x151c]
movsd xmm1, qword [ebp - 0xa7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa7f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e574
mov eax, dword [ebp - 0x151c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa7e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa7e8], xmm1
jmp 0x45e58d
mov ecx, 1
test ecx, ecx
je 0x45e589
jmp 0x45e646
jmp 0x45e5b0
cvtsi2sd xmm0, dword [ebp - 0x151c]
movsd xmm1, qword [ebp - 0xa7e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1520], edx
jmp 0x45e650
xor eax, eax
je 0x45e5ba
jmp 0x45e5c9
jmp 0x45e413
jmp 0x45e413
mov ecx, 6
test ecx, ecx
je 0x45e646
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1524], eax
cvtsi2sd xmm0, dword [ebp - 0x1524]
mov eax, dword [ebp - 0x1524]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa7e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1520], ecx
jmp 0x45e650
mov dword [ebp - 0x1520], 2
mov edx, dword [ebp - 0x14dc]
shl edx, 2
add edx, dword [ebp - 0x14d8]
mov eax, dword [ebp - 0x1520]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x14dc]
shl ecx, 2
add ecx, dword [ebp - 0x14d8]
mov dword [ecx], eax
jmp 0x45d5ba
mov edx, dword [ebp - 0x14d4]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x14d4]
mov dword [ebp - 0x1528], eax
mov ecx, dword [ebp - 0x1528]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x152c], ecx
mov edx, dword [ebp - 0x152c]
mov dword [ebp - 0x1530], edx
xor eax, eax
mov byte [ebp - 0x37], al
lea ecx, [ebp - 0x37]
call fcn.00424930
mov dword [ebp - 0x1534], eax
mov ecx, dword [ebp - 0x1534]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x45f7b6
mov eax, dword [ebp - 0x1534]
mov dword [ebp - 0x1538], eax
mov dword [ebp - 0x153c], 0
jmp 0x45e702
mov ecx, dword [ebp - 0x153c]
add ecx, 1
mov dword [ebp - 0x153c], ecx
cmp dword [ebp - 0x153c], 1
jae 0x45f7b6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45e9d7
xor eax, eax
je 0x45e74c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45e788
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa800], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45e928
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45e928
mov dword [ebp - 0x1540], 0
jmp 0x45e807
cmp dword [ebp - 0x1540], 9
jae 0x45e923
cvtsi2sd xmm0, dword [ebp - 0x1540]
movsd xmm1, qword [ebp - 0xa800]
addsd xmm1, xmm0
movsd qword [ebp - 0xa808], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa808]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e876
mov ecx, dword [ebp - 0x1540]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa800]
addsd xmm1, xmm0
movsd qword [ebp - 0xa800], xmm1
jmp 0x45e772
cvtsi2sd xmm0, dword [ebp - 0x1540]
movsd xmm1, qword [ebp - 0xa800]
addsd xmm1, xmm0
movsd qword [ebp - 0xa810], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa810]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45e8d3
mov eax, dword [ebp - 0x1540]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa800]
addsd xmm1, xmm0
movsd qword [ebp - 0xa800], xmm1
jmp 0x45e8ec
mov ecx, 1
test ecx, ecx
je 0x45e8e8
jmp 0x45e9a5
jmp 0x45e90f
cvtsi2sd xmm0, dword [ebp - 0x1540]
movsd xmm1, qword [ebp - 0xa800]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1544], edx
jmp 0x45e9af
xor eax, eax
je 0x45e919
jmp 0x45e928
jmp 0x45e772
jmp 0x45e772
mov ecx, 6
test ecx, ecx
je 0x45e9a5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1548], eax
cvtsi2sd xmm0, dword [ebp - 0x1548]
mov eax, dword [ebp - 0x1548]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa800]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1544], ecx
jmp 0x45e9af
mov dword [ebp - 0x1544], 2
mov edx, dword [ebp - 0x153c]
shl edx, 2
add edx, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x1544]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x153c]
shl ecx, 2
add ecx, dword [ebp - 0x1538]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45f4e9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45ece4
xor eax, eax
je 0x45ea59
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45ea95
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa818], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45ec35
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45ec35
mov dword [ebp - 0x154c], 0
jmp 0x45eb14
cmp dword [ebp - 0x154c], 9
jae 0x45ec30
cvtsi2sd xmm0, dword [ebp - 0x154c]
movsd xmm1, qword [ebp - 0xa818]
addsd xmm1, xmm0
movsd qword [ebp - 0xa820], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa820]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45eb83
mov ecx, dword [ebp - 0x154c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa818]
addsd xmm1, xmm0
movsd qword [ebp - 0xa818], xmm1
jmp 0x45ea7f
cvtsi2sd xmm0, dword [ebp - 0x154c]
movsd xmm1, qword [ebp - 0xa818]
addsd xmm1, xmm0
movsd qword [ebp - 0xa828], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa828]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ebe0
mov eax, dword [ebp - 0x154c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa818]
addsd xmm1, xmm0
movsd qword [ebp - 0xa818], xmm1
jmp 0x45ebf9
mov ecx, 1
test ecx, ecx
je 0x45ebf5
jmp 0x45ecb2
jmp 0x45ec1c
cvtsi2sd xmm0, dword [ebp - 0x154c]
movsd xmm1, qword [ebp - 0xa818]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1550], edx
jmp 0x45ecbc
xor eax, eax
je 0x45ec26
jmp 0x45ec35
jmp 0x45ea7f
jmp 0x45ea7f
mov ecx, 6
test ecx, ecx
je 0x45ecb2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1554], eax
cvtsi2sd xmm0, dword [ebp - 0x1554]
mov eax, dword [ebp - 0x1554]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa818]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1550], ecx
jmp 0x45ecbc
mov dword [ebp - 0x1550], 2
mov edx, dword [ebp - 0x153c]
shl edx, 2
add edx, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x1550]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x153c]
shl ecx, 2
add ecx, dword [ebp - 0x1538]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45efac
xor eax, eax
je 0x45ed21
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45ed5d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa830], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45eefd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45eefd
mov dword [ebp - 0x1558], 0
jmp 0x45eddc
cmp dword [ebp - 0x1558], 9
jae 0x45eef8
cvtsi2sd xmm0, dword [ebp - 0x1558]
movsd xmm1, qword [ebp - 0xa830]
addsd xmm1, xmm0
movsd qword [ebp - 0xa838], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ee4b
mov ecx, dword [ebp - 0x1558]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa830]
addsd xmm1, xmm0
movsd qword [ebp - 0xa830], xmm1
jmp 0x45ed47
cvtsi2sd xmm0, dword [ebp - 0x1558]
movsd xmm1, qword [ebp - 0xa830]
addsd xmm1, xmm0
movsd qword [ebp - 0xa840], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa840]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45eea8
mov eax, dword [ebp - 0x1558]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa830]
addsd xmm1, xmm0
movsd qword [ebp - 0xa830], xmm1
jmp 0x45eec1
mov ecx, 1
test ecx, ecx
je 0x45eebd
jmp 0x45ef7a
jmp 0x45eee4
cvtsi2sd xmm0, dword [ebp - 0x1558]
movsd xmm1, qword [ebp - 0xa830]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x155c], edx
jmp 0x45ef84
xor eax, eax
je 0x45eeee
jmp 0x45eefd
jmp 0x45ed47
jmp 0x45ed47
mov ecx, 6
test ecx, ecx
je 0x45ef7a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1560], eax
cvtsi2sd xmm0, dword [ebp - 0x1560]
mov eax, dword [ebp - 0x1560]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa830]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x155c], ecx
jmp 0x45ef84
mov dword [ebp - 0x155c], 2
mov edx, dword [ebp - 0x153c]
shl edx, 2
add edx, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x155c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x153c]
shl ecx, 2
add ecx, dword [ebp - 0x1538]
mov dword [ecx], eax
mov edx, dword [ebp - 0x153c]
add edx, 0xffffffb4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa848], xmm0
xor eax, eax
je 0x45efc6
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45f002
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa848]
movsd qword [ebp - 0xa850], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45f1a2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45f1a2
mov dword [ebp - 0x1564], 0
jmp 0x45f081
cmp dword [ebp - 0x1564], 9
jae 0x45f19d
cvtsi2sd xmm0, dword [ebp - 0x1564]
movsd xmm1, qword [ebp - 0xa850]
addsd xmm1, xmm0
movsd qword [ebp - 0xa858], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f0f0
mov ecx, dword [ebp - 0x1564]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa850]
addsd xmm1, xmm0
movsd qword [ebp - 0xa850], xmm1
jmp 0x45efec
cvtsi2sd xmm0, dword [ebp - 0x1564]
movsd xmm1, qword [ebp - 0xa850]
addsd xmm1, xmm0
movsd qword [ebp - 0xa860], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa860]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f14d
mov eax, dword [ebp - 0x1564]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa850]
addsd xmm1, xmm0
movsd qword [ebp - 0xa850], xmm1
jmp 0x45f166
mov ecx, 1
test ecx, ecx
je 0x45f162
jmp 0x45f21f
jmp 0x45f189
cvtsi2sd xmm0, dword [ebp - 0x1564]
movsd xmm1, qword [ebp - 0xa850]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1568], edx
jmp 0x45f229
xor eax, eax
je 0x45f193
jmp 0x45f1a2
jmp 0x45efec
jmp 0x45efec
mov ecx, 6
test ecx, ecx
je 0x45f21f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x156c], eax
cvtsi2sd xmm0, dword [ebp - 0x156c]
mov eax, dword [ebp - 0x156c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa850]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1568], ecx
jmp 0x45f229
mov dword [ebp - 0x1568], 2
mov edx, dword [ebp - 0x153c]
add edx, 0xffffffb4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa868], xmm0
xor eax, eax
je 0x45f243
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x45f27f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa868]
movsd qword [ebp - 0xa870], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45f41f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45f41f
mov dword [ebp - 0x1570], 0
jmp 0x45f2fe
cmp dword [ebp - 0x1570], 9
jae 0x45f41a
cvtsi2sd xmm0, dword [ebp - 0x1570]
movsd xmm1, qword [ebp - 0xa870]
addsd xmm1, xmm0
movsd qword [ebp - 0xa878], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f36d
mov ecx, dword [ebp - 0x1570]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa870]
addsd xmm1, xmm0
movsd qword [ebp - 0xa870], xmm1
jmp 0x45f269
cvtsi2sd xmm0, dword [ebp - 0x1570]
movsd xmm1, qword [ebp - 0xa870]
addsd xmm1, xmm0
movsd qword [ebp - 0xa880], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa880]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f3ca
mov eax, dword [ebp - 0x1570]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa870]
addsd xmm1, xmm0
movsd qword [ebp - 0xa870], xmm1
jmp 0x45f3e3
mov ecx, 1
test ecx, ecx
je 0x45f3df
jmp 0x45f49c
jmp 0x45f406
cvtsi2sd xmm0, dword [ebp - 0x1570]
movsd xmm1, qword [ebp - 0xa870]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1574], edx
jmp 0x45f4a6
xor eax, eax
je 0x45f410
jmp 0x45f41f
jmp 0x45f269
jmp 0x45f269
mov ecx, 6
test ecx, ecx
je 0x45f49c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1578], eax
cvtsi2sd xmm0, dword [ebp - 0x1578]
mov eax, dword [ebp - 0x1578]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa870]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1574], ecx
jmp 0x45f4a6
mov dword [ebp - 0x1574], 2
mov edx, dword [ebp - 0x153c]
shl edx, 2
add edx, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x1568]
add eax, dword [edx]
mov ecx, dword [ebp - 0x153c]
shl ecx, 2
add ecx, dword [ebp - 0x1538]
mov edx, dword [ebp - 0x1574]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x153c]
shl ecx, 2
add ecx, dword [ebp - 0x1538]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45f7b1
xor eax, eax
je 0x45f526
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45f562
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xa888], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45f702
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45f702
mov dword [ebp - 0x157c], 0
jmp 0x45f5e1
cmp dword [ebp - 0x157c], 9
jae 0x45f6fd
cvtsi2sd xmm0, dword [ebp - 0x157c]
movsd xmm1, qword [ebp - 0xa888]
addsd xmm1, xmm0
movsd qword [ebp - 0xa890], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa890]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f650
mov ecx, dword [ebp - 0x157c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa888]
addsd xmm1, xmm0
movsd qword [ebp - 0xa888], xmm1
jmp 0x45f54c
cvtsi2sd xmm0, dword [ebp - 0x157c]
movsd xmm1, qword [ebp - 0xa888]
addsd xmm1, xmm0
movsd qword [ebp - 0xa898], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f6ad
mov eax, dword [ebp - 0x157c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa888]
addsd xmm1, xmm0
movsd qword [ebp - 0xa888], xmm1
jmp 0x45f6c6
mov ecx, 1
test ecx, ecx
je 0x45f6c2
jmp 0x45f77f
jmp 0x45f6e9
cvtsi2sd xmm0, dword [ebp - 0x157c]
movsd xmm1, qword [ebp - 0xa888]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1580], edx
jmp 0x45f789
xor eax, eax
je 0x45f6f3
jmp 0x45f702
jmp 0x45f54c
jmp 0x45f54c
mov ecx, 6
test ecx, ecx
je 0x45f77f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1584], eax
cvtsi2sd xmm0, dword [ebp - 0x1584]
mov eax, dword [ebp - 0x1584]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa888]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1580], ecx
jmp 0x45f789
mov dword [ebp - 0x1580], 2
mov edx, dword [ebp - 0x153c]
shl edx, 2
add edx, dword [ebp - 0x1538]
mov eax, dword [ebp - 0x1580]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x153c]
shl ecx, 2
add ecx, dword [ebp - 0x1538]
mov dword [ecx], eax
jmp 0x45e6f3
mov edx, dword [ebp - 0x1534]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1534]
mov dword [ebp - 0x1588], eax
mov ecx, dword [ebp - 0x1588]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x158c], ecx
mov edx, dword [ebp - 0x158c]
mov dword [ebp - 0x1590], edx
mov eax, dword [ebp - 0x1530]
mov dword [ebp - 0x14d0], eax
cmp dword [ebp - 0x14d0], 0
je 0x460941
xor ecx, ecx
mov byte [ebp - 0x38], cl
lea ecx, [ebp - 0x38]
call fcn.00424900
mov dword [ebp - 0x1594], eax
mov edx, dword [ebp - 0x1594]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x460908
mov ecx, dword [ebp - 0x1594]
mov dword [ebp - 0x1598], ecx
mov dword [ebp - 0x159c], 0
jmp 0x45f854
mov edx, dword [ebp - 0x159c]
add edx, 1
mov dword [ebp - 0x159c], edx
cmp dword [ebp - 0x159c], 1
jae 0x460908
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45fb29
xor eax, eax
je 0x45f89e
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x45f8da
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726388]
movsd qword [ebp - 0xa8a0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45fa7a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45fa7a
mov dword [ebp - 0x15a0], 0
jmp 0x45f959
cmp dword [ebp - 0x15a0], 9
jae 0x45fa75
cvtsi2sd xmm0, dword [ebp - 0x15a0]
movsd xmm1, qword [ebp - 0xa8a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45f9c8
mov ecx, dword [ebp - 0x15a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa8a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8a0], xmm1
jmp 0x45f8c4
cvtsi2sd xmm0, dword [ebp - 0x15a0]
movsd xmm1, qword [ebp - 0xa8a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa8b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fa25
mov eax, dword [ebp - 0x15a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8a0], xmm1
jmp 0x45fa3e
mov ecx, 1
test ecx, ecx
je 0x45fa3a
jmp 0x45faf7
jmp 0x45fa61
cvtsi2sd xmm0, dword [ebp - 0x15a0]
movsd xmm1, qword [ebp - 0xa8a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x15a4], edx
jmp 0x45fb01
xor eax, eax
je 0x45fa6b
jmp 0x45fa7a
jmp 0x45f8c4
jmp 0x45f8c4
mov ecx, 6
test ecx, ecx
je 0x45faf7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x15a8], eax
cvtsi2sd xmm0, dword [ebp - 0x15a8]
mov eax, dword [ebp - 0x15a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa8a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x15a4], ecx
jmp 0x45fb01
mov dword [ebp - 0x15a4], 2
mov edx, dword [ebp - 0x159c]
shl edx, 2
add edx, dword [ebp - 0x1598]
mov eax, dword [ebp - 0x15a4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x159c]
shl ecx, 2
add ecx, dword [ebp - 0x1598]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46063b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x45fe36
xor eax, eax
je 0x45fbab
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45fbe7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa8b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x45fd87
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x45fd87
mov dword [ebp - 0x15ac], 0
jmp 0x45fc66
cmp dword [ebp - 0x15ac], 9
jae 0x45fd82
cvtsi2sd xmm0, dword [ebp - 0x15ac]
movsd xmm1, qword [ebp - 0xa8b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fcd5
mov ecx, dword [ebp - 0x15ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa8b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8b8], xmm1
jmp 0x45fbd1
cvtsi2sd xmm0, dword [ebp - 0x15ac]
movsd xmm1, qword [ebp - 0xa8b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa8c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fd32
mov eax, dword [ebp - 0x15ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8b8], xmm1
jmp 0x45fd4b
mov ecx, 1
test ecx, ecx
je 0x45fd47
jmp 0x45fe04
jmp 0x45fd6e
cvtsi2sd xmm0, dword [ebp - 0x15ac]
movsd xmm1, qword [ebp - 0xa8b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x15b0], edx
jmp 0x45fe0e
xor eax, eax
je 0x45fd78
jmp 0x45fd87
jmp 0x45fbd1
jmp 0x45fbd1
mov ecx, 6
test ecx, ecx
je 0x45fe04
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x15b4], eax
cvtsi2sd xmm0, dword [ebp - 0x15b4]
mov eax, dword [ebp - 0x15b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa8b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x15b0], ecx
jmp 0x45fe0e
mov dword [ebp - 0x15b0], 2
mov edx, dword [ebp - 0x159c]
shl edx, 2
add edx, dword [ebp - 0x1598]
mov eax, dword [ebp - 0x15b0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x159c]
shl ecx, 2
add ecx, dword [ebp - 0x1598]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4600fe
xor eax, eax
je 0x45fe73
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x45feaf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa8d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46004f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46004f
mov dword [ebp - 0x15b8], 0
jmp 0x45ff2e
cmp dword [ebp - 0x15b8], 9
jae 0x46004a
cvtsi2sd xmm0, dword [ebp - 0x15b8]
movsd xmm1, qword [ebp - 0xa8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45ff9d
mov ecx, dword [ebp - 0x15b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8d0], xmm1
jmp 0x45fe99
cvtsi2sd xmm0, dword [ebp - 0x15b8]
movsd xmm1, qword [ebp - 0xa8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa8e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x45fffa
mov eax, dword [ebp - 0x15b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8d0], xmm1
jmp 0x460013
mov ecx, 1
test ecx, ecx
je 0x46000f
jmp 0x4600cc
jmp 0x460036
cvtsi2sd xmm0, dword [ebp - 0x15b8]
movsd xmm1, qword [ebp - 0xa8d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x15bc], edx
jmp 0x4600d6
xor eax, eax
je 0x460040
jmp 0x46004f
jmp 0x45fe99
jmp 0x45fe99
mov ecx, 6
test ecx, ecx
je 0x4600cc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x15c0], eax
cvtsi2sd xmm0, dword [ebp - 0x15c0]
mov eax, dword [ebp - 0x15c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa8d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x15bc], ecx
jmp 0x4600d6
mov dword [ebp - 0x15bc], 2
mov edx, dword [ebp - 0x159c]
shl edx, 2
add edx, dword [ebp - 0x1598]
mov eax, dword [ebp - 0x15bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x159c]
shl ecx, 2
add ecx, dword [ebp - 0x1598]
mov dword [ecx], eax
mov edx, dword [ebp - 0x159c]
add edx, 0xffffffb4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa8e8], xmm0
xor eax, eax
je 0x460118
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x460154
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa8e8]
movsd qword [ebp - 0xa8f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4602f4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4602f4
mov dword [ebp - 0x15c4], 0
jmp 0x4601d3
cmp dword [ebp - 0x15c4], 9
jae 0x4602ef
cvtsi2sd xmm0, dword [ebp - 0x15c4]
movsd xmm1, qword [ebp - 0xa8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460242
mov ecx, dword [ebp - 0x15c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8f0], xmm1
jmp 0x46013e
cvtsi2sd xmm0, dword [ebp - 0x15c4]
movsd xmm1, qword [ebp - 0xa8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa900], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa900]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46029f
mov eax, dword [ebp - 0x15c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa8f0], xmm1
jmp 0x4602b8
mov ecx, 1
test ecx, ecx
je 0x4602b4
jmp 0x460371
jmp 0x4602db
cvtsi2sd xmm0, dword [ebp - 0x15c4]
movsd xmm1, qword [ebp - 0xa8f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x15c8], edx
jmp 0x46037b
xor eax, eax
je 0x4602e5
jmp 0x4602f4
jmp 0x46013e
jmp 0x46013e
mov ecx, 6
test ecx, ecx
je 0x460371
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x15cc], eax
cvtsi2sd xmm0, dword [ebp - 0x15cc]
mov eax, dword [ebp - 0x15cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa8f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x15c8], ecx
jmp 0x46037b
mov dword [ebp - 0x15c8], 2
mov edx, dword [ebp - 0x159c]
add edx, 0xffffffb4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa908], xmm0
xor eax, eax
je 0x460395
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4603d1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa908]
movsd qword [ebp - 0xa910], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x460571
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x460571
mov dword [ebp - 0x15d0], 0
jmp 0x460450
cmp dword [ebp - 0x15d0], 9
jae 0x46056c
cvtsi2sd xmm0, dword [ebp - 0x15d0]
movsd xmm1, qword [ebp - 0xa910]
addsd xmm1, xmm0
movsd qword [ebp - 0xa918], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4604bf
mov ecx, dword [ebp - 0x15d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa910]
addsd xmm1, xmm0
movsd qword [ebp - 0xa910], xmm1
jmp 0x4603bb
cvtsi2sd xmm0, dword [ebp - 0x15d0]
movsd xmm1, qword [ebp - 0xa910]
addsd xmm1, xmm0
movsd qword [ebp - 0xa920], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa920]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46051c
mov eax, dword [ebp - 0x15d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa910]
addsd xmm1, xmm0
movsd qword [ebp - 0xa910], xmm1
jmp 0x460535
mov ecx, 1
test ecx, ecx
je 0x460531
jmp 0x4605ee
jmp 0x460558
cvtsi2sd xmm0, dword [ebp - 0x15d0]
movsd xmm1, qword [ebp - 0xa910]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x15d4], edx
jmp 0x4605f8
xor eax, eax
je 0x460562
jmp 0x460571
jmp 0x4603bb
jmp 0x4603bb
mov ecx, 6
test ecx, ecx
je 0x4605ee
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x15d8], eax
cvtsi2sd xmm0, dword [ebp - 0x15d8]
mov eax, dword [ebp - 0x15d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa910]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x15d4], ecx
jmp 0x4605f8
mov dword [ebp - 0x15d4], 2
mov edx, dword [ebp - 0x159c]
shl edx, 2
add edx, dword [ebp - 0x1598]
mov eax, dword [ebp - 0x15c8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x159c]
shl ecx, 2
add ecx, dword [ebp - 0x1598]
mov edx, dword [ebp - 0x15d4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x159c]
shl ecx, 2
add ecx, dword [ebp - 0x1598]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x460903
xor eax, eax
je 0x460678
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4606b4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xa928], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x460854
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x460854
mov dword [ebp - 0x15dc], 0
jmp 0x460733
cmp dword [ebp - 0x15dc], 9
jae 0x46084f
cvtsi2sd xmm0, dword [ebp - 0x15dc]
movsd xmm1, qword [ebp - 0xa928]
addsd xmm1, xmm0
movsd qword [ebp - 0xa930], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa930]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4607a2
mov ecx, dword [ebp - 0x15dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa928]
addsd xmm1, xmm0
movsd qword [ebp - 0xa928], xmm1
jmp 0x46069e
cvtsi2sd xmm0, dword [ebp - 0x15dc]
movsd xmm1, qword [ebp - 0xa928]
addsd xmm1, xmm0
movsd qword [ebp - 0xa938], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4607ff
mov eax, dword [ebp - 0x15dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa928]
addsd xmm1, xmm0
movsd qword [ebp - 0xa928], xmm1
jmp 0x460818
mov ecx, 1
test ecx, ecx
je 0x460814
jmp 0x4608d1
jmp 0x46083b
cvtsi2sd xmm0, dword [ebp - 0x15dc]
movsd xmm1, qword [ebp - 0xa928]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x15e0], edx
jmp 0x4608db
xor eax, eax
je 0x460845
jmp 0x460854
jmp 0x46069e
jmp 0x46069e
mov ecx, 6
test ecx, ecx
je 0x4608d1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x15e4], eax
cvtsi2sd xmm0, dword [ebp - 0x15e4]
mov eax, dword [ebp - 0x15e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa928]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x15e0], ecx
jmp 0x4608db
mov dword [ebp - 0x15e0], 2
mov edx, dword [ebp - 0x159c]
shl edx, 2
add edx, dword [ebp - 0x1598]
mov eax, dword [ebp - 0x15e0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x159c]
shl ecx, 2
add ecx, dword [ebp - 0x1598]
mov dword [ecx], eax
jmp 0x45f845
mov edx, dword [ebp - 0x1594]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1594]
mov dword [ebp - 0x15e8], eax
mov ecx, dword [ebp - 0x15e8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x15ec], ecx
mov edx, dword [ebp - 0x15ec]
mov dword [ebp - 0x1590], edx
push 0x44
push 0
lea eax, [ebp - 0x16800]
push eax
call fcn.005cf5d0
add esp, 0xc
xor ecx, ecx
mov byte [ebp - 0x39], cl
lea ecx, [ebp - 0x39]
call fcn.004248d0
mov dword [ebp - 0x15f0], eax
mov edx, dword [ebp - 0x15f0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x461a54
mov ecx, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], ecx
mov dword [ebp - 0x15f8], 0
jmp 0x4609a0
mov edx, dword [ebp - 0x15f8]
add edx, 1
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 1
jae 0x461a54
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x460c75
xor eax, eax
je 0x4609ea
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x460a26
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa940], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x460bc6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x460bc6
mov dword [ebp - 0x15fc], 0
jmp 0x460aa5
cmp dword [ebp - 0x15fc], 9
jae 0x460bc1
cvtsi2sd xmm0, dword [ebp - 0x15fc]
movsd xmm1, qword [ebp - 0xa940]
addsd xmm1, xmm0
movsd qword [ebp - 0xa948], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa948]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460b14
mov ecx, dword [ebp - 0x15fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa940]
addsd xmm1, xmm0
movsd qword [ebp - 0xa940], xmm1
jmp 0x460a10
cvtsi2sd xmm0, dword [ebp - 0x15fc]
movsd xmm1, qword [ebp - 0xa940]
addsd xmm1, xmm0
movsd qword [ebp - 0xa950], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa950]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460b71
mov eax, dword [ebp - 0x15fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa940]
addsd xmm1, xmm0
movsd qword [ebp - 0xa940], xmm1
jmp 0x460b8a
mov ecx, 1
test ecx, ecx
je 0x460b86
jmp 0x460c43
jmp 0x460bad
cvtsi2sd xmm0, dword [ebp - 0x15fc]
movsd xmm1, qword [ebp - 0xa940]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1600], edx
jmp 0x460c4d
xor eax, eax
je 0x460bb7
jmp 0x460bc6
jmp 0x460a10
jmp 0x460a10
mov ecx, 6
test ecx, ecx
je 0x460c43
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1604], eax
cvtsi2sd xmm0, dword [ebp - 0x1604]
mov eax, dword [ebp - 0x1604]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa940]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1600], ecx
jmp 0x460c4d
mov dword [ebp - 0x1600], 2
mov edx, dword [ebp - 0x15f8]
shl edx, 2
add edx, dword [ebp - 0x15f4]
mov eax, dword [ebp - 0x1600]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x15f8]
shl ecx, 2
add ecx, dword [ebp - 0x15f4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x461787
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x460f82
xor eax, eax
je 0x460cf7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x460d33
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa958], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x460ed3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x460ed3
mov dword [ebp - 0x1608], 0
jmp 0x460db2
cmp dword [ebp - 0x1608], 9
jae 0x460ece
cvtsi2sd xmm0, dword [ebp - 0x1608]
movsd xmm1, qword [ebp - 0xa958]
addsd xmm1, xmm0
movsd qword [ebp - 0xa960], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa960]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460e21
mov ecx, dword [ebp - 0x1608]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa958]
addsd xmm1, xmm0
movsd qword [ebp - 0xa958], xmm1
jmp 0x460d1d
cvtsi2sd xmm0, dword [ebp - 0x1608]
movsd xmm1, qword [ebp - 0xa958]
addsd xmm1, xmm0
movsd qword [ebp - 0xa968], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa968]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x460e7e
mov eax, dword [ebp - 0x1608]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa958]
addsd xmm1, xmm0
movsd qword [ebp - 0xa958], xmm1
jmp 0x460e97
mov ecx, 1
test ecx, ecx
je 0x460e93
jmp 0x460f50
jmp 0x460eba
cvtsi2sd xmm0, dword [ebp - 0x1608]
movsd xmm1, qword [ebp - 0xa958]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x160c], edx
jmp 0x460f5a
xor eax, eax
je 0x460ec4
jmp 0x460ed3
jmp 0x460d1d
jmp 0x460d1d
mov ecx, 6
test ecx, ecx
je 0x460f50
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1610], eax
cvtsi2sd xmm0, dword [ebp - 0x1610]
mov eax, dword [ebp - 0x1610]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa958]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x160c], ecx
jmp 0x460f5a
mov dword [ebp - 0x160c], 2
mov edx, dword [ebp - 0x15f8]
shl edx, 2
add edx, dword [ebp - 0x15f4]
mov eax, dword [ebp - 0x160c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x15f8]
shl ecx, 2
add ecx, dword [ebp - 0x15f4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46124a
xor eax, eax
je 0x460fbf
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x460ffb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xa970], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46119b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46119b
mov dword [ebp - 0x1614], 0
jmp 0x46107a
cmp dword [ebp - 0x1614], 9
jae 0x461196
cvtsi2sd xmm0, dword [ebp - 0x1614]
movsd xmm1, qword [ebp - 0xa970]
addsd xmm1, xmm0
movsd qword [ebp - 0xa978], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4610e9
mov ecx, dword [ebp - 0x1614]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa970]
addsd xmm1, xmm0
movsd qword [ebp - 0xa970], xmm1
jmp 0x460fe5
cvtsi2sd xmm0, dword [ebp - 0x1614]
movsd xmm1, qword [ebp - 0xa970]
addsd xmm1, xmm0
movsd qword [ebp - 0xa980], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa980]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461146
mov eax, dword [ebp - 0x1614]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa970]
addsd xmm1, xmm0
movsd qword [ebp - 0xa970], xmm1
jmp 0x46115f
mov ecx, 1
test ecx, ecx
je 0x46115b
jmp 0x461218
jmp 0x461182
cvtsi2sd xmm0, dword [ebp - 0x1614]
movsd xmm1, qword [ebp - 0xa970]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1618], edx
jmp 0x461222
xor eax, eax
je 0x46118c
jmp 0x46119b
jmp 0x460fe5
jmp 0x460fe5
mov ecx, 6
test ecx, ecx
je 0x461218
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x161c], eax
cvtsi2sd xmm0, dword [ebp - 0x161c]
mov eax, dword [ebp - 0x161c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa970]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1618], ecx
jmp 0x461222
mov dword [ebp - 0x1618], 2
mov edx, dword [ebp - 0x15f8]
shl edx, 2
add edx, dword [ebp - 0x15f4]
mov eax, dword [ebp - 0x1618]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x15f8]
shl ecx, 2
add ecx, dword [ebp - 0x15f4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x15f8]
add edx, 0xffffffb5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa988], xmm0
xor eax, eax
je 0x461264
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4612a0
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa988]
movsd qword [ebp - 0xa990], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x461440
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x461440
mov dword [ebp - 0x1620], 0
jmp 0x46131f
cmp dword [ebp - 0x1620], 9
jae 0x46143b
cvtsi2sd xmm0, dword [ebp - 0x1620]
movsd xmm1, qword [ebp - 0xa990]
addsd xmm1, xmm0
movsd qword [ebp - 0xa998], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46138e
mov ecx, dword [ebp - 0x1620]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa990]
addsd xmm1, xmm0
movsd qword [ebp - 0xa990], xmm1
jmp 0x46128a
cvtsi2sd xmm0, dword [ebp - 0x1620]
movsd xmm1, qword [ebp - 0xa990]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa9a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4613eb
mov eax, dword [ebp - 0x1620]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa990]
addsd xmm1, xmm0
movsd qword [ebp - 0xa990], xmm1
jmp 0x461404
mov ecx, 1
test ecx, ecx
je 0x461400
jmp 0x4614bd
jmp 0x461427
cvtsi2sd xmm0, dword [ebp - 0x1620]
movsd xmm1, qword [ebp - 0xa990]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1624], edx
jmp 0x4614c7
xor eax, eax
je 0x461431
jmp 0x461440
jmp 0x46128a
jmp 0x46128a
mov ecx, 6
test ecx, ecx
je 0x4614bd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1628], eax
cvtsi2sd xmm0, dword [ebp - 0x1628]
mov eax, dword [ebp - 0x1628]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa990]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1624], ecx
jmp 0x4614c7
mov dword [ebp - 0x1624], 2
mov edx, dword [ebp - 0x15f8]
add edx, 0xffffffb5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xa9a8], xmm0
xor eax, eax
je 0x4614e1
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46151d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xa9a8]
movsd qword [ebp - 0xa9b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4616bd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4616bd
mov dword [ebp - 0x162c], 0
jmp 0x46159c
cmp dword [ebp - 0x162c], 9
jae 0x4616b8
cvtsi2sd xmm0, dword [ebp - 0x162c]
movsd xmm1, qword [ebp - 0xa9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46160b
mov ecx, dword [ebp - 0x162c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9b0], xmm1
jmp 0x461507
cvtsi2sd xmm0, dword [ebp - 0x162c]
movsd xmm1, qword [ebp - 0xa9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa9c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461668
mov eax, dword [ebp - 0x162c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9b0], xmm1
jmp 0x461681
mov ecx, 1
test ecx, ecx
je 0x46167d
jmp 0x46173a
jmp 0x4616a4
cvtsi2sd xmm0, dword [ebp - 0x162c]
movsd xmm1, qword [ebp - 0xa9b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1630], edx
jmp 0x461744
xor eax, eax
je 0x4616ae
jmp 0x4616bd
jmp 0x461507
jmp 0x461507
mov ecx, 6
test ecx, ecx
je 0x46173a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1634], eax
cvtsi2sd xmm0, dword [ebp - 0x1634]
mov eax, dword [ebp - 0x1634]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa9b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1630], ecx
jmp 0x461744
mov dword [ebp - 0x1630], 2
mov edx, dword [ebp - 0x15f8]
shl edx, 2
add edx, dword [ebp - 0x15f4]
mov eax, dword [ebp - 0x1624]
add eax, dword [edx]
mov ecx, dword [ebp - 0x15f8]
shl ecx, 2
add ecx, dword [ebp - 0x15f4]
mov edx, dword [ebp - 0x1630]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x15f8]
shl ecx, 2
add ecx, dword [ebp - 0x15f4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x461a4f
xor eax, eax
je 0x4617c4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x461800
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xa9c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4619a0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4619a0
mov dword [ebp - 0x1638], 0
jmp 0x46187f
cmp dword [ebp - 0x1638], 9
jae 0x46199b
cvtsi2sd xmm0, dword [ebp - 0x1638]
movsd xmm1, qword [ebp - 0xa9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4618ee
mov ecx, dword [ebp - 0x1638]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9c8], xmm1
jmp 0x4617ea
cvtsi2sd xmm0, dword [ebp - 0x1638]
movsd xmm1, qword [ebp - 0xa9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa9d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46194b
mov eax, dword [ebp - 0x1638]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9c8], xmm1
jmp 0x461964
mov ecx, 1
test ecx, ecx
je 0x461960
jmp 0x461a1d
jmp 0x461987
cvtsi2sd xmm0, dword [ebp - 0x1638]
movsd xmm1, qword [ebp - 0xa9c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x163c], edx
jmp 0x461a27
xor eax, eax
je 0x461991
jmp 0x4619a0
jmp 0x4617ea
jmp 0x4617ea
mov ecx, 6
test ecx, ecx
je 0x461a1d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1640], eax
cvtsi2sd xmm0, dword [ebp - 0x1640]
mov eax, dword [ebp - 0x1640]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa9c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x163c], ecx
jmp 0x461a27
mov dword [ebp - 0x163c], 2
mov edx, dword [ebp - 0x15f8]
shl edx, 2
add edx, dword [ebp - 0x15f4]
mov eax, dword [ebp - 0x163c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x15f8]
shl ecx, 2
add ecx, dword [ebp - 0x15f4]
mov dword [ecx], eax
jmp 0x460991
mov edx, dword [ebp - 0x15f0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x1644], eax
mov ecx, dword [ebp - 0x1644]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1648], ecx
mov edx, dword [ebp - 0x1648]
mov dword [ebp - 0x164c], edx
xor eax, eax
mov byte [ebp - 0x3a], al
lea ecx, [ebp - 0x3a]
call fcn.004248a0
mov dword [ebp - 0x1650], eax
mov ecx, dword [ebp - 0x1650]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x462b8d
mov eax, dword [ebp - 0x1650]
mov dword [ebp - 0x1654], eax
mov dword [ebp - 0x1658], 0
jmp 0x461ad9
mov ecx, dword [ebp - 0x1658]
add ecx, 1
mov dword [ebp - 0x1658], ecx
cmp dword [ebp - 0x1658], 1
jae 0x462b8d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x461dae
xor eax, eax
je 0x461b23
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x461b5f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xa9e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x461cff
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x461cff
mov dword [ebp - 0x165c], 0
jmp 0x461bde
cmp dword [ebp - 0x165c], 9
jae 0x461cfa
cvtsi2sd xmm0, dword [ebp - 0x165c]
movsd xmm1, qword [ebp - 0xa9e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461c4d
mov ecx, dword [ebp - 0x165c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa9e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9e0], xmm1
jmp 0x461b49
cvtsi2sd xmm0, dword [ebp - 0x165c]
movsd xmm1, qword [ebp - 0xa9e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xa9f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461caa
mov eax, dword [ebp - 0x165c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9e0], xmm1
jmp 0x461cc3
mov ecx, 1
test ecx, ecx
je 0x461cbf
jmp 0x461d7c
jmp 0x461ce6
cvtsi2sd xmm0, dword [ebp - 0x165c]
movsd xmm1, qword [ebp - 0xa9e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1660], edx
jmp 0x461d86
xor eax, eax
je 0x461cf0
jmp 0x461cff
jmp 0x461b49
jmp 0x461b49
mov ecx, 6
test ecx, ecx
je 0x461d7c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1664], eax
cvtsi2sd xmm0, dword [ebp - 0x1664]
mov eax, dword [ebp - 0x1664]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa9e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1660], ecx
jmp 0x461d86
mov dword [ebp - 0x1660], 2
mov edx, dword [ebp - 0x1658]
shl edx, 2
add edx, dword [ebp - 0x1654]
mov eax, dword [ebp - 0x1660]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1658]
shl ecx, 2
add ecx, dword [ebp - 0x1654]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4628c0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4620bb
xor eax, eax
je 0x461e30
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x461e6c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xa9f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46200c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46200c
mov dword [ebp - 0x1668], 0
jmp 0x461eeb
cmp dword [ebp - 0x1668], 9
jae 0x462007
cvtsi2sd xmm0, dword [ebp - 0x1668]
movsd xmm1, qword [ebp - 0xa9f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa00], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461f5a
mov ecx, dword [ebp - 0x1668]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xa9f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9f8], xmm1
jmp 0x461e56
cvtsi2sd xmm0, dword [ebp - 0x1668]
movsd xmm1, qword [ebp - 0xa9f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa08], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaa08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x461fb7
mov eax, dword [ebp - 0x1668]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xa9f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xa9f8], xmm1
jmp 0x461fd0
mov ecx, 1
test ecx, ecx
je 0x461fcc
jmp 0x462089
jmp 0x461ff3
cvtsi2sd xmm0, dword [ebp - 0x1668]
movsd xmm1, qword [ebp - 0xa9f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x166c], edx
jmp 0x462093
xor eax, eax
je 0x461ffd
jmp 0x46200c
jmp 0x461e56
jmp 0x461e56
mov ecx, 6
test ecx, ecx
je 0x462089
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1670], eax
cvtsi2sd xmm0, dword [ebp - 0x1670]
mov eax, dword [ebp - 0x1670]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xa9f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x166c], ecx
jmp 0x462093
mov dword [ebp - 0x166c], 2
mov edx, dword [ebp - 0x1658]
shl edx, 2
add edx, dword [ebp - 0x1654]
mov eax, dword [ebp - 0x166c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1658]
shl ecx, 2
add ecx, dword [ebp - 0x1654]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x462383
xor eax, eax
je 0x4620f8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x462134
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xaa10], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4622d4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4622d4
mov dword [ebp - 0x1674], 0
jmp 0x4621b3
cmp dword [ebp - 0x1674], 9
jae 0x4622cf
cvtsi2sd xmm0, dword [ebp - 0x1674]
movsd xmm1, qword [ebp - 0xaa10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462222
mov ecx, dword [ebp - 0x1674]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaa10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa10], xmm1
jmp 0x46211e
cvtsi2sd xmm0, dword [ebp - 0x1674]
movsd xmm1, qword [ebp - 0xaa10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaa20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46227f
mov eax, dword [ebp - 0x1674]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa10], xmm1
jmp 0x462298
mov ecx, 1
test ecx, ecx
je 0x462294
jmp 0x462351
jmp 0x4622bb
cvtsi2sd xmm0, dword [ebp - 0x1674]
movsd xmm1, qword [ebp - 0xaa10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1678], edx
jmp 0x46235b
xor eax, eax
je 0x4622c5
jmp 0x4622d4
jmp 0x46211e
jmp 0x46211e
mov ecx, 6
test ecx, ecx
je 0x462351
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x167c], eax
cvtsi2sd xmm0, dword [ebp - 0x167c]
mov eax, dword [ebp - 0x167c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaa10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1678], ecx
jmp 0x46235b
mov dword [ebp - 0x1678], 2
mov edx, dword [ebp - 0x1658]
shl edx, 2
add edx, dword [ebp - 0x1654]
mov eax, dword [ebp - 0x1678]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1658]
shl ecx, 2
add ecx, dword [ebp - 0x1654]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1658]
add edx, 0xffffffb5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaa28], xmm0
xor eax, eax
je 0x46239d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4623d9
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaa28]
movsd qword [ebp - 0xaa30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x462579
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x462579
mov dword [ebp - 0x1680], 0
jmp 0x462458
cmp dword [ebp - 0x1680], 9
jae 0x462574
cvtsi2sd xmm0, dword [ebp - 0x1680]
movsd xmm1, qword [ebp - 0xaa30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4624c7
mov ecx, dword [ebp - 0x1680]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaa30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa30], xmm1
jmp 0x4623c3
cvtsi2sd xmm0, dword [ebp - 0x1680]
movsd xmm1, qword [ebp - 0xaa30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaa40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462524
mov eax, dword [ebp - 0x1680]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa30], xmm1
jmp 0x46253d
mov ecx, 1
test ecx, ecx
je 0x462539
jmp 0x4625f6
jmp 0x462560
cvtsi2sd xmm0, dword [ebp - 0x1680]
movsd xmm1, qword [ebp - 0xaa30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1684], edx
jmp 0x462600
xor eax, eax
je 0x46256a
jmp 0x462579
jmp 0x4623c3
jmp 0x4623c3
mov ecx, 6
test ecx, ecx
je 0x4625f6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1688], eax
cvtsi2sd xmm0, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x1688]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaa30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1684], ecx
jmp 0x462600
mov dword [ebp - 0x1684], 2
mov edx, dword [ebp - 0x1658]
add edx, 0xffffffb5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaa48], xmm0
xor eax, eax
je 0x46261a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x462656
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaa48]
movsd qword [ebp - 0xaa50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4627f6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4627f6
mov dword [ebp - 0x168c], 0
jmp 0x4626d5
cmp dword [ebp - 0x168c], 9
jae 0x4627f1
cvtsi2sd xmm0, dword [ebp - 0x168c]
movsd xmm1, qword [ebp - 0xaa50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462744
mov ecx, dword [ebp - 0x168c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaa50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa50], xmm1
jmp 0x462640
cvtsi2sd xmm0, dword [ebp - 0x168c]
movsd xmm1, qword [ebp - 0xaa50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaa60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4627a1
mov eax, dword [ebp - 0x168c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa50], xmm1
jmp 0x4627ba
mov ecx, 1
test ecx, ecx
je 0x4627b6
jmp 0x462873
jmp 0x4627dd
cvtsi2sd xmm0, dword [ebp - 0x168c]
movsd xmm1, qword [ebp - 0xaa50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1690], edx
jmp 0x46287d
xor eax, eax
je 0x4627e7
jmp 0x4627f6
jmp 0x462640
jmp 0x462640
mov ecx, 6
test ecx, ecx
je 0x462873
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1694], eax
cvtsi2sd xmm0, dword [ebp - 0x1694]
mov eax, dword [ebp - 0x1694]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaa50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1690], ecx
jmp 0x46287d
mov dword [ebp - 0x1690], 2
mov edx, dword [ebp - 0x1658]
shl edx, 2
add edx, dword [ebp - 0x1654]
mov eax, dword [ebp - 0x1684]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1658]
shl ecx, 2
add ecx, dword [ebp - 0x1654]
mov edx, dword [ebp - 0x1690]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1658]
shl ecx, 2
add ecx, dword [ebp - 0x1654]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x462b88
xor eax, eax
je 0x4628fd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x462939
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xaa68], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x462ad9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x462ad9
mov dword [ebp - 0x1698], 0
jmp 0x4629b8
cmp dword [ebp - 0x1698], 9
jae 0x462ad4
cvtsi2sd xmm0, dword [ebp - 0x1698]
movsd xmm1, qword [ebp - 0xaa68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa70], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462a27
mov ecx, dword [ebp - 0x1698]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaa68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa68], xmm1
jmp 0x462923
cvtsi2sd xmm0, dword [ebp - 0x1698]
movsd xmm1, qword [ebp - 0xaa68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa78], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaa78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462a84
mov eax, dword [ebp - 0x1698]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa68], xmm1
jmp 0x462a9d
mov ecx, 1
test ecx, ecx
je 0x462a99
jmp 0x462b56
jmp 0x462ac0
cvtsi2sd xmm0, dword [ebp - 0x1698]
movsd xmm1, qword [ebp - 0xaa68]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x169c], edx
jmp 0x462b60
xor eax, eax
je 0x462aca
jmp 0x462ad9
jmp 0x462923
jmp 0x462923
mov ecx, 6
test ecx, ecx
je 0x462b56
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x16a0], eax
cvtsi2sd xmm0, dword [ebp - 0x16a0]
mov eax, dword [ebp - 0x16a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaa68]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x169c], ecx
jmp 0x462b60
mov dword [ebp - 0x169c], 2
mov edx, dword [ebp - 0x1658]
shl edx, 2
add edx, dword [ebp - 0x1654]
mov eax, dword [ebp - 0x169c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1658]
shl ecx, 2
add ecx, dword [ebp - 0x1654]
mov dword [ecx], eax
jmp 0x461aca
mov edx, dword [ebp - 0x1650]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1650]
mov dword [ebp - 0x16a4], eax
mov ecx, dword [ebp - 0x16a4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x16a8], ecx
mov edx, dword [ebp - 0x16a8]
mov dword [ebp - 0x16ac], edx
xor eax, eax
mov byte [ebp - 0x3b], al
lea ecx, [ebp - 0x3b]
call fcn.00424870
mov dword [ebp - 0x16b0], eax
mov ecx, dword [ebp - 0x16b0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x463cc6
mov eax, dword [ebp - 0x16b0]
mov dword [ebp - 0x16b4], eax
mov dword [ebp - 0x16b8], 0
jmp 0x462c12
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 1
jae 0x463cc6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x462ee7
xor eax, eax
je 0x462c5c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x462c98
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726380]
movsd qword [ebp - 0xaa80], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x462e38
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x462e38
mov dword [ebp - 0x16bc], 0
jmp 0x462d17
cmp dword [ebp - 0x16bc], 9
jae 0x462e33
cvtsi2sd xmm0, dword [ebp - 0x16bc]
movsd xmm1, qword [ebp - 0xaa80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa88], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462d86
mov ecx, dword [ebp - 0x16bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaa80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa80], xmm1
jmp 0x462c82
cvtsi2sd xmm0, dword [ebp - 0x16bc]
movsd xmm1, qword [ebp - 0xaa80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa90], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaa90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x462de3
mov eax, dword [ebp - 0x16bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa80], xmm1
jmp 0x462dfc
mov ecx, 1
test ecx, ecx
je 0x462df8
jmp 0x462eb5
jmp 0x462e1f
cvtsi2sd xmm0, dword [ebp - 0x16bc]
movsd xmm1, qword [ebp - 0xaa80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x16c0], edx
jmp 0x462ebf
xor eax, eax
je 0x462e29
jmp 0x462e38
jmp 0x462c82
jmp 0x462c82
mov ecx, 6
test ecx, ecx
je 0x462eb5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x16c4], eax
cvtsi2sd xmm0, dword [ebp - 0x16c4]
mov eax, dword [ebp - 0x16c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaa80]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x16c0], ecx
jmp 0x462ebf
mov dword [ebp - 0x16c0], 2
mov edx, dword [ebp - 0x16b8]
shl edx, 2
add edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x16c0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x16b8]
shl ecx, 2
add ecx, dword [ebp - 0x16b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4639f9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4631f4
xor eax, eax
je 0x462f69
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x462fa5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xaa98], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x463145
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x463145
mov dword [ebp - 0x16c8], 0
jmp 0x463024
cmp dword [ebp - 0x16c8], 9
jae 0x463140
cvtsi2sd xmm0, dword [ebp - 0x16c8]
movsd xmm1, qword [ebp - 0xaa98]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaa0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463093
mov ecx, dword [ebp - 0x16c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaa98]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa98], xmm1
jmp 0x462f8f
cvtsi2sd xmm0, dword [ebp - 0x16c8]
movsd xmm1, qword [ebp - 0xaa98]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaa8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaaa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4630f0
mov eax, dword [ebp - 0x16c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaa98]
addsd xmm1, xmm0
movsd qword [ebp - 0xaa98], xmm1
jmp 0x463109
mov ecx, 1
test ecx, ecx
je 0x463105
jmp 0x4631c2
jmp 0x46312c
cvtsi2sd xmm0, dword [ebp - 0x16c8]
movsd xmm1, qword [ebp - 0xaa98]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x16cc], edx
jmp 0x4631cc
xor eax, eax
je 0x463136
jmp 0x463145
jmp 0x462f8f
jmp 0x462f8f
mov ecx, 6
test ecx, ecx
je 0x4631c2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x16d0], eax
cvtsi2sd xmm0, dword [ebp - 0x16d0]
mov eax, dword [ebp - 0x16d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaa98]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x16cc], ecx
jmp 0x4631cc
mov dword [ebp - 0x16cc], 2
mov edx, dword [ebp - 0x16b8]
shl edx, 2
add edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x16cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x16b8]
shl ecx, 2
add ecx, dword [ebp - 0x16b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4634bc
xor eax, eax
je 0x463231
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46326d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xaab0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46340d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46340d
mov dword [ebp - 0x16d4], 0
jmp 0x4632ec
cmp dword [ebp - 0x16d4], 9
jae 0x463408
cvtsi2sd xmm0, dword [ebp - 0x16d4]
movsd xmm1, qword [ebp - 0xaab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaab8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46335b
mov ecx, dword [ebp - 0x16d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaab0], xmm1
jmp 0x463257
cvtsi2sd xmm0, dword [ebp - 0x16d4]
movsd xmm1, qword [ebp - 0xaab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaac0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaac0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4633b8
mov eax, dword [ebp - 0x16d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaab0], xmm1
jmp 0x4633d1
mov ecx, 1
test ecx, ecx
je 0x4633cd
jmp 0x46348a
jmp 0x4633f4
cvtsi2sd xmm0, dword [ebp - 0x16d4]
movsd xmm1, qword [ebp - 0xaab0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x16d8], edx
jmp 0x463494
xor eax, eax
je 0x4633fe
jmp 0x46340d
jmp 0x463257
jmp 0x463257
mov ecx, 6
test ecx, ecx
je 0x46348a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x16dc], eax
cvtsi2sd xmm0, dword [ebp - 0x16dc]
mov eax, dword [ebp - 0x16dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaab0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x16d8], ecx
jmp 0x463494
mov dword [ebp - 0x16d8], 2
mov edx, dword [ebp - 0x16b8]
shl edx, 2
add edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x16d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x16b8]
shl ecx, 2
add ecx, dword [ebp - 0x16b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16b8]
add edx, 0xffffffb5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaac8], xmm0
xor eax, eax
je 0x4634d6
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x463512
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaac8]
movsd qword [ebp - 0xaad0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4636b2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4636b2
mov dword [ebp - 0x16e0], 0
jmp 0x463591
cmp dword [ebp - 0x16e0], 9
jae 0x4636ad
cvtsi2sd xmm0, dword [ebp - 0x16e0]
movsd xmm1, qword [ebp - 0xaad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaad8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463600
mov ecx, dword [ebp - 0x16e0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaad0], xmm1
jmp 0x4634fc
cvtsi2sd xmm0, dword [ebp - 0x16e0]
movsd xmm1, qword [ebp - 0xaad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaae0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaae0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46365d
mov eax, dword [ebp - 0x16e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaad0], xmm1
jmp 0x463676
mov ecx, 1
test ecx, ecx
je 0x463672
jmp 0x46372f
jmp 0x463699
cvtsi2sd xmm0, dword [ebp - 0x16e0]
movsd xmm1, qword [ebp - 0xaad0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x16e4], edx
jmp 0x463739
xor eax, eax
je 0x4636a3
jmp 0x4636b2
jmp 0x4634fc
jmp 0x4634fc
mov ecx, 6
test ecx, ecx
je 0x46372f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x16e8], eax
cvtsi2sd xmm0, dword [ebp - 0x16e8]
mov eax, dword [ebp - 0x16e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaad0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x16e4], ecx
jmp 0x463739
mov dword [ebp - 0x16e4], 2
mov edx, dword [ebp - 0x16b8]
add edx, 0xffffffb5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaae8], xmm0
xor eax, eax
je 0x463753
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46378f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaae8]
movsd qword [ebp - 0xaaf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46392f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46392f
mov dword [ebp - 0x16ec], 0
jmp 0x46380e
cmp dword [ebp - 0x16ec], 9
jae 0x46392a
cvtsi2sd xmm0, dword [ebp - 0x16ec]
movsd xmm1, qword [ebp - 0xaaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46387d
mov ecx, dword [ebp - 0x16ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaf0], xmm1
jmp 0x463779
cvtsi2sd xmm0, dword [ebp - 0x16ec]
movsd xmm1, qword [ebp - 0xaaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xab00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xab00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4638da
mov eax, dword [ebp - 0x16ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaaf0], xmm1
jmp 0x4638f3
mov ecx, 1
test ecx, ecx
je 0x4638ef
jmp 0x4639ac
jmp 0x463916
cvtsi2sd xmm0, dword [ebp - 0x16ec]
movsd xmm1, qword [ebp - 0xaaf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x16f0], edx
jmp 0x4639b6
xor eax, eax
je 0x463920
jmp 0x46392f
jmp 0x463779
jmp 0x463779
mov ecx, 6
test ecx, ecx
je 0x4639ac
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x16f4], eax
cvtsi2sd xmm0, dword [ebp - 0x16f4]
mov eax, dword [ebp - 0x16f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaaf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x16f0], ecx
jmp 0x4639b6
mov dword [ebp - 0x16f0], 2
mov edx, dword [ebp - 0x16b8]
shl edx, 2
add edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x16e4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x16b8]
shl ecx, 2
add ecx, dword [ebp - 0x16b4]
mov edx, dword [ebp - 0x16f0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x16b8]
shl ecx, 2
add ecx, dword [ebp - 0x16b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x463cc1
xor eax, eax
je 0x463a36
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x463a72
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xab08], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x463c12
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x463c12
mov dword [ebp - 0x16f8], 0
jmp 0x463af1
cmp dword [ebp - 0x16f8], 9
jae 0x463c0d
cvtsi2sd xmm0, dword [ebp - 0x16f8]
movsd xmm1, qword [ebp - 0xab08]
addsd xmm1, xmm0
movsd qword [ebp - 0xab10], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463b60
mov ecx, dword [ebp - 0x16f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xab08]
addsd xmm1, xmm0
movsd qword [ebp - 0xab08], xmm1
jmp 0x463a5c
cvtsi2sd xmm0, dword [ebp - 0x16f8]
movsd xmm1, qword [ebp - 0xab08]
addsd xmm1, xmm0
movsd qword [ebp - 0xab18], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xab18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463bbd
mov eax, dword [ebp - 0x16f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab08]
addsd xmm1, xmm0
movsd qword [ebp - 0xab08], xmm1
jmp 0x463bd6
mov ecx, 1
test ecx, ecx
je 0x463bd2
jmp 0x463c8f
jmp 0x463bf9
cvtsi2sd xmm0, dword [ebp - 0x16f8]
movsd xmm1, qword [ebp - 0xab08]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x16fc], edx
jmp 0x463c99
xor eax, eax
je 0x463c03
jmp 0x463c12
jmp 0x463a5c
jmp 0x463a5c
mov ecx, 6
test ecx, ecx
je 0x463c8f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1700], eax
cvtsi2sd xmm0, dword [ebp - 0x1700]
mov eax, dword [ebp - 0x1700]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xab08]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x16fc], ecx
jmp 0x463c99
mov dword [ebp - 0x16fc], 2
mov edx, dword [ebp - 0x16b8]
shl edx, 2
add edx, dword [ebp - 0x16b4]
mov eax, dword [ebp - 0x16fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x16b8]
shl ecx, 2
add ecx, dword [ebp - 0x16b4]
mov dword [ecx], eax
jmp 0x462c03
mov edx, dword [ebp - 0x16b0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x16b0]
mov dword [ebp - 0x1704], eax
mov ecx, dword [ebp - 0x1704]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1708], ecx
mov edx, dword [ebp - 0x1708]
mov dword [ebp - 0x170c], edx
mov eax, dword [ebp - 0x16ac]
mov dword [ebp - 0x164c], eax
cmp dword [ebp - 0x164c], 0
je 0x464e51
xor ecx, ecx
mov byte [ebp - 0x3c], cl
lea ecx, [ebp - 0x3c]
call fcn.00424840
mov dword [ebp - 0x1710], eax
mov edx, dword [ebp - 0x1710]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x464e18
mov ecx, dword [ebp - 0x1710]
mov dword [ebp - 0x1714], ecx
mov dword [ebp - 0x1718], 0
jmp 0x463d64
mov edx, dword [ebp - 0x1718]
add edx, 1
mov dword [ebp - 0x1718], edx
cmp dword [ebp - 0x1718], 1
jae 0x464e18
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x464039
xor eax, eax
je 0x463dae
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x463dea
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xab20], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x463f8a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x463f8a
mov dword [ebp - 0x171c], 0
jmp 0x463e69
cmp dword [ebp - 0x171c], 9
jae 0x463f85
cvtsi2sd xmm0, dword [ebp - 0x171c]
movsd xmm1, qword [ebp - 0xab20]
addsd xmm1, xmm0
movsd qword [ebp - 0xab28], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463ed8
mov ecx, dword [ebp - 0x171c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xab20]
addsd xmm1, xmm0
movsd qword [ebp - 0xab20], xmm1
jmp 0x463dd4
cvtsi2sd xmm0, dword [ebp - 0x171c]
movsd xmm1, qword [ebp - 0xab20]
addsd xmm1, xmm0
movsd qword [ebp - 0xab30], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xab30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x463f35
mov eax, dword [ebp - 0x171c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab20]
addsd xmm1, xmm0
movsd qword [ebp - 0xab20], xmm1
jmp 0x463f4e
mov ecx, 1
test ecx, ecx
je 0x463f4a
jmp 0x464007
jmp 0x463f71
cvtsi2sd xmm0, dword [ebp - 0x171c]
movsd xmm1, qword [ebp - 0xab20]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1720], edx
jmp 0x464011
xor eax, eax
je 0x463f7b
jmp 0x463f8a
jmp 0x463dd4
jmp 0x463dd4
mov ecx, 6
test ecx, ecx
je 0x464007
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1724], eax
cvtsi2sd xmm0, dword [ebp - 0x1724]
mov eax, dword [ebp - 0x1724]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xab20]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1720], ecx
jmp 0x464011
mov dword [ebp - 0x1720], 2
mov edx, dword [ebp - 0x1718]
shl edx, 2
add edx, dword [ebp - 0x1714]
mov eax, dword [ebp - 0x1720]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1718]
shl ecx, 2
add ecx, dword [ebp - 0x1714]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x464b4b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x464346
xor eax, eax
je 0x4640bb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4640f7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xab38], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x464297
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x464297
mov dword [ebp - 0x1728], 0
jmp 0x464176
cmp dword [ebp - 0x1728], 9
jae 0x464292
cvtsi2sd xmm0, dword [ebp - 0x1728]
movsd xmm1, qword [ebp - 0xab38]
addsd xmm1, xmm0
movsd qword [ebp - 0xab40], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4641e5
mov ecx, dword [ebp - 0x1728]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xab38]
addsd xmm1, xmm0
movsd qword [ebp - 0xab38], xmm1
jmp 0x4640e1
cvtsi2sd xmm0, dword [ebp - 0x1728]
movsd xmm1, qword [ebp - 0xab38]
addsd xmm1, xmm0
movsd qword [ebp - 0xab48], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xab48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464242
mov eax, dword [ebp - 0x1728]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab38]
addsd xmm1, xmm0
movsd qword [ebp - 0xab38], xmm1
jmp 0x46425b
mov ecx, 1
test ecx, ecx
je 0x464257
jmp 0x464314
jmp 0x46427e
cvtsi2sd xmm0, dword [ebp - 0x1728]
movsd xmm1, qword [ebp - 0xab38]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x172c], edx
jmp 0x46431e
xor eax, eax
je 0x464288
jmp 0x464297
jmp 0x4640e1
jmp 0x4640e1
mov ecx, 6
test ecx, ecx
je 0x464314
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1730], eax
cvtsi2sd xmm0, dword [ebp - 0x1730]
mov eax, dword [ebp - 0x1730]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xab38]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x172c], ecx
jmp 0x46431e
mov dword [ebp - 0x172c], 2
mov edx, dword [ebp - 0x1718]
shl edx, 2
add edx, dword [ebp - 0x1714]
mov eax, dword [ebp - 0x172c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1718]
shl ecx, 2
add ecx, dword [ebp - 0x1714]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46460e
xor eax, eax
je 0x464383
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4643bf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xab50], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46455f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46455f
mov dword [ebp - 0x1734], 0
jmp 0x46443e
cmp dword [ebp - 0x1734], 9
jae 0x46455a
cvtsi2sd xmm0, dword [ebp - 0x1734]
movsd xmm1, qword [ebp - 0xab50]
addsd xmm1, xmm0
movsd qword [ebp - 0xab58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4644ad
mov ecx, dword [ebp - 0x1734]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xab50]
addsd xmm1, xmm0
movsd qword [ebp - 0xab50], xmm1
jmp 0x4643a9
cvtsi2sd xmm0, dword [ebp - 0x1734]
movsd xmm1, qword [ebp - 0xab50]
addsd xmm1, xmm0
movsd qword [ebp - 0xab60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xab60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46450a
mov eax, dword [ebp - 0x1734]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab50]
addsd xmm1, xmm0
movsd qword [ebp - 0xab50], xmm1
jmp 0x464523
mov ecx, 1
test ecx, ecx
je 0x46451f
jmp 0x4645dc
jmp 0x464546
cvtsi2sd xmm0, dword [ebp - 0x1734]
movsd xmm1, qword [ebp - 0xab50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1738], edx
jmp 0x4645e6
xor eax, eax
je 0x464550
jmp 0x46455f
jmp 0x4643a9
jmp 0x4643a9
mov ecx, 6
test ecx, ecx
je 0x4645dc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x173c], eax
cvtsi2sd xmm0, dword [ebp - 0x173c]
mov eax, dword [ebp - 0x173c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xab50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1738], ecx
jmp 0x4645e6
mov dword [ebp - 0x1738], 2
mov edx, dword [ebp - 0x1718]
shl edx, 2
add edx, dword [ebp - 0x1714]
mov eax, dword [ebp - 0x1738]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1718]
shl ecx, 2
add ecx, dword [ebp - 0x1714]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1718]
add edx, 0xffffffb6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xab68], xmm0
xor eax, eax
je 0x464628
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x464664
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xab68]
movsd qword [ebp - 0xab70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x464804
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x464804
mov dword [ebp - 0x1740], 0
jmp 0x4646e3
cmp dword [ebp - 0x1740], 9
jae 0x4647ff
cvtsi2sd xmm0, dword [ebp - 0x1740]
movsd xmm1, qword [ebp - 0xab70]
addsd xmm1, xmm0
movsd qword [ebp - 0xab78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464752
mov ecx, dword [ebp - 0x1740]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xab70]
addsd xmm1, xmm0
movsd qword [ebp - 0xab70], xmm1
jmp 0x46464e
cvtsi2sd xmm0, dword [ebp - 0x1740]
movsd xmm1, qword [ebp - 0xab70]
addsd xmm1, xmm0
movsd qword [ebp - 0xab80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xab80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4647af
mov eax, dword [ebp - 0x1740]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab70]
addsd xmm1, xmm0
movsd qword [ebp - 0xab70], xmm1
jmp 0x4647c8
mov ecx, 1
test ecx, ecx
je 0x4647c4
jmp 0x464881
jmp 0x4647eb
cvtsi2sd xmm0, dword [ebp - 0x1740]
movsd xmm1, qword [ebp - 0xab70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1744], edx
jmp 0x46488b
xor eax, eax
je 0x4647f5
jmp 0x464804
jmp 0x46464e
jmp 0x46464e
mov ecx, 6
test ecx, ecx
je 0x464881
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1748], eax
cvtsi2sd xmm0, dword [ebp - 0x1748]
mov eax, dword [ebp - 0x1748]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xab70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1744], ecx
jmp 0x46488b
mov dword [ebp - 0x1744], 2
mov edx, dword [ebp - 0x1718]
add edx, 0xffffffb6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xab88], xmm0
xor eax, eax
je 0x4648a5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4648e1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xab88]
movsd qword [ebp - 0xab90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x464a81
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x464a81
mov dword [ebp - 0x174c], 0
jmp 0x464960
cmp dword [ebp - 0x174c], 9
jae 0x464a7c
cvtsi2sd xmm0, dword [ebp - 0x174c]
movsd xmm1, qword [ebp - 0xab90]
addsd xmm1, xmm0
movsd qword [ebp - 0xab98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4649cf
mov ecx, dword [ebp - 0x174c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xab90]
addsd xmm1, xmm0
movsd qword [ebp - 0xab90], xmm1
jmp 0x4648cb
cvtsi2sd xmm0, dword [ebp - 0x174c]
movsd xmm1, qword [ebp - 0xab90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaba0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaba0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464a2c
mov eax, dword [ebp - 0x174c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xab90]
addsd xmm1, xmm0
movsd qword [ebp - 0xab90], xmm1
jmp 0x464a45
mov ecx, 1
test ecx, ecx
je 0x464a41
jmp 0x464afe
jmp 0x464a68
cvtsi2sd xmm0, dword [ebp - 0x174c]
movsd xmm1, qword [ebp - 0xab90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1750], edx
jmp 0x464b08
xor eax, eax
je 0x464a72
jmp 0x464a81
jmp 0x4648cb
jmp 0x4648cb
mov ecx, 6
test ecx, ecx
je 0x464afe
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1754], eax
cvtsi2sd xmm0, dword [ebp - 0x1754]
mov eax, dword [ebp - 0x1754]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xab90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1750], ecx
jmp 0x464b08
mov dword [ebp - 0x1750], 2
mov edx, dword [ebp - 0x1718]
shl edx, 2
add edx, dword [ebp - 0x1714]
mov eax, dword [ebp - 0x1744]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1718]
shl ecx, 2
add ecx, dword [ebp - 0x1714]
mov edx, dword [ebp - 0x1750]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1718]
shl ecx, 2
add ecx, dword [ebp - 0x1714]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x464e13
xor eax, eax
je 0x464b88
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x464bc4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xaba8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x464d64
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x464d64
mov dword [ebp - 0x1758], 0
jmp 0x464c43
cmp dword [ebp - 0x1758], 9
jae 0x464d5f
cvtsi2sd xmm0, dword [ebp - 0x1758]
movsd xmm1, qword [ebp - 0xaba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabb0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464cb2
mov ecx, dword [ebp - 0x1758]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaba8], xmm1
jmp 0x464bae
cvtsi2sd xmm0, dword [ebp - 0x1758]
movsd xmm1, qword [ebp - 0xaba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabb8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xabb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x464d0f
mov eax, dword [ebp - 0x1758]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaba8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaba8], xmm1
jmp 0x464d28
mov ecx, 1
test ecx, ecx
je 0x464d24
jmp 0x464de1
jmp 0x464d4b
cvtsi2sd xmm0, dword [ebp - 0x1758]
movsd xmm1, qword [ebp - 0xaba8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x175c], edx
jmp 0x464deb
xor eax, eax
je 0x464d55
jmp 0x464d64
jmp 0x464bae
jmp 0x464bae
mov ecx, 6
test ecx, ecx
je 0x464de1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1760], eax
cvtsi2sd xmm0, dword [ebp - 0x1760]
mov eax, dword [ebp - 0x1760]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaba8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x175c], ecx
jmp 0x464deb
mov dword [ebp - 0x175c], 2
mov edx, dword [ebp - 0x1718]
shl edx, 2
add edx, dword [ebp - 0x1714]
mov eax, dword [ebp - 0x175c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1718]
shl ecx, 2
add ecx, dword [ebp - 0x1714]
mov dword [ecx], eax
jmp 0x463d55
mov edx, dword [ebp - 0x1710]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1710]
mov dword [ebp - 0x1764], eax
mov ecx, dword [ebp - 0x1764]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1768], ecx
mov edx, dword [ebp - 0x1768]
mov dword [ebp - 0x170c], edx
mov dword [ebp - 0x16800], 0x44
xor eax, eax
mov byte [ebp - 0x3d], al
lea ecx, [ebp - 0x3d]
call fcn.00424810
mov dword [ebp - 0x176c], eax
mov ecx, dword [ebp - 0x176c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x465f5b
mov eax, dword [ebp - 0x176c]
mov dword [ebp - 0x1770], eax
mov dword [ebp - 0x1774], 0
jmp 0x464ea7
mov ecx, dword [ebp - 0x1774]
add ecx, 1
mov dword [ebp - 0x1774], ecx
cmp dword [ebp - 0x1774], 1
jae 0x465f5b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46517c
xor eax, eax
je 0x464ef1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x464f2d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726378]
movsd qword [ebp - 0xabc0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4650cd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4650cd
mov dword [ebp - 0x1778], 0
jmp 0x464fac
cmp dword [ebp - 0x1778], 9
jae 0x4650c8
cvtsi2sd xmm0, dword [ebp - 0x1778]
movsd xmm1, qword [ebp - 0xabc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabc8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46501b
mov ecx, dword [ebp - 0x1778]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xabc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabc0], xmm1
jmp 0x464f17
cvtsi2sd xmm0, dword [ebp - 0x1778]
movsd xmm1, qword [ebp - 0xabc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabd0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xabd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465078
mov eax, dword [ebp - 0x1778]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabc0], xmm1
jmp 0x465091
mov ecx, 1
test ecx, ecx
je 0x46508d
jmp 0x46514a
jmp 0x4650b4
cvtsi2sd xmm0, dword [ebp - 0x1778]
movsd xmm1, qword [ebp - 0xabc0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x177c], edx
jmp 0x465154
xor eax, eax
je 0x4650be
jmp 0x4650cd
jmp 0x464f17
jmp 0x464f17
mov ecx, 6
test ecx, ecx
je 0x46514a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1780], eax
cvtsi2sd xmm0, dword [ebp - 0x1780]
mov eax, dword [ebp - 0x1780]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xabc0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x177c], ecx
jmp 0x465154
mov dword [ebp - 0x177c], 2
mov edx, dword [ebp - 0x1774]
shl edx, 2
add edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x177c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1774]
shl ecx, 2
add ecx, dword [ebp - 0x1770]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x465c8e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x465489
xor eax, eax
je 0x4651fe
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46523a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xabd8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4653da
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4653da
mov dword [ebp - 0x1784], 0
jmp 0x4652b9
cmp dword [ebp - 0x1784], 9
jae 0x4653d5
cvtsi2sd xmm0, dword [ebp - 0x1784]
movsd xmm1, qword [ebp - 0xabd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabe0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465328
mov ecx, dword [ebp - 0x1784]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xabd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabd8], xmm1
jmp 0x465224
cvtsi2sd xmm0, dword [ebp - 0x1784]
movsd xmm1, qword [ebp - 0xabd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabe8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xabe8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465385
mov eax, dword [ebp - 0x1784]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xabd8], xmm1
jmp 0x46539e
mov ecx, 1
test ecx, ecx
je 0x46539a
jmp 0x465457
jmp 0x4653c1
cvtsi2sd xmm0, dword [ebp - 0x1784]
movsd xmm1, qword [ebp - 0xabd8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1788], edx
jmp 0x465461
xor eax, eax
je 0x4653cb
jmp 0x4653da
jmp 0x465224
jmp 0x465224
mov ecx, 6
test ecx, ecx
je 0x465457
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x178c], eax
cvtsi2sd xmm0, dword [ebp - 0x178c]
mov eax, dword [ebp - 0x178c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xabd8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1788], ecx
jmp 0x465461
mov dword [ebp - 0x1788], 2
mov edx, dword [ebp - 0x1774]
shl edx, 2
add edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x1788]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1774]
shl ecx, 2
add ecx, dword [ebp - 0x1770]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x465751
xor eax, eax
je 0x4654c6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x465502
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xabf0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4656a2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4656a2
mov dword [ebp - 0x1790], 0
jmp 0x465581
cmp dword [ebp - 0x1790], 9
jae 0x46569d
cvtsi2sd xmm0, dword [ebp - 0x1790]
movsd xmm1, qword [ebp - 0xabf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4655f0
mov ecx, dword [ebp - 0x1790]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xabf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabf0], xmm1
jmp 0x4654ec
cvtsi2sd xmm0, dword [ebp - 0x1790]
movsd xmm1, qword [ebp - 0xabf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xac00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xac00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46564d
mov eax, dword [ebp - 0x1790]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xabf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xabf0], xmm1
jmp 0x465666
mov ecx, 1
test ecx, ecx
je 0x465662
jmp 0x46571f
jmp 0x465689
cvtsi2sd xmm0, dword [ebp - 0x1790]
movsd xmm1, qword [ebp - 0xabf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1794], edx
jmp 0x465729
xor eax, eax
je 0x465693
jmp 0x4656a2
jmp 0x4654ec
jmp 0x4654ec
mov ecx, 6
test ecx, ecx
je 0x46571f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1798], eax
cvtsi2sd xmm0, dword [ebp - 0x1798]
mov eax, dword [ebp - 0x1798]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xabf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1794], ecx
jmp 0x465729
mov dword [ebp - 0x1794], 2
mov edx, dword [ebp - 0x1774]
shl edx, 2
add edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x1794]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1774]
shl ecx, 2
add ecx, dword [ebp - 0x1770]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1774]
add edx, 0xffffffb6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xac08], xmm0
xor eax, eax
je 0x46576b
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4657a7
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xac08]
movsd qword [ebp - 0xac10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x465947
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x465947
mov dword [ebp - 0x179c], 0
jmp 0x465826
cmp dword [ebp - 0x179c], 9
jae 0x465942
cvtsi2sd xmm0, dword [ebp - 0x179c]
movsd xmm1, qword [ebp - 0xac10]
addsd xmm1, xmm0
movsd qword [ebp - 0xac18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465895
mov ecx, dword [ebp - 0x179c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xac10]
addsd xmm1, xmm0
movsd qword [ebp - 0xac10], xmm1
jmp 0x465791
cvtsi2sd xmm0, dword [ebp - 0x179c]
movsd xmm1, qword [ebp - 0xac10]
addsd xmm1, xmm0
movsd qword [ebp - 0xac20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xac20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4658f2
mov eax, dword [ebp - 0x179c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac10]
addsd xmm1, xmm0
movsd qword [ebp - 0xac10], xmm1
jmp 0x46590b
mov ecx, 1
test ecx, ecx
je 0x465907
jmp 0x4659c4
jmp 0x46592e
cvtsi2sd xmm0, dword [ebp - 0x179c]
movsd xmm1, qword [ebp - 0xac10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x17a0], edx
jmp 0x4659ce
xor eax, eax
je 0x465938
jmp 0x465947
jmp 0x465791
jmp 0x465791
mov ecx, 6
test ecx, ecx
je 0x4659c4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x17a4], eax
cvtsi2sd xmm0, dword [ebp - 0x17a4]
mov eax, dword [ebp - 0x17a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xac10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x17a0], ecx
jmp 0x4659ce
mov dword [ebp - 0x17a0], 2
mov edx, dword [ebp - 0x1774]
add edx, 0xffffffb6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xac28], xmm0
xor eax, eax
je 0x4659e8
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x465a24
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xac28]
movsd qword [ebp - 0xac30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x465bc4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x465bc4
mov dword [ebp - 0x17a8], 0
jmp 0x465aa3
cmp dword [ebp - 0x17a8], 9
jae 0x465bbf
cvtsi2sd xmm0, dword [ebp - 0x17a8]
movsd xmm1, qword [ebp - 0xac30]
addsd xmm1, xmm0
movsd qword [ebp - 0xac38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465b12
mov ecx, dword [ebp - 0x17a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xac30]
addsd xmm1, xmm0
movsd qword [ebp - 0xac30], xmm1
jmp 0x465a0e
cvtsi2sd xmm0, dword [ebp - 0x17a8]
movsd xmm1, qword [ebp - 0xac30]
addsd xmm1, xmm0
movsd qword [ebp - 0xac40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xac40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465b6f
mov eax, dword [ebp - 0x17a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac30]
addsd xmm1, xmm0
movsd qword [ebp - 0xac30], xmm1
jmp 0x465b88
mov ecx, 1
test ecx, ecx
je 0x465b84
jmp 0x465c41
jmp 0x465bab
cvtsi2sd xmm0, dword [ebp - 0x17a8]
movsd xmm1, qword [ebp - 0xac30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x17ac], edx
jmp 0x465c4b
xor eax, eax
je 0x465bb5
jmp 0x465bc4
jmp 0x465a0e
jmp 0x465a0e
mov ecx, 6
test ecx, ecx
je 0x465c41
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x17b0], eax
cvtsi2sd xmm0, dword [ebp - 0x17b0]
mov eax, dword [ebp - 0x17b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xac30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x17ac], ecx
jmp 0x465c4b
mov dword [ebp - 0x17ac], 2
mov edx, dword [ebp - 0x1774]
shl edx, 2
add edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x17a0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1774]
shl ecx, 2
add ecx, dword [ebp - 0x1770]
mov edx, dword [ebp - 0x17ac]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1774]
shl ecx, 2
add ecx, dword [ebp - 0x1770]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x465f56
xor eax, eax
je 0x465ccb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x465d07
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xac48], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x465ea7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x465ea7
mov dword [ebp - 0x17b4], 0
jmp 0x465d86
cmp dword [ebp - 0x17b4], 9
jae 0x465ea2
cvtsi2sd xmm0, dword [ebp - 0x17b4]
movsd xmm1, qword [ebp - 0xac48]
addsd xmm1, xmm0
movsd qword [ebp - 0xac50], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465df5
mov ecx, dword [ebp - 0x17b4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xac48]
addsd xmm1, xmm0
movsd qword [ebp - 0xac48], xmm1
jmp 0x465cf1
cvtsi2sd xmm0, dword [ebp - 0x17b4]
movsd xmm1, qword [ebp - 0xac48]
addsd xmm1, xmm0
movsd qword [ebp - 0xac58], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xac58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x465e52
mov eax, dword [ebp - 0x17b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac48]
addsd xmm1, xmm0
movsd qword [ebp - 0xac48], xmm1
jmp 0x465e6b
mov ecx, 1
test ecx, ecx
je 0x465e67
jmp 0x465f24
jmp 0x465e8e
cvtsi2sd xmm0, dword [ebp - 0x17b4]
movsd xmm1, qword [ebp - 0xac48]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x17b8], edx
jmp 0x465f2e
xor eax, eax
je 0x465e98
jmp 0x465ea7
jmp 0x465cf1
jmp 0x465cf1
mov ecx, 6
test ecx, ecx
je 0x465f24
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x17bc], eax
cvtsi2sd xmm0, dword [ebp - 0x17bc]
mov eax, dword [ebp - 0x17bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xac48]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x17b8], ecx
jmp 0x465f2e
mov dword [ebp - 0x17b8], 2
mov edx, dword [ebp - 0x1774]
shl edx, 2
add edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x17b8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1774]
shl ecx, 2
add ecx, dword [ebp - 0x1770]
mov dword [ecx], eax
jmp 0x464e98
mov edx, dword [ebp - 0x176c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x176c]
mov dword [ebp - 0x17c0], eax
mov ecx, dword [ebp - 0x17c0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x17c4], ecx
mov edx, dword [ebp - 0x17c4]
mov dword [ebp - 0x17c8], edx
xor eax, eax
mov byte [ebp - 0x3e], al
lea ecx, [ebp - 0x3e]
call fcn.004247e0
mov dword [ebp - 0x17cc], eax
mov ecx, dword [ebp - 0x17cc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x467094
mov eax, dword [ebp - 0x17cc]
mov dword [ebp - 0x17d0], eax
mov dword [ebp - 0x17d4], 0
jmp 0x465fe0
mov ecx, dword [ebp - 0x17d4]
add ecx, 1
mov dword [ebp - 0x17d4], ecx
cmp dword [ebp - 0x17d4], 1
jae 0x467094
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4662b5
xor eax, eax
je 0x46602a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x466066
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xac60], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x466206
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x466206
mov dword [ebp - 0x17d8], 0
jmp 0x4660e5
cmp dword [ebp - 0x17d8], 9
jae 0x466201
cvtsi2sd xmm0, dword [ebp - 0x17d8]
movsd xmm1, qword [ebp - 0xac60]
addsd xmm1, xmm0
movsd qword [ebp - 0xac68], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466154
mov ecx, dword [ebp - 0x17d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xac60]
addsd xmm1, xmm0
movsd qword [ebp - 0xac60], xmm1
jmp 0x466050
cvtsi2sd xmm0, dword [ebp - 0x17d8]
movsd xmm1, qword [ebp - 0xac60]
addsd xmm1, xmm0
movsd qword [ebp - 0xac70], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xac70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4661b1
mov eax, dword [ebp - 0x17d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac60]
addsd xmm1, xmm0
movsd qword [ebp - 0xac60], xmm1
jmp 0x4661ca
mov ecx, 1
test ecx, ecx
je 0x4661c6
jmp 0x466283
jmp 0x4661ed
cvtsi2sd xmm0, dword [ebp - 0x17d8]
movsd xmm1, qword [ebp - 0xac60]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x17dc], edx
jmp 0x46628d
xor eax, eax
je 0x4661f7
jmp 0x466206
jmp 0x466050
jmp 0x466050
mov ecx, 6
test ecx, ecx
je 0x466283
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x17e0], eax
cvtsi2sd xmm0, dword [ebp - 0x17e0]
mov eax, dword [ebp - 0x17e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xac60]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x17dc], ecx
jmp 0x46628d
mov dword [ebp - 0x17dc], 2
mov edx, dword [ebp - 0x17d4]
shl edx, 2
add edx, dword [ebp - 0x17d0]
mov eax, dword [ebp - 0x17dc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x17d4]
shl ecx, 2
add ecx, dword [ebp - 0x17d0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x466dc7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4665c2
xor eax, eax
je 0x466337
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x466373
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xac78], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x466513
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x466513
mov dword [ebp - 0x17e4], 0
jmp 0x4663f2
cmp dword [ebp - 0x17e4], 9
jae 0x46650e
cvtsi2sd xmm0, dword [ebp - 0x17e4]
movsd xmm1, qword [ebp - 0xac78]
addsd xmm1, xmm0
movsd qword [ebp - 0xac80], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466461
mov ecx, dword [ebp - 0x17e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xac78]
addsd xmm1, xmm0
movsd qword [ebp - 0xac78], xmm1
jmp 0x46635d
cvtsi2sd xmm0, dword [ebp - 0x17e4]
movsd xmm1, qword [ebp - 0xac78]
addsd xmm1, xmm0
movsd qword [ebp - 0xac88], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xac88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4664be
mov eax, dword [ebp - 0x17e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac78]
addsd xmm1, xmm0
movsd qword [ebp - 0xac78], xmm1
jmp 0x4664d7
mov ecx, 1
test ecx, ecx
je 0x4664d3
jmp 0x466590
jmp 0x4664fa
cvtsi2sd xmm0, dword [ebp - 0x17e4]
movsd xmm1, qword [ebp - 0xac78]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x17e8], edx
jmp 0x46659a
xor eax, eax
je 0x466504
jmp 0x466513
jmp 0x46635d
jmp 0x46635d
mov ecx, 6
test ecx, ecx
je 0x466590
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x17ec], eax
cvtsi2sd xmm0, dword [ebp - 0x17ec]
mov eax, dword [ebp - 0x17ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xac78]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x17e8], ecx
jmp 0x46659a
mov dword [ebp - 0x17e8], 2
mov edx, dword [ebp - 0x17d4]
shl edx, 2
add edx, dword [ebp - 0x17d0]
mov eax, dword [ebp - 0x17e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x17d4]
shl ecx, 2
add ecx, dword [ebp - 0x17d0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46688a
xor eax, eax
je 0x4665ff
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46663b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xac90], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4667db
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4667db
mov dword [ebp - 0x17f0], 0
jmp 0x4666ba
cmp dword [ebp - 0x17f0], 9
jae 0x4667d6
cvtsi2sd xmm0, dword [ebp - 0x17f0]
movsd xmm1, qword [ebp - 0xac90]
addsd xmm1, xmm0
movsd qword [ebp - 0xac98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466729
mov ecx, dword [ebp - 0x17f0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xac90]
addsd xmm1, xmm0
movsd qword [ebp - 0xac90], xmm1
jmp 0x466625
cvtsi2sd xmm0, dword [ebp - 0x17f0]
movsd xmm1, qword [ebp - 0xac90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaca0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaca0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466786
mov eax, dword [ebp - 0x17f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xac90]
addsd xmm1, xmm0
movsd qword [ebp - 0xac90], xmm1
jmp 0x46679f
mov ecx, 1
test ecx, ecx
je 0x46679b
jmp 0x466858
jmp 0x4667c2
cvtsi2sd xmm0, dword [ebp - 0x17f0]
movsd xmm1, qword [ebp - 0xac90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x17f4], edx
jmp 0x466862
xor eax, eax
je 0x4667cc
jmp 0x4667db
jmp 0x466625
jmp 0x466625
mov ecx, 6
test ecx, ecx
je 0x466858
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x17f8], eax
cvtsi2sd xmm0, dword [ebp - 0x17f8]
mov eax, dword [ebp - 0x17f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xac90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x17f4], ecx
jmp 0x466862
mov dword [ebp - 0x17f4], 2
mov edx, dword [ebp - 0x17d4]
shl edx, 2
add edx, dword [ebp - 0x17d0]
mov eax, dword [ebp - 0x17f4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x17d4]
shl ecx, 2
add ecx, dword [ebp - 0x17d0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x17d4]
add edx, 0xffffffb7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaca8], xmm0
xor eax, eax
je 0x4668a4
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4668e0
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaca8]
movsd qword [ebp - 0xacb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x466a80
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x466a80
mov dword [ebp - 0x17fc], 0
jmp 0x46695f
cmp dword [ebp - 0x17fc], 9
jae 0x466a7b
cvtsi2sd xmm0, dword [ebp - 0x17fc]
movsd xmm1, qword [ebp - 0xacb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4669ce
mov ecx, dword [ebp - 0x17fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xacb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacb0], xmm1
jmp 0x4668ca
cvtsi2sd xmm0, dword [ebp - 0x17fc]
movsd xmm1, qword [ebp - 0xacb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xacc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466a2b
mov eax, dword [ebp - 0x17fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacb0], xmm1
jmp 0x466a44
mov ecx, 1
test ecx, ecx
je 0x466a40
jmp 0x466afd
jmp 0x466a67
cvtsi2sd xmm0, dword [ebp - 0x17fc]
movsd xmm1, qword [ebp - 0xacb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1800], edx
jmp 0x466b07
xor eax, eax
je 0x466a71
jmp 0x466a80
jmp 0x4668ca
jmp 0x4668ca
mov ecx, 6
test ecx, ecx
je 0x466afd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1804], eax
cvtsi2sd xmm0, dword [ebp - 0x1804]
mov eax, dword [ebp - 0x1804]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xacb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1800], ecx
jmp 0x466b07
mov dword [ebp - 0x1800], 2
mov edx, dword [ebp - 0x17d4]
add edx, 0xffffffb7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xacc8], xmm0
xor eax, eax
je 0x466b21
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x466b5d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xacc8]
movsd qword [ebp - 0xacd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x466cfd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x466cfd
mov dword [ebp - 0x1808], 0
jmp 0x466bdc
cmp dword [ebp - 0x1808], 9
jae 0x466cf8
cvtsi2sd xmm0, dword [ebp - 0x1808]
movsd xmm1, qword [ebp - 0xacd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466c4b
mov ecx, dword [ebp - 0x1808]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xacd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacd0], xmm1
jmp 0x466b47
cvtsi2sd xmm0, dword [ebp - 0x1808]
movsd xmm1, qword [ebp - 0xacd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xace0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xace0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466ca8
mov eax, dword [ebp - 0x1808]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xacd0], xmm1
jmp 0x466cc1
mov ecx, 1
test ecx, ecx
je 0x466cbd
jmp 0x466d7a
jmp 0x466ce4
cvtsi2sd xmm0, dword [ebp - 0x1808]
movsd xmm1, qword [ebp - 0xacd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x180c], edx
jmp 0x466d84
xor eax, eax
je 0x466cee
jmp 0x466cfd
jmp 0x466b47
jmp 0x466b47
mov ecx, 6
test ecx, ecx
je 0x466d7a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1810], eax
cvtsi2sd xmm0, dword [ebp - 0x1810]
mov eax, dword [ebp - 0x1810]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xacd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x180c], ecx
jmp 0x466d84
mov dword [ebp - 0x180c], 2
mov edx, dword [ebp - 0x17d4]
shl edx, 2
add edx, dword [ebp - 0x17d0]
mov eax, dword [ebp - 0x1800]
add eax, dword [edx]
mov ecx, dword [ebp - 0x17d4]
shl ecx, 2
add ecx, dword [ebp - 0x17d0]
mov edx, dword [ebp - 0x180c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x17d4]
shl ecx, 2
add ecx, dword [ebp - 0x17d0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46708f
xor eax, eax
je 0x466e04
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x466e40
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xace8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x466fe0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x466fe0
mov dword [ebp - 0x1814], 0
jmp 0x466ebf
cmp dword [ebp - 0x1814], 9
jae 0x466fdb
cvtsi2sd xmm0, dword [ebp - 0x1814]
movsd xmm1, qword [ebp - 0xace8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacf0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xacf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466f2e
mov ecx, dword [ebp - 0x1814]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xace8]
addsd xmm1, xmm0
movsd qword [ebp - 0xace8], xmm1
jmp 0x466e2a
cvtsi2sd xmm0, dword [ebp - 0x1814]
movsd xmm1, qword [ebp - 0xace8]
addsd xmm1, xmm0
movsd qword [ebp - 0xacf8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xacf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x466f8b
mov eax, dword [ebp - 0x1814]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xace8]
addsd xmm1, xmm0
movsd qword [ebp - 0xace8], xmm1
jmp 0x466fa4
mov ecx, 1
test ecx, ecx
je 0x466fa0
jmp 0x46705d
jmp 0x466fc7
cvtsi2sd xmm0, dword [ebp - 0x1814]
movsd xmm1, qword [ebp - 0xace8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1818], edx
jmp 0x467067
xor eax, eax
je 0x466fd1
jmp 0x466fe0
jmp 0x466e2a
jmp 0x466e2a
mov ecx, 6
test ecx, ecx
je 0x46705d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x181c], eax
cvtsi2sd xmm0, dword [ebp - 0x181c]
mov eax, dword [ebp - 0x181c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xace8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1818], ecx
jmp 0x467067
mov dword [ebp - 0x1818], 2
mov edx, dword [ebp - 0x17d4]
shl edx, 2
add edx, dword [ebp - 0x17d0]
mov eax, dword [ebp - 0x1818]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x17d4]
shl ecx, 2
add ecx, dword [ebp - 0x17d0]
mov dword [ecx], eax
jmp 0x465fd1
mov edx, dword [ebp - 0x17cc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x17cc]
mov dword [ebp - 0x1820], eax
mov ecx, dword [ebp - 0x1820]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1824], ecx
mov edx, dword [ebp - 0x1824]
mov dword [ebp - 0x1828], edx
xor eax, eax
mov byte [ebp - 0x3f], al
lea ecx, [ebp - 0x3f]
call fcn.004247b0
mov dword [ebp - 0x182c], eax
mov ecx, dword [ebp - 0x182c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4681cd
mov eax, dword [ebp - 0x182c]
mov dword [ebp - 0x1830], eax
mov dword [ebp - 0x1834], 0
jmp 0x467119
mov ecx, dword [ebp - 0x1834]
add ecx, 1
mov dword [ebp - 0x1834], ecx
cmp dword [ebp - 0x1834], 1
jae 0x4681cd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4673ee
xor eax, eax
je 0x467163
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46719f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xad00], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46733f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46733f
mov dword [ebp - 0x1838], 0
jmp 0x46721e
cmp dword [ebp - 0x1838], 9
jae 0x46733a
cvtsi2sd xmm0, dword [ebp - 0x1838]
movsd xmm1, qword [ebp - 0xad00]
addsd xmm1, xmm0
movsd qword [ebp - 0xad08], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46728d
mov ecx, dword [ebp - 0x1838]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xad00]
addsd xmm1, xmm0
movsd qword [ebp - 0xad00], xmm1
jmp 0x467189
cvtsi2sd xmm0, dword [ebp - 0x1838]
movsd xmm1, qword [ebp - 0xad00]
addsd xmm1, xmm0
movsd qword [ebp - 0xad10], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xad10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4672ea
mov eax, dword [ebp - 0x1838]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad00]
addsd xmm1, xmm0
movsd qword [ebp - 0xad00], xmm1
jmp 0x467303
mov ecx, 1
test ecx, ecx
je 0x4672ff
jmp 0x4673bc
jmp 0x467326
cvtsi2sd xmm0, dword [ebp - 0x1838]
movsd xmm1, qword [ebp - 0xad00]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x183c], edx
jmp 0x4673c6
xor eax, eax
je 0x467330
jmp 0x46733f
jmp 0x467189
jmp 0x467189
mov ecx, 6
test ecx, ecx
je 0x4673bc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1840], eax
cvtsi2sd xmm0, dword [ebp - 0x1840]
mov eax, dword [ebp - 0x1840]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xad00]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x183c], ecx
jmp 0x4673c6
mov dword [ebp - 0x183c], 2
mov edx, dword [ebp - 0x1834]
shl edx, 2
add edx, dword [ebp - 0x1830]
mov eax, dword [ebp - 0x183c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1834]
shl ecx, 2
add ecx, dword [ebp - 0x1830]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x467f00
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4676fb
xor eax, eax
je 0x467470
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4674ac
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xad18], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46764c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46764c
mov dword [ebp - 0x1844], 0
jmp 0x46752b
cmp dword [ebp - 0x1844], 9
jae 0x467647
cvtsi2sd xmm0, dword [ebp - 0x1844]
movsd xmm1, qword [ebp - 0xad18]
addsd xmm1, xmm0
movsd qword [ebp - 0xad20], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46759a
mov ecx, dword [ebp - 0x1844]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xad18]
addsd xmm1, xmm0
movsd qword [ebp - 0xad18], xmm1
jmp 0x467496
cvtsi2sd xmm0, dword [ebp - 0x1844]
movsd xmm1, qword [ebp - 0xad18]
addsd xmm1, xmm0
movsd qword [ebp - 0xad28], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xad28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4675f7
mov eax, dword [ebp - 0x1844]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad18]
addsd xmm1, xmm0
movsd qword [ebp - 0xad18], xmm1
jmp 0x467610
mov ecx, 1
test ecx, ecx
je 0x46760c
jmp 0x4676c9
jmp 0x467633
cvtsi2sd xmm0, dword [ebp - 0x1844]
movsd xmm1, qword [ebp - 0xad18]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1848], edx
jmp 0x4676d3
xor eax, eax
je 0x46763d
jmp 0x46764c
jmp 0x467496
jmp 0x467496
mov ecx, 6
test ecx, ecx
je 0x4676c9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x184c], eax
cvtsi2sd xmm0, dword [ebp - 0x184c]
mov eax, dword [ebp - 0x184c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xad18]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1848], ecx
jmp 0x4676d3
mov dword [ebp - 0x1848], 2
mov edx, dword [ebp - 0x1834]
shl edx, 2
add edx, dword [ebp - 0x1830]
mov eax, dword [ebp - 0x1848]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1834]
shl ecx, 2
add ecx, dword [ebp - 0x1830]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4679c3
xor eax, eax
je 0x467738
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x467774
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xad30], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x467914
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x467914
mov dword [ebp - 0x1850], 0
jmp 0x4677f3
cmp dword [ebp - 0x1850], 9
jae 0x46790f
cvtsi2sd xmm0, dword [ebp - 0x1850]
movsd xmm1, qword [ebp - 0xad30]
addsd xmm1, xmm0
movsd qword [ebp - 0xad38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467862
mov ecx, dword [ebp - 0x1850]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xad30]
addsd xmm1, xmm0
movsd qword [ebp - 0xad30], xmm1
jmp 0x46775e
cvtsi2sd xmm0, dword [ebp - 0x1850]
movsd xmm1, qword [ebp - 0xad30]
addsd xmm1, xmm0
movsd qword [ebp - 0xad40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xad40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4678bf
mov eax, dword [ebp - 0x1850]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad30]
addsd xmm1, xmm0
movsd qword [ebp - 0xad30], xmm1
jmp 0x4678d8
mov ecx, 1
test ecx, ecx
je 0x4678d4
jmp 0x467991
jmp 0x4678fb
cvtsi2sd xmm0, dword [ebp - 0x1850]
movsd xmm1, qword [ebp - 0xad30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1854], edx
jmp 0x46799b
xor eax, eax
je 0x467905
jmp 0x467914
jmp 0x46775e
jmp 0x46775e
mov ecx, 6
test ecx, ecx
je 0x467991
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1858], eax
cvtsi2sd xmm0, dword [ebp - 0x1858]
mov eax, dword [ebp - 0x1858]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xad30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1854], ecx
jmp 0x46799b
mov dword [ebp - 0x1854], 2
mov edx, dword [ebp - 0x1834]
shl edx, 2
add edx, dword [ebp - 0x1830]
mov eax, dword [ebp - 0x1854]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1834]
shl ecx, 2
add ecx, dword [ebp - 0x1830]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1834]
add edx, 0xffffffb7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xad48], xmm0
xor eax, eax
je 0x4679dd
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x467a19
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xad48]
movsd qword [ebp - 0xad50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x467bb9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x467bb9
mov dword [ebp - 0x185c], 0
jmp 0x467a98
cmp dword [ebp - 0x185c], 9
jae 0x467bb4
cvtsi2sd xmm0, dword [ebp - 0x185c]
movsd xmm1, qword [ebp - 0xad50]
addsd xmm1, xmm0
movsd qword [ebp - 0xad58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467b07
mov ecx, dword [ebp - 0x185c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xad50]
addsd xmm1, xmm0
movsd qword [ebp - 0xad50], xmm1
jmp 0x467a03
cvtsi2sd xmm0, dword [ebp - 0x185c]
movsd xmm1, qword [ebp - 0xad50]
addsd xmm1, xmm0
movsd qword [ebp - 0xad60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xad60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467b64
mov eax, dword [ebp - 0x185c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad50]
addsd xmm1, xmm0
movsd qword [ebp - 0xad50], xmm1
jmp 0x467b7d
mov ecx, 1
test ecx, ecx
je 0x467b79
jmp 0x467c36
jmp 0x467ba0
cvtsi2sd xmm0, dword [ebp - 0x185c]
movsd xmm1, qword [ebp - 0xad50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1860], edx
jmp 0x467c40
xor eax, eax
je 0x467baa
jmp 0x467bb9
jmp 0x467a03
jmp 0x467a03
mov ecx, 6
test ecx, ecx
je 0x467c36
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1864], eax
cvtsi2sd xmm0, dword [ebp - 0x1864]
mov eax, dword [ebp - 0x1864]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xad50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1860], ecx
jmp 0x467c40
mov dword [ebp - 0x1860], 2
mov edx, dword [ebp - 0x1834]
add edx, 0xffffffb7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xad68], xmm0
xor eax, eax
je 0x467c5a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x467c96
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xad68]
movsd qword [ebp - 0xad70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x467e36
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x467e36
mov dword [ebp - 0x1868], 0
jmp 0x467d15
cmp dword [ebp - 0x1868], 9
jae 0x467e31
cvtsi2sd xmm0, dword [ebp - 0x1868]
movsd xmm1, qword [ebp - 0xad70]
addsd xmm1, xmm0
movsd qword [ebp - 0xad78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467d84
mov ecx, dword [ebp - 0x1868]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xad70]
addsd xmm1, xmm0
movsd qword [ebp - 0xad70], xmm1
jmp 0x467c80
cvtsi2sd xmm0, dword [ebp - 0x1868]
movsd xmm1, qword [ebp - 0xad70]
addsd xmm1, xmm0
movsd qword [ebp - 0xad80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xad80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x467de1
mov eax, dword [ebp - 0x1868]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad70]
addsd xmm1, xmm0
movsd qword [ebp - 0xad70], xmm1
jmp 0x467dfa
mov ecx, 1
test ecx, ecx
je 0x467df6
jmp 0x467eb3
jmp 0x467e1d
cvtsi2sd xmm0, dword [ebp - 0x1868]
movsd xmm1, qword [ebp - 0xad70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x186c], edx
jmp 0x467ebd
xor eax, eax
je 0x467e27
jmp 0x467e36
jmp 0x467c80
jmp 0x467c80
mov ecx, 6
test ecx, ecx
je 0x467eb3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1870], eax
cvtsi2sd xmm0, dword [ebp - 0x1870]
mov eax, dword [ebp - 0x1870]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xad70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x186c], ecx
jmp 0x467ebd
mov dword [ebp - 0x186c], 2
mov edx, dword [ebp - 0x1834]
shl edx, 2
add edx, dword [ebp - 0x1830]
mov eax, dword [ebp - 0x1860]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1834]
shl ecx, 2
add ecx, dword [ebp - 0x1830]
mov edx, dword [ebp - 0x186c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1834]
shl ecx, 2
add ecx, dword [ebp - 0x1830]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4681c8
xor eax, eax
je 0x467f3d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x467f79
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xad88], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x468119
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x468119
mov dword [ebp - 0x1874], 0
jmp 0x467ff8
cmp dword [ebp - 0x1874], 9
jae 0x468114
cvtsi2sd xmm0, dword [ebp - 0x1874]
movsd xmm1, qword [ebp - 0xad88]
addsd xmm1, xmm0
movsd qword [ebp - 0xad90], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468067
mov ecx, dword [ebp - 0x1874]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xad88]
addsd xmm1, xmm0
movsd qword [ebp - 0xad88], xmm1
jmp 0x467f63
cvtsi2sd xmm0, dword [ebp - 0x1874]
movsd xmm1, qword [ebp - 0xad88]
addsd xmm1, xmm0
movsd qword [ebp - 0xad98], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xad98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4680c4
mov eax, dword [ebp - 0x1874]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xad88]
addsd xmm1, xmm0
movsd qword [ebp - 0xad88], xmm1
jmp 0x4680dd
mov ecx, 1
test ecx, ecx
je 0x4680d9
jmp 0x468196
jmp 0x468100
cvtsi2sd xmm0, dword [ebp - 0x1874]
movsd xmm1, qword [ebp - 0xad88]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1878], edx
jmp 0x4681a0
xor eax, eax
je 0x46810a
jmp 0x468119
jmp 0x467f63
jmp 0x467f63
mov ecx, 6
test ecx, ecx
je 0x468196
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x187c], eax
cvtsi2sd xmm0, dword [ebp - 0x187c]
mov eax, dword [ebp - 0x187c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xad88]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1878], ecx
jmp 0x4681a0
mov dword [ebp - 0x1878], 2
mov edx, dword [ebp - 0x1834]
shl edx, 2
add edx, dword [ebp - 0x1830]
mov eax, dword [ebp - 0x1878]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1834]
shl ecx, 2
add ecx, dword [ebp - 0x1830]
mov dword [ecx], eax
jmp 0x46710a
mov edx, dword [ebp - 0x182c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x182c]
mov dword [ebp - 0x1880], eax
mov ecx, dword [ebp - 0x1880]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1884], ecx
mov edx, dword [ebp - 0x1884]
mov dword [ebp - 0x1888], edx
mov eax, dword [ebp - 0x1828]
mov dword [ebp - 0x17c8], eax
cmp dword [ebp - 0x17c8], 0
je 0x469358
xor ecx, ecx
mov byte [ebp - 0x40], cl
lea ecx, [ebp - 0x40]
call fcn.00424780
mov dword [ebp - 0x188c], eax
mov edx, dword [ebp - 0x188c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x46931f
mov ecx, dword [ebp - 0x188c]
mov dword [ebp - 0x1890], ecx
mov dword [ebp - 0x1894], 0
jmp 0x46826b
mov edx, dword [ebp - 0x1894]
add edx, 1
mov dword [ebp - 0x1894], edx
cmp dword [ebp - 0x1894], 1
jae 0x46931f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x468540
xor eax, eax
je 0x4682b5
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4682f1
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726370]
movsd qword [ebp - 0xada0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x468491
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x468491
mov dword [ebp - 0x1898], 0
jmp 0x468370
cmp dword [ebp - 0x1898], 9
jae 0x46848c
cvtsi2sd xmm0, dword [ebp - 0x1898]
movsd xmm1, qword [ebp - 0xada0]
addsd xmm1, xmm0
movsd qword [ebp - 0xada8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xada8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4683df
mov ecx, dword [ebp - 0x1898]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xada0]
addsd xmm1, xmm0
movsd qword [ebp - 0xada0], xmm1
jmp 0x4682db
cvtsi2sd xmm0, dword [ebp - 0x1898]
movsd xmm1, qword [ebp - 0xada0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadb0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xadb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46843c
mov eax, dword [ebp - 0x1898]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xada0]
addsd xmm1, xmm0
movsd qword [ebp - 0xada0], xmm1
jmp 0x468455
mov ecx, 1
test ecx, ecx
je 0x468451
jmp 0x46850e
jmp 0x468478
cvtsi2sd xmm0, dword [ebp - 0x1898]
movsd xmm1, qword [ebp - 0xada0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x189c], edx
jmp 0x468518
xor eax, eax
je 0x468482
jmp 0x468491
jmp 0x4682db
jmp 0x4682db
mov ecx, 6
test ecx, ecx
je 0x46850e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18a0], eax
cvtsi2sd xmm0, dword [ebp - 0x18a0]
mov eax, dword [ebp - 0x18a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xada0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x189c], ecx
jmp 0x468518
mov dword [ebp - 0x189c], 2
mov edx, dword [ebp - 0x1894]
shl edx, 2
add edx, dword [ebp - 0x1890]
mov eax, dword [ebp - 0x189c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1894]
shl ecx, 2
add ecx, dword [ebp - 0x1890]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x469052
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46884d
xor eax, eax
je 0x4685c2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4685fe
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xadb8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46879e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46879e
mov dword [ebp - 0x18a4], 0
jmp 0x46867d
cmp dword [ebp - 0x18a4], 9
jae 0x468799
cvtsi2sd xmm0, dword [ebp - 0x18a4]
movsd xmm1, qword [ebp - 0xadb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadc0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4686ec
mov ecx, dword [ebp - 0x18a4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xadb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadb8], xmm1
jmp 0x4685e8
cvtsi2sd xmm0, dword [ebp - 0x18a4]
movsd xmm1, qword [ebp - 0xadb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadc8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xadc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468749
mov eax, dword [ebp - 0x18a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xadb8], xmm1
jmp 0x468762
mov ecx, 1
test ecx, ecx
je 0x46875e
jmp 0x46881b
jmp 0x468785
cvtsi2sd xmm0, dword [ebp - 0x18a4]
movsd xmm1, qword [ebp - 0xadb8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x18a8], edx
jmp 0x468825
xor eax, eax
je 0x46878f
jmp 0x46879e
jmp 0x4685e8
jmp 0x4685e8
mov ecx, 6
test ecx, ecx
je 0x46881b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18ac], eax
cvtsi2sd xmm0, dword [ebp - 0x18ac]
mov eax, dword [ebp - 0x18ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xadb8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x18a8], ecx
jmp 0x468825
mov dword [ebp - 0x18a8], 2
mov edx, dword [ebp - 0x1894]
shl edx, 2
add edx, dword [ebp - 0x1890]
mov eax, dword [ebp - 0x18a8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1894]
shl ecx, 2
add ecx, dword [ebp - 0x1890]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x468b15
xor eax, eax
je 0x46888a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4688c6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xadd0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x468a66
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x468a66
mov dword [ebp - 0x18b0], 0
jmp 0x468945
cmp dword [ebp - 0x18b0], 9
jae 0x468a61
cvtsi2sd xmm0, dword [ebp - 0x18b0]
movsd xmm1, qword [ebp - 0xadd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4689b4
mov ecx, dword [ebp - 0x18b0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xadd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadd0], xmm1
jmp 0x4688b0
cvtsi2sd xmm0, dword [ebp - 0x18b0]
movsd xmm1, qword [ebp - 0xadd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xade0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xade0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468a11
mov eax, dword [ebp - 0x18b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadd0], xmm1
jmp 0x468a2a
mov ecx, 1
test ecx, ecx
je 0x468a26
jmp 0x468ae3
jmp 0x468a4d
cvtsi2sd xmm0, dword [ebp - 0x18b0]
movsd xmm1, qword [ebp - 0xadd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x18b4], edx
jmp 0x468aed
xor eax, eax
je 0x468a57
jmp 0x468a66
jmp 0x4688b0
jmp 0x4688b0
mov ecx, 6
test ecx, ecx
je 0x468ae3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18b8], eax
cvtsi2sd xmm0, dword [ebp - 0x18b8]
mov eax, dword [ebp - 0x18b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xadd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x18b4], ecx
jmp 0x468aed
mov dword [ebp - 0x18b4], 2
mov edx, dword [ebp - 0x1894]
shl edx, 2
add edx, dword [ebp - 0x1890]
mov eax, dword [ebp - 0x18b4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1894]
shl ecx, 2
add ecx, dword [ebp - 0x1890]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1894]
add edx, 0xffffffb7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xade8], xmm0
xor eax, eax
je 0x468b2f
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x468b6b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xade8]
movsd qword [ebp - 0xadf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x468d0b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x468d0b
mov dword [ebp - 0x18bc], 0
jmp 0x468bea
cmp dword [ebp - 0x18bc], 9
jae 0x468d06
cvtsi2sd xmm0, dword [ebp - 0x18bc]
movsd xmm1, qword [ebp - 0xadf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468c59
mov ecx, dword [ebp - 0x18bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xadf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadf0], xmm1
jmp 0x468b55
cvtsi2sd xmm0, dword [ebp - 0x18bc]
movsd xmm1, qword [ebp - 0xadf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xae00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xae00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468cb6
mov eax, dword [ebp - 0x18bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xadf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xadf0], xmm1
jmp 0x468ccf
mov ecx, 1
test ecx, ecx
je 0x468ccb
jmp 0x468d88
jmp 0x468cf2
cvtsi2sd xmm0, dword [ebp - 0x18bc]
movsd xmm1, qword [ebp - 0xadf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x18c0], edx
jmp 0x468d92
xor eax, eax
je 0x468cfc
jmp 0x468d0b
jmp 0x468b55
jmp 0x468b55
mov ecx, 6
test ecx, ecx
je 0x468d88
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18c4], eax
cvtsi2sd xmm0, dword [ebp - 0x18c4]
mov eax, dword [ebp - 0x18c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xadf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x18c0], ecx
jmp 0x468d92
mov dword [ebp - 0x18c0], 2
mov edx, dword [ebp - 0x1894]
add edx, 0xffffffb7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xae08], xmm0
xor eax, eax
je 0x468dac
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x468de8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xae08]
movsd qword [ebp - 0xae10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x468f88
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x468f88
mov dword [ebp - 0x18c8], 0
jmp 0x468e67
cmp dword [ebp - 0x18c8], 9
jae 0x468f83
cvtsi2sd xmm0, dword [ebp - 0x18c8]
movsd xmm1, qword [ebp - 0xae10]
addsd xmm1, xmm0
movsd qword [ebp - 0xae18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468ed6
mov ecx, dword [ebp - 0x18c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xae10]
addsd xmm1, xmm0
movsd qword [ebp - 0xae10], xmm1
jmp 0x468dd2
cvtsi2sd xmm0, dword [ebp - 0x18c8]
movsd xmm1, qword [ebp - 0xae10]
addsd xmm1, xmm0
movsd qword [ebp - 0xae20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xae20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x468f33
mov eax, dword [ebp - 0x18c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae10]
addsd xmm1, xmm0
movsd qword [ebp - 0xae10], xmm1
jmp 0x468f4c
mov ecx, 1
test ecx, ecx
je 0x468f48
jmp 0x469005
jmp 0x468f6f
cvtsi2sd xmm0, dword [ebp - 0x18c8]
movsd xmm1, qword [ebp - 0xae10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x18cc], edx
jmp 0x46900f
xor eax, eax
je 0x468f79
jmp 0x468f88
jmp 0x468dd2
jmp 0x468dd2
mov ecx, 6
test ecx, ecx
je 0x469005
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18d0], eax
cvtsi2sd xmm0, dword [ebp - 0x18d0]
mov eax, dword [ebp - 0x18d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xae10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x18cc], ecx
jmp 0x46900f
mov dword [ebp - 0x18cc], 2
mov edx, dword [ebp - 0x1894]
shl edx, 2
add edx, dword [ebp - 0x1890]
mov eax, dword [ebp - 0x18c0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1894]
shl ecx, 2
add ecx, dword [ebp - 0x1890]
mov edx, dword [ebp - 0x18cc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1894]
shl ecx, 2
add ecx, dword [ebp - 0x1890]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46931a
xor eax, eax
je 0x46908f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4690cb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xae28], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46926b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46926b
mov dword [ebp - 0x18d4], 0
jmp 0x46914a
cmp dword [ebp - 0x18d4], 9
jae 0x469266
cvtsi2sd xmm0, dword [ebp - 0x18d4]
movsd xmm1, qword [ebp - 0xae28]
addsd xmm1, xmm0
movsd qword [ebp - 0xae30], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4691b9
mov ecx, dword [ebp - 0x18d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xae28]
addsd xmm1, xmm0
movsd qword [ebp - 0xae28], xmm1
jmp 0x4690b5
cvtsi2sd xmm0, dword [ebp - 0x18d4]
movsd xmm1, qword [ebp - 0xae28]
addsd xmm1, xmm0
movsd qword [ebp - 0xae38], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xae38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469216
mov eax, dword [ebp - 0x18d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae28]
addsd xmm1, xmm0
movsd qword [ebp - 0xae28], xmm1
jmp 0x46922f
mov ecx, 1
test ecx, ecx
je 0x46922b
jmp 0x4692e8
jmp 0x469252
cvtsi2sd xmm0, dword [ebp - 0x18d4]
movsd xmm1, qword [ebp - 0xae28]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x18d8], edx
jmp 0x4692f2
xor eax, eax
je 0x46925c
jmp 0x46926b
jmp 0x4690b5
jmp 0x4690b5
mov ecx, 6
test ecx, ecx
je 0x4692e8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18dc], eax
cvtsi2sd xmm0, dword [ebp - 0x18dc]
mov eax, dword [ebp - 0x18dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xae28]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x18d8], ecx
jmp 0x4692f2
mov dword [ebp - 0x18d8], 2
mov edx, dword [ebp - 0x1894]
shl edx, 2
add edx, dword [ebp - 0x1890]
mov eax, dword [ebp - 0x18d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1894]
shl ecx, 2
add ecx, dword [ebp - 0x1890]
mov dword [ecx], eax
jmp 0x46825c
mov edx, dword [ebp - 0x188c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x188c]
mov dword [ebp - 0x18e0], eax
mov ecx, dword [ebp - 0x18e0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x18e4], ecx
mov edx, dword [ebp - 0x18e4]
mov dword [ebp - 0x1888], edx
xor eax, eax
mov byte [ebp - 0x41], al
xor ecx, ecx
mov byte [ebp - 0x42], cl
lea ecx, [ebp - 0x41]
call fcn.00424720
mov dword [ebp - 0x18e8], eax
mov edx, dword [ebp - 0x18e8]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x46a45d
mov ecx, dword [ebp - 0x18e8]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x18f0], 0
jmp 0x4693a9
mov edx, dword [ebp - 0x18f0]
add edx, 1
mov dword [ebp - 0x18f0], edx
cmp dword [ebp - 0x18f0], 1
jae 0x46a45d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46967e
xor eax, eax
je 0x4693f3
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x46942f
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xae40], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4695cf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4695cf
mov dword [ebp - 0x18f4], 0
jmp 0x4694ae
cmp dword [ebp - 0x18f4], 9
jae 0x4695ca
cvtsi2sd xmm0, dword [ebp - 0x18f4]
movsd xmm1, qword [ebp - 0xae40]
addsd xmm1, xmm0
movsd qword [ebp - 0xae48], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46951d
mov ecx, dword [ebp - 0x18f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xae40]
addsd xmm1, xmm0
movsd qword [ebp - 0xae40], xmm1
jmp 0x469419
cvtsi2sd xmm0, dword [ebp - 0x18f4]
movsd xmm1, qword [ebp - 0xae40]
addsd xmm1, xmm0
movsd qword [ebp - 0xae50], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xae50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46957a
mov eax, dword [ebp - 0x18f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae40]
addsd xmm1, xmm0
movsd qword [ebp - 0xae40], xmm1
jmp 0x469593
mov ecx, 1
test ecx, ecx
je 0x46958f
jmp 0x46964c
jmp 0x4695b6
cvtsi2sd xmm0, dword [ebp - 0x18f4]
movsd xmm1, qword [ebp - 0xae40]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x18f8], edx
jmp 0x469656
xor eax, eax
je 0x4695c0
jmp 0x4695cf
jmp 0x469419
jmp 0x469419
mov ecx, 6
test ecx, ecx
je 0x46964c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x18fc], eax
cvtsi2sd xmm0, dword [ebp - 0x18fc]
mov eax, dword [ebp - 0x18fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xae40]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x18f8], ecx
jmp 0x469656
mov dword [ebp - 0x18f8], 2
mov edx, dword [ebp - 0x18f0]
shl edx, 2
add edx, dword [ebp - 0x18ec]
mov eax, dword [ebp - 0x18f8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x18f0]
shl ecx, 2
add ecx, dword [ebp - 0x18ec]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46a190
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46998b
xor eax, eax
je 0x469700
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46973c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xae58], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4698dc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4698dc
mov dword [ebp - 0x1900], 0
jmp 0x4697bb
cmp dword [ebp - 0x1900], 9
jae 0x4698d7
cvtsi2sd xmm0, dword [ebp - 0x1900]
movsd xmm1, qword [ebp - 0xae58]
addsd xmm1, xmm0
movsd qword [ebp - 0xae60], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46982a
mov ecx, dword [ebp - 0x1900]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xae58]
addsd xmm1, xmm0
movsd qword [ebp - 0xae58], xmm1
jmp 0x469726
cvtsi2sd xmm0, dword [ebp - 0x1900]
movsd xmm1, qword [ebp - 0xae58]
addsd xmm1, xmm0
movsd qword [ebp - 0xae68], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xae68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469887
mov eax, dword [ebp - 0x1900]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae58]
addsd xmm1, xmm0
movsd qword [ebp - 0xae58], xmm1
jmp 0x4698a0
mov ecx, 1
test ecx, ecx
je 0x46989c
jmp 0x469959
jmp 0x4698c3
cvtsi2sd xmm0, dword [ebp - 0x1900]
movsd xmm1, qword [ebp - 0xae58]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1904], edx
jmp 0x469963
xor eax, eax
je 0x4698cd
jmp 0x4698dc
jmp 0x469726
jmp 0x469726
mov ecx, 6
test ecx, ecx
je 0x469959
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1908], eax
cvtsi2sd xmm0, dword [ebp - 0x1908]
mov eax, dword [ebp - 0x1908]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xae58]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1904], ecx
jmp 0x469963
mov dword [ebp - 0x1904], 2
mov edx, dword [ebp - 0x18f0]
shl edx, 2
add edx, dword [ebp - 0x18ec]
mov eax, dword [ebp - 0x1904]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x18f0]
shl ecx, 2
add ecx, dword [ebp - 0x18ec]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x469c53
xor eax, eax
je 0x4699c8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x469a04
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xae70], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x469ba4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x469ba4
mov dword [ebp - 0x190c], 0
jmp 0x469a83
cmp dword [ebp - 0x190c], 9
jae 0x469b9f
cvtsi2sd xmm0, dword [ebp - 0x190c]
movsd xmm1, qword [ebp - 0xae70]
addsd xmm1, xmm0
movsd qword [ebp - 0xae78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469af2
mov ecx, dword [ebp - 0x190c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xae70]
addsd xmm1, xmm0
movsd qword [ebp - 0xae70], xmm1
jmp 0x4699ee
cvtsi2sd xmm0, dword [ebp - 0x190c]
movsd xmm1, qword [ebp - 0xae70]
addsd xmm1, xmm0
movsd qword [ebp - 0xae80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xae80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469b4f
mov eax, dword [ebp - 0x190c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae70]
addsd xmm1, xmm0
movsd qword [ebp - 0xae70], xmm1
jmp 0x469b68
mov ecx, 1
test ecx, ecx
je 0x469b64
jmp 0x469c21
jmp 0x469b8b
cvtsi2sd xmm0, dword [ebp - 0x190c]
movsd xmm1, qword [ebp - 0xae70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1910], edx
jmp 0x469c2b
xor eax, eax
je 0x469b95
jmp 0x469ba4
jmp 0x4699ee
jmp 0x4699ee
mov ecx, 6
test ecx, ecx
je 0x469c21
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1914], eax
cvtsi2sd xmm0, dword [ebp - 0x1914]
mov eax, dword [ebp - 0x1914]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xae70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1910], ecx
jmp 0x469c2b
mov dword [ebp - 0x1910], 2
mov edx, dword [ebp - 0x18f0]
shl edx, 2
add edx, dword [ebp - 0x18ec]
mov eax, dword [ebp - 0x1910]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x18f0]
shl ecx, 2
add ecx, dword [ebp - 0x18ec]
mov dword [ecx], eax
mov edx, dword [ebp - 0x18f0]
add edx, 0xffffffb8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xae88], xmm0
xor eax, eax
je 0x469c6d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x469ca9
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xae88]
movsd qword [ebp - 0xae90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x469e49
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x469e49
mov dword [ebp - 0x1918], 0
jmp 0x469d28
cmp dword [ebp - 0x1918], 9
jae 0x469e44
cvtsi2sd xmm0, dword [ebp - 0x1918]
movsd xmm1, qword [ebp - 0xae90]
addsd xmm1, xmm0
movsd qword [ebp - 0xae98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469d97
mov ecx, dword [ebp - 0x1918]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xae90]
addsd xmm1, xmm0
movsd qword [ebp - 0xae90], xmm1
jmp 0x469c93
cvtsi2sd xmm0, dword [ebp - 0x1918]
movsd xmm1, qword [ebp - 0xae90]
addsd xmm1, xmm0
movsd qword [ebp - 0xaea0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaea0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x469df4
mov eax, dword [ebp - 0x1918]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xae90]
addsd xmm1, xmm0
movsd qword [ebp - 0xae90], xmm1
jmp 0x469e0d
mov ecx, 1
test ecx, ecx
je 0x469e09
jmp 0x469ec6
jmp 0x469e30
cvtsi2sd xmm0, dword [ebp - 0x1918]
movsd xmm1, qword [ebp - 0xae90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x191c], edx
jmp 0x469ed0
xor eax, eax
je 0x469e3a
jmp 0x469e49
jmp 0x469c93
jmp 0x469c93
mov ecx, 6
test ecx, ecx
je 0x469ec6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1920], eax
cvtsi2sd xmm0, dword [ebp - 0x1920]
mov eax, dword [ebp - 0x1920]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xae90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x191c], ecx
jmp 0x469ed0
mov dword [ebp - 0x191c], 2
mov edx, dword [ebp - 0x18f0]
add edx, 0xffffffb8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaea8], xmm0
xor eax, eax
je 0x469eea
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x469f26
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaea8]
movsd qword [ebp - 0xaeb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46a0c6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46a0c6
mov dword [ebp - 0x1924], 0
jmp 0x469fa5
cmp dword [ebp - 0x1924], 9
jae 0x46a0c1
cvtsi2sd xmm0, dword [ebp - 0x1924]
movsd xmm1, qword [ebp - 0xaeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaeb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaeb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a014
mov ecx, dword [ebp - 0x1924]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaeb0], xmm1
jmp 0x469f10
cvtsi2sd xmm0, dword [ebp - 0x1924]
movsd xmm1, qword [ebp - 0xaeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaec0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaec0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a071
mov eax, dword [ebp - 0x1924]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaeb0], xmm1
jmp 0x46a08a
mov ecx, 1
test ecx, ecx
je 0x46a086
jmp 0x46a143
jmp 0x46a0ad
cvtsi2sd xmm0, dword [ebp - 0x1924]
movsd xmm1, qword [ebp - 0xaeb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1928], edx
jmp 0x46a14d
xor eax, eax
je 0x46a0b7
jmp 0x46a0c6
jmp 0x469f10
jmp 0x469f10
mov ecx, 6
test ecx, ecx
je 0x46a143
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x192c], eax
cvtsi2sd xmm0, dword [ebp - 0x192c]
mov eax, dword [ebp - 0x192c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaeb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1928], ecx
jmp 0x46a14d
mov dword [ebp - 0x1928], 2
mov edx, dword [ebp - 0x18f0]
shl edx, 2
add edx, dword [ebp - 0x18ec]
mov eax, dword [ebp - 0x191c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x18f0]
shl ecx, 2
add ecx, dword [ebp - 0x18ec]
mov edx, dword [ebp - 0x1928]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x18f0]
shl ecx, 2
add ecx, dword [ebp - 0x18ec]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46a458
xor eax, eax
je 0x46a1cd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46a209
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xaec8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46a3a9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46a3a9
mov dword [ebp - 0x1930], 0
jmp 0x46a288
cmp dword [ebp - 0x1930], 9
jae 0x46a3a4
cvtsi2sd xmm0, dword [ebp - 0x1930]
movsd xmm1, qword [ebp - 0xaec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaed0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaed0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a2f7
mov ecx, dword [ebp - 0x1930]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaec8], xmm1
jmp 0x46a1f3
cvtsi2sd xmm0, dword [ebp - 0x1930]
movsd xmm1, qword [ebp - 0xaec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaed8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a354
mov eax, dword [ebp - 0x1930]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaec8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaec8], xmm1
jmp 0x46a36d
mov ecx, 1
test ecx, ecx
je 0x46a369
jmp 0x46a426
jmp 0x46a390
cvtsi2sd xmm0, dword [ebp - 0x1930]
movsd xmm1, qword [ebp - 0xaec8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1934], edx
jmp 0x46a430
xor eax, eax
je 0x46a39a
jmp 0x46a3a9
jmp 0x46a1f3
jmp 0x46a1f3
mov ecx, 6
test ecx, ecx
je 0x46a426
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1938], eax
cvtsi2sd xmm0, dword [ebp - 0x1938]
mov eax, dword [ebp - 0x1938]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaec8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1934], ecx
jmp 0x46a430
mov dword [ebp - 0x1934], 2
mov edx, dword [ebp - 0x18f0]
shl edx, 2
add edx, dword [ebp - 0x18ec]
mov eax, dword [ebp - 0x1934]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x18f0]
shl ecx, 2
add ecx, dword [ebp - 0x18ec]
mov dword [ecx], eax
jmp 0x46939a
mov edx, dword [ebp - 0x18e8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x18e8]
mov dword [ebp - 0x193c], eax
mov ecx, dword [ebp - 0x193c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1940], ecx
lea ecx, [ebp - 0x42]
call fcn.00424750
mov dword [ebp - 0x1944], eax
mov edx, dword [ebp - 0x1944]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x46b585
mov ecx, dword [ebp - 0x1944]
mov dword [ebp - 0x1948], ecx
mov dword [ebp - 0x194c], 0
jmp 0x46a4d1
mov edx, dword [ebp - 0x194c]
add edx, 1
mov dword [ebp - 0x194c], edx
cmp dword [ebp - 0x194c], 1
jae 0x46b585
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46a7a6
xor eax, eax
je 0x46a51b
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x46a557
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726368]
movsd qword [ebp - 0xaee0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46a6f7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46a6f7
mov dword [ebp - 0x1950], 0
jmp 0x46a5d6
cmp dword [ebp - 0x1950], 9
jae 0x46a6f2
cvtsi2sd xmm0, dword [ebp - 0x1950]
movsd xmm1, qword [ebp - 0xaee0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaee8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaee8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a645
mov ecx, dword [ebp - 0x1950]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaee0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaee0], xmm1
jmp 0x46a541
cvtsi2sd xmm0, dword [ebp - 0x1950]
movsd xmm1, qword [ebp - 0xaee0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaef0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaef0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a6a2
mov eax, dword [ebp - 0x1950]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaee0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaee0], xmm1
jmp 0x46a6bb
mov ecx, 1
test ecx, ecx
je 0x46a6b7
jmp 0x46a774
jmp 0x46a6de
cvtsi2sd xmm0, dword [ebp - 0x1950]
movsd xmm1, qword [ebp - 0xaee0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1954], edx
jmp 0x46a77e
xor eax, eax
je 0x46a6e8
jmp 0x46a6f7
jmp 0x46a541
jmp 0x46a541
mov ecx, 6
test ecx, ecx
je 0x46a774
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1958], eax
cvtsi2sd xmm0, dword [ebp - 0x1958]
mov eax, dword [ebp - 0x1958]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaee0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1954], ecx
jmp 0x46a77e
mov dword [ebp - 0x1954], 2
mov edx, dword [ebp - 0x194c]
shl edx, 2
add edx, dword [ebp - 0x1948]
mov eax, dword [ebp - 0x1954]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x194c]
shl ecx, 2
add ecx, dword [ebp - 0x1948]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46b2b8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46aab3
xor eax, eax
je 0x46a828
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46a864
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xaef8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46aa04
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46aa04
mov dword [ebp - 0x195c], 0
jmp 0x46a8e3
cmp dword [ebp - 0x195c], 9
jae 0x46a9ff
cvtsi2sd xmm0, dword [ebp - 0x195c]
movsd xmm1, qword [ebp - 0xaef8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf00], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a952
mov ecx, dword [ebp - 0x195c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaef8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaef8], xmm1
jmp 0x46a84e
cvtsi2sd xmm0, dword [ebp - 0x195c]
movsd xmm1, qword [ebp - 0xaef8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf08], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaf08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46a9af
mov eax, dword [ebp - 0x195c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaef8]
addsd xmm1, xmm0
movsd qword [ebp - 0xaef8], xmm1
jmp 0x46a9c8
mov ecx, 1
test ecx, ecx
je 0x46a9c4
jmp 0x46aa81
jmp 0x46a9eb
cvtsi2sd xmm0, dword [ebp - 0x195c]
movsd xmm1, qword [ebp - 0xaef8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1960], edx
jmp 0x46aa8b
xor eax, eax
je 0x46a9f5
jmp 0x46aa04
jmp 0x46a84e
jmp 0x46a84e
mov ecx, 6
test ecx, ecx
je 0x46aa81
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1964], eax
cvtsi2sd xmm0, dword [ebp - 0x1964]
mov eax, dword [ebp - 0x1964]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaef8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1960], ecx
jmp 0x46aa8b
mov dword [ebp - 0x1960], 2
mov edx, dword [ebp - 0x194c]
shl edx, 2
add edx, dword [ebp - 0x1948]
mov eax, dword [ebp - 0x1960]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x194c]
shl ecx, 2
add ecx, dword [ebp - 0x1948]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46ad7b
xor eax, eax
je 0x46aaf0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46ab2c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xaf10], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46accc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46accc
mov dword [ebp - 0x1968], 0
jmp 0x46abab
cmp dword [ebp - 0x1968], 9
jae 0x46acc7
cvtsi2sd xmm0, dword [ebp - 0x1968]
movsd xmm1, qword [ebp - 0xaf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ac1a
mov ecx, dword [ebp - 0x1968]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf10], xmm1
jmp 0x46ab16
cvtsi2sd xmm0, dword [ebp - 0x1968]
movsd xmm1, qword [ebp - 0xaf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaf20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ac77
mov eax, dword [ebp - 0x1968]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf10], xmm1
jmp 0x46ac90
mov ecx, 1
test ecx, ecx
je 0x46ac8c
jmp 0x46ad49
jmp 0x46acb3
cvtsi2sd xmm0, dword [ebp - 0x1968]
movsd xmm1, qword [ebp - 0xaf10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x196c], edx
jmp 0x46ad53
xor eax, eax
je 0x46acbd
jmp 0x46accc
jmp 0x46ab16
jmp 0x46ab16
mov ecx, 6
test ecx, ecx
je 0x46ad49
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1970], eax
cvtsi2sd xmm0, dword [ebp - 0x1970]
mov eax, dword [ebp - 0x1970]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaf10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x196c], ecx
jmp 0x46ad53
mov dword [ebp - 0x196c], 2
mov edx, dword [ebp - 0x194c]
shl edx, 2
add edx, dword [ebp - 0x1948]
mov eax, dword [ebp - 0x196c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x194c]
shl ecx, 2
add ecx, dword [ebp - 0x1948]
mov dword [ecx], eax
mov edx, dword [ebp - 0x194c]
add edx, 0xffffffb8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaf28], xmm0
xor eax, eax
je 0x46ad95
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46add1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaf28]
movsd qword [ebp - 0xaf30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46af71
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46af71
mov dword [ebp - 0x1974], 0
jmp 0x46ae50
cmp dword [ebp - 0x1974], 9
jae 0x46af6c
cvtsi2sd xmm0, dword [ebp - 0x1974]
movsd xmm1, qword [ebp - 0xaf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46aebf
mov ecx, dword [ebp - 0x1974]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf30], xmm1
jmp 0x46adbb
cvtsi2sd xmm0, dword [ebp - 0x1974]
movsd xmm1, qword [ebp - 0xaf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaf40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46af1c
mov eax, dword [ebp - 0x1974]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf30], xmm1
jmp 0x46af35
mov ecx, 1
test ecx, ecx
je 0x46af31
jmp 0x46afee
jmp 0x46af58
cvtsi2sd xmm0, dword [ebp - 0x1974]
movsd xmm1, qword [ebp - 0xaf30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1978], edx
jmp 0x46aff8
xor eax, eax
je 0x46af62
jmp 0x46af71
jmp 0x46adbb
jmp 0x46adbb
mov ecx, 6
test ecx, ecx
je 0x46afee
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x197c], eax
cvtsi2sd xmm0, dword [ebp - 0x197c]
mov eax, dword [ebp - 0x197c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaf30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1978], ecx
jmp 0x46aff8
mov dword [ebp - 0x1978], 2
mov edx, dword [ebp - 0x194c]
add edx, 0xffffffb8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xaf48], xmm0
xor eax, eax
je 0x46b012
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46b04e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xaf48]
movsd qword [ebp - 0xaf50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46b1ee
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46b1ee
mov dword [ebp - 0x1980], 0
jmp 0x46b0cd
cmp dword [ebp - 0x1980], 9
jae 0x46b1e9
cvtsi2sd xmm0, dword [ebp - 0x1980]
movsd xmm1, qword [ebp - 0xaf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b13c
mov ecx, dword [ebp - 0x1980]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf50], xmm1
jmp 0x46b038
cvtsi2sd xmm0, dword [ebp - 0x1980]
movsd xmm1, qword [ebp - 0xaf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaf60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b199
mov eax, dword [ebp - 0x1980]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf50], xmm1
jmp 0x46b1b2
mov ecx, 1
test ecx, ecx
je 0x46b1ae
jmp 0x46b26b
jmp 0x46b1d5
cvtsi2sd xmm0, dword [ebp - 0x1980]
movsd xmm1, qword [ebp - 0xaf50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1984], edx
jmp 0x46b275
xor eax, eax
je 0x46b1df
jmp 0x46b1ee
jmp 0x46b038
jmp 0x46b038
mov ecx, 6
test ecx, ecx
je 0x46b26b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1988], eax
cvtsi2sd xmm0, dword [ebp - 0x1988]
mov eax, dword [ebp - 0x1988]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaf50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1984], ecx
jmp 0x46b275
mov dword [ebp - 0x1984], 2
mov edx, dword [ebp - 0x194c]
shl edx, 2
add edx, dword [ebp - 0x1948]
mov eax, dword [ebp - 0x1978]
add eax, dword [edx]
mov ecx, dword [ebp - 0x194c]
shl ecx, 2
add ecx, dword [ebp - 0x1948]
mov edx, dword [ebp - 0x1984]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x194c]
shl ecx, 2
add ecx, dword [ebp - 0x1948]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46b580
xor eax, eax
je 0x46b2f5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46b331
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xaf68], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46b4d1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46b4d1
mov dword [ebp - 0x198c], 0
jmp 0x46b3b0
cmp dword [ebp - 0x198c], 9
jae 0x46b4cc
cvtsi2sd xmm0, dword [ebp - 0x198c]
movsd xmm1, qword [ebp - 0xaf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf70], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b41f
mov ecx, dword [ebp - 0x198c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf68], xmm1
jmp 0x46b31b
cvtsi2sd xmm0, dword [ebp - 0x198c]
movsd xmm1, qword [ebp - 0xaf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf78], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaf78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b47c
mov eax, dword [ebp - 0x198c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf68]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf68], xmm1
jmp 0x46b495
mov ecx, 1
test ecx, ecx
je 0x46b491
jmp 0x46b54e
jmp 0x46b4b8
cvtsi2sd xmm0, dword [ebp - 0x198c]
movsd xmm1, qword [ebp - 0xaf68]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1990], edx
jmp 0x46b558
xor eax, eax
je 0x46b4c2
jmp 0x46b4d1
jmp 0x46b31b
jmp 0x46b31b
mov ecx, 6
test ecx, ecx
je 0x46b54e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1994], eax
cvtsi2sd xmm0, dword [ebp - 0x1994]
mov eax, dword [ebp - 0x1994]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaf68]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1990], ecx
jmp 0x46b558
mov dword [ebp - 0x1990], 2
mov edx, dword [ebp - 0x194c]
shl edx, 2
add edx, dword [ebp - 0x1948]
mov eax, dword [ebp - 0x1990]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x194c]
shl ecx, 2
add ecx, dword [ebp - 0x1948]
mov dword [ecx], eax
jmp 0x46a4c2
mov edx, dword [ebp - 0x1944]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1944]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x1998]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x199c], ecx
push 0x10
mov edx, dword [ebp - 0x1940]
push edx
lea eax, [ebp - 0x16620]
push eax
mov ecx, dword [ebp - 0x199c]
shl ecx, 2
add ecx, 0x772478
mov edx, dword [ecx]
call edx
add esp, 0xc
xor eax, eax
mov byte [ebp - 0x43], al
lea ecx, [ebp - 0x43]
call fcn.004246f0
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x46c6d8
mov eax, dword [ebp - 0x19a0]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x19a8], 0
jmp 0x46b624
mov ecx, dword [ebp - 0x19a8]
add ecx, 1
mov dword [ebp - 0x19a8], ecx
cmp dword [ebp - 0x19a8], 1
jae 0x46c6d8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46b8f9
xor eax, eax
je 0x46b66e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46b6aa
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xaf80], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46b84a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46b84a
mov dword [ebp - 0x19ac], 0
jmp 0x46b729
cmp dword [ebp - 0x19ac], 9
jae 0x46b845
cvtsi2sd xmm0, dword [ebp - 0x19ac]
movsd xmm1, qword [ebp - 0xaf80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf88], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b798
mov ecx, dword [ebp - 0x19ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaf80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf80], xmm1
jmp 0x46b694
cvtsi2sd xmm0, dword [ebp - 0x19ac]
movsd xmm1, qword [ebp - 0xaf80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf90], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xaf90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46b7f5
mov eax, dword [ebp - 0x19ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf80]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf80], xmm1
jmp 0x46b80e
mov ecx, 1
test ecx, ecx
je 0x46b80a
jmp 0x46b8c7
jmp 0x46b831
cvtsi2sd xmm0, dword [ebp - 0x19ac]
movsd xmm1, qword [ebp - 0xaf80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19b0], edx
jmp 0x46b8d1
xor eax, eax
je 0x46b83b
jmp 0x46b84a
jmp 0x46b694
jmp 0x46b694
mov ecx, 6
test ecx, ecx
je 0x46b8c7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x19b4], eax
cvtsi2sd xmm0, dword [ebp - 0x19b4]
mov eax, dword [ebp - 0x19b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaf80]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19b0], ecx
jmp 0x46b8d1
mov dword [ebp - 0x19b0], 2
mov edx, dword [ebp - 0x19a8]
shl edx, 2
add edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x19b0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x19a8]
shl ecx, 2
add ecx, dword [ebp - 0x19a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46c40b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46bc06
xor eax, eax
je 0x46b97b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46b9b7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xaf98], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46bb57
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46bb57
mov dword [ebp - 0x19b8], 0
jmp 0x46ba36
cmp dword [ebp - 0x19b8], 9
jae 0x46bb52
cvtsi2sd xmm0, dword [ebp - 0x19b8]
movsd xmm1, qword [ebp - 0xaf98]
addsd xmm1, xmm0
movsd qword [ebp - 0xafa0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46baa5
mov ecx, dword [ebp - 0x19b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaf98]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf98], xmm1
jmp 0x46b9a1
cvtsi2sd xmm0, dword [ebp - 0x19b8]
movsd xmm1, qword [ebp - 0xaf98]
addsd xmm1, xmm0
movsd qword [ebp - 0xafa8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xafa8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bb02
mov eax, dword [ebp - 0x19b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaf98]
addsd xmm1, xmm0
movsd qword [ebp - 0xaf98], xmm1
jmp 0x46bb1b
mov ecx, 1
test ecx, ecx
je 0x46bb17
jmp 0x46bbd4
jmp 0x46bb3e
cvtsi2sd xmm0, dword [ebp - 0x19b8]
movsd xmm1, qword [ebp - 0xaf98]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19bc], edx
jmp 0x46bbde
xor eax, eax
je 0x46bb48
jmp 0x46bb57
jmp 0x46b9a1
jmp 0x46b9a1
mov ecx, 6
test ecx, ecx
je 0x46bbd4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x19c0], eax
cvtsi2sd xmm0, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x19c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaf98]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19bc], ecx
jmp 0x46bbde
mov dword [ebp - 0x19bc], 2
mov edx, dword [ebp - 0x19a8]
shl edx, 2
add edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x19bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x19a8]
shl ecx, 2
add ecx, dword [ebp - 0x19a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46bece
xor eax, eax
je 0x46bc43
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46bc7f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xafb0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46be1f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46be1f
mov dword [ebp - 0x19c4], 0
jmp 0x46bcfe
cmp dword [ebp - 0x19c4], 9
jae 0x46be1a
cvtsi2sd xmm0, dword [ebp - 0x19c4]
movsd xmm1, qword [ebp - 0xafb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bd6d
mov ecx, dword [ebp - 0x19c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xafb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafb0], xmm1
jmp 0x46bc69
cvtsi2sd xmm0, dword [ebp - 0x19c4]
movsd xmm1, qword [ebp - 0xafb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xafc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46bdca
mov eax, dword [ebp - 0x19c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafb0], xmm1
jmp 0x46bde3
mov ecx, 1
test ecx, ecx
je 0x46bddf
jmp 0x46be9c
jmp 0x46be06
cvtsi2sd xmm0, dword [ebp - 0x19c4]
movsd xmm1, qword [ebp - 0xafb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19c8], edx
jmp 0x46bea6
xor eax, eax
je 0x46be10
jmp 0x46be1f
jmp 0x46bc69
jmp 0x46bc69
mov ecx, 6
test ecx, ecx
je 0x46be9c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x19cc], eax
cvtsi2sd xmm0, dword [ebp - 0x19cc]
mov eax, dword [ebp - 0x19cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xafb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19c8], ecx
jmp 0x46bea6
mov dword [ebp - 0x19c8], 2
mov edx, dword [ebp - 0x19a8]
shl edx, 2
add edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x19c8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x19a8]
shl ecx, 2
add ecx, dword [ebp - 0x19a4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x19a8]
add edx, 0xffffffb9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xafc8], xmm0
xor eax, eax
je 0x46bee8
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46bf24
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xafc8]
movsd qword [ebp - 0xafd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46c0c4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46c0c4
mov dword [ebp - 0x19d0], 0
jmp 0x46bfa3
cmp dword [ebp - 0x19d0], 9
jae 0x46c0bf
cvtsi2sd xmm0, dword [ebp - 0x19d0]
movsd xmm1, qword [ebp - 0xafd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c012
mov ecx, dword [ebp - 0x19d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xafd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafd0], xmm1
jmp 0x46bf0e
cvtsi2sd xmm0, dword [ebp - 0x19d0]
movsd xmm1, qword [ebp - 0xafd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafe0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xafe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c06f
mov eax, dword [ebp - 0x19d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xafd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xafd0], xmm1
jmp 0x46c088
mov ecx, 1
test ecx, ecx
je 0x46c084
jmp 0x46c141
jmp 0x46c0ab
cvtsi2sd xmm0, dword [ebp - 0x19d0]
movsd xmm1, qword [ebp - 0xafd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19d4], edx
jmp 0x46c14b
xor eax, eax
je 0x46c0b5
jmp 0x46c0c4
jmp 0x46bf0e
jmp 0x46bf0e
mov ecx, 6
test ecx, ecx
je 0x46c141
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x19d8], eax
cvtsi2sd xmm0, dword [ebp - 0x19d8]
mov eax, dword [ebp - 0x19d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xafd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19d4], ecx
jmp 0x46c14b
mov dword [ebp - 0x19d4], 2
mov edx, dword [ebp - 0x19a8]
add edx, 0xffffffb9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xafe8], xmm0
xor eax, eax
je 0x46c165
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46c1a1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xafe8]
movsd qword [ebp - 0xaff0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46c341
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46c341
mov dword [ebp - 0x19dc], 0
jmp 0x46c220
cmp dword [ebp - 0x19dc], 9
jae 0x46c33c
cvtsi2sd xmm0, dword [ebp - 0x19dc]
movsd xmm1, qword [ebp - 0xaff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaff8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c28f
mov ecx, dword [ebp - 0x19dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xaff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaff0], xmm1
jmp 0x46c18b
cvtsi2sd xmm0, dword [ebp - 0x19dc]
movsd xmm1, qword [ebp - 0xaff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb000], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb000]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c2ec
mov eax, dword [ebp - 0x19dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xaff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xaff0], xmm1
jmp 0x46c305
mov ecx, 1
test ecx, ecx
je 0x46c301
jmp 0x46c3be
jmp 0x46c328
cvtsi2sd xmm0, dword [ebp - 0x19dc]
movsd xmm1, qword [ebp - 0xaff0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19e0], edx
jmp 0x46c3c8
xor eax, eax
je 0x46c332
jmp 0x46c341
jmp 0x46c18b
jmp 0x46c18b
mov ecx, 6
test ecx, ecx
je 0x46c3be
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x19e4], eax
cvtsi2sd xmm0, dword [ebp - 0x19e4]
mov eax, dword [ebp - 0x19e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xaff0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19e0], ecx
jmp 0x46c3c8
mov dword [ebp - 0x19e0], 2
mov edx, dword [ebp - 0x19a8]
shl edx, 2
add edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x19d4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x19a8]
shl ecx, 2
add ecx, dword [ebp - 0x19a4]
mov edx, dword [ebp - 0x19e0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x19a8]
shl ecx, 2
add ecx, dword [ebp - 0x19a4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46c6d3
xor eax, eax
je 0x46c448
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46c484
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb008], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46c624
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46c624
mov dword [ebp - 0x19e8], 0
jmp 0x46c503
cmp dword [ebp - 0x19e8], 9
jae 0x46c61f
cvtsi2sd xmm0, dword [ebp - 0x19e8]
movsd xmm1, qword [ebp - 0xb008]
addsd xmm1, xmm0
movsd qword [ebp - 0xb010], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb010]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c572
mov ecx, dword [ebp - 0x19e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb008]
addsd xmm1, xmm0
movsd qword [ebp - 0xb008], xmm1
jmp 0x46c46e
cvtsi2sd xmm0, dword [ebp - 0x19e8]
movsd xmm1, qword [ebp - 0xb008]
addsd xmm1, xmm0
movsd qword [ebp - 0xb018], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c5cf
mov eax, dword [ebp - 0x19e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb008]
addsd xmm1, xmm0
movsd qword [ebp - 0xb008], xmm1
jmp 0x46c5e8
mov ecx, 1
test ecx, ecx
je 0x46c5e4
jmp 0x46c6a1
jmp 0x46c60b
cvtsi2sd xmm0, dword [ebp - 0x19e8]
movsd xmm1, qword [ebp - 0xb008]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x19ec], edx
jmp 0x46c6ab
xor eax, eax
je 0x46c615
jmp 0x46c624
jmp 0x46c46e
jmp 0x46c46e
mov ecx, 6
test ecx, ecx
je 0x46c6a1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x19f0], eax
cvtsi2sd xmm0, dword [ebp - 0x19f0]
mov eax, dword [ebp - 0x19f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb008]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x19ec], ecx
jmp 0x46c6ab
mov dword [ebp - 0x19ec], 2
mov edx, dword [ebp - 0x19a8]
shl edx, 2
add edx, dword [ebp - 0x19a4]
mov eax, dword [ebp - 0x19ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x19a8]
shl ecx, 2
add ecx, dword [ebp - 0x19a4]
mov dword [ecx], eax
jmp 0x46b615
mov edx, dword [ebp - 0x19a0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x19a0]
mov dword [ebp - 0x19f4], eax
mov ecx, dword [ebp - 0x19f4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x19f8], ecx
mov edx, dword [ebp - 0x19f8]
mov dword [ebp - 0x19fc], edx
xor eax, eax
mov byte [ebp - 0x44], al
lea ecx, [ebp - 0x44]
call fcn.004246c0
mov dword [ebp - 0x1a00], eax
mov ecx, dword [ebp - 0x1a00]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x46d811
mov eax, dword [ebp - 0x1a00]
mov dword [ebp - 0x1a04], eax
mov dword [ebp - 0x1a08], 0
jmp 0x46c75d
mov ecx, dword [ebp - 0x1a08]
add ecx, 1
mov dword [ebp - 0x1a08], ecx
cmp dword [ebp - 0x1a08], 1
jae 0x46d811
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46ca32
xor eax, eax
je 0x46c7a7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46c7e3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726360]
movsd qword [ebp - 0xb020], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46c983
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46c983
mov dword [ebp - 0x1a0c], 0
jmp 0x46c862
cmp dword [ebp - 0x1a0c], 9
jae 0x46c97e
cvtsi2sd xmm0, dword [ebp - 0x1a0c]
movsd xmm1, qword [ebp - 0xb020]
addsd xmm1, xmm0
movsd qword [ebp - 0xb028], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb028]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c8d1
mov ecx, dword [ebp - 0x1a0c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb020]
addsd xmm1, xmm0
movsd qword [ebp - 0xb020], xmm1
jmp 0x46c7cd
cvtsi2sd xmm0, dword [ebp - 0x1a0c]
movsd xmm1, qword [ebp - 0xb020]
addsd xmm1, xmm0
movsd qword [ebp - 0xb030], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb030]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46c92e
mov eax, dword [ebp - 0x1a0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb020]
addsd xmm1, xmm0
movsd qword [ebp - 0xb020], xmm1
jmp 0x46c947
mov ecx, 1
test ecx, ecx
je 0x46c943
jmp 0x46ca00
jmp 0x46c96a
cvtsi2sd xmm0, dword [ebp - 0x1a0c]
movsd xmm1, qword [ebp - 0xb020]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a10], edx
jmp 0x46ca0a
xor eax, eax
je 0x46c974
jmp 0x46c983
jmp 0x46c7cd
jmp 0x46c7cd
mov ecx, 6
test ecx, ecx
je 0x46ca00
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a14], eax
cvtsi2sd xmm0, dword [ebp - 0x1a14]
mov eax, dword [ebp - 0x1a14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb020]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a10], ecx
jmp 0x46ca0a
mov dword [ebp - 0x1a10], 2
mov edx, dword [ebp - 0x1a08]
shl edx, 2
add edx, dword [ebp - 0x1a04]
mov eax, dword [ebp - 0x1a10]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a08]
shl ecx, 2
add ecx, dword [ebp - 0x1a04]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46d544
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46cd3f
xor eax, eax
je 0x46cab4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46caf0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xb038], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46cc90
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46cc90
mov dword [ebp - 0x1a18], 0
jmp 0x46cb6f
cmp dword [ebp - 0x1a18], 9
jae 0x46cc8b
cvtsi2sd xmm0, dword [ebp - 0x1a18]
movsd xmm1, qword [ebp - 0xb038]
addsd xmm1, xmm0
movsd qword [ebp - 0xb040], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb040]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cbde
mov ecx, dword [ebp - 0x1a18]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb038]
addsd xmm1, xmm0
movsd qword [ebp - 0xb038], xmm1
jmp 0x46cada
cvtsi2sd xmm0, dword [ebp - 0x1a18]
movsd xmm1, qword [ebp - 0xb038]
addsd xmm1, xmm0
movsd qword [ebp - 0xb048], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb048]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cc3b
mov eax, dword [ebp - 0x1a18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb038]
addsd xmm1, xmm0
movsd qword [ebp - 0xb038], xmm1
jmp 0x46cc54
mov ecx, 1
test ecx, ecx
je 0x46cc50
jmp 0x46cd0d
jmp 0x46cc77
cvtsi2sd xmm0, dword [ebp - 0x1a18]
movsd xmm1, qword [ebp - 0xb038]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a1c], edx
jmp 0x46cd17
xor eax, eax
je 0x46cc81
jmp 0x46cc90
jmp 0x46cada
jmp 0x46cada
mov ecx, 6
test ecx, ecx
je 0x46cd0d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a20], eax
cvtsi2sd xmm0, dword [ebp - 0x1a20]
mov eax, dword [ebp - 0x1a20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb038]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a1c], ecx
jmp 0x46cd17
mov dword [ebp - 0x1a1c], 2
mov edx, dword [ebp - 0x1a08]
shl edx, 2
add edx, dword [ebp - 0x1a04]
mov eax, dword [ebp - 0x1a1c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a08]
shl ecx, 2
add ecx, dword [ebp - 0x1a04]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46d007
xor eax, eax
je 0x46cd7c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46cdb8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xb050], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46cf58
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46cf58
mov dword [ebp - 0x1a24], 0
jmp 0x46ce37
cmp dword [ebp - 0x1a24], 9
jae 0x46cf53
cvtsi2sd xmm0, dword [ebp - 0x1a24]
movsd xmm1, qword [ebp - 0xb050]
addsd xmm1, xmm0
movsd qword [ebp - 0xb058], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cea6
mov ecx, dword [ebp - 0x1a24]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb050]
addsd xmm1, xmm0
movsd qword [ebp - 0xb050], xmm1
jmp 0x46cda2
cvtsi2sd xmm0, dword [ebp - 0x1a24]
movsd xmm1, qword [ebp - 0xb050]
addsd xmm1, xmm0
movsd qword [ebp - 0xb060], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb060]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46cf03
mov eax, dword [ebp - 0x1a24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb050]
addsd xmm1, xmm0
movsd qword [ebp - 0xb050], xmm1
jmp 0x46cf1c
mov ecx, 1
test ecx, ecx
je 0x46cf18
jmp 0x46cfd5
jmp 0x46cf3f
cvtsi2sd xmm0, dword [ebp - 0x1a24]
movsd xmm1, qword [ebp - 0xb050]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a28], edx
jmp 0x46cfdf
xor eax, eax
je 0x46cf49
jmp 0x46cf58
jmp 0x46cda2
jmp 0x46cda2
mov ecx, 6
test ecx, ecx
je 0x46cfd5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a2c], eax
cvtsi2sd xmm0, dword [ebp - 0x1a2c]
mov eax, dword [ebp - 0x1a2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb050]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a28], ecx
jmp 0x46cfdf
mov dword [ebp - 0x1a28], 2
mov edx, dword [ebp - 0x1a08]
shl edx, 2
add edx, dword [ebp - 0x1a04]
mov eax, dword [ebp - 0x1a28]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a08]
shl ecx, 2
add ecx, dword [ebp - 0x1a04]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1a08]
add edx, 0xffffffb9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb068], xmm0
xor eax, eax
je 0x46d021
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46d05d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb068]
movsd qword [ebp - 0xb070], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46d1fd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46d1fd
mov dword [ebp - 0x1a30], 0
jmp 0x46d0dc
cmp dword [ebp - 0x1a30], 9
jae 0x46d1f8
cvtsi2sd xmm0, dword [ebp - 0x1a30]
movsd xmm1, qword [ebp - 0xb070]
addsd xmm1, xmm0
movsd qword [ebp - 0xb078], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb078]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d14b
mov ecx, dword [ebp - 0x1a30]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb070]
addsd xmm1, xmm0
movsd qword [ebp - 0xb070], xmm1
jmp 0x46d047
cvtsi2sd xmm0, dword [ebp - 0x1a30]
movsd xmm1, qword [ebp - 0xb070]
addsd xmm1, xmm0
movsd qword [ebp - 0xb080], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb080]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d1a8
mov eax, dword [ebp - 0x1a30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb070]
addsd xmm1, xmm0
movsd qword [ebp - 0xb070], xmm1
jmp 0x46d1c1
mov ecx, 1
test ecx, ecx
je 0x46d1bd
jmp 0x46d27a
jmp 0x46d1e4
cvtsi2sd xmm0, dword [ebp - 0x1a30]
movsd xmm1, qword [ebp - 0xb070]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a34], edx
jmp 0x46d284
xor eax, eax
je 0x46d1ee
jmp 0x46d1fd
jmp 0x46d047
jmp 0x46d047
mov ecx, 6
test ecx, ecx
je 0x46d27a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a38], eax
cvtsi2sd xmm0, dword [ebp - 0x1a38]
mov eax, dword [ebp - 0x1a38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb070]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a34], ecx
jmp 0x46d284
mov dword [ebp - 0x1a34], 2
mov edx, dword [ebp - 0x1a08]
add edx, 0xffffffb9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb088], xmm0
xor eax, eax
je 0x46d29e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46d2da
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb088]
movsd qword [ebp - 0xb090], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46d47a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46d47a
mov dword [ebp - 0x1a3c], 0
jmp 0x46d359
cmp dword [ebp - 0x1a3c], 9
jae 0x46d475
cvtsi2sd xmm0, dword [ebp - 0x1a3c]
movsd xmm1, qword [ebp - 0xb090]
addsd xmm1, xmm0
movsd qword [ebp - 0xb098], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d3c8
mov ecx, dword [ebp - 0x1a3c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb090]
addsd xmm1, xmm0
movsd qword [ebp - 0xb090], xmm1
jmp 0x46d2c4
cvtsi2sd xmm0, dword [ebp - 0x1a3c]
movsd xmm1, qword [ebp - 0xb090]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb0a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d425
mov eax, dword [ebp - 0x1a3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb090]
addsd xmm1, xmm0
movsd qword [ebp - 0xb090], xmm1
jmp 0x46d43e
mov ecx, 1
test ecx, ecx
je 0x46d43a
jmp 0x46d4f7
jmp 0x46d461
cvtsi2sd xmm0, dword [ebp - 0x1a3c]
movsd xmm1, qword [ebp - 0xb090]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a40], edx
jmp 0x46d501
xor eax, eax
je 0x46d46b
jmp 0x46d47a
jmp 0x46d2c4
jmp 0x46d2c4
mov ecx, 6
test ecx, ecx
je 0x46d4f7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a44], eax
cvtsi2sd xmm0, dword [ebp - 0x1a44]
mov eax, dword [ebp - 0x1a44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb090]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a40], ecx
jmp 0x46d501
mov dword [ebp - 0x1a40], 2
mov edx, dword [ebp - 0x1a08]
shl edx, 2
add edx, dword [ebp - 0x1a04]
mov eax, dword [ebp - 0x1a34]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1a08]
shl ecx, 2
add ecx, dword [ebp - 0x1a04]
mov edx, dword [ebp - 0x1a40]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1a08]
shl ecx, 2
add ecx, dword [ebp - 0x1a04]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46d80c
xor eax, eax
je 0x46d581
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46d5bd
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb0a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46d75d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46d75d
mov dword [ebp - 0x1a48], 0
jmp 0x46d63c
cmp dword [ebp - 0x1a48], 9
jae 0x46d758
cvtsi2sd xmm0, dword [ebp - 0x1a48]
movsd xmm1, qword [ebp - 0xb0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d6ab
mov ecx, dword [ebp - 0x1a48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0a8], xmm1
jmp 0x46d5a7
cvtsi2sd xmm0, dword [ebp - 0x1a48]
movsd xmm1, qword [ebp - 0xb0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb0b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46d708
mov eax, dword [ebp - 0x1a48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0a8], xmm1
jmp 0x46d721
mov ecx, 1
test ecx, ecx
je 0x46d71d
jmp 0x46d7da
jmp 0x46d744
cvtsi2sd xmm0, dword [ebp - 0x1a48]
movsd xmm1, qword [ebp - 0xb0a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a4c], edx
jmp 0x46d7e4
xor eax, eax
je 0x46d74e
jmp 0x46d75d
jmp 0x46d5a7
jmp 0x46d5a7
mov ecx, 6
test ecx, ecx
je 0x46d7da
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a50], eax
cvtsi2sd xmm0, dword [ebp - 0x1a50]
mov eax, dword [ebp - 0x1a50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb0a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a4c], ecx
jmp 0x46d7e4
mov dword [ebp - 0x1a4c], 2
mov edx, dword [ebp - 0x1a08]
shl edx, 2
add edx, dword [ebp - 0x1a04]
mov eax, dword [ebp - 0x1a4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a08]
shl ecx, 2
add ecx, dword [ebp - 0x1a04]
mov dword [ecx], eax
jmp 0x46c74e
mov edx, dword [ebp - 0x1a00]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1a00]
mov dword [ebp - 0x1a54], eax
mov ecx, dword [ebp - 0x1a54]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1a58], ecx
mov edx, dword [ebp - 0x1a58]
mov dword [ebp - 0x1a5c], edx
xor eax, eax
mov byte [ebp - 0x45], al
lea ecx, [ebp - 0x45]
call fcn.00424690
mov dword [ebp - 0x1a60], eax
mov ecx, dword [ebp - 0x1a60]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x46e94a
mov eax, dword [ebp - 0x1a60]
mov dword [ebp - 0x1a64], eax
mov dword [ebp - 0x1a68], 0
jmp 0x46d896
mov ecx, dword [ebp - 0x1a68]
add ecx, 1
mov dword [ebp - 0x1a68], ecx
cmp dword [ebp - 0x1a68], 1
jae 0x46e94a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46db6b
xor eax, eax
je 0x46d8e0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46d91c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xb0c0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46dabc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46dabc
mov dword [ebp - 0x1a6c], 0
jmp 0x46d99b
cmp dword [ebp - 0x1a6c], 9
jae 0x46dab7
cvtsi2sd xmm0, dword [ebp - 0x1a6c]
movsd xmm1, qword [ebp - 0xb0c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46da0a
mov ecx, dword [ebp - 0x1a6c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb0c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0c0], xmm1
jmp 0x46d906
cvtsi2sd xmm0, dword [ebp - 0x1a6c]
movsd xmm1, qword [ebp - 0xb0c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb0d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46da67
mov eax, dword [ebp - 0x1a6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0c0], xmm1
jmp 0x46da80
mov ecx, 1
test ecx, ecx
je 0x46da7c
jmp 0x46db39
jmp 0x46daa3
cvtsi2sd xmm0, dword [ebp - 0x1a6c]
movsd xmm1, qword [ebp - 0xb0c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a70], edx
jmp 0x46db43
xor eax, eax
je 0x46daad
jmp 0x46dabc
jmp 0x46d906
jmp 0x46d906
mov ecx, 6
test ecx, ecx
je 0x46db39
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a74], eax
cvtsi2sd xmm0, dword [ebp - 0x1a74]
mov eax, dword [ebp - 0x1a74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb0c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a70], ecx
jmp 0x46db43
mov dword [ebp - 0x1a70], 2
mov edx, dword [ebp - 0x1a68]
shl edx, 2
add edx, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x1a70]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a68]
shl ecx, 2
add ecx, dword [ebp - 0x1a64]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46e67d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46de78
xor eax, eax
je 0x46dbed
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46dc29
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xb0d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46ddc9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46ddc9
mov dword [ebp - 0x1a78], 0
jmp 0x46dca8
cmp dword [ebp - 0x1a78], 9
jae 0x46ddc4
cvtsi2sd xmm0, dword [ebp - 0x1a78]
movsd xmm1, qword [ebp - 0xb0d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46dd17
mov ecx, dword [ebp - 0x1a78]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb0d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0d8], xmm1
jmp 0x46dc13
cvtsi2sd xmm0, dword [ebp - 0x1a78]
movsd xmm1, qword [ebp - 0xb0d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb0e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46dd74
mov eax, dword [ebp - 0x1a78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0d8], xmm1
jmp 0x46dd8d
mov ecx, 1
test ecx, ecx
je 0x46dd89
jmp 0x46de46
jmp 0x46ddb0
cvtsi2sd xmm0, dword [ebp - 0x1a78]
movsd xmm1, qword [ebp - 0xb0d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a7c], edx
jmp 0x46de50
xor eax, eax
je 0x46ddba
jmp 0x46ddc9
jmp 0x46dc13
jmp 0x46dc13
mov ecx, 6
test ecx, ecx
je 0x46de46
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a80], eax
cvtsi2sd xmm0, dword [ebp - 0x1a80]
mov eax, dword [ebp - 0x1a80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb0d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a7c], ecx
jmp 0x46de50
mov dword [ebp - 0x1a7c], 2
mov edx, dword [ebp - 0x1a68]
shl edx, 2
add edx, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x1a7c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a68]
shl ecx, 2
add ecx, dword [ebp - 0x1a64]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46e140
xor eax, eax
je 0x46deb5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46def1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb0f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46e091
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46e091
mov dword [ebp - 0x1a84], 0
jmp 0x46df70
cmp dword [ebp - 0x1a84], 9
jae 0x46e08c
cvtsi2sd xmm0, dword [ebp - 0x1a84]
movsd xmm1, qword [ebp - 0xb0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46dfdf
mov ecx, dword [ebp - 0x1a84]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0f0], xmm1
jmp 0x46dedb
cvtsi2sd xmm0, dword [ebp - 0x1a84]
movsd xmm1, qword [ebp - 0xb0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb100], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb100]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e03c
mov eax, dword [ebp - 0x1a84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb0f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb0f0], xmm1
jmp 0x46e055
mov ecx, 1
test ecx, ecx
je 0x46e051
jmp 0x46e10e
jmp 0x46e078
cvtsi2sd xmm0, dword [ebp - 0x1a84]
movsd xmm1, qword [ebp - 0xb0f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a88], edx
jmp 0x46e118
xor eax, eax
je 0x46e082
jmp 0x46e091
jmp 0x46dedb
jmp 0x46dedb
mov ecx, 6
test ecx, ecx
je 0x46e10e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a8c], eax
cvtsi2sd xmm0, dword [ebp - 0x1a8c]
mov eax, dword [ebp - 0x1a8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb0f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a88], ecx
jmp 0x46e118
mov dword [ebp - 0x1a88], 2
mov edx, dword [ebp - 0x1a68]
shl edx, 2
add edx, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x1a88]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a68]
shl ecx, 2
add ecx, dword [ebp - 0x1a64]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1a68]
add edx, 0xffffffba
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb108], xmm0
xor eax, eax
je 0x46e15a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46e196
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb108]
movsd qword [ebp - 0xb110], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46e336
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46e336
mov dword [ebp - 0x1a90], 0
jmp 0x46e215
cmp dword [ebp - 0x1a90], 9
jae 0x46e331
cvtsi2sd xmm0, dword [ebp - 0x1a90]
movsd xmm1, qword [ebp - 0xb110]
addsd xmm1, xmm0
movsd qword [ebp - 0xb118], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb118]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e284
mov ecx, dword [ebp - 0x1a90]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb110]
addsd xmm1, xmm0
movsd qword [ebp - 0xb110], xmm1
jmp 0x46e180
cvtsi2sd xmm0, dword [ebp - 0x1a90]
movsd xmm1, qword [ebp - 0xb110]
addsd xmm1, xmm0
movsd qword [ebp - 0xb120], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb120]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e2e1
mov eax, dword [ebp - 0x1a90]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb110]
addsd xmm1, xmm0
movsd qword [ebp - 0xb110], xmm1
jmp 0x46e2fa
mov ecx, 1
test ecx, ecx
je 0x46e2f6
jmp 0x46e3b3
jmp 0x46e31d
cvtsi2sd xmm0, dword [ebp - 0x1a90]
movsd xmm1, qword [ebp - 0xb110]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1a94], edx
jmp 0x46e3bd
xor eax, eax
je 0x46e327
jmp 0x46e336
jmp 0x46e180
jmp 0x46e180
mov ecx, 6
test ecx, ecx
je 0x46e3b3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1a98], eax
cvtsi2sd xmm0, dword [ebp - 0x1a98]
mov eax, dword [ebp - 0x1a98]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb110]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1a94], ecx
jmp 0x46e3bd
mov dword [ebp - 0x1a94], 2
mov edx, dword [ebp - 0x1a68]
add edx, 0xffffffba
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb128], xmm0
xor eax, eax
je 0x46e3d7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46e413
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb128]
movsd qword [ebp - 0xb130], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46e5b3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46e5b3
mov dword [ebp - 0x1a9c], 0
jmp 0x46e492
cmp dword [ebp - 0x1a9c], 9
jae 0x46e5ae
cvtsi2sd xmm0, dword [ebp - 0x1a9c]
movsd xmm1, qword [ebp - 0xb130]
addsd xmm1, xmm0
movsd qword [ebp - 0xb138], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e501
mov ecx, dword [ebp - 0x1a9c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb130]
addsd xmm1, xmm0
movsd qword [ebp - 0xb130], xmm1
jmp 0x46e3fd
cvtsi2sd xmm0, dword [ebp - 0x1a9c]
movsd xmm1, qword [ebp - 0xb130]
addsd xmm1, xmm0
movsd qword [ebp - 0xb140], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb140]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e55e
mov eax, dword [ebp - 0x1a9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb130]
addsd xmm1, xmm0
movsd qword [ebp - 0xb130], xmm1
jmp 0x46e577
mov ecx, 1
test ecx, ecx
je 0x46e573
jmp 0x46e630
jmp 0x46e59a
cvtsi2sd xmm0, dword [ebp - 0x1a9c]
movsd xmm1, qword [ebp - 0xb130]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1aa0], edx
jmp 0x46e63a
xor eax, eax
je 0x46e5a4
jmp 0x46e5b3
jmp 0x46e3fd
jmp 0x46e3fd
mov ecx, 6
test ecx, ecx
je 0x46e630
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1aa4], eax
cvtsi2sd xmm0, dword [ebp - 0x1aa4]
mov eax, dword [ebp - 0x1aa4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb130]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1aa0], ecx
jmp 0x46e63a
mov dword [ebp - 0x1aa0], 2
mov edx, dword [ebp - 0x1a68]
shl edx, 2
add edx, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x1a94]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1a68]
shl ecx, 2
add ecx, dword [ebp - 0x1a64]
mov edx, dword [ebp - 0x1aa0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1a68]
shl ecx, 2
add ecx, dword [ebp - 0x1a64]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46e945
xor eax, eax
je 0x46e6ba
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46e6f6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb148], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46e896
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46e896
mov dword [ebp - 0x1aa8], 0
jmp 0x46e775
cmp dword [ebp - 0x1aa8], 9
jae 0x46e891
cvtsi2sd xmm0, dword [ebp - 0x1aa8]
movsd xmm1, qword [ebp - 0xb148]
addsd xmm1, xmm0
movsd qword [ebp - 0xb150], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb150]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e7e4
mov ecx, dword [ebp - 0x1aa8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb148]
addsd xmm1, xmm0
movsd qword [ebp - 0xb148], xmm1
jmp 0x46e6e0
cvtsi2sd xmm0, dword [ebp - 0x1aa8]
movsd xmm1, qword [ebp - 0xb148]
addsd xmm1, xmm0
movsd qword [ebp - 0xb158], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46e841
mov eax, dword [ebp - 0x1aa8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb148]
addsd xmm1, xmm0
movsd qword [ebp - 0xb148], xmm1
jmp 0x46e85a
mov ecx, 1
test ecx, ecx
je 0x46e856
jmp 0x46e913
jmp 0x46e87d
cvtsi2sd xmm0, dword [ebp - 0x1aa8]
movsd xmm1, qword [ebp - 0xb148]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1aac], edx
jmp 0x46e91d
xor eax, eax
je 0x46e887
jmp 0x46e896
jmp 0x46e6e0
jmp 0x46e6e0
mov ecx, 6
test ecx, ecx
je 0x46e913
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ab0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ab0]
mov eax, dword [ebp - 0x1ab0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb148]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1aac], ecx
jmp 0x46e91d
mov dword [ebp - 0x1aac], 2
mov edx, dword [ebp - 0x1a68]
shl edx, 2
add edx, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x1aac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1a68]
shl ecx, 2
add ecx, dword [ebp - 0x1a64]
mov dword [ecx], eax
jmp 0x46d887
mov edx, dword [ebp - 0x1a60]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1a60]
mov dword [ebp - 0x1ab4], eax
mov ecx, dword [ebp - 0x1ab4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1ab8], ecx
mov edx, dword [ebp - 0x1ab8]
mov dword [ebp - 0x1abc], edx
mov eax, dword [ebp - 0x1a5c]
mov dword [ebp - 0x19fc], eax
cmp dword [ebp - 0x19fc], 0
je 0x46fad5
xor ecx, ecx
mov byte [ebp - 0x46], cl
lea ecx, [ebp - 0x46]
call fcn.00424660
mov dword [ebp - 0x1ac0], eax
mov edx, dword [ebp - 0x1ac0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x46fa9c
mov ecx, dword [ebp - 0x1ac0]
mov dword [ebp - 0x1ac4], ecx
mov dword [ebp - 0x1ac8], 0
jmp 0x46e9e8
mov edx, dword [ebp - 0x1ac8]
add edx, 1
mov dword [ebp - 0x1ac8], edx
cmp dword [ebp - 0x1ac8], 1
jae 0x46fa9c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46ecbd
xor eax, eax
je 0x46ea32
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x46ea6e
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xb160], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46ec0e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46ec0e
mov dword [ebp - 0x1acc], 0
jmp 0x46eaed
cmp dword [ebp - 0x1acc], 9
jae 0x46ec09
cvtsi2sd xmm0, dword [ebp - 0x1acc]
movsd xmm1, qword [ebp - 0xb160]
addsd xmm1, xmm0
movsd qword [ebp - 0xb168], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb168]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46eb5c
mov ecx, dword [ebp - 0x1acc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb160]
addsd xmm1, xmm0
movsd qword [ebp - 0xb160], xmm1
jmp 0x46ea58
cvtsi2sd xmm0, dword [ebp - 0x1acc]
movsd xmm1, qword [ebp - 0xb160]
addsd xmm1, xmm0
movsd qword [ebp - 0xb170], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb170]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ebb9
mov eax, dword [ebp - 0x1acc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb160]
addsd xmm1, xmm0
movsd qword [ebp - 0xb160], xmm1
jmp 0x46ebd2
mov ecx, 1
test ecx, ecx
je 0x46ebce
jmp 0x46ec8b
jmp 0x46ebf5
cvtsi2sd xmm0, dword [ebp - 0x1acc]
movsd xmm1, qword [ebp - 0xb160]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ad0], edx
jmp 0x46ec95
xor eax, eax
je 0x46ebff
jmp 0x46ec0e
jmp 0x46ea58
jmp 0x46ea58
mov ecx, 6
test ecx, ecx
je 0x46ec8b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ad4], eax
cvtsi2sd xmm0, dword [ebp - 0x1ad4]
mov eax, dword [ebp - 0x1ad4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb160]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ad0], ecx
jmp 0x46ec95
mov dword [ebp - 0x1ad0], 2
mov edx, dword [ebp - 0x1ac8]
shl edx, 2
add edx, dword [ebp - 0x1ac4]
mov eax, dword [ebp - 0x1ad0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ac8]
shl ecx, 2
add ecx, dword [ebp - 0x1ac4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46f7cf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46efca
xor eax, eax
je 0x46ed3f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46ed7b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xb178], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46ef1b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46ef1b
mov dword [ebp - 0x1ad8], 0
jmp 0x46edfa
cmp dword [ebp - 0x1ad8], 9
jae 0x46ef16
cvtsi2sd xmm0, dword [ebp - 0x1ad8]
movsd xmm1, qword [ebp - 0xb178]
addsd xmm1, xmm0
movsd qword [ebp - 0xb180], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb180]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ee69
mov ecx, dword [ebp - 0x1ad8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb178]
addsd xmm1, xmm0
movsd qword [ebp - 0xb178], xmm1
jmp 0x46ed65
cvtsi2sd xmm0, dword [ebp - 0x1ad8]
movsd xmm1, qword [ebp - 0xb178]
addsd xmm1, xmm0
movsd qword [ebp - 0xb188], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb188]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46eec6
mov eax, dword [ebp - 0x1ad8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb178]
addsd xmm1, xmm0
movsd qword [ebp - 0xb178], xmm1
jmp 0x46eedf
mov ecx, 1
test ecx, ecx
je 0x46eedb
jmp 0x46ef98
jmp 0x46ef02
cvtsi2sd xmm0, dword [ebp - 0x1ad8]
movsd xmm1, qword [ebp - 0xb178]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1adc], edx
jmp 0x46efa2
xor eax, eax
je 0x46ef0c
jmp 0x46ef1b
jmp 0x46ed65
jmp 0x46ed65
mov ecx, 6
test ecx, ecx
je 0x46ef98
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ae0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ae0]
mov eax, dword [ebp - 0x1ae0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb178]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1adc], ecx
jmp 0x46efa2
mov dword [ebp - 0x1adc], 2
mov edx, dword [ebp - 0x1ac8]
shl edx, 2
add edx, dword [ebp - 0x1ac4]
mov eax, dword [ebp - 0x1adc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ac8]
shl ecx, 2
add ecx, dword [ebp - 0x1ac4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46f292
xor eax, eax
je 0x46f007
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46f043
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb190], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46f1e3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46f1e3
mov dword [ebp - 0x1ae4], 0
jmp 0x46f0c2
cmp dword [ebp - 0x1ae4], 9
jae 0x46f1de
cvtsi2sd xmm0, dword [ebp - 0x1ae4]
movsd xmm1, qword [ebp - 0xb190]
addsd xmm1, xmm0
movsd qword [ebp - 0xb198], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f131
mov ecx, dword [ebp - 0x1ae4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb190]
addsd xmm1, xmm0
movsd qword [ebp - 0xb190], xmm1
jmp 0x46f02d
cvtsi2sd xmm0, dword [ebp - 0x1ae4]
movsd xmm1, qword [ebp - 0xb190]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb1a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f18e
mov eax, dword [ebp - 0x1ae4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb190]
addsd xmm1, xmm0
movsd qword [ebp - 0xb190], xmm1
jmp 0x46f1a7
mov ecx, 1
test ecx, ecx
je 0x46f1a3
jmp 0x46f260
jmp 0x46f1ca
cvtsi2sd xmm0, dword [ebp - 0x1ae4]
movsd xmm1, qword [ebp - 0xb190]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ae8], edx
jmp 0x46f26a
xor eax, eax
je 0x46f1d4
jmp 0x46f1e3
jmp 0x46f02d
jmp 0x46f02d
mov ecx, 6
test ecx, ecx
je 0x46f260
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1aec], eax
cvtsi2sd xmm0, dword [ebp - 0x1aec]
mov eax, dword [ebp - 0x1aec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb190]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ae8], ecx
jmp 0x46f26a
mov dword [ebp - 0x1ae8], 2
mov edx, dword [ebp - 0x1ac8]
shl edx, 2
add edx, dword [ebp - 0x1ac4]
mov eax, dword [ebp - 0x1ae8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ac8]
shl ecx, 2
add ecx, dword [ebp - 0x1ac4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1ac8]
add edx, 0xffffffba
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb1a8], xmm0
xor eax, eax
je 0x46f2ac
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46f2e8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb1a8]
movsd qword [ebp - 0xb1b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46f488
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46f488
mov dword [ebp - 0x1af0], 0
jmp 0x46f367
cmp dword [ebp - 0x1af0], 9
jae 0x46f483
cvtsi2sd xmm0, dword [ebp - 0x1af0]
movsd xmm1, qword [ebp - 0xb1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f3d6
mov ecx, dword [ebp - 0x1af0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1b0], xmm1
jmp 0x46f2d2
cvtsi2sd xmm0, dword [ebp - 0x1af0]
movsd xmm1, qword [ebp - 0xb1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb1c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f433
mov eax, dword [ebp - 0x1af0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1b0], xmm1
jmp 0x46f44c
mov ecx, 1
test ecx, ecx
je 0x46f448
jmp 0x46f505
jmp 0x46f46f
cvtsi2sd xmm0, dword [ebp - 0x1af0]
movsd xmm1, qword [ebp - 0xb1b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1af4], edx
jmp 0x46f50f
xor eax, eax
je 0x46f479
jmp 0x46f488
jmp 0x46f2d2
jmp 0x46f2d2
mov ecx, 6
test ecx, ecx
je 0x46f505
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1af8], eax
cvtsi2sd xmm0, dword [ebp - 0x1af8]
mov eax, dword [ebp - 0x1af8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb1b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1af4], ecx
jmp 0x46f50f
mov dword [ebp - 0x1af4], 2
mov edx, dword [ebp - 0x1ac8]
add edx, 0xffffffba
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb1c8], xmm0
xor eax, eax
je 0x46f529
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x46f565
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb1c8]
movsd qword [ebp - 0xb1d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46f705
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46f705
mov dword [ebp - 0x1afc], 0
jmp 0x46f5e4
cmp dword [ebp - 0x1afc], 9
jae 0x46f700
cvtsi2sd xmm0, dword [ebp - 0x1afc]
movsd xmm1, qword [ebp - 0xb1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f653
mov ecx, dword [ebp - 0x1afc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1d0], xmm1
jmp 0x46f54f
cvtsi2sd xmm0, dword [ebp - 0x1afc]
movsd xmm1, qword [ebp - 0xb1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb1e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f6b0
mov eax, dword [ebp - 0x1afc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1d0], xmm1
jmp 0x46f6c9
mov ecx, 1
test ecx, ecx
je 0x46f6c5
jmp 0x46f782
jmp 0x46f6ec
cvtsi2sd xmm0, dword [ebp - 0x1afc]
movsd xmm1, qword [ebp - 0xb1d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b00], edx
jmp 0x46f78c
xor eax, eax
je 0x46f6f6
jmp 0x46f705
jmp 0x46f54f
jmp 0x46f54f
mov ecx, 6
test ecx, ecx
je 0x46f782
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b04], eax
cvtsi2sd xmm0, dword [ebp - 0x1b04]
mov eax, dword [ebp - 0x1b04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb1d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b00], ecx
jmp 0x46f78c
mov dword [ebp - 0x1b00], 2
mov edx, dword [ebp - 0x1ac8]
shl edx, 2
add edx, dword [ebp - 0x1ac4]
mov eax, dword [ebp - 0x1af4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1ac8]
shl ecx, 2
add ecx, dword [ebp - 0x1ac4]
mov edx, dword [ebp - 0x1b00]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1ac8]
shl ecx, 2
add ecx, dword [ebp - 0x1ac4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46fa97
xor eax, eax
je 0x46f80c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46f848
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb1e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46f9e8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46f9e8
mov dword [ebp - 0x1b08], 0
jmp 0x46f8c7
cmp dword [ebp - 0x1b08], 9
jae 0x46f9e3
cvtsi2sd xmm0, dword [ebp - 0x1b08]
movsd xmm1, qword [ebp - 0xb1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f936
mov ecx, dword [ebp - 0x1b08]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1e8], xmm1
jmp 0x46f832
cvtsi2sd xmm0, dword [ebp - 0x1b08]
movsd xmm1, qword [ebp - 0xb1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb1f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46f993
mov eax, dword [ebp - 0x1b08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb1e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb1e8], xmm1
jmp 0x46f9ac
mov ecx, 1
test ecx, ecx
je 0x46f9a8
jmp 0x46fa65
jmp 0x46f9cf
cvtsi2sd xmm0, dword [ebp - 0x1b08]
movsd xmm1, qword [ebp - 0xb1e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b0c], edx
jmp 0x46fa6f
xor eax, eax
je 0x46f9d9
jmp 0x46f9e8
jmp 0x46f832
jmp 0x46f832
mov ecx, 6
test ecx, ecx
je 0x46fa65
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b10], eax
cvtsi2sd xmm0, dword [ebp - 0x1b10]
mov eax, dword [ebp - 0x1b10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb1e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b0c], ecx
jmp 0x46fa6f
mov dword [ebp - 0x1b0c], 2
mov edx, dword [ebp - 0x1ac8]
shl edx, 2
add edx, dword [ebp - 0x1ac4]
mov eax, dword [ebp - 0x1b0c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ac8]
shl ecx, 2
add ecx, dword [ebp - 0x1ac4]
mov dword [ecx], eax
jmp 0x46e9d9
mov edx, dword [ebp - 0x1ac0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1ac0]
mov dword [ebp - 0x1b14], eax
mov ecx, dword [ebp - 0x1b14]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1b18], ecx
mov edx, dword [ebp - 0x1b18]
mov dword [ebp - 0x1abc], edx
xor eax, eax
mov byte [ebp - 0x47], al
lea ecx, [ebp - 0x47]
call fcn.00424630
mov dword [ebp - 0x1b1c], eax
mov ecx, dword [ebp - 0x1b1c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x470bd5
mov eax, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1b20], eax
mov dword [ebp - 0x1b24], 0
jmp 0x46fb21
mov ecx, dword [ebp - 0x1b24]
add ecx, 1
mov dword [ebp - 0x1b24], ecx
cmp dword [ebp - 0x1b24], 1
jae 0x470bd5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x46fdf6
xor eax, eax
je 0x46fb6b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46fba7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726358]
movsd qword [ebp - 0xb200], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x46fd47
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x46fd47
mov dword [ebp - 0x1b28], 0
jmp 0x46fc26
cmp dword [ebp - 0x1b28], 9
jae 0x46fd42
cvtsi2sd xmm0, dword [ebp - 0x1b28]
movsd xmm1, qword [ebp - 0xb200]
addsd xmm1, xmm0
movsd qword [ebp - 0xb208], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb208]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46fc95
mov ecx, dword [ebp - 0x1b28]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb200]
addsd xmm1, xmm0
movsd qword [ebp - 0xb200], xmm1
jmp 0x46fb91
cvtsi2sd xmm0, dword [ebp - 0x1b28]
movsd xmm1, qword [ebp - 0xb200]
addsd xmm1, xmm0
movsd qword [ebp - 0xb210], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb210]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46fcf2
mov eax, dword [ebp - 0x1b28]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb200]
addsd xmm1, xmm0
movsd qword [ebp - 0xb200], xmm1
jmp 0x46fd0b
mov ecx, 1
test ecx, ecx
je 0x46fd07
jmp 0x46fdc4
jmp 0x46fd2e
cvtsi2sd xmm0, dword [ebp - 0x1b28]
movsd xmm1, qword [ebp - 0xb200]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b2c], edx
jmp 0x46fdce
xor eax, eax
je 0x46fd38
jmp 0x46fd47
jmp 0x46fb91
jmp 0x46fb91
mov ecx, 6
test ecx, ecx
je 0x46fdc4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b30], eax
cvtsi2sd xmm0, dword [ebp - 0x1b30]
mov eax, dword [ebp - 0x1b30]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb200]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b2c], ecx
jmp 0x46fdce
mov dword [ebp - 0x1b2c], 2
mov edx, dword [ebp - 0x1b24]
shl edx, 2
add edx, dword [ebp - 0x1b20]
mov eax, dword [ebp - 0x1b2c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b24]
shl ecx, 2
add ecx, dword [ebp - 0x1b20]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x470908
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x470103
xor eax, eax
je 0x46fe78
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x46feb4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xb218], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x470054
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x470054
mov dword [ebp - 0x1b34], 0
jmp 0x46ff33
cmp dword [ebp - 0x1b34], 9
jae 0x47004f
cvtsi2sd xmm0, dword [ebp - 0x1b34]
movsd xmm1, qword [ebp - 0xb218]
addsd xmm1, xmm0
movsd qword [ebp - 0xb220], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb220]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ffa2
mov ecx, dword [ebp - 0x1b34]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb218]
addsd xmm1, xmm0
movsd qword [ebp - 0xb218], xmm1
jmp 0x46fe9e
cvtsi2sd xmm0, dword [ebp - 0x1b34]
movsd xmm1, qword [ebp - 0xb218]
addsd xmm1, xmm0
movsd qword [ebp - 0xb228], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb228]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x46ffff
mov eax, dword [ebp - 0x1b34]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb218]
addsd xmm1, xmm0
movsd qword [ebp - 0xb218], xmm1
jmp 0x470018
mov ecx, 1
test ecx, ecx
je 0x470014
jmp 0x4700d1
jmp 0x47003b
cvtsi2sd xmm0, dword [ebp - 0x1b34]
movsd xmm1, qword [ebp - 0xb218]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b38], edx
jmp 0x4700db
xor eax, eax
je 0x470045
jmp 0x470054
jmp 0x46fe9e
jmp 0x46fe9e
mov ecx, 6
test ecx, ecx
je 0x4700d1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b3c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b3c]
mov eax, dword [ebp - 0x1b3c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb218]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b38], ecx
jmp 0x4700db
mov dword [ebp - 0x1b38], 2
mov edx, dword [ebp - 0x1b24]
shl edx, 2
add edx, dword [ebp - 0x1b20]
mov eax, dword [ebp - 0x1b38]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b24]
shl ecx, 2
add ecx, dword [ebp - 0x1b20]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4703cb
xor eax, eax
je 0x470140
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47017c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb230], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47031c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47031c
mov dword [ebp - 0x1b40], 0
jmp 0x4701fb
cmp dword [ebp - 0x1b40], 9
jae 0x470317
cvtsi2sd xmm0, dword [ebp - 0x1b40]
movsd xmm1, qword [ebp - 0xb230]
addsd xmm1, xmm0
movsd qword [ebp - 0xb238], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47026a
mov ecx, dword [ebp - 0x1b40]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb230]
addsd xmm1, xmm0
movsd qword [ebp - 0xb230], xmm1
jmp 0x470166
cvtsi2sd xmm0, dword [ebp - 0x1b40]
movsd xmm1, qword [ebp - 0xb230]
addsd xmm1, xmm0
movsd qword [ebp - 0xb240], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb240]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4702c7
mov eax, dword [ebp - 0x1b40]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb230]
addsd xmm1, xmm0
movsd qword [ebp - 0xb230], xmm1
jmp 0x4702e0
mov ecx, 1
test ecx, ecx
je 0x4702dc
jmp 0x470399
jmp 0x470303
cvtsi2sd xmm0, dword [ebp - 0x1b40]
movsd xmm1, qword [ebp - 0xb230]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b44], edx
jmp 0x4703a3
xor eax, eax
je 0x47030d
jmp 0x47031c
jmp 0x470166
jmp 0x470166
mov ecx, 6
test ecx, ecx
je 0x470399
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b48], eax
cvtsi2sd xmm0, dword [ebp - 0x1b48]
mov eax, dword [ebp - 0x1b48]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb230]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b44], ecx
jmp 0x4703a3
mov dword [ebp - 0x1b44], 2
mov edx, dword [ebp - 0x1b24]
shl edx, 2
add edx, dword [ebp - 0x1b20]
mov eax, dword [ebp - 0x1b44]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b24]
shl ecx, 2
add ecx, dword [ebp - 0x1b20]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1b24]
add edx, 0xffffffba
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb248], xmm0
xor eax, eax
je 0x4703e5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x470421
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb248]
movsd qword [ebp - 0xb250], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4705c1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4705c1
mov dword [ebp - 0x1b4c], 0
jmp 0x4704a0
cmp dword [ebp - 0x1b4c], 9
jae 0x4705bc
cvtsi2sd xmm0, dword [ebp - 0x1b4c]
movsd xmm1, qword [ebp - 0xb250]
addsd xmm1, xmm0
movsd qword [ebp - 0xb258], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb258]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47050f
mov ecx, dword [ebp - 0x1b4c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb250]
addsd xmm1, xmm0
movsd qword [ebp - 0xb250], xmm1
jmp 0x47040b
cvtsi2sd xmm0, dword [ebp - 0x1b4c]
movsd xmm1, qword [ebp - 0xb250]
addsd xmm1, xmm0
movsd qword [ebp - 0xb260], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb260]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47056c
mov eax, dword [ebp - 0x1b4c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb250]
addsd xmm1, xmm0
movsd qword [ebp - 0xb250], xmm1
jmp 0x470585
mov ecx, 1
test ecx, ecx
je 0x470581
jmp 0x47063e
jmp 0x4705a8
cvtsi2sd xmm0, dword [ebp - 0x1b4c]
movsd xmm1, qword [ebp - 0xb250]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b50], edx
jmp 0x470648
xor eax, eax
je 0x4705b2
jmp 0x4705c1
jmp 0x47040b
jmp 0x47040b
mov ecx, 6
test ecx, ecx
je 0x47063e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b54], eax
cvtsi2sd xmm0, dword [ebp - 0x1b54]
mov eax, dword [ebp - 0x1b54]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb250]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b50], ecx
jmp 0x470648
mov dword [ebp - 0x1b50], 2
mov edx, dword [ebp - 0x1b24]
add edx, 0xffffffba
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb268], xmm0
xor eax, eax
je 0x470662
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47069e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb268]
movsd qword [ebp - 0xb270], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47083e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47083e
mov dword [ebp - 0x1b58], 0
jmp 0x47071d
cmp dword [ebp - 0x1b58], 9
jae 0x470839
cvtsi2sd xmm0, dword [ebp - 0x1b58]
movsd xmm1, qword [ebp - 0xb270]
addsd xmm1, xmm0
movsd qword [ebp - 0xb278], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47078c
mov ecx, dword [ebp - 0x1b58]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb270]
addsd xmm1, xmm0
movsd qword [ebp - 0xb270], xmm1
jmp 0x470688
cvtsi2sd xmm0, dword [ebp - 0x1b58]
movsd xmm1, qword [ebp - 0xb270]
addsd xmm1, xmm0
movsd qword [ebp - 0xb280], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb280]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4707e9
mov eax, dword [ebp - 0x1b58]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb270]
addsd xmm1, xmm0
movsd qword [ebp - 0xb270], xmm1
jmp 0x470802
mov ecx, 1
test ecx, ecx
je 0x4707fe
jmp 0x4708bb
jmp 0x470825
cvtsi2sd xmm0, dword [ebp - 0x1b58]
movsd xmm1, qword [ebp - 0xb270]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b5c], edx
jmp 0x4708c5
xor eax, eax
je 0x47082f
jmp 0x47083e
jmp 0x470688
jmp 0x470688
mov ecx, 6
test ecx, ecx
je 0x4708bb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b60], eax
cvtsi2sd xmm0, dword [ebp - 0x1b60]
mov eax, dword [ebp - 0x1b60]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb270]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b5c], ecx
jmp 0x4708c5
mov dword [ebp - 0x1b5c], 2
mov edx, dword [ebp - 0x1b24]
shl edx, 2
add edx, dword [ebp - 0x1b20]
mov eax, dword [ebp - 0x1b50]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1b24]
shl ecx, 2
add ecx, dword [ebp - 0x1b20]
mov edx, dword [ebp - 0x1b5c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1b24]
shl ecx, 2
add ecx, dword [ebp - 0x1b20]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x470bd0
xor eax, eax
je 0x470945
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x470981
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb288], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x470b21
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x470b21
mov dword [ebp - 0x1b64], 0
jmp 0x470a00
cmp dword [ebp - 0x1b64], 9
jae 0x470b1c
cvtsi2sd xmm0, dword [ebp - 0x1b64]
movsd xmm1, qword [ebp - 0xb288]
addsd xmm1, xmm0
movsd qword [ebp - 0xb290], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb290]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470a6f
mov ecx, dword [ebp - 0x1b64]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb288]
addsd xmm1, xmm0
movsd qword [ebp - 0xb288], xmm1
jmp 0x47096b
cvtsi2sd xmm0, dword [ebp - 0x1b64]
movsd xmm1, qword [ebp - 0xb288]
addsd xmm1, xmm0
movsd qword [ebp - 0xb298], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470acc
mov eax, dword [ebp - 0x1b64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb288]
addsd xmm1, xmm0
movsd qword [ebp - 0xb288], xmm1
jmp 0x470ae5
mov ecx, 1
test ecx, ecx
je 0x470ae1
jmp 0x470b9e
jmp 0x470b08
cvtsi2sd xmm0, dword [ebp - 0x1b64]
movsd xmm1, qword [ebp - 0xb288]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b68], edx
jmp 0x470ba8
xor eax, eax
je 0x470b12
jmp 0x470b21
jmp 0x47096b
jmp 0x47096b
mov ecx, 6
test ecx, ecx
je 0x470b9e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b6c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b6c]
mov eax, dword [ebp - 0x1b6c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb288]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b68], ecx
jmp 0x470ba8
mov dword [ebp - 0x1b68], 2
mov edx, dword [ebp - 0x1b24]
shl edx, 2
add edx, dword [ebp - 0x1b20]
mov eax, dword [ebp - 0x1b68]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b24]
shl ecx, 2
add ecx, dword [ebp - 0x1b20]
mov dword [ecx], eax
jmp 0x46fb12
mov edx, dword [ebp - 0x1b1c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1b70], eax
mov ecx, dword [ebp - 0x1b70]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1b74], ecx
mov edx, dword [ebp - 0x1b74]
mov dword [ebp - 0x1b78], edx
xor eax, eax
mov byte [ebp - 0x48], al
lea ecx, [ebp - 0x48]
call fcn.00424600
mov dword [ebp - 0x1b7c], eax
mov ecx, dword [ebp - 0x1b7c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x471d0e
mov eax, dword [ebp - 0x1b7c]
mov dword [ebp - 0x1b80], eax
mov dword [ebp - 0x1b84], 0
jmp 0x470c5a
mov ecx, dword [ebp - 0x1b84]
add ecx, 1
mov dword [ebp - 0x1b84], ecx
cmp dword [ebp - 0x1b84], 1
jae 0x471d0e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x470f2f
xor eax, eax
je 0x470ca4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x470ce0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xb2a0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x470e80
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x470e80
mov dword [ebp - 0x1b88], 0
jmp 0x470d5f
cmp dword [ebp - 0x1b88], 9
jae 0x470e7b
cvtsi2sd xmm0, dword [ebp - 0x1b88]
movsd xmm1, qword [ebp - 0xb2a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470dce
mov ecx, dword [ebp - 0x1b88]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb2a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2a0], xmm1
jmp 0x470cca
cvtsi2sd xmm0, dword [ebp - 0x1b88]
movsd xmm1, qword [ebp - 0xb2a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb2b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x470e2b
mov eax, dword [ebp - 0x1b88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2a0], xmm1
jmp 0x470e44
mov ecx, 1
test ecx, ecx
je 0x470e40
jmp 0x470efd
jmp 0x470e67
cvtsi2sd xmm0, dword [ebp - 0x1b88]
movsd xmm1, qword [ebp - 0xb2a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b8c], edx
jmp 0x470f07
xor eax, eax
je 0x470e71
jmp 0x470e80
jmp 0x470cca
jmp 0x470cca
mov ecx, 6
test ecx, ecx
je 0x470efd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b90], eax
cvtsi2sd xmm0, dword [ebp - 0x1b90]
mov eax, dword [ebp - 0x1b90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb2a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b8c], ecx
jmp 0x470f07
mov dword [ebp - 0x1b8c], 2
mov edx, dword [ebp - 0x1b84]
shl edx, 2
add edx, dword [ebp - 0x1b80]
mov eax, dword [ebp - 0x1b8c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b84]
shl ecx, 2
add ecx, dword [ebp - 0x1b80]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x471a41
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47123c
xor eax, eax
je 0x470fb1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x470fed
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb2b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47118d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47118d
mov dword [ebp - 0x1b94], 0
jmp 0x47106c
cmp dword [ebp - 0x1b94], 9
jae 0x471188
cvtsi2sd xmm0, dword [ebp - 0x1b94]
movsd xmm1, qword [ebp - 0xb2b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4710db
mov ecx, dword [ebp - 0x1b94]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb2b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2b8], xmm1
jmp 0x470fd7
cvtsi2sd xmm0, dword [ebp - 0x1b94]
movsd xmm1, qword [ebp - 0xb2b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb2c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471138
mov eax, dword [ebp - 0x1b94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2b8], xmm1
jmp 0x471151
mov ecx, 1
test ecx, ecx
je 0x47114d
jmp 0x47120a
jmp 0x471174
cvtsi2sd xmm0, dword [ebp - 0x1b94]
movsd xmm1, qword [ebp - 0xb2b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1b98], edx
jmp 0x471214
xor eax, eax
je 0x47117e
jmp 0x47118d
jmp 0x470fd7
jmp 0x470fd7
mov ecx, 6
test ecx, ecx
je 0x47120a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1b9c], eax
cvtsi2sd xmm0, dword [ebp - 0x1b9c]
mov eax, dword [ebp - 0x1b9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb2b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1b98], ecx
jmp 0x471214
mov dword [ebp - 0x1b98], 2
mov edx, dword [ebp - 0x1b84]
shl edx, 2
add edx, dword [ebp - 0x1b80]
mov eax, dword [ebp - 0x1b98]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b84]
shl ecx, 2
add ecx, dword [ebp - 0x1b80]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x471504
xor eax, eax
je 0x471279
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4712b5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb2d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x471455
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x471455
mov dword [ebp - 0x1ba0], 0
jmp 0x471334
cmp dword [ebp - 0x1ba0], 9
jae 0x471450
cvtsi2sd xmm0, dword [ebp - 0x1ba0]
movsd xmm1, qword [ebp - 0xb2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4713a3
mov ecx, dword [ebp - 0x1ba0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2d0], xmm1
jmp 0x47129f
cvtsi2sd xmm0, dword [ebp - 0x1ba0]
movsd xmm1, qword [ebp - 0xb2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb2e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471400
mov eax, dword [ebp - 0x1ba0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2d0], xmm1
jmp 0x471419
mov ecx, 1
test ecx, ecx
je 0x471415
jmp 0x4714d2
jmp 0x47143c
cvtsi2sd xmm0, dword [ebp - 0x1ba0]
movsd xmm1, qword [ebp - 0xb2d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ba4], edx
jmp 0x4714dc
xor eax, eax
je 0x471446
jmp 0x471455
jmp 0x47129f
jmp 0x47129f
mov ecx, 6
test ecx, ecx
je 0x4714d2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ba8], eax
cvtsi2sd xmm0, dword [ebp - 0x1ba8]
mov eax, dword [ebp - 0x1ba8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb2d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ba4], ecx
jmp 0x4714dc
mov dword [ebp - 0x1ba4], 2
mov edx, dword [ebp - 0x1b84]
shl edx, 2
add edx, dword [ebp - 0x1b80]
mov eax, dword [ebp - 0x1ba4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b84]
shl ecx, 2
add ecx, dword [ebp - 0x1b80]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1b84]
add edx, 0xffffffbb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb2e8], xmm0
xor eax, eax
je 0x47151e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47155a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb2e8]
movsd qword [ebp - 0xb2f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4716fa
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4716fa
mov dword [ebp - 0x1bac], 0
jmp 0x4715d9
cmp dword [ebp - 0x1bac], 9
jae 0x4716f5
cvtsi2sd xmm0, dword [ebp - 0x1bac]
movsd xmm1, qword [ebp - 0xb2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471648
mov ecx, dword [ebp - 0x1bac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2f0], xmm1
jmp 0x471544
cvtsi2sd xmm0, dword [ebp - 0x1bac]
movsd xmm1, qword [ebp - 0xb2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb300], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb300]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4716a5
mov eax, dword [ebp - 0x1bac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb2f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb2f0], xmm1
jmp 0x4716be
mov ecx, 1
test ecx, ecx
je 0x4716ba
jmp 0x471777
jmp 0x4716e1
cvtsi2sd xmm0, dword [ebp - 0x1bac]
movsd xmm1, qword [ebp - 0xb2f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1bb0], edx
jmp 0x471781
xor eax, eax
je 0x4716eb
jmp 0x4716fa
jmp 0x471544
jmp 0x471544
mov ecx, 6
test ecx, ecx
je 0x471777
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1bb4], eax
cvtsi2sd xmm0, dword [ebp - 0x1bb4]
mov eax, dword [ebp - 0x1bb4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb2f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1bb0], ecx
jmp 0x471781
mov dword [ebp - 0x1bb0], 2
mov edx, dword [ebp - 0x1b84]
add edx, 0xffffffbb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb308], xmm0
xor eax, eax
je 0x47179b
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4717d7
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb308]
movsd qword [ebp - 0xb310], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x471977
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x471977
mov dword [ebp - 0x1bb8], 0
jmp 0x471856
cmp dword [ebp - 0x1bb8], 9
jae 0x471972
cvtsi2sd xmm0, dword [ebp - 0x1bb8]
movsd xmm1, qword [ebp - 0xb310]
addsd xmm1, xmm0
movsd qword [ebp - 0xb318], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4718c5
mov ecx, dword [ebp - 0x1bb8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb310]
addsd xmm1, xmm0
movsd qword [ebp - 0xb310], xmm1
jmp 0x4717c1
cvtsi2sd xmm0, dword [ebp - 0x1bb8]
movsd xmm1, qword [ebp - 0xb310]
addsd xmm1, xmm0
movsd qword [ebp - 0xb320], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb320]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471922
mov eax, dword [ebp - 0x1bb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb310]
addsd xmm1, xmm0
movsd qword [ebp - 0xb310], xmm1
jmp 0x47193b
mov ecx, 1
test ecx, ecx
je 0x471937
jmp 0x4719f4
jmp 0x47195e
cvtsi2sd xmm0, dword [ebp - 0x1bb8]
movsd xmm1, qword [ebp - 0xb310]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1bbc], edx
jmp 0x4719fe
xor eax, eax
je 0x471968
jmp 0x471977
jmp 0x4717c1
jmp 0x4717c1
mov ecx, 6
test ecx, ecx
je 0x4719f4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1bc0], eax
cvtsi2sd xmm0, dword [ebp - 0x1bc0]
mov eax, dword [ebp - 0x1bc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb310]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1bbc], ecx
jmp 0x4719fe
mov dword [ebp - 0x1bbc], 2
mov edx, dword [ebp - 0x1b84]
shl edx, 2
add edx, dword [ebp - 0x1b80]
mov eax, dword [ebp - 0x1bb0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1b84]
shl ecx, 2
add ecx, dword [ebp - 0x1b80]
mov edx, dword [ebp - 0x1bbc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1b84]
shl ecx, 2
add ecx, dword [ebp - 0x1b80]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x471d09
xor eax, eax
je 0x471a7e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x471aba
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb328], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x471c5a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x471c5a
mov dword [ebp - 0x1bc4], 0
jmp 0x471b39
cmp dword [ebp - 0x1bc4], 9
jae 0x471c55
cvtsi2sd xmm0, dword [ebp - 0x1bc4]
movsd xmm1, qword [ebp - 0xb328]
addsd xmm1, xmm0
movsd qword [ebp - 0xb330], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb330]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471ba8
mov ecx, dword [ebp - 0x1bc4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb328]
addsd xmm1, xmm0
movsd qword [ebp - 0xb328], xmm1
jmp 0x471aa4
cvtsi2sd xmm0, dword [ebp - 0x1bc4]
movsd xmm1, qword [ebp - 0xb328]
addsd xmm1, xmm0
movsd qword [ebp - 0xb338], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471c05
mov eax, dword [ebp - 0x1bc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb328]
addsd xmm1, xmm0
movsd qword [ebp - 0xb328], xmm1
jmp 0x471c1e
mov ecx, 1
test ecx, ecx
je 0x471c1a
jmp 0x471cd7
jmp 0x471c41
cvtsi2sd xmm0, dword [ebp - 0x1bc4]
movsd xmm1, qword [ebp - 0xb328]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1bc8], edx
jmp 0x471ce1
xor eax, eax
je 0x471c4b
jmp 0x471c5a
jmp 0x471aa4
jmp 0x471aa4
mov ecx, 6
test ecx, ecx
je 0x471cd7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1bcc], eax
cvtsi2sd xmm0, dword [ebp - 0x1bcc]
mov eax, dword [ebp - 0x1bcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb328]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1bc8], ecx
jmp 0x471ce1
mov dword [ebp - 0x1bc8], 2
mov edx, dword [ebp - 0x1b84]
shl edx, 2
add edx, dword [ebp - 0x1b80]
mov eax, dword [ebp - 0x1bc8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1b84]
shl ecx, 2
add ecx, dword [ebp - 0x1b80]
mov dword [ecx], eax
jmp 0x470c4b
mov edx, dword [ebp - 0x1b7c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1b7c]
mov dword [ebp - 0x1bd0], eax
mov ecx, dword [ebp - 0x1bd0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1bd4], ecx
mov edx, dword [ebp - 0x1bd4]
mov dword [ebp - 0x1bd8], edx
xor eax, eax
mov byte [ebp - 0x49], al
lea ecx, [ebp - 0x49]
call fcn.004245d0
mov dword [ebp - 0x1bdc], eax
mov ecx, dword [ebp - 0x1bdc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x472e47
mov eax, dword [ebp - 0x1bdc]
mov dword [ebp - 0x1be0], eax
mov dword [ebp - 0x1be4], 0
jmp 0x471d93
mov ecx, dword [ebp - 0x1be4]
add ecx, 1
mov dword [ebp - 0x1be4], ecx
cmp dword [ebp - 0x1be4], 1
jae 0x472e47
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x472068
xor eax, eax
je 0x471ddd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x471e19
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726350]
movsd qword [ebp - 0xb340], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x471fb9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x471fb9
mov dword [ebp - 0x1be8], 0
jmp 0x471e98
cmp dword [ebp - 0x1be8], 9
jae 0x471fb4
cvtsi2sd xmm0, dword [ebp - 0x1be8]
movsd xmm1, qword [ebp - 0xb340]
addsd xmm1, xmm0
movsd qword [ebp - 0xb348], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb348]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471f07
mov ecx, dword [ebp - 0x1be8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb340]
addsd xmm1, xmm0
movsd qword [ebp - 0xb340], xmm1
jmp 0x471e03
cvtsi2sd xmm0, dword [ebp - 0x1be8]
movsd xmm1, qword [ebp - 0xb340]
addsd xmm1, xmm0
movsd qword [ebp - 0xb350], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb350]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x471f64
mov eax, dword [ebp - 0x1be8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb340]
addsd xmm1, xmm0
movsd qword [ebp - 0xb340], xmm1
jmp 0x471f7d
mov ecx, 1
test ecx, ecx
je 0x471f79
jmp 0x472036
jmp 0x471fa0
cvtsi2sd xmm0, dword [ebp - 0x1be8]
movsd xmm1, qword [ebp - 0xb340]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1bec], edx
jmp 0x472040
xor eax, eax
je 0x471faa
jmp 0x471fb9
jmp 0x471e03
jmp 0x471e03
mov ecx, 6
test ecx, ecx
je 0x472036
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1bf0], eax
cvtsi2sd xmm0, dword [ebp - 0x1bf0]
mov eax, dword [ebp - 0x1bf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb340]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1bec], ecx
jmp 0x472040
mov dword [ebp - 0x1bec], 2
mov edx, dword [ebp - 0x1be4]
shl edx, 2
add edx, dword [ebp - 0x1be0]
mov eax, dword [ebp - 0x1bec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1be4]
shl ecx, 2
add ecx, dword [ebp - 0x1be0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x472b7a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x472375
xor eax, eax
je 0x4720ea
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x472126
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb358], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4722c6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4722c6
mov dword [ebp - 0x1bf4], 0
jmp 0x4721a5
cmp dword [ebp - 0x1bf4], 9
jae 0x4722c1
cvtsi2sd xmm0, dword [ebp - 0x1bf4]
movsd xmm1, qword [ebp - 0xb358]
addsd xmm1, xmm0
movsd qword [ebp - 0xb360], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb360]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472214
mov ecx, dword [ebp - 0x1bf4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb358]
addsd xmm1, xmm0
movsd qword [ebp - 0xb358], xmm1
jmp 0x472110
cvtsi2sd xmm0, dword [ebp - 0x1bf4]
movsd xmm1, qword [ebp - 0xb358]
addsd xmm1, xmm0
movsd qword [ebp - 0xb368], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb368]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472271
mov eax, dword [ebp - 0x1bf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb358]
addsd xmm1, xmm0
movsd qword [ebp - 0xb358], xmm1
jmp 0x47228a
mov ecx, 1
test ecx, ecx
je 0x472286
jmp 0x472343
jmp 0x4722ad
cvtsi2sd xmm0, dword [ebp - 0x1bf4]
movsd xmm1, qword [ebp - 0xb358]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1bf8], edx
jmp 0x47234d
xor eax, eax
je 0x4722b7
jmp 0x4722c6
jmp 0x472110
jmp 0x472110
mov ecx, 6
test ecx, ecx
je 0x472343
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1bfc], eax
cvtsi2sd xmm0, dword [ebp - 0x1bfc]
mov eax, dword [ebp - 0x1bfc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb358]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1bf8], ecx
jmp 0x47234d
mov dword [ebp - 0x1bf8], 2
mov edx, dword [ebp - 0x1be4]
shl edx, 2
add edx, dword [ebp - 0x1be0]
mov eax, dword [ebp - 0x1bf8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1be4]
shl ecx, 2
add ecx, dword [ebp - 0x1be0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47263d
xor eax, eax
je 0x4723b2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4723ee
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb370], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47258e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47258e
mov dword [ebp - 0x1c00], 0
jmp 0x47246d
cmp dword [ebp - 0x1c00], 9
jae 0x472589
cvtsi2sd xmm0, dword [ebp - 0x1c00]
movsd xmm1, qword [ebp - 0xb370]
addsd xmm1, xmm0
movsd qword [ebp - 0xb378], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4724dc
mov ecx, dword [ebp - 0x1c00]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb370]
addsd xmm1, xmm0
movsd qword [ebp - 0xb370], xmm1
jmp 0x4723d8
cvtsi2sd xmm0, dword [ebp - 0x1c00]
movsd xmm1, qword [ebp - 0xb370]
addsd xmm1, xmm0
movsd qword [ebp - 0xb380], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb380]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472539
mov eax, dword [ebp - 0x1c00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb370]
addsd xmm1, xmm0
movsd qword [ebp - 0xb370], xmm1
jmp 0x472552
mov ecx, 1
test ecx, ecx
je 0x47254e
jmp 0x47260b
jmp 0x472575
cvtsi2sd xmm0, dword [ebp - 0x1c00]
movsd xmm1, qword [ebp - 0xb370]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c04], edx
jmp 0x472615
xor eax, eax
je 0x47257f
jmp 0x47258e
jmp 0x4723d8
jmp 0x4723d8
mov ecx, 6
test ecx, ecx
je 0x47260b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c08], eax
cvtsi2sd xmm0, dword [ebp - 0x1c08]
mov eax, dword [ebp - 0x1c08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb370]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c04], ecx
jmp 0x472615
mov dword [ebp - 0x1c04], 2
mov edx, dword [ebp - 0x1be4]
shl edx, 2
add edx, dword [ebp - 0x1be0]
mov eax, dword [ebp - 0x1c04]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1be4]
shl ecx, 2
add ecx, dword [ebp - 0x1be0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1be4]
add edx, 0xffffffbb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb388], xmm0
xor eax, eax
je 0x472657
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x472693
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb388]
movsd qword [ebp - 0xb390], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x472833
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x472833
mov dword [ebp - 0x1c0c], 0
jmp 0x472712
cmp dword [ebp - 0x1c0c], 9
jae 0x47282e
cvtsi2sd xmm0, dword [ebp - 0x1c0c]
movsd xmm1, qword [ebp - 0xb390]
addsd xmm1, xmm0
movsd qword [ebp - 0xb398], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb398]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472781
mov ecx, dword [ebp - 0x1c0c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb390]
addsd xmm1, xmm0
movsd qword [ebp - 0xb390], xmm1
jmp 0x47267d
cvtsi2sd xmm0, dword [ebp - 0x1c0c]
movsd xmm1, qword [ebp - 0xb390]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb3a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4727de
mov eax, dword [ebp - 0x1c0c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb390]
addsd xmm1, xmm0
movsd qword [ebp - 0xb390], xmm1
jmp 0x4727f7
mov ecx, 1
test ecx, ecx
je 0x4727f3
jmp 0x4728b0
jmp 0x47281a
cvtsi2sd xmm0, dword [ebp - 0x1c0c]
movsd xmm1, qword [ebp - 0xb390]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c10], edx
jmp 0x4728ba
xor eax, eax
je 0x472824
jmp 0x472833
jmp 0x47267d
jmp 0x47267d
mov ecx, 6
test ecx, ecx
je 0x4728b0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c14], eax
cvtsi2sd xmm0, dword [ebp - 0x1c14]
mov eax, dword [ebp - 0x1c14]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb390]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c10], ecx
jmp 0x4728ba
mov dword [ebp - 0x1c10], 2
mov edx, dword [ebp - 0x1be4]
add edx, 0xffffffbb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb3a8], xmm0
xor eax, eax
je 0x4728d4
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x472910
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb3a8]
movsd qword [ebp - 0xb3b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x472ab0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x472ab0
mov dword [ebp - 0x1c18], 0
jmp 0x47298f
cmp dword [ebp - 0x1c18], 9
jae 0x472aab
cvtsi2sd xmm0, dword [ebp - 0x1c18]
movsd xmm1, qword [ebp - 0xb3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4729fe
mov ecx, dword [ebp - 0x1c18]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3b0], xmm1
jmp 0x4728fa
cvtsi2sd xmm0, dword [ebp - 0x1c18]
movsd xmm1, qword [ebp - 0xb3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb3c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472a5b
mov eax, dword [ebp - 0x1c18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3b0], xmm1
jmp 0x472a74
mov ecx, 1
test ecx, ecx
je 0x472a70
jmp 0x472b2d
jmp 0x472a97
cvtsi2sd xmm0, dword [ebp - 0x1c18]
movsd xmm1, qword [ebp - 0xb3b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c1c], edx
jmp 0x472b37
xor eax, eax
je 0x472aa1
jmp 0x472ab0
jmp 0x4728fa
jmp 0x4728fa
mov ecx, 6
test ecx, ecx
je 0x472b2d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c20], eax
cvtsi2sd xmm0, dword [ebp - 0x1c20]
mov eax, dword [ebp - 0x1c20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb3b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c1c], ecx
jmp 0x472b37
mov dword [ebp - 0x1c1c], 2
mov edx, dword [ebp - 0x1be4]
shl edx, 2
add edx, dword [ebp - 0x1be0]
mov eax, dword [ebp - 0x1c10]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1be4]
shl ecx, 2
add ecx, dword [ebp - 0x1be0]
mov edx, dword [ebp - 0x1c1c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1be4]
shl ecx, 2
add ecx, dword [ebp - 0x1be0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x472e42
xor eax, eax
je 0x472bb7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x472bf3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb3c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x472d93
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x472d93
mov dword [ebp - 0x1c24], 0
jmp 0x472c72
cmp dword [ebp - 0x1c24], 9
jae 0x472d8e
cvtsi2sd xmm0, dword [ebp - 0x1c24]
movsd xmm1, qword [ebp - 0xb3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472ce1
mov ecx, dword [ebp - 0x1c24]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3c8], xmm1
jmp 0x472bdd
cvtsi2sd xmm0, dword [ebp - 0x1c24]
movsd xmm1, qword [ebp - 0xb3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb3d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x472d3e
mov eax, dword [ebp - 0x1c24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3c8], xmm1
jmp 0x472d57
mov ecx, 1
test ecx, ecx
je 0x472d53
jmp 0x472e10
jmp 0x472d7a
cvtsi2sd xmm0, dword [ebp - 0x1c24]
movsd xmm1, qword [ebp - 0xb3c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c28], edx
jmp 0x472e1a
xor eax, eax
je 0x472d84
jmp 0x472d93
jmp 0x472bdd
jmp 0x472bdd
mov ecx, 6
test ecx, ecx
je 0x472e10
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c2c], eax
cvtsi2sd xmm0, dword [ebp - 0x1c2c]
mov eax, dword [ebp - 0x1c2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb3c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c28], ecx
jmp 0x472e1a
mov dword [ebp - 0x1c28], 2
mov edx, dword [ebp - 0x1be4]
shl edx, 2
add edx, dword [ebp - 0x1be0]
mov eax, dword [ebp - 0x1c28]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1be4]
shl ecx, 2
add ecx, dword [ebp - 0x1be0]
mov dword [ecx], eax
jmp 0x471d84
mov edx, dword [ebp - 0x1bdc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1bdc]
mov dword [ebp - 0x1c30], eax
mov ecx, dword [ebp - 0x1c30]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1c34], ecx
mov edx, dword [ebp - 0x1c34]
mov dword [ebp - 0x1c38], edx
mov eax, dword [ebp - 0x1bd8]
mov dword [ebp - 0x1b78], eax
cmp dword [ebp - 0x1b78], 0
je 0x473fd2
xor ecx, ecx
mov byte [ebp - 0x4a], cl
lea ecx, [ebp - 0x4a]
call fcn.004245a0
mov dword [ebp - 0x1c3c], eax
mov edx, dword [ebp - 0x1c3c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x473f99
mov ecx, dword [ebp - 0x1c3c]
mov dword [ebp - 0x1c40], ecx
mov dword [ebp - 0x1c44], 0
jmp 0x472ee5
mov edx, dword [ebp - 0x1c44]
add edx, 1
mov dword [ebp - 0x1c44], edx
cmp dword [ebp - 0x1c44], 1
jae 0x473f99
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4731ba
xor eax, eax
je 0x472f2f
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x472f6b
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb3e0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47310b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47310b
mov dword [ebp - 0x1c48], 0
jmp 0x472fea
cmp dword [ebp - 0x1c48], 9
jae 0x473106
cvtsi2sd xmm0, dword [ebp - 0x1c48]
movsd xmm1, qword [ebp - 0xb3e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473059
mov ecx, dword [ebp - 0x1c48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb3e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3e0], xmm1
jmp 0x472f55
cvtsi2sd xmm0, dword [ebp - 0x1c48]
movsd xmm1, qword [ebp - 0xb3e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb3f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4730b6
mov eax, dword [ebp - 0x1c48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3e0], xmm1
jmp 0x4730cf
mov ecx, 1
test ecx, ecx
je 0x4730cb
jmp 0x473188
jmp 0x4730f2
cvtsi2sd xmm0, dword [ebp - 0x1c48]
movsd xmm1, qword [ebp - 0xb3e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c4c], edx
jmp 0x473192
xor eax, eax
je 0x4730fc
jmp 0x47310b
jmp 0x472f55
jmp 0x472f55
mov ecx, 6
test ecx, ecx
je 0x473188
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c50], eax
cvtsi2sd xmm0, dword [ebp - 0x1c50]
mov eax, dword [ebp - 0x1c50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb3e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c4c], ecx
jmp 0x473192
mov dword [ebp - 0x1c4c], 2
mov edx, dword [ebp - 0x1c44]
shl edx, 2
add edx, dword [ebp - 0x1c40]
mov eax, dword [ebp - 0x1c4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1c44]
shl ecx, 2
add ecx, dword [ebp - 0x1c40]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x473ccc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4734c7
xor eax, eax
je 0x47323c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x473278
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb3f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x473418
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x473418
mov dword [ebp - 0x1c54], 0
jmp 0x4732f7
cmp dword [ebp - 0x1c54], 9
jae 0x473413
cvtsi2sd xmm0, dword [ebp - 0x1c54]
movsd xmm1, qword [ebp - 0xb3f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb400], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb400]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473366
mov ecx, dword [ebp - 0x1c54]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb3f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3f8], xmm1
jmp 0x473262
cvtsi2sd xmm0, dword [ebp - 0x1c54]
movsd xmm1, qword [ebp - 0xb3f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb408], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb408]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4733c3
mov eax, dword [ebp - 0x1c54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb3f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb3f8], xmm1
jmp 0x4733dc
mov ecx, 1
test ecx, ecx
je 0x4733d8
jmp 0x473495
jmp 0x4733ff
cvtsi2sd xmm0, dword [ebp - 0x1c54]
movsd xmm1, qword [ebp - 0xb3f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c58], edx
jmp 0x47349f
xor eax, eax
je 0x473409
jmp 0x473418
jmp 0x473262
jmp 0x473262
mov ecx, 6
test ecx, ecx
je 0x473495
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c5c], eax
cvtsi2sd xmm0, dword [ebp - 0x1c5c]
mov eax, dword [ebp - 0x1c5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb3f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c58], ecx
jmp 0x47349f
mov dword [ebp - 0x1c58], 2
mov edx, dword [ebp - 0x1c44]
shl edx, 2
add edx, dword [ebp - 0x1c40]
mov eax, dword [ebp - 0x1c58]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1c44]
shl ecx, 2
add ecx, dword [ebp - 0x1c40]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47378f
xor eax, eax
je 0x473504
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x473540
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb410], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4736e0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4736e0
mov dword [ebp - 0x1c60], 0
jmp 0x4735bf
cmp dword [ebp - 0x1c60], 9
jae 0x4736db
cvtsi2sd xmm0, dword [ebp - 0x1c60]
movsd xmm1, qword [ebp - 0xb410]
addsd xmm1, xmm0
movsd qword [ebp - 0xb418], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47362e
mov ecx, dword [ebp - 0x1c60]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb410]
addsd xmm1, xmm0
movsd qword [ebp - 0xb410], xmm1
jmp 0x47352a
cvtsi2sd xmm0, dword [ebp - 0x1c60]
movsd xmm1, qword [ebp - 0xb410]
addsd xmm1, xmm0
movsd qword [ebp - 0xb420], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb420]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47368b
mov eax, dword [ebp - 0x1c60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb410]
addsd xmm1, xmm0
movsd qword [ebp - 0xb410], xmm1
jmp 0x4736a4
mov ecx, 1
test ecx, ecx
je 0x4736a0
jmp 0x47375d
jmp 0x4736c7
cvtsi2sd xmm0, dword [ebp - 0x1c60]
movsd xmm1, qword [ebp - 0xb410]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c64], edx
jmp 0x473767
xor eax, eax
je 0x4736d1
jmp 0x4736e0
jmp 0x47352a
jmp 0x47352a
mov ecx, 6
test ecx, ecx
je 0x47375d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c68], eax
cvtsi2sd xmm0, dword [ebp - 0x1c68]
mov eax, dword [ebp - 0x1c68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb410]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c64], ecx
jmp 0x473767
mov dword [ebp - 0x1c64], 2
mov edx, dword [ebp - 0x1c44]
shl edx, 2
add edx, dword [ebp - 0x1c40]
mov eax, dword [ebp - 0x1c64]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1c44]
shl ecx, 2
add ecx, dword [ebp - 0x1c40]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1c44]
add edx, 0xffffffbc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb428], xmm0
xor eax, eax
je 0x4737a9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4737e5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb428]
movsd qword [ebp - 0xb430], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x473985
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x473985
mov dword [ebp - 0x1c6c], 0
jmp 0x473864
cmp dword [ebp - 0x1c6c], 9
jae 0x473980
cvtsi2sd xmm0, dword [ebp - 0x1c6c]
movsd xmm1, qword [ebp - 0xb430]
addsd xmm1, xmm0
movsd qword [ebp - 0xb438], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb438]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4738d3
mov ecx, dword [ebp - 0x1c6c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb430]
addsd xmm1, xmm0
movsd qword [ebp - 0xb430], xmm1
jmp 0x4737cf
cvtsi2sd xmm0, dword [ebp - 0x1c6c]
movsd xmm1, qword [ebp - 0xb430]
addsd xmm1, xmm0
movsd qword [ebp - 0xb440], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb440]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473930
mov eax, dword [ebp - 0x1c6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb430]
addsd xmm1, xmm0
movsd qword [ebp - 0xb430], xmm1
jmp 0x473949
mov ecx, 1
test ecx, ecx
je 0x473945
jmp 0x473a02
jmp 0x47396c
cvtsi2sd xmm0, dword [ebp - 0x1c6c]
movsd xmm1, qword [ebp - 0xb430]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c70], edx
jmp 0x473a0c
xor eax, eax
je 0x473976
jmp 0x473985
jmp 0x4737cf
jmp 0x4737cf
mov ecx, 6
test ecx, ecx
je 0x473a02
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c74], eax
cvtsi2sd xmm0, dword [ebp - 0x1c74]
mov eax, dword [ebp - 0x1c74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb430]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c70], ecx
jmp 0x473a0c
mov dword [ebp - 0x1c70], 2
mov edx, dword [ebp - 0x1c44]
add edx, 0xffffffbc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb448], xmm0
xor eax, eax
je 0x473a26
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x473a62
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb448]
movsd qword [ebp - 0xb450], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x473c02
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x473c02
mov dword [ebp - 0x1c78], 0
jmp 0x473ae1
cmp dword [ebp - 0x1c78], 9
jae 0x473bfd
cvtsi2sd xmm0, dword [ebp - 0x1c78]
movsd xmm1, qword [ebp - 0xb450]
addsd xmm1, xmm0
movsd qword [ebp - 0xb458], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473b50
mov ecx, dword [ebp - 0x1c78]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb450]
addsd xmm1, xmm0
movsd qword [ebp - 0xb450], xmm1
jmp 0x473a4c
cvtsi2sd xmm0, dword [ebp - 0x1c78]
movsd xmm1, qword [ebp - 0xb450]
addsd xmm1, xmm0
movsd qword [ebp - 0xb460], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb460]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473bad
mov eax, dword [ebp - 0x1c78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb450]
addsd xmm1, xmm0
movsd qword [ebp - 0xb450], xmm1
jmp 0x473bc6
mov ecx, 1
test ecx, ecx
je 0x473bc2
jmp 0x473c7f
jmp 0x473be9
cvtsi2sd xmm0, dword [ebp - 0x1c78]
movsd xmm1, qword [ebp - 0xb450]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c7c], edx
jmp 0x473c89
xor eax, eax
je 0x473bf3
jmp 0x473c02
jmp 0x473a4c
jmp 0x473a4c
mov ecx, 6
test ecx, ecx
je 0x473c7f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c80], eax
cvtsi2sd xmm0, dword [ebp - 0x1c80]
mov eax, dword [ebp - 0x1c80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb450]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c7c], ecx
jmp 0x473c89
mov dword [ebp - 0x1c7c], 2
mov edx, dword [ebp - 0x1c44]
shl edx, 2
add edx, dword [ebp - 0x1c40]
mov eax, dword [ebp - 0x1c70]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1c44]
shl ecx, 2
add ecx, dword [ebp - 0x1c40]
mov edx, dword [ebp - 0x1c7c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1c44]
shl ecx, 2
add ecx, dword [ebp - 0x1c40]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x473f94
xor eax, eax
je 0x473d09
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x473d45
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb468], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x473ee5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x473ee5
mov dword [ebp - 0x1c84], 0
jmp 0x473dc4
cmp dword [ebp - 0x1c84], 9
jae 0x473ee0
cvtsi2sd xmm0, dword [ebp - 0x1c84]
movsd xmm1, qword [ebp - 0xb468]
addsd xmm1, xmm0
movsd qword [ebp - 0xb470], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb470]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473e33
mov ecx, dword [ebp - 0x1c84]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb468]
addsd xmm1, xmm0
movsd qword [ebp - 0xb468], xmm1
jmp 0x473d2f
cvtsi2sd xmm0, dword [ebp - 0x1c84]
movsd xmm1, qword [ebp - 0xb468]
addsd xmm1, xmm0
movsd qword [ebp - 0xb478], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x473e90
mov eax, dword [ebp - 0x1c84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb468]
addsd xmm1, xmm0
movsd qword [ebp - 0xb468], xmm1
jmp 0x473ea9
mov ecx, 1
test ecx, ecx
je 0x473ea5
jmp 0x473f62
jmp 0x473ecc
cvtsi2sd xmm0, dword [ebp - 0x1c84]
movsd xmm1, qword [ebp - 0xb468]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1c88], edx
jmp 0x473f6c
xor eax, eax
je 0x473ed6
jmp 0x473ee5
jmp 0x473d2f
jmp 0x473d2f
mov ecx, 6
test ecx, ecx
je 0x473f62
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1c8c], eax
cvtsi2sd xmm0, dword [ebp - 0x1c8c]
mov eax, dword [ebp - 0x1c8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb468]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1c88], ecx
jmp 0x473f6c
mov dword [ebp - 0x1c88], 2
mov edx, dword [ebp - 0x1c44]
shl edx, 2
add edx, dword [ebp - 0x1c40]
mov eax, dword [ebp - 0x1c88]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1c44]
shl ecx, 2
add ecx, dword [ebp - 0x1c40]
mov dword [ecx], eax
jmp 0x472ed6
mov edx, dword [ebp - 0x1c3c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1c3c]
mov dword [ebp - 0x1c90], eax
mov ecx, dword [ebp - 0x1c90]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1c94], ecx
mov edx, dword [ebp - 0x1c94]
mov dword [ebp - 0x1c38], edx
xor eax, eax
mov byte [ebp - 0x4b], al
mov ecx, 0x1c
mov esi, str.v_fkoPT_SJMc_r__16___g
lea edi, [ebp - 0x1690a]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x1690a]
mov dword [ebp - 0x1c98], ecx
mov edx, dword [ebp - 0x1c98]
mov dword [ebp - 0x1c9c], edx
mov eax, dword [ebp - 0x1c9c]
mov ecx, 2
imul edx, ecx, 0x38
movzx eax, word [eax + edx]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x4c], al
movzx ecx, byte [ebp - 0x4c]
test ecx, ecx
je 0x474083
mov dword [ebp - 0x1ca0], 0
jmp 0x474041
mov edx, dword [ebp - 0x1ca0]
add edx, 1
mov dword [ebp - 0x1ca0], edx
cmp dword [ebp - 0x1ca0], 0x39
jge 0x474083
mov eax, dword [ebp - 0x1ca0]
shl eax, 1
mov ecx, dword [ebp - 0x1c9c]
movzx ecx, word [ecx + eax]
mov eax, dword [ebp - 0x1ca0]
cdq
mov esi, 0x3a
idiv esi
add edx, 0x35
xor ecx, edx
mov edx, dword [ebp - 0x1c9c]
mov eax, dword [ebp - 0x1ca0]
shl eax, 1
mov word [edx + eax], cx
jmp 0x474032
mov ecx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1ca4], ecx
mov edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1ca8], edx
push 0x58
push 0x3a963686
push 0xf
push 0
call fcn.005cc4d0
add esp, 0x10
mov dword [ebp - 0x1cac], eax
lea eax, [ebp - 0x16620]
push eax
lea ecx, [ebp - 0x16800]
push ecx
push 0
push 0
push 4
push 1
push 0
push 0
push 0
mov edx, dword [ebp - 0x1ca8]
push edx
call dword [ebp - 0x1cac]
mov dword [ebp - 0x1cb0], eax
cmp dword [ebp - 0x1cb0], 0
setne al
mov byte [ebp - 0x4d], al
movzx ecx, byte [ebp - 0x4d]
test ecx, ecx
jne 0x4740ff
xor al, al
jmp 0x5a78e3
xor edx, edx
mov byte [ebp - 0x4e], dl
lea ecx, [ebp - 0x4e]
call fcn.00424550
mov dword [ebp - 0x1cb4], eax
mov eax, dword [ebp - 0x1cb4]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x4751ff
mov edx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1cb8], edx
mov dword [ebp - 0x1cbc], 0
jmp 0x47414b
mov eax, dword [ebp - 0x1cbc]
add eax, 1
mov dword [ebp - 0x1cbc], eax
cmp dword [ebp - 0x1cbc], 1
jae 0x4751ff
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx ecx, al
add esi, ecx
call fcn.005e1cc0
movsx edx, al
imul eax, edx, 7
movsx ecx, byte [0x77378c]
imul eax, ecx
add esi, eax
call fcn.005e1c90
movsx edx, al
sub esi, edx
je 0x474420
xor eax, eax
je 0x474195
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4741d1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb480], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x474371
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x474371
mov dword [ebp - 0x1cc0], 0
jmp 0x474250
cmp dword [ebp - 0x1cc0], 9
jae 0x47436c
cvtsi2sd xmm0, dword [ebp - 0x1cc0]
movsd xmm1, qword [ebp - 0xb480]
addsd xmm1, xmm0
movsd qword [ebp - 0xb488], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb488]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4742bf
mov ecx, dword [ebp - 0x1cc0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb480]
addsd xmm1, xmm0
movsd qword [ebp - 0xb480], xmm1
jmp 0x4741bb
cvtsi2sd xmm0, dword [ebp - 0x1cc0]
movsd xmm1, qword [ebp - 0xb480]
addsd xmm1, xmm0
movsd qword [ebp - 0xb490], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb490]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47431c
mov eax, dword [ebp - 0x1cc0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb480]
addsd xmm1, xmm0
movsd qword [ebp - 0xb480], xmm1
jmp 0x474335
mov ecx, 1
test ecx, ecx
je 0x474331
jmp 0x4743ee
jmp 0x474358
cvtsi2sd xmm0, dword [ebp - 0x1cc0]
movsd xmm1, qword [ebp - 0xb480]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1cc4], edx
jmp 0x4743f8
xor eax, eax
je 0x474362
jmp 0x474371
jmp 0x4741bb
jmp 0x4741bb
mov ecx, 6
test ecx, ecx
je 0x4743ee
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1cc8], eax
cvtsi2sd xmm0, dword [ebp - 0x1cc8]
mov eax, dword [ebp - 0x1cc8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb480]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1cc4], ecx
jmp 0x4743f8
mov dword [ebp - 0x1cc4], 2
mov edx, dword [ebp - 0x1cbc]
shl edx, 2
add edx, dword [ebp - 0x1cb8]
mov eax, dword [ebp - 0x1cc4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1cbc]
shl ecx, 2
add ecx, dword [ebp - 0x1cb8]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x474f32
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47472d
xor eax, eax
je 0x4744a2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4744de
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb498], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47467e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47467e
mov dword [ebp - 0x1ccc], 0
jmp 0x47455d
cmp dword [ebp - 0x1ccc], 9
jae 0x474679
cvtsi2sd xmm0, dword [ebp - 0x1ccc]
movsd xmm1, qword [ebp - 0xb498]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4745cc
mov ecx, dword [ebp - 0x1ccc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb498]
addsd xmm1, xmm0
movsd qword [ebp - 0xb498], xmm1
jmp 0x4744c8
cvtsi2sd xmm0, dword [ebp - 0x1ccc]
movsd xmm1, qword [ebp - 0xb498]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb4a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474629
mov eax, dword [ebp - 0x1ccc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb498]
addsd xmm1, xmm0
movsd qword [ebp - 0xb498], xmm1
jmp 0x474642
mov ecx, 1
test ecx, ecx
je 0x47463e
jmp 0x4746fb
jmp 0x474665
cvtsi2sd xmm0, dword [ebp - 0x1ccc]
movsd xmm1, qword [ebp - 0xb498]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1cd0], edx
jmp 0x474705
xor eax, eax
je 0x47466f
jmp 0x47467e
jmp 0x4744c8
jmp 0x4744c8
mov ecx, 6
test ecx, ecx
je 0x4746fb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1cd4], eax
cvtsi2sd xmm0, dword [ebp - 0x1cd4]
mov eax, dword [ebp - 0x1cd4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb498]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1cd0], ecx
jmp 0x474705
mov dword [ebp - 0x1cd0], 2
mov edx, dword [ebp - 0x1cbc]
shl edx, 2
add edx, dword [ebp - 0x1cb8]
mov eax, dword [ebp - 0x1cd0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1cbc]
shl ecx, 2
add ecx, dword [ebp - 0x1cb8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4749f5
xor eax, eax
je 0x47476a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4747a6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb4b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x474946
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x474946
mov dword [ebp - 0x1cd8], 0
jmp 0x474825
cmp dword [ebp - 0x1cd8], 9
jae 0x474941
cvtsi2sd xmm0, dword [ebp - 0x1cd8]
movsd xmm1, qword [ebp - 0xb4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474894
mov ecx, dword [ebp - 0x1cd8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4b0], xmm1
jmp 0x474790
cvtsi2sd xmm0, dword [ebp - 0x1cd8]
movsd xmm1, qword [ebp - 0xb4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb4c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4748f1
mov eax, dword [ebp - 0x1cd8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4b0], xmm1
jmp 0x47490a
mov ecx, 1
test ecx, ecx
je 0x474906
jmp 0x4749c3
jmp 0x47492d
cvtsi2sd xmm0, dword [ebp - 0x1cd8]
movsd xmm1, qword [ebp - 0xb4b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1cdc], edx
jmp 0x4749cd
xor eax, eax
je 0x474937
jmp 0x474946
jmp 0x474790
jmp 0x474790
mov ecx, 6
test ecx, ecx
je 0x4749c3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ce0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ce0]
mov eax, dword [ebp - 0x1ce0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb4b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1cdc], ecx
jmp 0x4749cd
mov dword [ebp - 0x1cdc], 2
mov edx, dword [ebp - 0x1cbc]
shl edx, 2
add edx, dword [ebp - 0x1cb8]
mov eax, dword [ebp - 0x1cdc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1cbc]
shl ecx, 2
add ecx, dword [ebp - 0x1cb8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1cbc]
add edx, 0xffffffbc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb4c8], xmm0
xor eax, eax
je 0x474a0f
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x474a4b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb4c8]
movsd qword [ebp - 0xb4d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x474beb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x474beb
mov dword [ebp - 0x1ce4], 0
jmp 0x474aca
cmp dword [ebp - 0x1ce4], 9
jae 0x474be6
cvtsi2sd xmm0, dword [ebp - 0x1ce4]
movsd xmm1, qword [ebp - 0xb4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474b39
mov ecx, dword [ebp - 0x1ce4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4d0], xmm1
jmp 0x474a35
cvtsi2sd xmm0, dword [ebp - 0x1ce4]
movsd xmm1, qword [ebp - 0xb4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb4e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474b96
mov eax, dword [ebp - 0x1ce4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4d0], xmm1
jmp 0x474baf
mov ecx, 1
test ecx, ecx
je 0x474bab
jmp 0x474c68
jmp 0x474bd2
cvtsi2sd xmm0, dword [ebp - 0x1ce4]
movsd xmm1, qword [ebp - 0xb4d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ce8], edx
jmp 0x474c72
xor eax, eax
je 0x474bdc
jmp 0x474beb
jmp 0x474a35
jmp 0x474a35
mov ecx, 6
test ecx, ecx
je 0x474c68
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1cec], eax
cvtsi2sd xmm0, dword [ebp - 0x1cec]
mov eax, dword [ebp - 0x1cec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb4d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ce8], ecx
jmp 0x474c72
mov dword [ebp - 0x1ce8], 2
mov edx, dword [ebp - 0x1cbc]
add edx, 0xffffffbc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb4e8], xmm0
xor eax, eax
je 0x474c8c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x474cc8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb4e8]
movsd qword [ebp - 0xb4f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x474e68
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x474e68
mov dword [ebp - 0x1cf0], 0
jmp 0x474d47
cmp dword [ebp - 0x1cf0], 9
jae 0x474e63
cvtsi2sd xmm0, dword [ebp - 0x1cf0]
movsd xmm1, qword [ebp - 0xb4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474db6
mov ecx, dword [ebp - 0x1cf0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4f0], xmm1
jmp 0x474cb2
cvtsi2sd xmm0, dword [ebp - 0x1cf0]
movsd xmm1, qword [ebp - 0xb4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb500], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb500]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x474e13
mov eax, dword [ebp - 0x1cf0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb4f0], xmm1
jmp 0x474e2c
mov ecx, 1
test ecx, ecx
je 0x474e28
jmp 0x474ee5
jmp 0x474e4f
cvtsi2sd xmm0, dword [ebp - 0x1cf0]
movsd xmm1, qword [ebp - 0xb4f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1cf4], edx
jmp 0x474eef
xor eax, eax
je 0x474e59
jmp 0x474e68
jmp 0x474cb2
jmp 0x474cb2
mov ecx, 6
test ecx, ecx
je 0x474ee5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1cf8], eax
cvtsi2sd xmm0, dword [ebp - 0x1cf8]
mov eax, dword [ebp - 0x1cf8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb4f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1cf4], ecx
jmp 0x474eef
mov dword [ebp - 0x1cf4], 2
mov edx, dword [ebp - 0x1cbc]
shl edx, 2
add edx, dword [ebp - 0x1cb8]
mov eax, dword [ebp - 0x1ce8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1cbc]
shl ecx, 2
add ecx, dword [ebp - 0x1cb8]
mov edx, dword [ebp - 0x1cf4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1cbc]
shl ecx, 2
add ecx, dword [ebp - 0x1cb8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4751fa
xor eax, eax
je 0x474f6f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x474fab
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb508], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47514b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47514b
mov dword [ebp - 0x1cfc], 0
jmp 0x47502a
cmp dword [ebp - 0x1cfc], 9
jae 0x475146
cvtsi2sd xmm0, dword [ebp - 0x1cfc]
movsd xmm1, qword [ebp - 0xb508]
addsd xmm1, xmm0
movsd qword [ebp - 0xb510], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb510]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475099
mov ecx, dword [ebp - 0x1cfc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb508]
addsd xmm1, xmm0
movsd qword [ebp - 0xb508], xmm1
jmp 0x474f95
cvtsi2sd xmm0, dword [ebp - 0x1cfc]
movsd xmm1, qword [ebp - 0xb508]
addsd xmm1, xmm0
movsd qword [ebp - 0xb518], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4750f6
mov eax, dword [ebp - 0x1cfc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb508]
addsd xmm1, xmm0
movsd qword [ebp - 0xb508], xmm1
jmp 0x47510f
mov ecx, 1
test ecx, ecx
je 0x47510b
jmp 0x4751c8
jmp 0x475132
cvtsi2sd xmm0, dword [ebp - 0x1cfc]
movsd xmm1, qword [ebp - 0xb508]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d00], edx
jmp 0x4751d2
xor eax, eax
je 0x47513c
jmp 0x47514b
jmp 0x474f95
jmp 0x474f95
mov ecx, 6
test ecx, ecx
je 0x4751c8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d04], eax
cvtsi2sd xmm0, dword [ebp - 0x1d04]
mov eax, dword [ebp - 0x1d04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb508]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d00], ecx
jmp 0x4751d2
mov dword [ebp - 0x1d00], 2
mov edx, dword [ebp - 0x1cbc]
shl edx, 2
add edx, dword [ebp - 0x1cb8]
mov eax, dword [ebp - 0x1d00]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1cbc]
shl ecx, 2
add ecx, dword [ebp - 0x1cb8]
mov dword [ecx], eax
jmp 0x47413c
mov edx, dword [ebp - 0x1cb4]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1d08], eax
mov ecx, dword [ebp - 0x1d08]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1d0c], ecx
mov edx, dword [ebp - 0x1d0c]
mov dword [ebp - 0x1d10], edx
xor eax, eax
mov byte [ebp - 0x4f], al
lea ecx, [ebp - 0x4f]
call fcn.00424520
mov dword [ebp - 0x1d14], eax
mov ecx, dword [ebp - 0x1d14]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x476338
mov eax, dword [ebp - 0x1d14]
mov dword [ebp - 0x1d18], eax
mov dword [ebp - 0x1d1c], 0
jmp 0x475284
mov ecx, dword [ebp - 0x1d1c]
add ecx, 1
mov dword [ebp - 0x1d1c], ecx
cmp dword [ebp - 0x1d1c], 1
jae 0x476338
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x475559
xor eax, eax
je 0x4752ce
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47530a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726348]
movsd qword [ebp - 0xb520], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4754aa
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4754aa
mov dword [ebp - 0x1d20], 0
jmp 0x475389
cmp dword [ebp - 0x1d20], 9
jae 0x4754a5
cvtsi2sd xmm0, dword [ebp - 0x1d20]
movsd xmm1, qword [ebp - 0xb520]
addsd xmm1, xmm0
movsd qword [ebp - 0xb528], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb528]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4753f8
mov ecx, dword [ebp - 0x1d20]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb520]
addsd xmm1, xmm0
movsd qword [ebp - 0xb520], xmm1
jmp 0x4752f4
cvtsi2sd xmm0, dword [ebp - 0x1d20]
movsd xmm1, qword [ebp - 0xb520]
addsd xmm1, xmm0
movsd qword [ebp - 0xb530], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb530]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475455
mov eax, dword [ebp - 0x1d20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb520]
addsd xmm1, xmm0
movsd qword [ebp - 0xb520], xmm1
jmp 0x47546e
mov ecx, 1
test ecx, ecx
je 0x47546a
jmp 0x475527
jmp 0x475491
cvtsi2sd xmm0, dword [ebp - 0x1d20]
movsd xmm1, qword [ebp - 0xb520]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d24], edx
jmp 0x475531
xor eax, eax
je 0x47549b
jmp 0x4754aa
jmp 0x4752f4
jmp 0x4752f4
mov ecx, 6
test ecx, ecx
je 0x475527
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d28], eax
cvtsi2sd xmm0, dword [ebp - 0x1d28]
mov eax, dword [ebp - 0x1d28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb520]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d24], ecx
jmp 0x475531
mov dword [ebp - 0x1d24], 2
mov edx, dword [ebp - 0x1d1c]
shl edx, 2
add edx, dword [ebp - 0x1d18]
mov eax, dword [ebp - 0x1d24]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d1c]
shl ecx, 2
add ecx, dword [ebp - 0x1d18]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47606b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x475866
xor eax, eax
je 0x4755db
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x475617
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb538], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4757b7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4757b7
mov dword [ebp - 0x1d2c], 0
jmp 0x475696
cmp dword [ebp - 0x1d2c], 9
jae 0x4757b2
cvtsi2sd xmm0, dword [ebp - 0x1d2c]
movsd xmm1, qword [ebp - 0xb538]
addsd xmm1, xmm0
movsd qword [ebp - 0xb540], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb540]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475705
mov ecx, dword [ebp - 0x1d2c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb538]
addsd xmm1, xmm0
movsd qword [ebp - 0xb538], xmm1
jmp 0x475601
cvtsi2sd xmm0, dword [ebp - 0x1d2c]
movsd xmm1, qword [ebp - 0xb538]
addsd xmm1, xmm0
movsd qword [ebp - 0xb548], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb548]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475762
mov eax, dword [ebp - 0x1d2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb538]
addsd xmm1, xmm0
movsd qword [ebp - 0xb538], xmm1
jmp 0x47577b
mov ecx, 1
test ecx, ecx
je 0x475777
jmp 0x475834
jmp 0x47579e
cvtsi2sd xmm0, dword [ebp - 0x1d2c]
movsd xmm1, qword [ebp - 0xb538]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d30], edx
jmp 0x47583e
xor eax, eax
je 0x4757a8
jmp 0x4757b7
jmp 0x475601
jmp 0x475601
mov ecx, 6
test ecx, ecx
je 0x475834
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d34], eax
cvtsi2sd xmm0, dword [ebp - 0x1d34]
mov eax, dword [ebp - 0x1d34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb538]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d30], ecx
jmp 0x47583e
mov dword [ebp - 0x1d30], 2
mov edx, dword [ebp - 0x1d1c]
shl edx, 2
add edx, dword [ebp - 0x1d18]
mov eax, dword [ebp - 0x1d30]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d1c]
shl ecx, 2
add ecx, dword [ebp - 0x1d18]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x475b2e
xor eax, eax
je 0x4758a3
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4758df
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb550], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x475a7f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x475a7f
mov dword [ebp - 0x1d38], 0
jmp 0x47595e
cmp dword [ebp - 0x1d38], 9
jae 0x475a7a
cvtsi2sd xmm0, dword [ebp - 0x1d38]
movsd xmm1, qword [ebp - 0xb550]
addsd xmm1, xmm0
movsd qword [ebp - 0xb558], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4759cd
mov ecx, dword [ebp - 0x1d38]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb550]
addsd xmm1, xmm0
movsd qword [ebp - 0xb550], xmm1
jmp 0x4758c9
cvtsi2sd xmm0, dword [ebp - 0x1d38]
movsd xmm1, qword [ebp - 0xb550]
addsd xmm1, xmm0
movsd qword [ebp - 0xb560], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb560]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475a2a
mov eax, dword [ebp - 0x1d38]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb550]
addsd xmm1, xmm0
movsd qword [ebp - 0xb550], xmm1
jmp 0x475a43
mov ecx, 1
test ecx, ecx
je 0x475a3f
jmp 0x475afc
jmp 0x475a66
cvtsi2sd xmm0, dword [ebp - 0x1d38]
movsd xmm1, qword [ebp - 0xb550]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d3c], edx
jmp 0x475b06
xor eax, eax
je 0x475a70
jmp 0x475a7f
jmp 0x4758c9
jmp 0x4758c9
mov ecx, 6
test ecx, ecx
je 0x475afc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d40], eax
cvtsi2sd xmm0, dword [ebp - 0x1d40]
mov eax, dword [ebp - 0x1d40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb550]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d3c], ecx
jmp 0x475b06
mov dword [ebp - 0x1d3c], 2
mov edx, dword [ebp - 0x1d1c]
shl edx, 2
add edx, dword [ebp - 0x1d18]
mov eax, dword [ebp - 0x1d3c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d1c]
shl ecx, 2
add ecx, dword [ebp - 0x1d18]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1d1c]
add edx, 0xffffffbc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb568], xmm0
xor eax, eax
je 0x475b48
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x475b84
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb568]
movsd qword [ebp - 0xb570], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x475d24
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x475d24
mov dword [ebp - 0x1d44], 0
jmp 0x475c03
cmp dword [ebp - 0x1d44], 9
jae 0x475d1f
cvtsi2sd xmm0, dword [ebp - 0x1d44]
movsd xmm1, qword [ebp - 0xb570]
addsd xmm1, xmm0
movsd qword [ebp - 0xb578], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb578]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475c72
mov ecx, dword [ebp - 0x1d44]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb570]
addsd xmm1, xmm0
movsd qword [ebp - 0xb570], xmm1
jmp 0x475b6e
cvtsi2sd xmm0, dword [ebp - 0x1d44]
movsd xmm1, qword [ebp - 0xb570]
addsd xmm1, xmm0
movsd qword [ebp - 0xb580], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb580]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475ccf
mov eax, dword [ebp - 0x1d44]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb570]
addsd xmm1, xmm0
movsd qword [ebp - 0xb570], xmm1
jmp 0x475ce8
mov ecx, 1
test ecx, ecx
je 0x475ce4
jmp 0x475da1
jmp 0x475d0b
cvtsi2sd xmm0, dword [ebp - 0x1d44]
movsd xmm1, qword [ebp - 0xb570]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d48], edx
jmp 0x475dab
xor eax, eax
je 0x475d15
jmp 0x475d24
jmp 0x475b6e
jmp 0x475b6e
mov ecx, 6
test ecx, ecx
je 0x475da1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d4c], eax
cvtsi2sd xmm0, dword [ebp - 0x1d4c]
mov eax, dword [ebp - 0x1d4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb570]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d48], ecx
jmp 0x475dab
mov dword [ebp - 0x1d48], 2
mov edx, dword [ebp - 0x1d1c]
add edx, 0xffffffbc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb588], xmm0
xor eax, eax
je 0x475dc5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x475e01
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb588]
movsd qword [ebp - 0xb590], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x475fa1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x475fa1
mov dword [ebp - 0x1d50], 0
jmp 0x475e80
cmp dword [ebp - 0x1d50], 9
jae 0x475f9c
cvtsi2sd xmm0, dword [ebp - 0x1d50]
movsd xmm1, qword [ebp - 0xb590]
addsd xmm1, xmm0
movsd qword [ebp - 0xb598], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475eef
mov ecx, dword [ebp - 0x1d50]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb590]
addsd xmm1, xmm0
movsd qword [ebp - 0xb590], xmm1
jmp 0x475deb
cvtsi2sd xmm0, dword [ebp - 0x1d50]
movsd xmm1, qword [ebp - 0xb590]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb5a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x475f4c
mov eax, dword [ebp - 0x1d50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb590]
addsd xmm1, xmm0
movsd qword [ebp - 0xb590], xmm1
jmp 0x475f65
mov ecx, 1
test ecx, ecx
je 0x475f61
jmp 0x47601e
jmp 0x475f88
cvtsi2sd xmm0, dword [ebp - 0x1d50]
movsd xmm1, qword [ebp - 0xb590]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d54], edx
jmp 0x476028
xor eax, eax
je 0x475f92
jmp 0x475fa1
jmp 0x475deb
jmp 0x475deb
mov ecx, 6
test ecx, ecx
je 0x47601e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d58], eax
cvtsi2sd xmm0, dword [ebp - 0x1d58]
mov eax, dword [ebp - 0x1d58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb590]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d54], ecx
jmp 0x476028
mov dword [ebp - 0x1d54], 2
mov edx, dword [ebp - 0x1d1c]
shl edx, 2
add edx, dword [ebp - 0x1d18]
mov eax, dword [ebp - 0x1d48]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1d1c]
shl ecx, 2
add ecx, dword [ebp - 0x1d18]
mov edx, dword [ebp - 0x1d54]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1d1c]
shl ecx, 2
add ecx, dword [ebp - 0x1d18]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x476333
xor eax, eax
je 0x4760a8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4760e4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb5a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x476284
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x476284
mov dword [ebp - 0x1d5c], 0
jmp 0x476163
cmp dword [ebp - 0x1d5c], 9
jae 0x47627f
cvtsi2sd xmm0, dword [ebp - 0x1d5c]
movsd xmm1, qword [ebp - 0xb5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4761d2
mov ecx, dword [ebp - 0x1d5c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5a8], xmm1
jmp 0x4760ce
cvtsi2sd xmm0, dword [ebp - 0x1d5c]
movsd xmm1, qword [ebp - 0xb5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb5b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47622f
mov eax, dword [ebp - 0x1d5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5a8], xmm1
jmp 0x476248
mov ecx, 1
test ecx, ecx
je 0x476244
jmp 0x476301
jmp 0x47626b
cvtsi2sd xmm0, dword [ebp - 0x1d5c]
movsd xmm1, qword [ebp - 0xb5a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d60], edx
jmp 0x47630b
xor eax, eax
je 0x476275
jmp 0x476284
jmp 0x4760ce
jmp 0x4760ce
mov ecx, 6
test ecx, ecx
je 0x476301
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d64], eax
cvtsi2sd xmm0, dword [ebp - 0x1d64]
mov eax, dword [ebp - 0x1d64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb5a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d60], ecx
jmp 0x47630b
mov dword [ebp - 0x1d60], 2
mov edx, dword [ebp - 0x1d1c]
shl edx, 2
add edx, dword [ebp - 0x1d18]
mov eax, dword [ebp - 0x1d60]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d1c]
shl ecx, 2
add ecx, dword [ebp - 0x1d18]
mov dword [ecx], eax
jmp 0x475275
mov edx, dword [ebp - 0x1d14]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1d14]
mov dword [ebp - 0x1d68], eax
mov ecx, dword [ebp - 0x1d68]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1d6c], ecx
mov edx, dword [ebp - 0x1d6c]
mov dword [ebp - 0x1d70], edx
xor eax, eax
mov byte [ebp - 0x50], al
lea ecx, [ebp - 0x50]
call fcn.004244f0
mov dword [ebp - 0x1d74], eax
mov ecx, dword [ebp - 0x1d74]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x477471
mov eax, dword [ebp - 0x1d74]
mov dword [ebp - 0x1d78], eax
mov dword [ebp - 0x1d7c], 0
jmp 0x4763bd
mov ecx, dword [ebp - 0x1d7c]
add ecx, 1
mov dword [ebp - 0x1d7c], ecx
cmp dword [ebp - 0x1d7c], 1
jae 0x477471
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x476692
xor eax, eax
je 0x476407
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x476443
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb5c0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4765e3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4765e3
mov dword [ebp - 0x1d80], 0
jmp 0x4764c2
cmp dword [ebp - 0x1d80], 9
jae 0x4765de
cvtsi2sd xmm0, dword [ebp - 0x1d80]
movsd xmm1, qword [ebp - 0xb5c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476531
mov ecx, dword [ebp - 0x1d80]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb5c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5c0], xmm1
jmp 0x47642d
cvtsi2sd xmm0, dword [ebp - 0x1d80]
movsd xmm1, qword [ebp - 0xb5c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb5d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47658e
mov eax, dword [ebp - 0x1d80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5c0], xmm1
jmp 0x4765a7
mov ecx, 1
test ecx, ecx
je 0x4765a3
jmp 0x476660
jmp 0x4765ca
cvtsi2sd xmm0, dword [ebp - 0x1d80]
movsd xmm1, qword [ebp - 0xb5c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d84], edx
jmp 0x47666a
xor eax, eax
je 0x4765d4
jmp 0x4765e3
jmp 0x47642d
jmp 0x47642d
mov ecx, 6
test ecx, ecx
je 0x476660
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d88], eax
cvtsi2sd xmm0, dword [ebp - 0x1d88]
mov eax, dword [ebp - 0x1d88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb5c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d84], ecx
jmp 0x47666a
mov dword [ebp - 0x1d84], 2
mov edx, dword [ebp - 0x1d7c]
shl edx, 2
add edx, dword [ebp - 0x1d78]
mov eax, dword [ebp - 0x1d84]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d7c]
shl ecx, 2
add ecx, dword [ebp - 0x1d78]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4771a4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47699f
xor eax, eax
je 0x476714
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x476750
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb5d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4768f0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4768f0
mov dword [ebp - 0x1d8c], 0
jmp 0x4767cf
cmp dword [ebp - 0x1d8c], 9
jae 0x4768eb
cvtsi2sd xmm0, dword [ebp - 0x1d8c]
movsd xmm1, qword [ebp - 0xb5d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47683e
mov ecx, dword [ebp - 0x1d8c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb5d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5d8], xmm1
jmp 0x47673a
cvtsi2sd xmm0, dword [ebp - 0x1d8c]
movsd xmm1, qword [ebp - 0xb5d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb5e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47689b
mov eax, dword [ebp - 0x1d8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5d8], xmm1
jmp 0x4768b4
mov ecx, 1
test ecx, ecx
je 0x4768b0
jmp 0x47696d
jmp 0x4768d7
cvtsi2sd xmm0, dword [ebp - 0x1d8c]
movsd xmm1, qword [ebp - 0xb5d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d90], edx
jmp 0x476977
xor eax, eax
je 0x4768e1
jmp 0x4768f0
jmp 0x47673a
jmp 0x47673a
mov ecx, 6
test ecx, ecx
je 0x47696d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1d94], eax
cvtsi2sd xmm0, dword [ebp - 0x1d94]
mov eax, dword [ebp - 0x1d94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb5d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d90], ecx
jmp 0x476977
mov dword [ebp - 0x1d90], 2
mov edx, dword [ebp - 0x1d7c]
shl edx, 2
add edx, dword [ebp - 0x1d78]
mov eax, dword [ebp - 0x1d90]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d7c]
shl ecx, 2
add ecx, dword [ebp - 0x1d78]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x476c67
xor eax, eax
je 0x4769dc
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x476a18
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb5f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x476bb8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x476bb8
mov dword [ebp - 0x1d98], 0
jmp 0x476a97
cmp dword [ebp - 0x1d98], 9
jae 0x476bb3
cvtsi2sd xmm0, dword [ebp - 0x1d98]
movsd xmm1, qword [ebp - 0xb5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476b06
mov ecx, dword [ebp - 0x1d98]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5f0], xmm1
jmp 0x476a02
cvtsi2sd xmm0, dword [ebp - 0x1d98]
movsd xmm1, qword [ebp - 0xb5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb600], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb600]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476b63
mov eax, dword [ebp - 0x1d98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb5f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb5f0], xmm1
jmp 0x476b7c
mov ecx, 1
test ecx, ecx
je 0x476b78
jmp 0x476c35
jmp 0x476b9f
cvtsi2sd xmm0, dword [ebp - 0x1d98]
movsd xmm1, qword [ebp - 0xb5f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1d9c], edx
jmp 0x476c3f
xor eax, eax
je 0x476ba9
jmp 0x476bb8
jmp 0x476a02
jmp 0x476a02
mov ecx, 6
test ecx, ecx
je 0x476c35
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1da0], eax
cvtsi2sd xmm0, dword [ebp - 0x1da0]
mov eax, dword [ebp - 0x1da0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb5f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1d9c], ecx
jmp 0x476c3f
mov dword [ebp - 0x1d9c], 2
mov edx, dword [ebp - 0x1d7c]
shl edx, 2
add edx, dword [ebp - 0x1d78]
mov eax, dword [ebp - 0x1d9c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d7c]
shl ecx, 2
add ecx, dword [ebp - 0x1d78]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1d7c]
add edx, 0xffffffbd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb608], xmm0
xor eax, eax
je 0x476c81
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x476cbd
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb608]
movsd qword [ebp - 0xb610], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x476e5d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x476e5d
mov dword [ebp - 0x1da4], 0
jmp 0x476d3c
cmp dword [ebp - 0x1da4], 9
jae 0x476e58
cvtsi2sd xmm0, dword [ebp - 0x1da4]
movsd xmm1, qword [ebp - 0xb610]
addsd xmm1, xmm0
movsd qword [ebp - 0xb618], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb618]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476dab
mov ecx, dword [ebp - 0x1da4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb610]
addsd xmm1, xmm0
movsd qword [ebp - 0xb610], xmm1
jmp 0x476ca7
cvtsi2sd xmm0, dword [ebp - 0x1da4]
movsd xmm1, qword [ebp - 0xb610]
addsd xmm1, xmm0
movsd qword [ebp - 0xb620], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb620]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x476e08
mov eax, dword [ebp - 0x1da4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb610]
addsd xmm1, xmm0
movsd qword [ebp - 0xb610], xmm1
jmp 0x476e21
mov ecx, 1
test ecx, ecx
je 0x476e1d
jmp 0x476eda
jmp 0x476e44
cvtsi2sd xmm0, dword [ebp - 0x1da4]
movsd xmm1, qword [ebp - 0xb610]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1da8], edx
jmp 0x476ee4
xor eax, eax
je 0x476e4e
jmp 0x476e5d
jmp 0x476ca7
jmp 0x476ca7
mov ecx, 6
test ecx, ecx
je 0x476eda
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1dac], eax
cvtsi2sd xmm0, dword [ebp - 0x1dac]
mov eax, dword [ebp - 0x1dac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb610]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1da8], ecx
jmp 0x476ee4
mov dword [ebp - 0x1da8], 2
mov edx, dword [ebp - 0x1d7c]
add edx, 0xffffffbd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb628], xmm0
xor eax, eax
je 0x476efe
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x476f3a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb628]
movsd qword [ebp - 0xb630], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4770da
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4770da
mov dword [ebp - 0x1db0], 0
jmp 0x476fb9
cmp dword [ebp - 0x1db0], 9
jae 0x4770d5
cvtsi2sd xmm0, dword [ebp - 0x1db0]
movsd xmm1, qword [ebp - 0xb630]
addsd xmm1, xmm0
movsd qword [ebp - 0xb638], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477028
mov ecx, dword [ebp - 0x1db0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb630]
addsd xmm1, xmm0
movsd qword [ebp - 0xb630], xmm1
jmp 0x476f24
cvtsi2sd xmm0, dword [ebp - 0x1db0]
movsd xmm1, qword [ebp - 0xb630]
addsd xmm1, xmm0
movsd qword [ebp - 0xb640], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb640]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477085
mov eax, dword [ebp - 0x1db0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb630]
addsd xmm1, xmm0
movsd qword [ebp - 0xb630], xmm1
jmp 0x47709e
mov ecx, 1
test ecx, ecx
je 0x47709a
jmp 0x477157
jmp 0x4770c1
cvtsi2sd xmm0, dword [ebp - 0x1db0]
movsd xmm1, qword [ebp - 0xb630]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1db4], edx
jmp 0x477161
xor eax, eax
je 0x4770cb
jmp 0x4770da
jmp 0x476f24
jmp 0x476f24
mov ecx, 6
test ecx, ecx
je 0x477157
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1db8], eax
cvtsi2sd xmm0, dword [ebp - 0x1db8]
mov eax, dword [ebp - 0x1db8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb630]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1db4], ecx
jmp 0x477161
mov dword [ebp - 0x1db4], 2
mov edx, dword [ebp - 0x1d7c]
shl edx, 2
add edx, dword [ebp - 0x1d78]
mov eax, dword [ebp - 0x1da8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1d7c]
shl ecx, 2
add ecx, dword [ebp - 0x1d78]
mov edx, dword [ebp - 0x1db4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1d7c]
shl ecx, 2
add ecx, dword [ebp - 0x1d78]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47746c
xor eax, eax
je 0x4771e1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47721d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb648], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4773bd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4773bd
mov dword [ebp - 0x1dbc], 0
jmp 0x47729c
cmp dword [ebp - 0x1dbc], 9
jae 0x4773b8
cvtsi2sd xmm0, dword [ebp - 0x1dbc]
movsd xmm1, qword [ebp - 0xb648]
addsd xmm1, xmm0
movsd qword [ebp - 0xb650], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb650]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47730b
mov ecx, dword [ebp - 0x1dbc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb648]
addsd xmm1, xmm0
movsd qword [ebp - 0xb648], xmm1
jmp 0x477207
cvtsi2sd xmm0, dword [ebp - 0x1dbc]
movsd xmm1, qword [ebp - 0xb648]
addsd xmm1, xmm0
movsd qword [ebp - 0xb658], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477368
mov eax, dword [ebp - 0x1dbc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb648]
addsd xmm1, xmm0
movsd qword [ebp - 0xb648], xmm1
jmp 0x477381
mov ecx, 1
test ecx, ecx
je 0x47737d
jmp 0x47743a
jmp 0x4773a4
cvtsi2sd xmm0, dword [ebp - 0x1dbc]
movsd xmm1, qword [ebp - 0xb648]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1dc0], edx
jmp 0x477444
xor eax, eax
je 0x4773ae
jmp 0x4773bd
jmp 0x477207
jmp 0x477207
mov ecx, 6
test ecx, ecx
je 0x47743a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1dc4], eax
cvtsi2sd xmm0, dword [ebp - 0x1dc4]
mov eax, dword [ebp - 0x1dc4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb648]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1dc0], ecx
jmp 0x477444
mov dword [ebp - 0x1dc0], 2
mov edx, dword [ebp - 0x1d7c]
shl edx, 2
add edx, dword [ebp - 0x1d78]
mov eax, dword [ebp - 0x1dc0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1d7c]
shl ecx, 2
add ecx, dword [ebp - 0x1d78]
mov dword [ecx], eax
jmp 0x4763ae
mov edx, dword [ebp - 0x1d74]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1d74]
mov dword [ebp - 0x1dc8], eax
mov ecx, dword [ebp - 0x1dc8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1dcc], ecx
mov edx, dword [ebp - 0x1dcc]
mov dword [ebp - 0x1dd0], edx
mov eax, dword [ebp - 0x1d70]
mov dword [ebp - 0x1d10], eax
cmp dword [ebp - 0x1d10], 0
je 0x4785fc
xor ecx, ecx
mov byte [ebp - 0x51], cl
lea ecx, [ebp - 0x51]
call fcn.004244c0
mov dword [ebp - 0x1dd4], eax
mov edx, dword [ebp - 0x1dd4]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4785c3
mov ecx, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1dd8], ecx
mov dword [ebp - 0x1ddc], 0
jmp 0x47750f
mov edx, dword [ebp - 0x1ddc]
add edx, 1
mov dword [ebp - 0x1ddc], edx
cmp dword [ebp - 0x1ddc], 1
jae 0x4785c3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4777e4
xor eax, eax
je 0x477559
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x477595
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb660], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x477735
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x477735
mov dword [ebp - 0x1de0], 0
jmp 0x477614
cmp dword [ebp - 0x1de0], 9
jae 0x477730
cvtsi2sd xmm0, dword [ebp - 0x1de0]
movsd xmm1, qword [ebp - 0xb660]
addsd xmm1, xmm0
movsd qword [ebp - 0xb668], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb668]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477683
mov ecx, dword [ebp - 0x1de0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb660]
addsd xmm1, xmm0
movsd qword [ebp - 0xb660], xmm1
jmp 0x47757f
cvtsi2sd xmm0, dword [ebp - 0x1de0]
movsd xmm1, qword [ebp - 0xb660]
addsd xmm1, xmm0
movsd qword [ebp - 0xb670], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb670]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4776e0
mov eax, dword [ebp - 0x1de0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb660]
addsd xmm1, xmm0
movsd qword [ebp - 0xb660], xmm1
jmp 0x4776f9
mov ecx, 1
test ecx, ecx
je 0x4776f5
jmp 0x4777b2
jmp 0x47771c
cvtsi2sd xmm0, dword [ebp - 0x1de0]
movsd xmm1, qword [ebp - 0xb660]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1de4], edx
jmp 0x4777bc
xor eax, eax
je 0x477726
jmp 0x477735
jmp 0x47757f
jmp 0x47757f
mov ecx, 6
test ecx, ecx
je 0x4777b2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1de8], eax
cvtsi2sd xmm0, dword [ebp - 0x1de8]
mov eax, dword [ebp - 0x1de8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb660]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1de4], ecx
jmp 0x4777bc
mov dword [ebp - 0x1de4], 2
mov edx, dword [ebp - 0x1ddc]
shl edx, 2
add edx, dword [ebp - 0x1dd8]
mov eax, dword [ebp - 0x1de4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ddc]
shl ecx, 2
add ecx, dword [ebp - 0x1dd8]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4782f6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x477af1
xor eax, eax
je 0x477866
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4778a2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb678], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x477a42
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x477a42
mov dword [ebp - 0x1dec], 0
jmp 0x477921
cmp dword [ebp - 0x1dec], 9
jae 0x477a3d
cvtsi2sd xmm0, dword [ebp - 0x1dec]
movsd xmm1, qword [ebp - 0xb678]
addsd xmm1, xmm0
movsd qword [ebp - 0xb680], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb680]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477990
mov ecx, dword [ebp - 0x1dec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb678]
addsd xmm1, xmm0
movsd qword [ebp - 0xb678], xmm1
jmp 0x47788c
cvtsi2sd xmm0, dword [ebp - 0x1dec]
movsd xmm1, qword [ebp - 0xb678]
addsd xmm1, xmm0
movsd qword [ebp - 0xb688], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb688]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4779ed
mov eax, dword [ebp - 0x1dec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb678]
addsd xmm1, xmm0
movsd qword [ebp - 0xb678], xmm1
jmp 0x477a06
mov ecx, 1
test ecx, ecx
je 0x477a02
jmp 0x477abf
jmp 0x477a29
cvtsi2sd xmm0, dword [ebp - 0x1dec]
movsd xmm1, qword [ebp - 0xb678]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1df0], edx
jmp 0x477ac9
xor eax, eax
je 0x477a33
jmp 0x477a42
jmp 0x47788c
jmp 0x47788c
mov ecx, 6
test ecx, ecx
je 0x477abf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1df4], eax
cvtsi2sd xmm0, dword [ebp - 0x1df4]
mov eax, dword [ebp - 0x1df4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb678]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1df0], ecx
jmp 0x477ac9
mov dword [ebp - 0x1df0], 2
mov edx, dword [ebp - 0x1ddc]
shl edx, 2
add edx, dword [ebp - 0x1dd8]
mov eax, dword [ebp - 0x1df0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ddc]
shl ecx, 2
add ecx, dword [ebp - 0x1dd8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x477db9
xor eax, eax
je 0x477b2e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x477b6a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb690], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x477d0a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x477d0a
mov dword [ebp - 0x1df8], 0
jmp 0x477be9
cmp dword [ebp - 0x1df8], 9
jae 0x477d05
cvtsi2sd xmm0, dword [ebp - 0x1df8]
movsd xmm1, qword [ebp - 0xb690]
addsd xmm1, xmm0
movsd qword [ebp - 0xb698], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477c58
mov ecx, dword [ebp - 0x1df8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb690]
addsd xmm1, xmm0
movsd qword [ebp - 0xb690], xmm1
jmp 0x477b54
cvtsi2sd xmm0, dword [ebp - 0x1df8]
movsd xmm1, qword [ebp - 0xb690]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb6a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477cb5
mov eax, dword [ebp - 0x1df8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb690]
addsd xmm1, xmm0
movsd qword [ebp - 0xb690], xmm1
jmp 0x477cce
mov ecx, 1
test ecx, ecx
je 0x477cca
jmp 0x477d87
jmp 0x477cf1
cvtsi2sd xmm0, dword [ebp - 0x1df8]
movsd xmm1, qword [ebp - 0xb690]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1dfc], edx
jmp 0x477d91
xor eax, eax
je 0x477cfb
jmp 0x477d0a
jmp 0x477b54
jmp 0x477b54
mov ecx, 6
test ecx, ecx
je 0x477d87
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e00], eax
cvtsi2sd xmm0, dword [ebp - 0x1e00]
mov eax, dword [ebp - 0x1e00]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb690]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1dfc], ecx
jmp 0x477d91
mov dword [ebp - 0x1dfc], 2
mov edx, dword [ebp - 0x1ddc]
shl edx, 2
add edx, dword [ebp - 0x1dd8]
mov eax, dword [ebp - 0x1dfc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ddc]
shl ecx, 2
add ecx, dword [ebp - 0x1dd8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1ddc]
add edx, 0xffffffbd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb6a8], xmm0
xor eax, eax
je 0x477dd3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x477e0f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb6a8]
movsd qword [ebp - 0xb6b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x477faf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x477faf
mov dword [ebp - 0x1e04], 0
jmp 0x477e8e
cmp dword [ebp - 0x1e04], 9
jae 0x477faa
cvtsi2sd xmm0, dword [ebp - 0x1e04]
movsd xmm1, qword [ebp - 0xb6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477efd
mov ecx, dword [ebp - 0x1e04]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6b0], xmm1
jmp 0x477df9
cvtsi2sd xmm0, dword [ebp - 0x1e04]
movsd xmm1, qword [ebp - 0xb6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x477f5a
mov eax, dword [ebp - 0x1e04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6b0], xmm1
jmp 0x477f73
mov ecx, 1
test ecx, ecx
je 0x477f6f
jmp 0x47802c
jmp 0x477f96
cvtsi2sd xmm0, dword [ebp - 0x1e04]
movsd xmm1, qword [ebp - 0xb6b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e08], edx
jmp 0x478036
xor eax, eax
je 0x477fa0
jmp 0x477faf
jmp 0x477df9
jmp 0x477df9
mov ecx, 6
test ecx, ecx
je 0x47802c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e0c], eax
cvtsi2sd xmm0, dword [ebp - 0x1e0c]
mov eax, dword [ebp - 0x1e0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb6b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e08], ecx
jmp 0x478036
mov dword [ebp - 0x1e08], 2
mov edx, dword [ebp - 0x1ddc]
add edx, 0xffffffbd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb6c8], xmm0
xor eax, eax
je 0x478050
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47808c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb6c8]
movsd qword [ebp - 0xb6d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47822c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47822c
mov dword [ebp - 0x1e10], 0
jmp 0x47810b
cmp dword [ebp - 0x1e10], 9
jae 0x478227
cvtsi2sd xmm0, dword [ebp - 0x1e10]
movsd xmm1, qword [ebp - 0xb6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47817a
mov ecx, dword [ebp - 0x1e10]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6d0], xmm1
jmp 0x478076
cvtsi2sd xmm0, dword [ebp - 0x1e10]
movsd xmm1, qword [ebp - 0xb6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb6e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4781d7
mov eax, dword [ebp - 0x1e10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6d0], xmm1
jmp 0x4781f0
mov ecx, 1
test ecx, ecx
je 0x4781ec
jmp 0x4782a9
jmp 0x478213
cvtsi2sd xmm0, dword [ebp - 0x1e10]
movsd xmm1, qword [ebp - 0xb6d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e14], edx
jmp 0x4782b3
xor eax, eax
je 0x47821d
jmp 0x47822c
jmp 0x478076
jmp 0x478076
mov ecx, 6
test ecx, ecx
je 0x4782a9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e18], eax
cvtsi2sd xmm0, dword [ebp - 0x1e18]
mov eax, dword [ebp - 0x1e18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb6d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e14], ecx
jmp 0x4782b3
mov dword [ebp - 0x1e14], 2
mov edx, dword [ebp - 0x1ddc]
shl edx, 2
add edx, dword [ebp - 0x1dd8]
mov eax, dword [ebp - 0x1e08]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1ddc]
shl ecx, 2
add ecx, dword [ebp - 0x1dd8]
mov edx, dword [ebp - 0x1e14]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1ddc]
shl ecx, 2
add ecx, dword [ebp - 0x1dd8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4785be
xor eax, eax
je 0x478333
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47836f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb6e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47850f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47850f
mov dword [ebp - 0x1e1c], 0
jmp 0x4783ee
cmp dword [ebp - 0x1e1c], 9
jae 0x47850a
cvtsi2sd xmm0, dword [ebp - 0x1e1c]
movsd xmm1, qword [ebp - 0xb6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47845d
mov ecx, dword [ebp - 0x1e1c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6e8], xmm1
jmp 0x478359
cvtsi2sd xmm0, dword [ebp - 0x1e1c]
movsd xmm1, qword [ebp - 0xb6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb6f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4784ba
mov eax, dword [ebp - 0x1e1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb6e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb6e8], xmm1
jmp 0x4784d3
mov ecx, 1
test ecx, ecx
je 0x4784cf
jmp 0x47858c
jmp 0x4784f6
cvtsi2sd xmm0, dword [ebp - 0x1e1c]
movsd xmm1, qword [ebp - 0xb6e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e20], edx
jmp 0x478596
xor eax, eax
je 0x478500
jmp 0x47850f
jmp 0x478359
jmp 0x478359
mov ecx, 6
test ecx, ecx
je 0x47858c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e24], eax
cvtsi2sd xmm0, dword [ebp - 0x1e24]
mov eax, dword [ebp - 0x1e24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb6e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e20], ecx
jmp 0x478596
mov dword [ebp - 0x1e20], 2
mov edx, dword [ebp - 0x1ddc]
shl edx, 2
add edx, dword [ebp - 0x1dd8]
mov eax, dword [ebp - 0x1e20]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ddc]
shl ecx, 2
add ecx, dword [ebp - 0x1dd8]
mov dword [ecx], eax
jmp 0x477500
mov edx, dword [ebp - 0x1dd4]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1dd4]
mov dword [ebp - 0x1e28], eax
mov ecx, dword [ebp - 0x1e28]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1e2c], ecx
mov edx, dword [ebp - 0x1e2c]
mov dword [ebp - 0x1dd0], edx
xor eax, eax
mov byte [ebp - 0x52], al
lea ecx, [ebp - 0x52]
call fcn.00424490
mov dword [ebp - 0x1e30], eax
mov ecx, dword [ebp - 0x1e30]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4796fc
mov eax, dword [ebp - 0x1e30]
mov dword [ebp - 0x1e34], eax
mov dword [ebp - 0x1e38], 0
jmp 0x478648
mov ecx, dword [ebp - 0x1e38]
add ecx, 1
mov dword [ebp - 0x1e38], ecx
cmp dword [ebp - 0x1e38], 1
jae 0x4796fc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47891d
xor eax, eax
je 0x478692
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4786ce
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726340]
movsd qword [ebp - 0xb700], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47886e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47886e
mov dword [ebp - 0x1e3c], 0
jmp 0x47874d
cmp dword [ebp - 0x1e3c], 9
jae 0x478869
cvtsi2sd xmm0, dword [ebp - 0x1e3c]
movsd xmm1, qword [ebp - 0xb700]
addsd xmm1, xmm0
movsd qword [ebp - 0xb708], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb708]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4787bc
mov ecx, dword [ebp - 0x1e3c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb700]
addsd xmm1, xmm0
movsd qword [ebp - 0xb700], xmm1
jmp 0x4786b8
cvtsi2sd xmm0, dword [ebp - 0x1e3c]
movsd xmm1, qword [ebp - 0xb700]
addsd xmm1, xmm0
movsd qword [ebp - 0xb710], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb710]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478819
mov eax, dword [ebp - 0x1e3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb700]
addsd xmm1, xmm0
movsd qword [ebp - 0xb700], xmm1
jmp 0x478832
mov ecx, 1
test ecx, ecx
je 0x47882e
jmp 0x4788eb
jmp 0x478855
cvtsi2sd xmm0, dword [ebp - 0x1e3c]
movsd xmm1, qword [ebp - 0xb700]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e40], edx
jmp 0x4788f5
xor eax, eax
je 0x47885f
jmp 0x47886e
jmp 0x4786b8
jmp 0x4786b8
mov ecx, 6
test ecx, ecx
je 0x4788eb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e44], eax
cvtsi2sd xmm0, dword [ebp - 0x1e44]
mov eax, dword [ebp - 0x1e44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb700]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e40], ecx
jmp 0x4788f5
mov dword [ebp - 0x1e40], 2
mov edx, dword [ebp - 0x1e38]
shl edx, 2
add edx, dword [ebp - 0x1e34]
mov eax, dword [ebp - 0x1e40]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e38]
shl ecx, 2
add ecx, dword [ebp - 0x1e34]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47942f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x478c2a
xor eax, eax
je 0x47899f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4789db
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb718], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x478b7b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x478b7b
mov dword [ebp - 0x1e48], 0
jmp 0x478a5a
cmp dword [ebp - 0x1e48], 9
jae 0x478b76
cvtsi2sd xmm0, dword [ebp - 0x1e48]
movsd xmm1, qword [ebp - 0xb718]
addsd xmm1, xmm0
movsd qword [ebp - 0xb720], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb720]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478ac9
mov ecx, dword [ebp - 0x1e48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb718]
addsd xmm1, xmm0
movsd qword [ebp - 0xb718], xmm1
jmp 0x4789c5
cvtsi2sd xmm0, dword [ebp - 0x1e48]
movsd xmm1, qword [ebp - 0xb718]
addsd xmm1, xmm0
movsd qword [ebp - 0xb728], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb728]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478b26
mov eax, dword [ebp - 0x1e48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb718]
addsd xmm1, xmm0
movsd qword [ebp - 0xb718], xmm1
jmp 0x478b3f
mov ecx, 1
test ecx, ecx
je 0x478b3b
jmp 0x478bf8
jmp 0x478b62
cvtsi2sd xmm0, dword [ebp - 0x1e48]
movsd xmm1, qword [ebp - 0xb718]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e4c], edx
jmp 0x478c02
xor eax, eax
je 0x478b6c
jmp 0x478b7b
jmp 0x4789c5
jmp 0x4789c5
mov ecx, 6
test ecx, ecx
je 0x478bf8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e50], eax
cvtsi2sd xmm0, dword [ebp - 0x1e50]
mov eax, dword [ebp - 0x1e50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb718]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e4c], ecx
jmp 0x478c02
mov dword [ebp - 0x1e4c], 2
mov edx, dword [ebp - 0x1e38]
shl edx, 2
add edx, dword [ebp - 0x1e34]
mov eax, dword [ebp - 0x1e4c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e38]
shl ecx, 2
add ecx, dword [ebp - 0x1e34]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x478ef2
xor eax, eax
je 0x478c67
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x478ca3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb730], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x478e43
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x478e43
mov dword [ebp - 0x1e54], 0
jmp 0x478d22
cmp dword [ebp - 0x1e54], 9
jae 0x478e3e
cvtsi2sd xmm0, dword [ebp - 0x1e54]
movsd xmm1, qword [ebp - 0xb730]
addsd xmm1, xmm0
movsd qword [ebp - 0xb738], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478d91
mov ecx, dword [ebp - 0x1e54]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb730]
addsd xmm1, xmm0
movsd qword [ebp - 0xb730], xmm1
jmp 0x478c8d
cvtsi2sd xmm0, dword [ebp - 0x1e54]
movsd xmm1, qword [ebp - 0xb730]
addsd xmm1, xmm0
movsd qword [ebp - 0xb740], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb740]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x478dee
mov eax, dword [ebp - 0x1e54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb730]
addsd xmm1, xmm0
movsd qword [ebp - 0xb730], xmm1
jmp 0x478e07
mov ecx, 1
test ecx, ecx
je 0x478e03
jmp 0x478ec0
jmp 0x478e2a
cvtsi2sd xmm0, dword [ebp - 0x1e54]
movsd xmm1, qword [ebp - 0xb730]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e58], edx
jmp 0x478eca
xor eax, eax
je 0x478e34
jmp 0x478e43
jmp 0x478c8d
jmp 0x478c8d
mov ecx, 6
test ecx, ecx
je 0x478ec0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e5c], eax
cvtsi2sd xmm0, dword [ebp - 0x1e5c]
mov eax, dword [ebp - 0x1e5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb730]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e58], ecx
jmp 0x478eca
mov dword [ebp - 0x1e58], 2
mov edx, dword [ebp - 0x1e38]
shl edx, 2
add edx, dword [ebp - 0x1e34]
mov eax, dword [ebp - 0x1e58]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e38]
shl ecx, 2
add ecx, dword [ebp - 0x1e34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e38]
add edx, 0xffffffbd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb748], xmm0
xor eax, eax
je 0x478f0c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x478f48
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb748]
movsd qword [ebp - 0xb750], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4790e8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4790e8
mov dword [ebp - 0x1e60], 0
jmp 0x478fc7
cmp dword [ebp - 0x1e60], 9
jae 0x4790e3
cvtsi2sd xmm0, dword [ebp - 0x1e60]
movsd xmm1, qword [ebp - 0xb750]
addsd xmm1, xmm0
movsd qword [ebp - 0xb758], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb758]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479036
mov ecx, dword [ebp - 0x1e60]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb750]
addsd xmm1, xmm0
movsd qword [ebp - 0xb750], xmm1
jmp 0x478f32
cvtsi2sd xmm0, dword [ebp - 0x1e60]
movsd xmm1, qword [ebp - 0xb750]
addsd xmm1, xmm0
movsd qword [ebp - 0xb760], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb760]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479093
mov eax, dword [ebp - 0x1e60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb750]
addsd xmm1, xmm0
movsd qword [ebp - 0xb750], xmm1
jmp 0x4790ac
mov ecx, 1
test ecx, ecx
je 0x4790a8
jmp 0x479165
jmp 0x4790cf
cvtsi2sd xmm0, dword [ebp - 0x1e60]
movsd xmm1, qword [ebp - 0xb750]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e64], edx
jmp 0x47916f
xor eax, eax
je 0x4790d9
jmp 0x4790e8
jmp 0x478f32
jmp 0x478f32
mov ecx, 6
test ecx, ecx
je 0x479165
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e68], eax
cvtsi2sd xmm0, dword [ebp - 0x1e68]
mov eax, dword [ebp - 0x1e68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb750]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e64], ecx
jmp 0x47916f
mov dword [ebp - 0x1e64], 2
mov edx, dword [ebp - 0x1e38]
add edx, 0xffffffbd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb768], xmm0
xor eax, eax
je 0x479189
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4791c5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb768]
movsd qword [ebp - 0xb770], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x479365
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x479365
mov dword [ebp - 0x1e6c], 0
jmp 0x479244
cmp dword [ebp - 0x1e6c], 9
jae 0x479360
cvtsi2sd xmm0, dword [ebp - 0x1e6c]
movsd xmm1, qword [ebp - 0xb770]
addsd xmm1, xmm0
movsd qword [ebp - 0xb778], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4792b3
mov ecx, dword [ebp - 0x1e6c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb770]
addsd xmm1, xmm0
movsd qword [ebp - 0xb770], xmm1
jmp 0x4791af
cvtsi2sd xmm0, dword [ebp - 0x1e6c]
movsd xmm1, qword [ebp - 0xb770]
addsd xmm1, xmm0
movsd qword [ebp - 0xb780], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb780]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479310
mov eax, dword [ebp - 0x1e6c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb770]
addsd xmm1, xmm0
movsd qword [ebp - 0xb770], xmm1
jmp 0x479329
mov ecx, 1
test ecx, ecx
je 0x479325
jmp 0x4793e2
jmp 0x47934c
cvtsi2sd xmm0, dword [ebp - 0x1e6c]
movsd xmm1, qword [ebp - 0xb770]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e70], edx
jmp 0x4793ec
xor eax, eax
je 0x479356
jmp 0x479365
jmp 0x4791af
jmp 0x4791af
mov ecx, 6
test ecx, ecx
je 0x4793e2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e74], eax
cvtsi2sd xmm0, dword [ebp - 0x1e74]
mov eax, dword [ebp - 0x1e74]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb770]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e70], ecx
jmp 0x4793ec
mov dword [ebp - 0x1e70], 2
mov edx, dword [ebp - 0x1e38]
shl edx, 2
add edx, dword [ebp - 0x1e34]
mov eax, dword [ebp - 0x1e64]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1e38]
shl ecx, 2
add ecx, dword [ebp - 0x1e34]
mov edx, dword [ebp - 0x1e70]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1e38]
shl ecx, 2
add ecx, dword [ebp - 0x1e34]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4796f7
xor eax, eax
je 0x47946c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4794a8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb788], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x479648
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x479648
mov dword [ebp - 0x1e78], 0
jmp 0x479527
cmp dword [ebp - 0x1e78], 9
jae 0x479643
cvtsi2sd xmm0, dword [ebp - 0x1e78]
movsd xmm1, qword [ebp - 0xb788]
addsd xmm1, xmm0
movsd qword [ebp - 0xb790], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb790]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479596
mov ecx, dword [ebp - 0x1e78]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb788]
addsd xmm1, xmm0
movsd qword [ebp - 0xb788], xmm1
jmp 0x479492
cvtsi2sd xmm0, dword [ebp - 0x1e78]
movsd xmm1, qword [ebp - 0xb788]
addsd xmm1, xmm0
movsd qword [ebp - 0xb798], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4795f3
mov eax, dword [ebp - 0x1e78]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb788]
addsd xmm1, xmm0
movsd qword [ebp - 0xb788], xmm1
jmp 0x47960c
mov ecx, 1
test ecx, ecx
je 0x479608
jmp 0x4796c5
jmp 0x47962f
cvtsi2sd xmm0, dword [ebp - 0x1e78]
movsd xmm1, qword [ebp - 0xb788]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1e7c], edx
jmp 0x4796cf
xor eax, eax
je 0x479639
jmp 0x479648
jmp 0x479492
jmp 0x479492
mov ecx, 6
test ecx, ecx
je 0x4796c5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1e80], eax
cvtsi2sd xmm0, dword [ebp - 0x1e80]
mov eax, dword [ebp - 0x1e80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb788]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1e7c], ecx
jmp 0x4796cf
mov dword [ebp - 0x1e7c], 2
mov edx, dword [ebp - 0x1e38]
shl edx, 2
add edx, dword [ebp - 0x1e34]
mov eax, dword [ebp - 0x1e7c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e38]
shl ecx, 2
add ecx, dword [ebp - 0x1e34]
mov dword [ecx], eax
jmp 0x478639
mov edx, dword [ebp - 0x1e30]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1e30]
mov dword [ebp - 0x1e84], eax
mov ecx, dword [ebp - 0x1e84]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1e88], ecx
mov edx, dword [ebp - 0x1e88]
mov dword [ebp - 0x1e8c], edx
xor eax, eax
mov byte [ebp - 0x53], al
lea ecx, [ebp - 0x53]
call fcn.00424460
mov dword [ebp - 0x1e90], eax
mov ecx, dword [ebp - 0x1e90]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x47a835
mov eax, dword [ebp - 0x1e90]
mov dword [ebp - 0x1e94], eax
mov dword [ebp - 0x1e98], 0
jmp 0x479781
mov ecx, dword [ebp - 0x1e98]
add ecx, 1
mov dword [ebp - 0x1e98], ecx
cmp dword [ebp - 0x1e98], 1
jae 0x47a835
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x479a56
xor eax, eax
je 0x4797cb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x479807
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb7a0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4799a7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4799a7
mov dword [ebp - 0x1e9c], 0
jmp 0x479886
cmp dword [ebp - 0x1e9c], 9
jae 0x4799a2
cvtsi2sd xmm0, dword [ebp - 0x1e9c]
movsd xmm1, qword [ebp - 0xb7a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4798f5
mov ecx, dword [ebp - 0x1e9c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb7a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7a0], xmm1
jmp 0x4797f1
cvtsi2sd xmm0, dword [ebp - 0x1e9c]
movsd xmm1, qword [ebp - 0xb7a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb7b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479952
mov eax, dword [ebp - 0x1e9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7a0], xmm1
jmp 0x47996b
mov ecx, 1
test ecx, ecx
je 0x479967
jmp 0x479a24
jmp 0x47998e
cvtsi2sd xmm0, dword [ebp - 0x1e9c]
movsd xmm1, qword [ebp - 0xb7a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ea0], edx
jmp 0x479a2e
xor eax, eax
je 0x479998
jmp 0x4799a7
jmp 0x4797f1
jmp 0x4797f1
mov ecx, 6
test ecx, ecx
je 0x479a24
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ea4], eax
cvtsi2sd xmm0, dword [ebp - 0x1ea4]
mov eax, dword [ebp - 0x1ea4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb7a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ea0], ecx
jmp 0x479a2e
mov dword [ebp - 0x1ea0], 2
mov edx, dword [ebp - 0x1e98]
shl edx, 2
add edx, dword [ebp - 0x1e94]
mov eax, dword [ebp - 0x1ea0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
shl ecx, 2
add ecx, dword [ebp - 0x1e94]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47a568
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x479d63
xor eax, eax
je 0x479ad8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x479b14
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb7b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x479cb4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x479cb4
mov dword [ebp - 0x1ea8], 0
jmp 0x479b93
cmp dword [ebp - 0x1ea8], 9
jae 0x479caf
cvtsi2sd xmm0, dword [ebp - 0x1ea8]
movsd xmm1, qword [ebp - 0xb7b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479c02
mov ecx, dword [ebp - 0x1ea8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb7b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7b8], xmm1
jmp 0x479afe
cvtsi2sd xmm0, dword [ebp - 0x1ea8]
movsd xmm1, qword [ebp - 0xb7b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb7c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479c5f
mov eax, dword [ebp - 0x1ea8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7b8], xmm1
jmp 0x479c78
mov ecx, 1
test ecx, ecx
je 0x479c74
jmp 0x479d31
jmp 0x479c9b
cvtsi2sd xmm0, dword [ebp - 0x1ea8]
movsd xmm1, qword [ebp - 0xb7b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1eac], edx
jmp 0x479d3b
xor eax, eax
je 0x479ca5
jmp 0x479cb4
jmp 0x479afe
jmp 0x479afe
mov ecx, 6
test ecx, ecx
je 0x479d31
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1eb0], eax
cvtsi2sd xmm0, dword [ebp - 0x1eb0]
mov eax, dword [ebp - 0x1eb0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb7b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1eac], ecx
jmp 0x479d3b
mov dword [ebp - 0x1eac], 2
mov edx, dword [ebp - 0x1e98]
shl edx, 2
add edx, dword [ebp - 0x1e94]
mov eax, dword [ebp - 0x1eac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
shl ecx, 2
add ecx, dword [ebp - 0x1e94]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47a02b
xor eax, eax
je 0x479da0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x479ddc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb7d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x479f7c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x479f7c
mov dword [ebp - 0x1eb4], 0
jmp 0x479e5b
cmp dword [ebp - 0x1eb4], 9
jae 0x479f77
cvtsi2sd xmm0, dword [ebp - 0x1eb4]
movsd xmm1, qword [ebp - 0xb7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479eca
mov ecx, dword [ebp - 0x1eb4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7d0], xmm1
jmp 0x479dc6
cvtsi2sd xmm0, dword [ebp - 0x1eb4]
movsd xmm1, qword [ebp - 0xb7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb7e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x479f27
mov eax, dword [ebp - 0x1eb4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7d0], xmm1
jmp 0x479f40
mov ecx, 1
test ecx, ecx
je 0x479f3c
jmp 0x479ff9
jmp 0x479f63
cvtsi2sd xmm0, dword [ebp - 0x1eb4]
movsd xmm1, qword [ebp - 0xb7d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1eb8], edx
jmp 0x47a003
xor eax, eax
je 0x479f6d
jmp 0x479f7c
jmp 0x479dc6
jmp 0x479dc6
mov ecx, 6
test ecx, ecx
je 0x479ff9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ebc], eax
cvtsi2sd xmm0, dword [ebp - 0x1ebc]
mov eax, dword [ebp - 0x1ebc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb7d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1eb8], ecx
jmp 0x47a003
mov dword [ebp - 0x1eb8], 2
mov edx, dword [ebp - 0x1e98]
shl edx, 2
add edx, dword [ebp - 0x1e94]
mov eax, dword [ebp - 0x1eb8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
shl ecx, 2
add ecx, dword [ebp - 0x1e94]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1e98]
add edx, 0xffffffbe
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb7e8], xmm0
xor eax, eax
je 0x47a045
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47a081
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb7e8]
movsd qword [ebp - 0xb7f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47a221
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47a221
mov dword [ebp - 0x1ec0], 0
jmp 0x47a100
cmp dword [ebp - 0x1ec0], 9
jae 0x47a21c
cvtsi2sd xmm0, dword [ebp - 0x1ec0]
movsd xmm1, qword [ebp - 0xb7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a16f
mov ecx, dword [ebp - 0x1ec0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7f0], xmm1
jmp 0x47a06b
cvtsi2sd xmm0, dword [ebp - 0x1ec0]
movsd xmm1, qword [ebp - 0xb7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb800], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb800]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a1cc
mov eax, dword [ebp - 0x1ec0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb7f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb7f0], xmm1
jmp 0x47a1e5
mov ecx, 1
test ecx, ecx
je 0x47a1e1
jmp 0x47a29e
jmp 0x47a208
cvtsi2sd xmm0, dword [ebp - 0x1ec0]
movsd xmm1, qword [ebp - 0xb7f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ec4], edx
jmp 0x47a2a8
xor eax, eax
je 0x47a212
jmp 0x47a221
jmp 0x47a06b
jmp 0x47a06b
mov ecx, 6
test ecx, ecx
je 0x47a29e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ec8], eax
cvtsi2sd xmm0, dword [ebp - 0x1ec8]
mov eax, dword [ebp - 0x1ec8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb7f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ec4], ecx
jmp 0x47a2a8
mov dword [ebp - 0x1ec4], 2
mov edx, dword [ebp - 0x1e98]
add edx, 0xffffffbe
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb808], xmm0
xor eax, eax
je 0x47a2c2
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47a2fe
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb808]
movsd qword [ebp - 0xb810], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47a49e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47a49e
mov dword [ebp - 0x1ecc], 0
jmp 0x47a37d
cmp dword [ebp - 0x1ecc], 9
jae 0x47a499
cvtsi2sd xmm0, dword [ebp - 0x1ecc]
movsd xmm1, qword [ebp - 0xb810]
addsd xmm1, xmm0
movsd qword [ebp - 0xb818], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a3ec
mov ecx, dword [ebp - 0x1ecc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb810]
addsd xmm1, xmm0
movsd qword [ebp - 0xb810], xmm1
jmp 0x47a2e8
cvtsi2sd xmm0, dword [ebp - 0x1ecc]
movsd xmm1, qword [ebp - 0xb810]
addsd xmm1, xmm0
movsd qword [ebp - 0xb820], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb820]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a449
mov eax, dword [ebp - 0x1ecc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb810]
addsd xmm1, xmm0
movsd qword [ebp - 0xb810], xmm1
jmp 0x47a462
mov ecx, 1
test ecx, ecx
je 0x47a45e
jmp 0x47a51b
jmp 0x47a485
cvtsi2sd xmm0, dword [ebp - 0x1ecc]
movsd xmm1, qword [ebp - 0xb810]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ed0], edx
jmp 0x47a525
xor eax, eax
je 0x47a48f
jmp 0x47a49e
jmp 0x47a2e8
jmp 0x47a2e8
mov ecx, 6
test ecx, ecx
je 0x47a51b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ed4], eax
cvtsi2sd xmm0, dword [ebp - 0x1ed4]
mov eax, dword [ebp - 0x1ed4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb810]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ed0], ecx
jmp 0x47a525
mov dword [ebp - 0x1ed0], 2
mov edx, dword [ebp - 0x1e98]
shl edx, 2
add edx, dword [ebp - 0x1e94]
mov eax, dword [ebp - 0x1ec4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
shl ecx, 2
add ecx, dword [ebp - 0x1e94]
mov edx, dword [ebp - 0x1ed0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1e98]
shl ecx, 2
add ecx, dword [ebp - 0x1e94]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47a830
xor eax, eax
je 0x47a5a5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47a5e1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xb828], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47a781
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47a781
mov dword [ebp - 0x1ed8], 0
jmp 0x47a660
cmp dword [ebp - 0x1ed8], 9
jae 0x47a77c
cvtsi2sd xmm0, dword [ebp - 0x1ed8]
movsd xmm1, qword [ebp - 0xb828]
addsd xmm1, xmm0
movsd qword [ebp - 0xb830], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb830]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a6cf
mov ecx, dword [ebp - 0x1ed8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb828]
addsd xmm1, xmm0
movsd qword [ebp - 0xb828], xmm1
jmp 0x47a5cb
cvtsi2sd xmm0, dword [ebp - 0x1ed8]
movsd xmm1, qword [ebp - 0xb828]
addsd xmm1, xmm0
movsd qword [ebp - 0xb838], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47a72c
mov eax, dword [ebp - 0x1ed8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb828]
addsd xmm1, xmm0
movsd qword [ebp - 0xb828], xmm1
jmp 0x47a745
mov ecx, 1
test ecx, ecx
je 0x47a741
jmp 0x47a7fe
jmp 0x47a768
cvtsi2sd xmm0, dword [ebp - 0x1ed8]
movsd xmm1, qword [ebp - 0xb828]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1edc], edx
jmp 0x47a808
xor eax, eax
je 0x47a772
jmp 0x47a781
jmp 0x47a5cb
jmp 0x47a5cb
mov ecx, 6
test ecx, ecx
je 0x47a7fe
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ee0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ee0]
mov eax, dword [ebp - 0x1ee0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb828]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1edc], ecx
jmp 0x47a808
mov dword [ebp - 0x1edc], 2
mov edx, dword [ebp - 0x1e98]
shl edx, 2
add edx, dword [ebp - 0x1e94]
mov eax, dword [ebp - 0x1edc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1e98]
shl ecx, 2
add ecx, dword [ebp - 0x1e94]
mov dword [ecx], eax
jmp 0x479772
mov edx, dword [ebp - 0x1e90]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1e90]
mov dword [ebp - 0x1ee4], eax
mov ecx, dword [ebp - 0x1ee4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1ee8], ecx
mov edx, dword [ebp - 0x1ee8]
mov dword [ebp - 0x1eec], edx
xor eax, eax
mov byte [ebp - 0x54], al
lea ecx, [ebp - 0x54]
call fcn.00424430
mov dword [ebp - 0x1ef0], eax
mov ecx, dword [ebp - 0x1ef0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x47b96e
mov eax, dword [ebp - 0x1ef0]
mov dword [ebp - 0x1ef4], eax
mov dword [ebp - 0x1ef8], 0
jmp 0x47a8ba
mov ecx, dword [ebp - 0x1ef8]
add ecx, 1
mov dword [ebp - 0x1ef8], ecx
cmp dword [ebp - 0x1ef8], 1
jae 0x47b96e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47ab8f
xor eax, eax
je 0x47a904
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47a940
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726338]
movsd qword [ebp - 0xb840], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47aae0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47aae0
mov dword [ebp - 0x1efc], 0
jmp 0x47a9bf
cmp dword [ebp - 0x1efc], 9
jae 0x47aadb
cvtsi2sd xmm0, dword [ebp - 0x1efc]
movsd xmm1, qword [ebp - 0xb840]
addsd xmm1, xmm0
movsd qword [ebp - 0xb848], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb848]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47aa2e
mov ecx, dword [ebp - 0x1efc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb840]
addsd xmm1, xmm0
movsd qword [ebp - 0xb840], xmm1
jmp 0x47a92a
cvtsi2sd xmm0, dword [ebp - 0x1efc]
movsd xmm1, qword [ebp - 0xb840]
addsd xmm1, xmm0
movsd qword [ebp - 0xb850], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb850]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47aa8b
mov eax, dword [ebp - 0x1efc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb840]
addsd xmm1, xmm0
movsd qword [ebp - 0xb840], xmm1
jmp 0x47aaa4
mov ecx, 1
test ecx, ecx
je 0x47aaa0
jmp 0x47ab5d
jmp 0x47aac7
cvtsi2sd xmm0, dword [ebp - 0x1efc]
movsd xmm1, qword [ebp - 0xb840]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f00], edx
jmp 0x47ab67
xor eax, eax
je 0x47aad1
jmp 0x47aae0
jmp 0x47a92a
jmp 0x47a92a
mov ecx, 6
test ecx, ecx
je 0x47ab5d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f04], eax
cvtsi2sd xmm0, dword [ebp - 0x1f04]
mov eax, dword [ebp - 0x1f04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb840]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f00], ecx
jmp 0x47ab67
mov dword [ebp - 0x1f00], 2
mov edx, dword [ebp - 0x1ef8]
shl edx, 2
add edx, dword [ebp - 0x1ef4]
mov eax, dword [ebp - 0x1f00]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ef8]
shl ecx, 2
add ecx, dword [ebp - 0x1ef4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47b6a1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47ae9c
xor eax, eax
je 0x47ac11
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47ac4d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb858], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47aded
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47aded
mov dword [ebp - 0x1f08], 0
jmp 0x47accc
cmp dword [ebp - 0x1f08], 9
jae 0x47ade8
cvtsi2sd xmm0, dword [ebp - 0x1f08]
movsd xmm1, qword [ebp - 0xb858]
addsd xmm1, xmm0
movsd qword [ebp - 0xb860], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb860]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47ad3b
mov ecx, dword [ebp - 0x1f08]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb858]
addsd xmm1, xmm0
movsd qword [ebp - 0xb858], xmm1
jmp 0x47ac37
cvtsi2sd xmm0, dword [ebp - 0x1f08]
movsd xmm1, qword [ebp - 0xb858]
addsd xmm1, xmm0
movsd qword [ebp - 0xb868], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb868]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47ad98
mov eax, dword [ebp - 0x1f08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb858]
addsd xmm1, xmm0
movsd qword [ebp - 0xb858], xmm1
jmp 0x47adb1
mov ecx, 1
test ecx, ecx
je 0x47adad
jmp 0x47ae6a
jmp 0x47add4
cvtsi2sd xmm0, dword [ebp - 0x1f08]
movsd xmm1, qword [ebp - 0xb858]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f0c], edx
jmp 0x47ae74
xor eax, eax
je 0x47adde
jmp 0x47aded
jmp 0x47ac37
jmp 0x47ac37
mov ecx, 6
test ecx, ecx
je 0x47ae6a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f10], eax
cvtsi2sd xmm0, dword [ebp - 0x1f10]
mov eax, dword [ebp - 0x1f10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb858]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f0c], ecx
jmp 0x47ae74
mov dword [ebp - 0x1f0c], 2
mov edx, dword [ebp - 0x1ef8]
shl edx, 2
add edx, dword [ebp - 0x1ef4]
mov eax, dword [ebp - 0x1f0c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ef8]
shl ecx, 2
add ecx, dword [ebp - 0x1ef4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47b164
xor eax, eax
je 0x47aed9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47af15
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb870], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47b0b5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47b0b5
mov dword [ebp - 0x1f14], 0
jmp 0x47af94
cmp dword [ebp - 0x1f14], 9
jae 0x47b0b0
cvtsi2sd xmm0, dword [ebp - 0x1f14]
movsd xmm1, qword [ebp - 0xb870]
addsd xmm1, xmm0
movsd qword [ebp - 0xb878], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b003
mov ecx, dword [ebp - 0x1f14]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb870]
addsd xmm1, xmm0
movsd qword [ebp - 0xb870], xmm1
jmp 0x47aeff
cvtsi2sd xmm0, dword [ebp - 0x1f14]
movsd xmm1, qword [ebp - 0xb870]
addsd xmm1, xmm0
movsd qword [ebp - 0xb880], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb880]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b060
mov eax, dword [ebp - 0x1f14]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb870]
addsd xmm1, xmm0
movsd qword [ebp - 0xb870], xmm1
jmp 0x47b079
mov ecx, 1
test ecx, ecx
je 0x47b075
jmp 0x47b132
jmp 0x47b09c
cvtsi2sd xmm0, dword [ebp - 0x1f14]
movsd xmm1, qword [ebp - 0xb870]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f18], edx
jmp 0x47b13c
xor eax, eax
je 0x47b0a6
jmp 0x47b0b5
jmp 0x47aeff
jmp 0x47aeff
mov ecx, 6
test ecx, ecx
je 0x47b132
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f1c], eax
cvtsi2sd xmm0, dword [ebp - 0x1f1c]
mov eax, dword [ebp - 0x1f1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb870]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f18], ecx
jmp 0x47b13c
mov dword [ebp - 0x1f18], 2
mov edx, dword [ebp - 0x1ef8]
shl edx, 2
add edx, dword [ebp - 0x1ef4]
mov eax, dword [ebp - 0x1f18]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ef8]
shl ecx, 2
add ecx, dword [ebp - 0x1ef4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1ef8]
add edx, 0xffffffbe
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb888], xmm0
xor eax, eax
je 0x47b17e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47b1ba
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb888]
movsd qword [ebp - 0xb890], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47b35a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47b35a
mov dword [ebp - 0x1f20], 0
jmp 0x47b239
cmp dword [ebp - 0x1f20], 9
jae 0x47b355
cvtsi2sd xmm0, dword [ebp - 0x1f20]
movsd xmm1, qword [ebp - 0xb890]
addsd xmm1, xmm0
movsd qword [ebp - 0xb898], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb898]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b2a8
mov ecx, dword [ebp - 0x1f20]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb890]
addsd xmm1, xmm0
movsd qword [ebp - 0xb890], xmm1
jmp 0x47b1a4
cvtsi2sd xmm0, dword [ebp - 0x1f20]
movsd xmm1, qword [ebp - 0xb890]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb8a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b305
mov eax, dword [ebp - 0x1f20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb890]
addsd xmm1, xmm0
movsd qword [ebp - 0xb890], xmm1
jmp 0x47b31e
mov ecx, 1
test ecx, ecx
je 0x47b31a
jmp 0x47b3d7
jmp 0x47b341
cvtsi2sd xmm0, dword [ebp - 0x1f20]
movsd xmm1, qword [ebp - 0xb890]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f24], edx
jmp 0x47b3e1
xor eax, eax
je 0x47b34b
jmp 0x47b35a
jmp 0x47b1a4
jmp 0x47b1a4
mov ecx, 6
test ecx, ecx
je 0x47b3d7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f28], eax
cvtsi2sd xmm0, dword [ebp - 0x1f28]
mov eax, dword [ebp - 0x1f28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb890]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f24], ecx
jmp 0x47b3e1
mov dword [ebp - 0x1f24], 2
mov edx, dword [ebp - 0x1ef8]
add edx, 0xffffffbe
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb8a8], xmm0
xor eax, eax
je 0x47b3fb
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47b437
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb8a8]
movsd qword [ebp - 0xb8b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47b5d7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47b5d7
mov dword [ebp - 0x1f2c], 0
jmp 0x47b4b6
cmp dword [ebp - 0x1f2c], 9
jae 0x47b5d2
cvtsi2sd xmm0, dword [ebp - 0x1f2c]
movsd xmm1, qword [ebp - 0xb8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b525
mov ecx, dword [ebp - 0x1f2c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8b0], xmm1
jmp 0x47b421
cvtsi2sd xmm0, dword [ebp - 0x1f2c]
movsd xmm1, qword [ebp - 0xb8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb8c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b582
mov eax, dword [ebp - 0x1f2c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8b0], xmm1
jmp 0x47b59b
mov ecx, 1
test ecx, ecx
je 0x47b597
jmp 0x47b654
jmp 0x47b5be
cvtsi2sd xmm0, dword [ebp - 0x1f2c]
movsd xmm1, qword [ebp - 0xb8b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f30], edx
jmp 0x47b65e
xor eax, eax
je 0x47b5c8
jmp 0x47b5d7
jmp 0x47b421
jmp 0x47b421
mov ecx, 6
test ecx, ecx
je 0x47b654
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f34], eax
cvtsi2sd xmm0, dword [ebp - 0x1f34]
mov eax, dword [ebp - 0x1f34]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb8b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f30], ecx
jmp 0x47b65e
mov dword [ebp - 0x1f30], 2
mov edx, dword [ebp - 0x1ef8]
shl edx, 2
add edx, dword [ebp - 0x1ef4]
mov eax, dword [ebp - 0x1f24]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1ef8]
shl ecx, 2
add ecx, dword [ebp - 0x1ef4]
mov edx, dword [ebp - 0x1f30]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1ef8]
shl ecx, 2
add ecx, dword [ebp - 0x1ef4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47b969
xor eax, eax
je 0x47b6de
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47b71a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xb8c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47b8ba
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47b8ba
mov dword [ebp - 0x1f38], 0
jmp 0x47b799
cmp dword [ebp - 0x1f38], 9
jae 0x47b8b5
cvtsi2sd xmm0, dword [ebp - 0x1f38]
movsd xmm1, qword [ebp - 0xb8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b808
mov ecx, dword [ebp - 0x1f38]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8c8], xmm1
jmp 0x47b704
cvtsi2sd xmm0, dword [ebp - 0x1f38]
movsd xmm1, qword [ebp - 0xb8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb8d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47b865
mov eax, dword [ebp - 0x1f38]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8c8], xmm1
jmp 0x47b87e
mov ecx, 1
test ecx, ecx
je 0x47b87a
jmp 0x47b937
jmp 0x47b8a1
cvtsi2sd xmm0, dword [ebp - 0x1f38]
movsd xmm1, qword [ebp - 0xb8c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f3c], edx
jmp 0x47b941
xor eax, eax
je 0x47b8ab
jmp 0x47b8ba
jmp 0x47b704
jmp 0x47b704
mov ecx, 6
test ecx, ecx
je 0x47b937
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f40], eax
cvtsi2sd xmm0, dword [ebp - 0x1f40]
mov eax, dword [ebp - 0x1f40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb8c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f3c], ecx
jmp 0x47b941
mov dword [ebp - 0x1f3c], 2
mov edx, dword [ebp - 0x1ef8]
shl edx, 2
add edx, dword [ebp - 0x1ef4]
mov eax, dword [ebp - 0x1f3c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ef8]
shl ecx, 2
add ecx, dword [ebp - 0x1ef4]
mov dword [ecx], eax
jmp 0x47a8ab
mov edx, dword [ebp - 0x1ef0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1ef0]
mov dword [ebp - 0x1f44], eax
mov ecx, dword [ebp - 0x1f44]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1f48], ecx
mov edx, dword [ebp - 0x1f48]
mov dword [ebp - 0x1f4c], edx
mov eax, dword [ebp - 0x1eec]
mov dword [ebp - 0x1e8c], eax
cmp dword [ebp - 0x1e8c], 0
je 0x47caf9
xor ecx, ecx
mov byte [ebp - 0x55], cl
lea ecx, [ebp - 0x55]
call fcn.00424400
mov dword [ebp - 0x1f50], eax
mov edx, dword [ebp - 0x1f50]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x47cac0
mov ecx, dword [ebp - 0x1f50]
mov dword [ebp - 0x1f54], ecx
mov dword [ebp - 0x1f58], 0
jmp 0x47ba0c
mov edx, dword [ebp - 0x1f58]
add edx, 1
mov dword [ebp - 0x1f58], edx
cmp dword [ebp - 0x1f58], 1
jae 0x47cac0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47bce1
xor eax, eax
je 0x47ba56
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x47ba92
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb8e0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47bc32
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47bc32
mov dword [ebp - 0x1f5c], 0
jmp 0x47bb11
cmp dword [ebp - 0x1f5c], 9
jae 0x47bc2d
cvtsi2sd xmm0, dword [ebp - 0x1f5c]
movsd xmm1, qword [ebp - 0xb8e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47bb80
mov ecx, dword [ebp - 0x1f5c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb8e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8e0], xmm1
jmp 0x47ba7c
cvtsi2sd xmm0, dword [ebp - 0x1f5c]
movsd xmm1, qword [ebp - 0xb8e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb8f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47bbdd
mov eax, dword [ebp - 0x1f5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8e0], xmm1
jmp 0x47bbf6
mov ecx, 1
test ecx, ecx
je 0x47bbf2
jmp 0x47bcaf
jmp 0x47bc19
cvtsi2sd xmm0, dword [ebp - 0x1f5c]
movsd xmm1, qword [ebp - 0xb8e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f60], edx
jmp 0x47bcb9
xor eax, eax
je 0x47bc23
jmp 0x47bc32
jmp 0x47ba7c
jmp 0x47ba7c
mov ecx, 6
test ecx, ecx
je 0x47bcaf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f64], eax
cvtsi2sd xmm0, dword [ebp - 0x1f64]
mov eax, dword [ebp - 0x1f64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb8e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f60], ecx
jmp 0x47bcb9
mov dword [ebp - 0x1f60], 2
mov edx, dword [ebp - 0x1f58]
shl edx, 2
add edx, dword [ebp - 0x1f54]
mov eax, dword [ebp - 0x1f60]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1f58]
shl ecx, 2
add ecx, dword [ebp - 0x1f54]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47c7f3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47bfee
xor eax, eax
je 0x47bd63
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47bd9f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb8f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47bf3f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47bf3f
mov dword [ebp - 0x1f68], 0
jmp 0x47be1e
cmp dword [ebp - 0x1f68], 9
jae 0x47bf3a
cvtsi2sd xmm0, dword [ebp - 0x1f68]
movsd xmm1, qword [ebp - 0xb8f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb900], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb900]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47be8d
mov ecx, dword [ebp - 0x1f68]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb8f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8f8], xmm1
jmp 0x47bd89
cvtsi2sd xmm0, dword [ebp - 0x1f68]
movsd xmm1, qword [ebp - 0xb8f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb908], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb908]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47beea
mov eax, dword [ebp - 0x1f68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb8f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xb8f8], xmm1
jmp 0x47bf03
mov ecx, 1
test ecx, ecx
je 0x47beff
jmp 0x47bfbc
jmp 0x47bf26
cvtsi2sd xmm0, dword [ebp - 0x1f68]
movsd xmm1, qword [ebp - 0xb8f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f6c], edx
jmp 0x47bfc6
xor eax, eax
je 0x47bf30
jmp 0x47bf3f
jmp 0x47bd89
jmp 0x47bd89
mov ecx, 6
test ecx, ecx
je 0x47bfbc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f70], eax
cvtsi2sd xmm0, dword [ebp - 0x1f70]
mov eax, dword [ebp - 0x1f70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb8f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f6c], ecx
jmp 0x47bfc6
mov dword [ebp - 0x1f6c], 2
mov edx, dword [ebp - 0x1f58]
shl edx, 2
add edx, dword [ebp - 0x1f54]
mov eax, dword [ebp - 0x1f6c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1f58]
shl ecx, 2
add ecx, dword [ebp - 0x1f54]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47c2b6
xor eax, eax
je 0x47c02b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47c067
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xb910], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47c207
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47c207
mov dword [ebp - 0x1f74], 0
jmp 0x47c0e6
cmp dword [ebp - 0x1f74], 9
jae 0x47c202
cvtsi2sd xmm0, dword [ebp - 0x1f74]
movsd xmm1, qword [ebp - 0xb910]
addsd xmm1, xmm0
movsd qword [ebp - 0xb918], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c155
mov ecx, dword [ebp - 0x1f74]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb910]
addsd xmm1, xmm0
movsd qword [ebp - 0xb910], xmm1
jmp 0x47c051
cvtsi2sd xmm0, dword [ebp - 0x1f74]
movsd xmm1, qword [ebp - 0xb910]
addsd xmm1, xmm0
movsd qword [ebp - 0xb920], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb920]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c1b2
mov eax, dword [ebp - 0x1f74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb910]
addsd xmm1, xmm0
movsd qword [ebp - 0xb910], xmm1
jmp 0x47c1cb
mov ecx, 1
test ecx, ecx
je 0x47c1c7
jmp 0x47c284
jmp 0x47c1ee
cvtsi2sd xmm0, dword [ebp - 0x1f74]
movsd xmm1, qword [ebp - 0xb910]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f78], edx
jmp 0x47c28e
xor eax, eax
je 0x47c1f8
jmp 0x47c207
jmp 0x47c051
jmp 0x47c051
mov ecx, 6
test ecx, ecx
je 0x47c284
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f7c], eax
cvtsi2sd xmm0, dword [ebp - 0x1f7c]
mov eax, dword [ebp - 0x1f7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb910]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f78], ecx
jmp 0x47c28e
mov dword [ebp - 0x1f78], 2
mov edx, dword [ebp - 0x1f58]
shl edx, 2
add edx, dword [ebp - 0x1f54]
mov eax, dword [ebp - 0x1f78]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1f58]
shl ecx, 2
add ecx, dword [ebp - 0x1f54]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1f58]
add edx, 0xffffffbf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb928], xmm0
xor eax, eax
je 0x47c2d0
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47c30c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb928]
movsd qword [ebp - 0xb930], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47c4ac
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47c4ac
mov dword [ebp - 0x1f80], 0
jmp 0x47c38b
cmp dword [ebp - 0x1f80], 9
jae 0x47c4a7
cvtsi2sd xmm0, dword [ebp - 0x1f80]
movsd xmm1, qword [ebp - 0xb930]
addsd xmm1, xmm0
movsd qword [ebp - 0xb938], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb938]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c3fa
mov ecx, dword [ebp - 0x1f80]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb930]
addsd xmm1, xmm0
movsd qword [ebp - 0xb930], xmm1
jmp 0x47c2f6
cvtsi2sd xmm0, dword [ebp - 0x1f80]
movsd xmm1, qword [ebp - 0xb930]
addsd xmm1, xmm0
movsd qword [ebp - 0xb940], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb940]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c457
mov eax, dword [ebp - 0x1f80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb930]
addsd xmm1, xmm0
movsd qword [ebp - 0xb930], xmm1
jmp 0x47c470
mov ecx, 1
test ecx, ecx
je 0x47c46c
jmp 0x47c529
jmp 0x47c493
cvtsi2sd xmm0, dword [ebp - 0x1f80]
movsd xmm1, qword [ebp - 0xb930]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f84], edx
jmp 0x47c533
xor eax, eax
je 0x47c49d
jmp 0x47c4ac
jmp 0x47c2f6
jmp 0x47c2f6
mov ecx, 6
test ecx, ecx
je 0x47c529
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f88], eax
cvtsi2sd xmm0, dword [ebp - 0x1f88]
mov eax, dword [ebp - 0x1f88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb930]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f84], ecx
jmp 0x47c533
mov dword [ebp - 0x1f84], 2
mov edx, dword [ebp - 0x1f58]
add edx, 0xffffffbf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb948], xmm0
xor eax, eax
je 0x47c54d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47c589
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb948]
movsd qword [ebp - 0xb950], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47c729
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47c729
mov dword [ebp - 0x1f8c], 0
jmp 0x47c608
cmp dword [ebp - 0x1f8c], 9
jae 0x47c724
cvtsi2sd xmm0, dword [ebp - 0x1f8c]
movsd xmm1, qword [ebp - 0xb950]
addsd xmm1, xmm0
movsd qword [ebp - 0xb958], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c677
mov ecx, dword [ebp - 0x1f8c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb950]
addsd xmm1, xmm0
movsd qword [ebp - 0xb950], xmm1
jmp 0x47c573
cvtsi2sd xmm0, dword [ebp - 0x1f8c]
movsd xmm1, qword [ebp - 0xb950]
addsd xmm1, xmm0
movsd qword [ebp - 0xb960], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb960]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c6d4
mov eax, dword [ebp - 0x1f8c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb950]
addsd xmm1, xmm0
movsd qword [ebp - 0xb950], xmm1
jmp 0x47c6ed
mov ecx, 1
test ecx, ecx
je 0x47c6e9
jmp 0x47c7a6
jmp 0x47c710
cvtsi2sd xmm0, dword [ebp - 0x1f8c]
movsd xmm1, qword [ebp - 0xb950]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f90], edx
jmp 0x47c7b0
xor eax, eax
je 0x47c71a
jmp 0x47c729
jmp 0x47c573
jmp 0x47c573
mov ecx, 6
test ecx, ecx
je 0x47c7a6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1f94], eax
cvtsi2sd xmm0, dword [ebp - 0x1f94]
mov eax, dword [ebp - 0x1f94]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb950]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f90], ecx
jmp 0x47c7b0
mov dword [ebp - 0x1f90], 2
mov edx, dword [ebp - 0x1f58]
shl edx, 2
add edx, dword [ebp - 0x1f54]
mov eax, dword [ebp - 0x1f84]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1f58]
shl ecx, 2
add ecx, dword [ebp - 0x1f54]
mov edx, dword [ebp - 0x1f90]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1f58]
shl ecx, 2
add ecx, dword [ebp - 0x1f54]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47cabb
xor eax, eax
je 0x47c830
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47c86c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xb968], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47ca0c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47ca0c
mov dword [ebp - 0x1f98], 0
jmp 0x47c8eb
cmp dword [ebp - 0x1f98], 9
jae 0x47ca07
cvtsi2sd xmm0, dword [ebp - 0x1f98]
movsd xmm1, qword [ebp - 0xb968]
addsd xmm1, xmm0
movsd qword [ebp - 0xb970], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb970]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c95a
mov ecx, dword [ebp - 0x1f98]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb968]
addsd xmm1, xmm0
movsd qword [ebp - 0xb968], xmm1
jmp 0x47c856
cvtsi2sd xmm0, dword [ebp - 0x1f98]
movsd xmm1, qword [ebp - 0xb968]
addsd xmm1, xmm0
movsd qword [ebp - 0xb978], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47c9b7
mov eax, dword [ebp - 0x1f98]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb968]
addsd xmm1, xmm0
movsd qword [ebp - 0xb968], xmm1
jmp 0x47c9d0
mov ecx, 1
test ecx, ecx
je 0x47c9cc
jmp 0x47ca89
jmp 0x47c9f3
cvtsi2sd xmm0, dword [ebp - 0x1f98]
movsd xmm1, qword [ebp - 0xb968]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1f9c], edx
jmp 0x47ca93
xor eax, eax
je 0x47c9fd
jmp 0x47ca0c
jmp 0x47c856
jmp 0x47c856
mov ecx, 6
test ecx, ecx
je 0x47ca89
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1fa0], eax
cvtsi2sd xmm0, dword [ebp - 0x1fa0]
mov eax, dword [ebp - 0x1fa0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb968]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1f9c], ecx
jmp 0x47ca93
mov dword [ebp - 0x1f9c], 2
mov edx, dword [ebp - 0x1f58]
shl edx, 2
add edx, dword [ebp - 0x1f54]
mov eax, dword [ebp - 0x1f9c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1f58]
shl ecx, 2
add ecx, dword [ebp - 0x1f54]
mov dword [ecx], eax
jmp 0x47b9fd
mov edx, dword [ebp - 0x1f50]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1f50]
mov dword [ebp - 0x1fa4], eax
mov ecx, dword [ebp - 0x1fa4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x1fa8], ecx
mov edx, dword [ebp - 0x1fa8]
mov dword [ebp - 0x1f4c], edx
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x4855bd
mov ecx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov dword [ebp - 0x166dc], ecx
mov edx, dword [sym.imp.GDI32.dll_CopyMetaFileW]
mov dword [ebp - 0x166d8], edx
mov eax, dword [sym.imp.USER32.dll_InsertMenuItemW]
mov dword [ebp - 0x166d4], eax
mov ecx, dword [sym.imp.USER32.dll_EnumPropsW]
mov dword [ebp - 0x166d0], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeW]
mov dword [ebp - 0x166cc], edx
mov eax, dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [ebp - 0x166c8], eax
mov ecx, dword [sym.imp.USER32.dll_DrawAnimatedRects]
mov dword [ebp - 0x166c4], ecx
mov edx, dword [sym.imp.USER32.dll_RegisterHotKey]
mov dword [ebp - 0x166c0], edx
mov eax, dword [sym.imp.KERNEL32.dll_UpdateResourceW]
mov dword [ebp - 0x166bc], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
mov dword [ebp - 0x166b8], ecx
mov edx, dword [sym.imp.KERNEL32.dll_GetComputerNameW]
mov dword [ebp - 0x166b4], edx
xor eax, eax
mov byte [ebp - 0x56], al
lea ecx, [ebp - 0x56]
call fcn.004243d0
mov dword [ebp - 0x1fac], eax
mov ecx, dword [ebp - 0x1fac]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x47dc86
mov eax, dword [ebp - 0x1fac]
mov dword [ebp - 0x1fb0], eax
mov dword [ebp - 0x1fb4], 0
jmp 0x47cbd2
mov ecx, dword [ebp - 0x1fb4]
add ecx, 1
mov dword [ebp - 0x1fb4], ecx
cmp dword [ebp - 0x1fb4], 1
jae 0x47dc86
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47cea7
xor eax, eax
je 0x47cc1c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47cc58
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xb980], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47cdf8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47cdf8
mov dword [ebp - 0x1fb8], 0
jmp 0x47ccd7
cmp dword [ebp - 0x1fb8], 9
jae 0x47cdf3
cvtsi2sd xmm0, dword [ebp - 0x1fb8]
movsd xmm1, qword [ebp - 0xb980]
addsd xmm1, xmm0
movsd qword [ebp - 0xb988], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb988]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47cd46
mov ecx, dword [ebp - 0x1fb8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb980]
addsd xmm1, xmm0
movsd qword [ebp - 0xb980], xmm1
jmp 0x47cc42
cvtsi2sd xmm0, dword [ebp - 0x1fb8]
movsd xmm1, qword [ebp - 0xb980]
addsd xmm1, xmm0
movsd qword [ebp - 0xb990], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb990]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47cda3
mov eax, dword [ebp - 0x1fb8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb980]
addsd xmm1, xmm0
movsd qword [ebp - 0xb980], xmm1
jmp 0x47cdbc
mov ecx, 1
test ecx, ecx
je 0x47cdb8
jmp 0x47ce75
jmp 0x47cddf
cvtsi2sd xmm0, dword [ebp - 0x1fb8]
movsd xmm1, qword [ebp - 0xb980]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1fbc], edx
jmp 0x47ce7f
xor eax, eax
je 0x47cde9
jmp 0x47cdf8
jmp 0x47cc42
jmp 0x47cc42
mov ecx, 6
test ecx, ecx
je 0x47ce75
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1fc0], eax
cvtsi2sd xmm0, dword [ebp - 0x1fc0]
mov eax, dword [ebp - 0x1fc0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb980]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1fbc], ecx
jmp 0x47ce7f
mov dword [ebp - 0x1fbc], 2
mov edx, dword [ebp - 0x1fb4]
shl edx, 2
add edx, dword [ebp - 0x1fb0]
mov eax, dword [ebp - 0x1fbc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1fb4]
shl ecx, 2
add ecx, dword [ebp - 0x1fb0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47d9b9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47d1b4
xor eax, eax
je 0x47cf29
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47cf65
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xb998], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47d105
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47d105
mov dword [ebp - 0x1fc4], 0
jmp 0x47cfe4
cmp dword [ebp - 0x1fc4], 9
jae 0x47d100
cvtsi2sd xmm0, dword [ebp - 0x1fc4]
movsd xmm1, qword [ebp - 0xb998]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d053
mov ecx, dword [ebp - 0x1fc4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb998]
addsd xmm1, xmm0
movsd qword [ebp - 0xb998], xmm1
jmp 0x47cf4f
cvtsi2sd xmm0, dword [ebp - 0x1fc4]
movsd xmm1, qword [ebp - 0xb998]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb9a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d0b0
mov eax, dword [ebp - 0x1fc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb998]
addsd xmm1, xmm0
movsd qword [ebp - 0xb998], xmm1
jmp 0x47d0c9
mov ecx, 1
test ecx, ecx
je 0x47d0c5
jmp 0x47d182
jmp 0x47d0ec
cvtsi2sd xmm0, dword [ebp - 0x1fc4]
movsd xmm1, qword [ebp - 0xb998]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1fc8], edx
jmp 0x47d18c
xor eax, eax
je 0x47d0f6
jmp 0x47d105
jmp 0x47cf4f
jmp 0x47cf4f
mov ecx, 6
test ecx, ecx
je 0x47d182
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1fcc], eax
cvtsi2sd xmm0, dword [ebp - 0x1fcc]
mov eax, dword [ebp - 0x1fcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb998]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1fc8], ecx
jmp 0x47d18c
mov dword [ebp - 0x1fc8], 2
mov edx, dword [ebp - 0x1fb4]
shl edx, 2
add edx, dword [ebp - 0x1fb0]
mov eax, dword [ebp - 0x1fc8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1fb4]
shl ecx, 2
add ecx, dword [ebp - 0x1fb0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47d47c
xor eax, eax
je 0x47d1f1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47d22d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xb9b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47d3cd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47d3cd
mov dword [ebp - 0x1fd0], 0
jmp 0x47d2ac
cmp dword [ebp - 0x1fd0], 9
jae 0x47d3c8
cvtsi2sd xmm0, dword [ebp - 0x1fd0]
movsd xmm1, qword [ebp - 0xb9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d31b
mov ecx, dword [ebp - 0x1fd0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9b0], xmm1
jmp 0x47d217
cvtsi2sd xmm0, dword [ebp - 0x1fd0]
movsd xmm1, qword [ebp - 0xb9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb9c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d378
mov eax, dword [ebp - 0x1fd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9b0], xmm1
jmp 0x47d391
mov ecx, 1
test ecx, ecx
je 0x47d38d
jmp 0x47d44a
jmp 0x47d3b4
cvtsi2sd xmm0, dword [ebp - 0x1fd0]
movsd xmm1, qword [ebp - 0xb9b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1fd4], edx
jmp 0x47d454
xor eax, eax
je 0x47d3be
jmp 0x47d3cd
jmp 0x47d217
jmp 0x47d217
mov ecx, 6
test ecx, ecx
je 0x47d44a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1fd8], eax
cvtsi2sd xmm0, dword [ebp - 0x1fd8]
mov eax, dword [ebp - 0x1fd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb9b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1fd4], ecx
jmp 0x47d454
mov dword [ebp - 0x1fd4], 2
mov edx, dword [ebp - 0x1fb4]
shl edx, 2
add edx, dword [ebp - 0x1fb0]
mov eax, dword [ebp - 0x1fd4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1fb4]
shl ecx, 2
add ecx, dword [ebp - 0x1fb0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1fb4]
add edx, 0xffffffbf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb9c8], xmm0
xor eax, eax
je 0x47d496
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47d4d2
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb9c8]
movsd qword [ebp - 0xb9d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47d672
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47d672
mov dword [ebp - 0x1fdc], 0
jmp 0x47d551
cmp dword [ebp - 0x1fdc], 9
jae 0x47d66d
cvtsi2sd xmm0, dword [ebp - 0x1fdc]
movsd xmm1, qword [ebp - 0xb9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d5c0
mov ecx, dword [ebp - 0x1fdc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9d0], xmm1
jmp 0x47d4bc
cvtsi2sd xmm0, dword [ebp - 0x1fdc]
movsd xmm1, qword [ebp - 0xb9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xb9e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d61d
mov eax, dword [ebp - 0x1fdc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9d0], xmm1
jmp 0x47d636
mov ecx, 1
test ecx, ecx
je 0x47d632
jmp 0x47d6ef
jmp 0x47d659
cvtsi2sd xmm0, dword [ebp - 0x1fdc]
movsd xmm1, qword [ebp - 0xb9d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1fe0], edx
jmp 0x47d6f9
xor eax, eax
je 0x47d663
jmp 0x47d672
jmp 0x47d4bc
jmp 0x47d4bc
mov ecx, 6
test ecx, ecx
je 0x47d6ef
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1fe4], eax
cvtsi2sd xmm0, dword [ebp - 0x1fe4]
mov eax, dword [ebp - 0x1fe4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb9d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1fe0], ecx
jmp 0x47d6f9
mov dword [ebp - 0x1fe0], 2
mov edx, dword [ebp - 0x1fb4]
add edx, 0xffffffbf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xb9e8], xmm0
xor eax, eax
je 0x47d713
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47d74f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xb9e8]
movsd qword [ebp - 0xb9f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47d8ef
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47d8ef
mov dword [ebp - 0x1fe8], 0
jmp 0x47d7ce
cmp dword [ebp - 0x1fe8], 9
jae 0x47d8ea
cvtsi2sd xmm0, dword [ebp - 0x1fe8]
movsd xmm1, qword [ebp - 0xb9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d83d
mov ecx, dword [ebp - 0x1fe8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xb9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9f0], xmm1
jmp 0x47d739
cvtsi2sd xmm0, dword [ebp - 0x1fe8]
movsd xmm1, qword [ebp - 0xb9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xba00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xba00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47d89a
mov eax, dword [ebp - 0x1fe8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xb9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xb9f0], xmm1
jmp 0x47d8b3
mov ecx, 1
test ecx, ecx
je 0x47d8af
jmp 0x47d96c
jmp 0x47d8d6
cvtsi2sd xmm0, dword [ebp - 0x1fe8]
movsd xmm1, qword [ebp - 0xb9f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1fec], edx
jmp 0x47d976
xor eax, eax
je 0x47d8e0
jmp 0x47d8ef
jmp 0x47d739
jmp 0x47d739
mov ecx, 6
test ecx, ecx
je 0x47d96c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ff0], eax
cvtsi2sd xmm0, dword [ebp - 0x1ff0]
mov eax, dword [ebp - 0x1ff0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xb9f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1fec], ecx
jmp 0x47d976
mov dword [ebp - 0x1fec], 2
mov edx, dword [ebp - 0x1fb4]
shl edx, 2
add edx, dword [ebp - 0x1fb0]
mov eax, dword [ebp - 0x1fe0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x1fb4]
shl ecx, 2
add ecx, dword [ebp - 0x1fb0]
mov edx, dword [ebp - 0x1fec]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x1fb4]
shl ecx, 2
add ecx, dword [ebp - 0x1fb0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47dc81
xor eax, eax
je 0x47d9f6
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47da32
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xba08], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47dbd2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47dbd2
mov dword [ebp - 0x1ff4], 0
jmp 0x47dab1
cmp dword [ebp - 0x1ff4], 9
jae 0x47dbcd
cvtsi2sd xmm0, dword [ebp - 0x1ff4]
movsd xmm1, qword [ebp - 0xba08]
addsd xmm1, xmm0
movsd qword [ebp - 0xba10], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47db20
mov ecx, dword [ebp - 0x1ff4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xba08]
addsd xmm1, xmm0
movsd qword [ebp - 0xba08], xmm1
jmp 0x47da1c
cvtsi2sd xmm0, dword [ebp - 0x1ff4]
movsd xmm1, qword [ebp - 0xba08]
addsd xmm1, xmm0
movsd qword [ebp - 0xba18], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xba18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47db7d
mov eax, dword [ebp - 0x1ff4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba08]
addsd xmm1, xmm0
movsd qword [ebp - 0xba08], xmm1
jmp 0x47db96
mov ecx, 1
test ecx, ecx
je 0x47db92
jmp 0x47dc4f
jmp 0x47dbb9
cvtsi2sd xmm0, dword [ebp - 0x1ff4]
movsd xmm1, qword [ebp - 0xba08]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x1ff8], edx
jmp 0x47dc59
xor eax, eax
je 0x47dbc3
jmp 0x47dbd2
jmp 0x47da1c
jmp 0x47da1c
mov ecx, 6
test ecx, ecx
je 0x47dc4f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x1ffc], eax
cvtsi2sd xmm0, dword [ebp - 0x1ffc]
mov eax, dword [ebp - 0x1ffc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xba08]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x1ff8], ecx
jmp 0x47dc59
mov dword [ebp - 0x1ff8], 2
mov edx, dword [ebp - 0x1fb4]
shl edx, 2
add edx, dword [ebp - 0x1fb0]
mov eax, dword [ebp - 0x1ff8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1fb4]
shl ecx, 2
add ecx, dword [ebp - 0x1fb0]
mov dword [ecx], eax
jmp 0x47cbc3
mov edx, dword [ebp - 0x1fac]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x1fac]
mov dword [ebp - 0x2000], eax
mov ecx, dword [ebp - 0x2000]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2004], ecx
mov edx, dword [ebp - 0x2004]
mov dword [ebp - 0x2008], edx
xor eax, eax
mov byte [ebp - 0x57], al
lea ecx, [ebp - 0x57]
call fcn.004243a0
mov dword [ebp - 0x200c], eax
mov ecx, dword [ebp - 0x200c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x47edbf
mov eax, dword [ebp - 0x200c]
mov dword [ebp - 0x2010], eax
mov dword [ebp - 0x2014], 0
jmp 0x47dd0b
mov ecx, dword [ebp - 0x2014]
add ecx, 1
mov dword [ebp - 0x2014], ecx
cmp dword [ebp - 0x2014], 1
jae 0x47edbf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47dfe0
xor eax, eax
je 0x47dd55
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47dd91
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726330]
movsd qword [ebp - 0xba20], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47df31
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47df31
mov dword [ebp - 0x2018], 0
jmp 0x47de10
cmp dword [ebp - 0x2018], 9
jae 0x47df2c
cvtsi2sd xmm0, dword [ebp - 0x2018]
movsd xmm1, qword [ebp - 0xba20]
addsd xmm1, xmm0
movsd qword [ebp - 0xba28], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47de7f
mov ecx, dword [ebp - 0x2018]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xba20]
addsd xmm1, xmm0
movsd qword [ebp - 0xba20], xmm1
jmp 0x47dd7b
cvtsi2sd xmm0, dword [ebp - 0x2018]
movsd xmm1, qword [ebp - 0xba20]
addsd xmm1, xmm0
movsd qword [ebp - 0xba30], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xba30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47dedc
mov eax, dword [ebp - 0x2018]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba20]
addsd xmm1, xmm0
movsd qword [ebp - 0xba20], xmm1
jmp 0x47def5
mov ecx, 1
test ecx, ecx
je 0x47def1
jmp 0x47dfae
jmp 0x47df18
cvtsi2sd xmm0, dword [ebp - 0x2018]
movsd xmm1, qword [ebp - 0xba20]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x201c], edx
jmp 0x47dfb8
xor eax, eax
je 0x47df22
jmp 0x47df31
jmp 0x47dd7b
jmp 0x47dd7b
mov ecx, 6
test ecx, ecx
je 0x47dfae
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2020], eax
cvtsi2sd xmm0, dword [ebp - 0x2020]
mov eax, dword [ebp - 0x2020]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xba20]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x201c], ecx
jmp 0x47dfb8
mov dword [ebp - 0x201c], 2
mov edx, dword [ebp - 0x2014]
shl edx, 2
add edx, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x201c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2014]
shl ecx, 2
add ecx, dword [ebp - 0x2010]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47eaf2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47e2ed
xor eax, eax
je 0x47e062
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47e09e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xba38], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47e23e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47e23e
mov dword [ebp - 0x2024], 0
jmp 0x47e11d
cmp dword [ebp - 0x2024], 9
jae 0x47e239
cvtsi2sd xmm0, dword [ebp - 0x2024]
movsd xmm1, qword [ebp - 0xba38]
addsd xmm1, xmm0
movsd qword [ebp - 0xba40], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e18c
mov ecx, dword [ebp - 0x2024]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xba38]
addsd xmm1, xmm0
movsd qword [ebp - 0xba38], xmm1
jmp 0x47e088
cvtsi2sd xmm0, dword [ebp - 0x2024]
movsd xmm1, qword [ebp - 0xba38]
addsd xmm1, xmm0
movsd qword [ebp - 0xba48], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xba48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e1e9
mov eax, dword [ebp - 0x2024]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba38]
addsd xmm1, xmm0
movsd qword [ebp - 0xba38], xmm1
jmp 0x47e202
mov ecx, 1
test ecx, ecx
je 0x47e1fe
jmp 0x47e2bb
jmp 0x47e225
cvtsi2sd xmm0, dword [ebp - 0x2024]
movsd xmm1, qword [ebp - 0xba38]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2028], edx
jmp 0x47e2c5
xor eax, eax
je 0x47e22f
jmp 0x47e23e
jmp 0x47e088
jmp 0x47e088
mov ecx, 6
test ecx, ecx
je 0x47e2bb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x202c], eax
cvtsi2sd xmm0, dword [ebp - 0x202c]
mov eax, dword [ebp - 0x202c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xba38]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2028], ecx
jmp 0x47e2c5
mov dword [ebp - 0x2028], 2
mov edx, dword [ebp - 0x2014]
shl edx, 2
add edx, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x2028]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2014]
shl ecx, 2
add ecx, dword [ebp - 0x2010]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47e5b5
xor eax, eax
je 0x47e32a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47e366
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xba50], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47e506
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47e506
mov dword [ebp - 0x2030], 0
jmp 0x47e3e5
cmp dword [ebp - 0x2030], 9
jae 0x47e501
cvtsi2sd xmm0, dword [ebp - 0x2030]
movsd xmm1, qword [ebp - 0xba50]
addsd xmm1, xmm0
movsd qword [ebp - 0xba58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e454
mov ecx, dword [ebp - 0x2030]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xba50]
addsd xmm1, xmm0
movsd qword [ebp - 0xba50], xmm1
jmp 0x47e350
cvtsi2sd xmm0, dword [ebp - 0x2030]
movsd xmm1, qword [ebp - 0xba50]
addsd xmm1, xmm0
movsd qword [ebp - 0xba60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xba60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e4b1
mov eax, dword [ebp - 0x2030]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba50]
addsd xmm1, xmm0
movsd qword [ebp - 0xba50], xmm1
jmp 0x47e4ca
mov ecx, 1
test ecx, ecx
je 0x47e4c6
jmp 0x47e583
jmp 0x47e4ed
cvtsi2sd xmm0, dword [ebp - 0x2030]
movsd xmm1, qword [ebp - 0xba50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2034], edx
jmp 0x47e58d
xor eax, eax
je 0x47e4f7
jmp 0x47e506
jmp 0x47e350
jmp 0x47e350
mov ecx, 6
test ecx, ecx
je 0x47e583
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2038], eax
cvtsi2sd xmm0, dword [ebp - 0x2038]
mov eax, dword [ebp - 0x2038]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xba50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2034], ecx
jmp 0x47e58d
mov dword [ebp - 0x2034], 2
mov edx, dword [ebp - 0x2014]
shl edx, 2
add edx, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x2034]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2014]
shl ecx, 2
add ecx, dword [ebp - 0x2010]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2014]
add edx, 0xffffffbf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xba68], xmm0
xor eax, eax
je 0x47e5cf
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47e60b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xba68]
movsd qword [ebp - 0xba70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47e7ab
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47e7ab
mov dword [ebp - 0x203c], 0
jmp 0x47e68a
cmp dword [ebp - 0x203c], 9
jae 0x47e7a6
cvtsi2sd xmm0, dword [ebp - 0x203c]
movsd xmm1, qword [ebp - 0xba70]
addsd xmm1, xmm0
movsd qword [ebp - 0xba78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e6f9
mov ecx, dword [ebp - 0x203c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xba70]
addsd xmm1, xmm0
movsd qword [ebp - 0xba70], xmm1
jmp 0x47e5f5
cvtsi2sd xmm0, dword [ebp - 0x203c]
movsd xmm1, qword [ebp - 0xba70]
addsd xmm1, xmm0
movsd qword [ebp - 0xba80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xba80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e756
mov eax, dword [ebp - 0x203c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba70]
addsd xmm1, xmm0
movsd qword [ebp - 0xba70], xmm1
jmp 0x47e76f
mov ecx, 1
test ecx, ecx
je 0x47e76b
jmp 0x47e828
jmp 0x47e792
cvtsi2sd xmm0, dword [ebp - 0x203c]
movsd xmm1, qword [ebp - 0xba70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2040], edx
jmp 0x47e832
xor eax, eax
je 0x47e79c
jmp 0x47e7ab
jmp 0x47e5f5
jmp 0x47e5f5
mov ecx, 6
test ecx, ecx
je 0x47e828
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2044], eax
cvtsi2sd xmm0, dword [ebp - 0x2044]
mov eax, dword [ebp - 0x2044]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xba70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2040], ecx
jmp 0x47e832
mov dword [ebp - 0x2040], 2
mov edx, dword [ebp - 0x2014]
add edx, 0xffffffbf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xba88], xmm0
xor eax, eax
je 0x47e84c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47e888
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xba88]
movsd qword [ebp - 0xba90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47ea28
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47ea28
mov dword [ebp - 0x2048], 0
jmp 0x47e907
cmp dword [ebp - 0x2048], 9
jae 0x47ea23
cvtsi2sd xmm0, dword [ebp - 0x2048]
movsd xmm1, qword [ebp - 0xba90]
addsd xmm1, xmm0
movsd qword [ebp - 0xba98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e976
mov ecx, dword [ebp - 0x2048]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xba90]
addsd xmm1, xmm0
movsd qword [ebp - 0xba90], xmm1
jmp 0x47e872
cvtsi2sd xmm0, dword [ebp - 0x2048]
movsd xmm1, qword [ebp - 0xba90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaa0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbaa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47e9d3
mov eax, dword [ebp - 0x2048]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xba90]
addsd xmm1, xmm0
movsd qword [ebp - 0xba90], xmm1
jmp 0x47e9ec
mov ecx, 1
test ecx, ecx
je 0x47e9e8
jmp 0x47eaa5
jmp 0x47ea0f
cvtsi2sd xmm0, dword [ebp - 0x2048]
movsd xmm1, qword [ebp - 0xba90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x204c], edx
jmp 0x47eaaf
xor eax, eax
je 0x47ea19
jmp 0x47ea28
jmp 0x47e872
jmp 0x47e872
mov ecx, 6
test ecx, ecx
je 0x47eaa5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2050], eax
cvtsi2sd xmm0, dword [ebp - 0x2050]
mov eax, dword [ebp - 0x2050]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xba90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x204c], ecx
jmp 0x47eaaf
mov dword [ebp - 0x204c], 2
mov edx, dword [ebp - 0x2014]
shl edx, 2
add edx, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x2040]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2014]
shl ecx, 2
add ecx, dword [ebp - 0x2010]
mov edx, dword [ebp - 0x204c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2014]
shl ecx, 2
add ecx, dword [ebp - 0x2010]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47edba
xor eax, eax
je 0x47eb2f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47eb6b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbaa8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47ed0b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47ed0b
mov dword [ebp - 0x2054], 0
jmp 0x47ebea
cmp dword [ebp - 0x2054], 9
jae 0x47ed06
cvtsi2sd xmm0, dword [ebp - 0x2054]
movsd xmm1, qword [ebp - 0xbaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbab0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbab0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47ec59
mov ecx, dword [ebp - 0x2054]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaa8], xmm1
jmp 0x47eb55
cvtsi2sd xmm0, dword [ebp - 0x2054]
movsd xmm1, qword [ebp - 0xbaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbab8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47ecb6
mov eax, dword [ebp - 0x2054]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaa8], xmm1
jmp 0x47eccf
mov ecx, 1
test ecx, ecx
je 0x47eccb
jmp 0x47ed88
jmp 0x47ecf2
cvtsi2sd xmm0, dword [ebp - 0x2054]
movsd xmm1, qword [ebp - 0xbaa8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2058], edx
jmp 0x47ed92
xor eax, eax
je 0x47ecfc
jmp 0x47ed0b
jmp 0x47eb55
jmp 0x47eb55
mov ecx, 6
test ecx, ecx
je 0x47ed88
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x205c], eax
cvtsi2sd xmm0, dword [ebp - 0x205c]
mov eax, dword [ebp - 0x205c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbaa8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2058], ecx
jmp 0x47ed92
mov dword [ebp - 0x2058], 2
mov edx, dword [ebp - 0x2014]
shl edx, 2
add edx, dword [ebp - 0x2010]
mov eax, dword [ebp - 0x2058]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2014]
shl ecx, 2
add ecx, dword [ebp - 0x2010]
mov dword [ecx], eax
jmp 0x47dcfc
mov edx, dword [ebp - 0x200c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x200c]
mov dword [ebp - 0x2060], eax
mov ecx, dword [ebp - 0x2060]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2064], ecx
mov edx, dword [ebp - 0x2064]
mov dword [ebp - 0x2068], edx
xor eax, eax
mov byte [ebp - 0x58], al
lea ecx, [ebp - 0x58]
call fcn.00424370
mov dword [ebp - 0x206c], eax
mov ecx, dword [ebp - 0x206c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x47fef8
mov eax, dword [ebp - 0x206c]
mov dword [ebp - 0x2070], eax
mov dword [ebp - 0x2074], 0
jmp 0x47ee44
mov ecx, dword [ebp - 0x2074]
add ecx, 1
mov dword [ebp - 0x2074], ecx
cmp dword [ebp - 0x2074], 1
jae 0x47fef8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47f119
xor eax, eax
je 0x47ee8e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47eeca
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xbac0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47f06a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47f06a
mov dword [ebp - 0x2078], 0
jmp 0x47ef49
cmp dword [ebp - 0x2078], 9
jae 0x47f065
cvtsi2sd xmm0, dword [ebp - 0x2078]
movsd xmm1, qword [ebp - 0xbac0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbac8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbac8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47efb8
mov ecx, dword [ebp - 0x2078]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbac0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbac0], xmm1
jmp 0x47eeb4
cvtsi2sd xmm0, dword [ebp - 0x2078]
movsd xmm1, qword [ebp - 0xbac0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbad0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbad0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f015
mov eax, dword [ebp - 0x2078]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbac0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbac0], xmm1
jmp 0x47f02e
mov ecx, 1
test ecx, ecx
je 0x47f02a
jmp 0x47f0e7
jmp 0x47f051
cvtsi2sd xmm0, dword [ebp - 0x2078]
movsd xmm1, qword [ebp - 0xbac0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x207c], edx
jmp 0x47f0f1
xor eax, eax
je 0x47f05b
jmp 0x47f06a
jmp 0x47eeb4
jmp 0x47eeb4
mov ecx, 6
test ecx, ecx
je 0x47f0e7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2080], eax
cvtsi2sd xmm0, dword [ebp - 0x2080]
mov eax, dword [ebp - 0x2080]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbac0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x207c], ecx
jmp 0x47f0f1
mov dword [ebp - 0x207c], 2
mov edx, dword [ebp - 0x2074]
shl edx, 2
add edx, dword [ebp - 0x2070]
mov eax, dword [ebp - 0x207c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2074]
shl ecx, 2
add ecx, dword [ebp - 0x2070]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47fc2b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47f426
xor eax, eax
je 0x47f19b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47f1d7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xbad8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47f377
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47f377
mov dword [ebp - 0x2084], 0
jmp 0x47f256
cmp dword [ebp - 0x2084], 9
jae 0x47f372
cvtsi2sd xmm0, dword [ebp - 0x2084]
movsd xmm1, qword [ebp - 0xbad8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbae0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbae0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f2c5
mov ecx, dword [ebp - 0x2084]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbad8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbad8], xmm1
jmp 0x47f1c1
cvtsi2sd xmm0, dword [ebp - 0x2084]
movsd xmm1, qword [ebp - 0xbad8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbae8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbae8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f322
mov eax, dword [ebp - 0x2084]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbad8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbad8], xmm1
jmp 0x47f33b
mov ecx, 1
test ecx, ecx
je 0x47f337
jmp 0x47f3f4
jmp 0x47f35e
cvtsi2sd xmm0, dword [ebp - 0x2084]
movsd xmm1, qword [ebp - 0xbad8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2088], edx
jmp 0x47f3fe
xor eax, eax
je 0x47f368
jmp 0x47f377
jmp 0x47f1c1
jmp 0x47f1c1
mov ecx, 6
test ecx, ecx
je 0x47f3f4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x208c], eax
cvtsi2sd xmm0, dword [ebp - 0x208c]
mov eax, dword [ebp - 0x208c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbad8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2088], ecx
jmp 0x47f3fe
mov dword [ebp - 0x2088], 2
mov edx, dword [ebp - 0x2074]
shl edx, 2
add edx, dword [ebp - 0x2070]
mov eax, dword [ebp - 0x2088]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2074]
shl ecx, 2
add ecx, dword [ebp - 0x2070]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47f6ee
xor eax, eax
je 0x47f463
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47f49f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbaf0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47f63f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47f63f
mov dword [ebp - 0x2090], 0
jmp 0x47f51e
cmp dword [ebp - 0x2090], 9
jae 0x47f63a
cvtsi2sd xmm0, dword [ebp - 0x2090]
movsd xmm1, qword [ebp - 0xbaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f58d
mov ecx, dword [ebp - 0x2090]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaf0], xmm1
jmp 0x47f489
cvtsi2sd xmm0, dword [ebp - 0x2090]
movsd xmm1, qword [ebp - 0xbaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbb00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f5ea
mov eax, dword [ebp - 0x2090]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbaf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbaf0], xmm1
jmp 0x47f603
mov ecx, 1
test ecx, ecx
je 0x47f5ff
jmp 0x47f6bc
jmp 0x47f626
cvtsi2sd xmm0, dword [ebp - 0x2090]
movsd xmm1, qword [ebp - 0xbaf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2094], edx
jmp 0x47f6c6
xor eax, eax
je 0x47f630
jmp 0x47f63f
jmp 0x47f489
jmp 0x47f489
mov ecx, 6
test ecx, ecx
je 0x47f6bc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2098], eax
cvtsi2sd xmm0, dword [ebp - 0x2098]
mov eax, dword [ebp - 0x2098]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbaf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2094], ecx
jmp 0x47f6c6
mov dword [ebp - 0x2094], 2
mov edx, dword [ebp - 0x2074]
shl edx, 2
add edx, dword [ebp - 0x2070]
mov eax, dword [ebp - 0x2094]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2074]
shl ecx, 2
add ecx, dword [ebp - 0x2070]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2074]
add edx, 0xffffffc0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbb08], xmm0
xor eax, eax
je 0x47f708
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47f744
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbb08]
movsd qword [ebp - 0xbb10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47f8e4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47f8e4
mov dword [ebp - 0x209c], 0
jmp 0x47f7c3
cmp dword [ebp - 0x209c], 9
jae 0x47f8df
cvtsi2sd xmm0, dword [ebp - 0x209c]
movsd xmm1, qword [ebp - 0xbb10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f832
mov ecx, dword [ebp - 0x209c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbb10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb10], xmm1
jmp 0x47f72e
cvtsi2sd xmm0, dword [ebp - 0x209c]
movsd xmm1, qword [ebp - 0xbb10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbb20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47f88f
mov eax, dword [ebp - 0x209c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb10], xmm1
jmp 0x47f8a8
mov ecx, 1
test ecx, ecx
je 0x47f8a4
jmp 0x47f961
jmp 0x47f8cb
cvtsi2sd xmm0, dword [ebp - 0x209c]
movsd xmm1, qword [ebp - 0xbb10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x20a0], edx
jmp 0x47f96b
xor eax, eax
je 0x47f8d5
jmp 0x47f8e4
jmp 0x47f72e
jmp 0x47f72e
mov ecx, 6
test ecx, ecx
je 0x47f961
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20a4], eax
cvtsi2sd xmm0, dword [ebp - 0x20a4]
mov eax, dword [ebp - 0x20a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbb10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x20a0], ecx
jmp 0x47f96b
mov dword [ebp - 0x20a0], 2
mov edx, dword [ebp - 0x2074]
add edx, 0xffffffc0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbb28], xmm0
xor eax, eax
je 0x47f985
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x47f9c1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbb28]
movsd qword [ebp - 0xbb30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47fb61
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47fb61
mov dword [ebp - 0x20a8], 0
jmp 0x47fa40
cmp dword [ebp - 0x20a8], 9
jae 0x47fb5c
cvtsi2sd xmm0, dword [ebp - 0x20a8]
movsd xmm1, qword [ebp - 0xbb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47faaf
mov ecx, dword [ebp - 0x20a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb30], xmm1
jmp 0x47f9ab
cvtsi2sd xmm0, dword [ebp - 0x20a8]
movsd xmm1, qword [ebp - 0xbb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbb40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fb0c
mov eax, dword [ebp - 0x20a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb30], xmm1
jmp 0x47fb25
mov ecx, 1
test ecx, ecx
je 0x47fb21
jmp 0x47fbde
jmp 0x47fb48
cvtsi2sd xmm0, dword [ebp - 0x20a8]
movsd xmm1, qword [ebp - 0xbb30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x20ac], edx
jmp 0x47fbe8
xor eax, eax
je 0x47fb52
jmp 0x47fb61
jmp 0x47f9ab
jmp 0x47f9ab
mov ecx, 6
test ecx, ecx
je 0x47fbde
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20b0], eax
cvtsi2sd xmm0, dword [ebp - 0x20b0]
mov eax, dword [ebp - 0x20b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbb30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x20ac], ecx
jmp 0x47fbe8
mov dword [ebp - 0x20ac], 2
mov edx, dword [ebp - 0x2074]
shl edx, 2
add edx, dword [ebp - 0x2070]
mov eax, dword [ebp - 0x20a0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2074]
shl ecx, 2
add ecx, dword [ebp - 0x2070]
mov edx, dword [ebp - 0x20ac]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2074]
shl ecx, 2
add ecx, dword [ebp - 0x2070]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x47fef3
xor eax, eax
je 0x47fc68
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x47fca4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbb48], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x47fe44
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x47fe44
mov dword [ebp - 0x20b4], 0
jmp 0x47fd23
cmp dword [ebp - 0x20b4], 9
jae 0x47fe3f
cvtsi2sd xmm0, dword [ebp - 0x20b4]
movsd xmm1, qword [ebp - 0xbb48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb50], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fd92
mov ecx, dword [ebp - 0x20b4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbb48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb48], xmm1
jmp 0x47fc8e
cvtsi2sd xmm0, dword [ebp - 0x20b4]
movsd xmm1, qword [ebp - 0xbb48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb58], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbb58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x47fdef
mov eax, dword [ebp - 0x20b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb48]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb48], xmm1
jmp 0x47fe08
mov ecx, 1
test ecx, ecx
je 0x47fe04
jmp 0x47fec1
jmp 0x47fe2b
cvtsi2sd xmm0, dword [ebp - 0x20b4]
movsd xmm1, qword [ebp - 0xbb48]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x20b8], edx
jmp 0x47fecb
xor eax, eax
je 0x47fe35
jmp 0x47fe44
jmp 0x47fc8e
jmp 0x47fc8e
mov ecx, 6
test ecx, ecx
je 0x47fec1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20bc], eax
cvtsi2sd xmm0, dword [ebp - 0x20bc]
mov eax, dword [ebp - 0x20bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbb48]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x20b8], ecx
jmp 0x47fecb
mov dword [ebp - 0x20b8], 2
mov edx, dword [ebp - 0x2074]
shl edx, 2
add edx, dword [ebp - 0x2070]
mov eax, dword [ebp - 0x20b8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2074]
shl ecx, 2
add ecx, dword [ebp - 0x2070]
mov dword [ecx], eax
jmp 0x47ee35
mov edx, dword [ebp - 0x206c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x206c]
mov dword [ebp - 0x20c0], eax
mov ecx, dword [ebp - 0x20c0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x20c4], ecx
mov edx, dword [ebp - 0x20c4]
mov dword [ebp - 0x20c8], edx
mov eax, dword [ebp - 0x2068]
mov dword [ebp - 0x2008], eax
cmp dword [ebp - 0x2008], 0
je 0x481083
xor ecx, ecx
mov byte [ebp - 0x59], cl
lea ecx, [ebp - 0x59]
call fcn.00424340
mov dword [ebp - 0x20cc], eax
mov edx, dword [ebp - 0x20cc]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x48104a
mov ecx, dword [ebp - 0x20cc]
mov dword [ebp - 0x20d0], ecx
mov dword [ebp - 0x20d4], 0
jmp 0x47ff96
mov edx, dword [ebp - 0x20d4]
add edx, 1
mov dword [ebp - 0x20d4], edx
cmp dword [ebp - 0x20d4], 1
jae 0x48104a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48026b
xor eax, eax
je 0x47ffe0
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x48001c
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xbb60], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4801bc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4801bc
mov dword [ebp - 0x20d8], 0
jmp 0x48009b
cmp dword [ebp - 0x20d8], 9
jae 0x4801b7
cvtsi2sd xmm0, dword [ebp - 0x20d8]
movsd xmm1, qword [ebp - 0xbb60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb68], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48010a
mov ecx, dword [ebp - 0x20d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbb60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb60], xmm1
jmp 0x480006
cvtsi2sd xmm0, dword [ebp - 0x20d8]
movsd xmm1, qword [ebp - 0xbb60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb70], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbb70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480167
mov eax, dword [ebp - 0x20d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb60]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb60], xmm1
jmp 0x480180
mov ecx, 1
test ecx, ecx
je 0x48017c
jmp 0x480239
jmp 0x4801a3
cvtsi2sd xmm0, dword [ebp - 0x20d8]
movsd xmm1, qword [ebp - 0xbb60]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x20dc], edx
jmp 0x480243
xor eax, eax
je 0x4801ad
jmp 0x4801bc
jmp 0x480006
jmp 0x480006
mov ecx, 6
test ecx, ecx
je 0x480239
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20e0], eax
cvtsi2sd xmm0, dword [ebp - 0x20e0]
mov eax, dword [ebp - 0x20e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbb60]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x20dc], ecx
jmp 0x480243
mov dword [ebp - 0x20dc], 2
mov edx, dword [ebp - 0x20d4]
shl edx, 2
add edx, dword [ebp - 0x20d0]
mov eax, dword [ebp - 0x20dc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x20d4]
shl ecx, 2
add ecx, dword [ebp - 0x20d0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x480d7d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x480578
xor eax, eax
je 0x4802ed
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x480329
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xbb78], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4804c9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4804c9
mov dword [ebp - 0x20e4], 0
jmp 0x4803a8
cmp dword [ebp - 0x20e4], 9
jae 0x4804c4
cvtsi2sd xmm0, dword [ebp - 0x20e4]
movsd xmm1, qword [ebp - 0xbb78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb80], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480417
mov ecx, dword [ebp - 0x20e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbb78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb78], xmm1
jmp 0x480313
cvtsi2sd xmm0, dword [ebp - 0x20e4]
movsd xmm1, qword [ebp - 0xbb78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb88], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbb88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480474
mov eax, dword [ebp - 0x20e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb78]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb78], xmm1
jmp 0x48048d
mov ecx, 1
test ecx, ecx
je 0x480489
jmp 0x480546
jmp 0x4804b0
cvtsi2sd xmm0, dword [ebp - 0x20e4]
movsd xmm1, qword [ebp - 0xbb78]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x20e8], edx
jmp 0x480550
xor eax, eax
je 0x4804ba
jmp 0x4804c9
jmp 0x480313
jmp 0x480313
mov ecx, 6
test ecx, ecx
je 0x480546
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20ec], eax
cvtsi2sd xmm0, dword [ebp - 0x20ec]
mov eax, dword [ebp - 0x20ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbb78]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x20e8], ecx
jmp 0x480550
mov dword [ebp - 0x20e8], 2
mov edx, dword [ebp - 0x20d4]
shl edx, 2
add edx, dword [ebp - 0x20d0]
mov eax, dword [ebp - 0x20e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x20d4]
shl ecx, 2
add ecx, dword [ebp - 0x20d0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x480840
xor eax, eax
je 0x4805b5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4805f1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbb90], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x480791
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x480791
mov dword [ebp - 0x20f0], 0
jmp 0x480670
cmp dword [ebp - 0x20f0], 9
jae 0x48078c
cvtsi2sd xmm0, dword [ebp - 0x20f0]
movsd xmm1, qword [ebp - 0xbb90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4806df
mov ecx, dword [ebp - 0x20f0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbb90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb90], xmm1
jmp 0x4805db
cvtsi2sd xmm0, dword [ebp - 0x20f0]
movsd xmm1, qword [ebp - 0xbb90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbba0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbba0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48073c
mov eax, dword [ebp - 0x20f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbb90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbb90], xmm1
jmp 0x480755
mov ecx, 1
test ecx, ecx
je 0x480751
jmp 0x48080e
jmp 0x480778
cvtsi2sd xmm0, dword [ebp - 0x20f0]
movsd xmm1, qword [ebp - 0xbb90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x20f4], edx
jmp 0x480818
xor eax, eax
je 0x480782
jmp 0x480791
jmp 0x4805db
jmp 0x4805db
mov ecx, 6
test ecx, ecx
je 0x48080e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x20f8], eax
cvtsi2sd xmm0, dword [ebp - 0x20f8]
mov eax, dword [ebp - 0x20f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbb90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x20f4], ecx
jmp 0x480818
mov dword [ebp - 0x20f4], 2
mov edx, dword [ebp - 0x20d4]
shl edx, 2
add edx, dword [ebp - 0x20d0]
mov eax, dword [ebp - 0x20f4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x20d4]
shl ecx, 2
add ecx, dword [ebp - 0x20d0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x20d4]
add edx, 0xffffffc0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbba8], xmm0
xor eax, eax
je 0x48085a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x480896
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbba8]
movsd qword [ebp - 0xbbb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x480a36
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x480a36
mov dword [ebp - 0x20fc], 0
jmp 0x480915
cmp dword [ebp - 0x20fc], 9
jae 0x480a31
cvtsi2sd xmm0, dword [ebp - 0x20fc]
movsd xmm1, qword [ebp - 0xbbb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480984
mov ecx, dword [ebp - 0x20fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbbb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbb0], xmm1
jmp 0x480880
cvtsi2sd xmm0, dword [ebp - 0x20fc]
movsd xmm1, qword [ebp - 0xbbb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbbc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4809e1
mov eax, dword [ebp - 0x20fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbb0], xmm1
jmp 0x4809fa
mov ecx, 1
test ecx, ecx
je 0x4809f6
jmp 0x480ab3
jmp 0x480a1d
cvtsi2sd xmm0, dword [ebp - 0x20fc]
movsd xmm1, qword [ebp - 0xbbb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2100], edx
jmp 0x480abd
xor eax, eax
je 0x480a27
jmp 0x480a36
jmp 0x480880
jmp 0x480880
mov ecx, 6
test ecx, ecx
je 0x480ab3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2104], eax
cvtsi2sd xmm0, dword [ebp - 0x2104]
mov eax, dword [ebp - 0x2104]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbbb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2100], ecx
jmp 0x480abd
mov dword [ebp - 0x2100], 2
mov edx, dword [ebp - 0x20d4]
add edx, 0xffffffc0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbbc8], xmm0
xor eax, eax
je 0x480ad7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x480b13
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbbc8]
movsd qword [ebp - 0xbbd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x480cb3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x480cb3
mov dword [ebp - 0x2108], 0
jmp 0x480b92
cmp dword [ebp - 0x2108], 9
jae 0x480cae
cvtsi2sd xmm0, dword [ebp - 0x2108]
movsd xmm1, qword [ebp - 0xbbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480c01
mov ecx, dword [ebp - 0x2108]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbd0], xmm1
jmp 0x480afd
cvtsi2sd xmm0, dword [ebp - 0x2108]
movsd xmm1, qword [ebp - 0xbbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbe0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbbe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480c5e
mov eax, dword [ebp - 0x2108]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbd0], xmm1
jmp 0x480c77
mov ecx, 1
test ecx, ecx
je 0x480c73
jmp 0x480d30
jmp 0x480c9a
cvtsi2sd xmm0, dword [ebp - 0x2108]
movsd xmm1, qword [ebp - 0xbbd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x210c], edx
jmp 0x480d3a
xor eax, eax
je 0x480ca4
jmp 0x480cb3
jmp 0x480afd
jmp 0x480afd
mov ecx, 6
test ecx, ecx
je 0x480d30
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2110], eax
cvtsi2sd xmm0, dword [ebp - 0x2110]
mov eax, dword [ebp - 0x2110]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbbd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x210c], ecx
jmp 0x480d3a
mov dword [ebp - 0x210c], 2
mov edx, dword [ebp - 0x20d4]
shl edx, 2
add edx, dword [ebp - 0x20d0]
mov eax, dword [ebp - 0x2100]
add eax, dword [edx]
mov ecx, dword [ebp - 0x20d4]
shl ecx, 2
add ecx, dword [ebp - 0x20d0]
mov edx, dword [ebp - 0x210c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x20d4]
shl ecx, 2
add ecx, dword [ebp - 0x20d0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x481045
xor eax, eax
je 0x480dba
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x480df6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbbe8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x480f96
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x480f96
mov dword [ebp - 0x2114], 0
jmp 0x480e75
cmp dword [ebp - 0x2114], 9
jae 0x480f91
cvtsi2sd xmm0, dword [ebp - 0x2114]
movsd xmm1, qword [ebp - 0xbbe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbf0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480ee4
mov ecx, dword [ebp - 0x2114]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbbe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbe8], xmm1
jmp 0x480de0
cvtsi2sd xmm0, dword [ebp - 0x2114]
movsd xmm1, qword [ebp - 0xbbe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbf8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbbf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x480f41
mov eax, dword [ebp - 0x2114]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbbe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbbe8], xmm1
jmp 0x480f5a
mov ecx, 1
test ecx, ecx
je 0x480f56
jmp 0x481013
jmp 0x480f7d
cvtsi2sd xmm0, dword [ebp - 0x2114]
movsd xmm1, qword [ebp - 0xbbe8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2118], edx
jmp 0x48101d
xor eax, eax
je 0x480f87
jmp 0x480f96
jmp 0x480de0
jmp 0x480de0
mov ecx, 6
test ecx, ecx
je 0x481013
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x211c], eax
cvtsi2sd xmm0, dword [ebp - 0x211c]
mov eax, dword [ebp - 0x211c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbbe8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2118], ecx
jmp 0x48101d
mov dword [ebp - 0x2118], 2
mov edx, dword [ebp - 0x20d4]
shl edx, 2
add edx, dword [ebp - 0x20d0]
mov eax, dword [ebp - 0x2118]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x20d4]
shl ecx, 2
add ecx, dword [ebp - 0x20d0]
mov dword [ecx], eax
jmp 0x47ff87
mov edx, dword [ebp - 0x20cc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x20cc]
mov dword [ebp - 0x2120], eax
mov ecx, dword [ebp - 0x2120]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2124], ecx
mov edx, dword [ebp - 0x2124]
mov dword [ebp - 0x20c8], edx
mov eax, dword [ebp - 0x16620]
mov dword [ebp - 0x2128], eax
push 0x173
push 0xe8d11b2d
push 0xf
push 0
call fcn.005cc4d0
add esp, 0x10
mov dword [ebp - 0x212c], eax
lea ecx, [ebp - 0x2130]
push ecx
mov edx, dword [ebp - 0x2128]
push edx
call dword [ebp - 0x212c]
nop
xor eax, eax
mov byte [ebp - 0x5a], al
lea ecx, [ebp - 0x5a]
call fcn.00424310
mov dword [ebp - 0x2134], eax
mov ecx, dword [ebp - 0x2134]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4821c0
mov eax, dword [ebp - 0x2134]
mov dword [ebp - 0x2138], eax
mov dword [ebp - 0x213c], 0
jmp 0x48110c
mov ecx, dword [ebp - 0x213c]
add ecx, 1
mov dword [ebp - 0x213c], ecx
cmp dword [ebp - 0x213c], 1
jae 0x4821c0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4813e1
xor eax, eax
je 0x481156
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x481192
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726328]
movsd qword [ebp - 0xbc00], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x481332
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x481332
mov dword [ebp - 0x2140], 0
jmp 0x481211
cmp dword [ebp - 0x2140], 9
jae 0x48132d
cvtsi2sd xmm0, dword [ebp - 0x2140]
movsd xmm1, qword [ebp - 0xbc00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc08], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481280
mov ecx, dword [ebp - 0x2140]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbc00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc00], xmm1
jmp 0x48117c
cvtsi2sd xmm0, dword [ebp - 0x2140]
movsd xmm1, qword [ebp - 0xbc00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc10], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbc10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4812dd
mov eax, dword [ebp - 0x2140]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc00]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc00], xmm1
jmp 0x4812f6
mov ecx, 1
test ecx, ecx
je 0x4812f2
jmp 0x4813af
jmp 0x481319
cvtsi2sd xmm0, dword [ebp - 0x2140]
movsd xmm1, qword [ebp - 0xbc00]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2144], edx
jmp 0x4813b9
xor eax, eax
je 0x481323
jmp 0x481332
jmp 0x48117c
jmp 0x48117c
mov ecx, 6
test ecx, ecx
je 0x4813af
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2148], eax
cvtsi2sd xmm0, dword [ebp - 0x2148]
mov eax, dword [ebp - 0x2148]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbc00]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2144], ecx
jmp 0x4813b9
mov dword [ebp - 0x2144], 2
mov edx, dword [ebp - 0x213c]
shl edx, 2
add edx, dword [ebp - 0x2138]
mov eax, dword [ebp - 0x2144]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x213c]
shl ecx, 2
add ecx, dword [ebp - 0x2138]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x481ef3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4816ee
xor eax, eax
je 0x481463
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48149f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xbc18], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48163f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48163f
mov dword [ebp - 0x214c], 0
jmp 0x48151e
cmp dword [ebp - 0x214c], 9
jae 0x48163a
cvtsi2sd xmm0, dword [ebp - 0x214c]
movsd xmm1, qword [ebp - 0xbc18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc20], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48158d
mov ecx, dword [ebp - 0x214c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbc18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc18], xmm1
jmp 0x481489
cvtsi2sd xmm0, dword [ebp - 0x214c]
movsd xmm1, qword [ebp - 0xbc18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc28], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbc28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4815ea
mov eax, dword [ebp - 0x214c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc18]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc18], xmm1
jmp 0x481603
mov ecx, 1
test ecx, ecx
je 0x4815ff
jmp 0x4816bc
jmp 0x481626
cvtsi2sd xmm0, dword [ebp - 0x214c]
movsd xmm1, qword [ebp - 0xbc18]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2150], edx
jmp 0x4816c6
xor eax, eax
je 0x481630
jmp 0x48163f
jmp 0x481489
jmp 0x481489
mov ecx, 6
test ecx, ecx
je 0x4816bc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2154], eax
cvtsi2sd xmm0, dword [ebp - 0x2154]
mov eax, dword [ebp - 0x2154]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbc18]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2150], ecx
jmp 0x4816c6
mov dword [ebp - 0x2150], 2
mov edx, dword [ebp - 0x213c]
shl edx, 2
add edx, dword [ebp - 0x2138]
mov eax, dword [ebp - 0x2150]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x213c]
shl ecx, 2
add ecx, dword [ebp - 0x2138]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4819b6
xor eax, eax
je 0x48172b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x481767
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbc30], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x481907
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x481907
mov dword [ebp - 0x2158], 0
jmp 0x4817e6
cmp dword [ebp - 0x2158], 9
jae 0x481902
cvtsi2sd xmm0, dword [ebp - 0x2158]
movsd xmm1, qword [ebp - 0xbc30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481855
mov ecx, dword [ebp - 0x2158]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbc30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc30], xmm1
jmp 0x481751
cvtsi2sd xmm0, dword [ebp - 0x2158]
movsd xmm1, qword [ebp - 0xbc30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbc40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4818b2
mov eax, dword [ebp - 0x2158]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc30], xmm1
jmp 0x4818cb
mov ecx, 1
test ecx, ecx
je 0x4818c7
jmp 0x481984
jmp 0x4818ee
cvtsi2sd xmm0, dword [ebp - 0x2158]
movsd xmm1, qword [ebp - 0xbc30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x215c], edx
jmp 0x48198e
xor eax, eax
je 0x4818f8
jmp 0x481907
jmp 0x481751
jmp 0x481751
mov ecx, 6
test ecx, ecx
je 0x481984
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2160], eax
cvtsi2sd xmm0, dword [ebp - 0x2160]
mov eax, dword [ebp - 0x2160]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbc30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x215c], ecx
jmp 0x48198e
mov dword [ebp - 0x215c], 2
mov edx, dword [ebp - 0x213c]
shl edx, 2
add edx, dword [ebp - 0x2138]
mov eax, dword [ebp - 0x215c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x213c]
shl ecx, 2
add ecx, dword [ebp - 0x2138]
mov dword [ecx], eax
mov edx, dword [ebp - 0x213c]
add edx, 0xffffffc0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbc48], xmm0
xor eax, eax
je 0x4819d0
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x481a0c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbc48]
movsd qword [ebp - 0xbc50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x481bac
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x481bac
mov dword [ebp - 0x2164], 0
jmp 0x481a8b
cmp dword [ebp - 0x2164], 9
jae 0x481ba7
cvtsi2sd xmm0, dword [ebp - 0x2164]
movsd xmm1, qword [ebp - 0xbc50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481afa
mov ecx, dword [ebp - 0x2164]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbc50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc50], xmm1
jmp 0x4819f6
cvtsi2sd xmm0, dword [ebp - 0x2164]
movsd xmm1, qword [ebp - 0xbc50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbc60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481b57
mov eax, dword [ebp - 0x2164]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc50], xmm1
jmp 0x481b70
mov ecx, 1
test ecx, ecx
je 0x481b6c
jmp 0x481c29
jmp 0x481b93
cvtsi2sd xmm0, dword [ebp - 0x2164]
movsd xmm1, qword [ebp - 0xbc50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2168], edx
jmp 0x481c33
xor eax, eax
je 0x481b9d
jmp 0x481bac
jmp 0x4819f6
jmp 0x4819f6
mov ecx, 6
test ecx, ecx
je 0x481c29
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x216c], eax
cvtsi2sd xmm0, dword [ebp - 0x216c]
mov eax, dword [ebp - 0x216c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbc50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2168], ecx
jmp 0x481c33
mov dword [ebp - 0x2168], 2
mov edx, dword [ebp - 0x213c]
add edx, 0xffffffc0
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbc68], xmm0
xor eax, eax
je 0x481c4d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x481c89
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbc68]
movsd qword [ebp - 0xbc70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x481e29
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x481e29
mov dword [ebp - 0x2170], 0
jmp 0x481d08
cmp dword [ebp - 0x2170], 9
jae 0x481e24
cvtsi2sd xmm0, dword [ebp - 0x2170]
movsd xmm1, qword [ebp - 0xbc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481d77
mov ecx, dword [ebp - 0x2170]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc70], xmm1
jmp 0x481c73
cvtsi2sd xmm0, dword [ebp - 0x2170]
movsd xmm1, qword [ebp - 0xbc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbc80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x481dd4
mov eax, dword [ebp - 0x2170]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc70], xmm1
jmp 0x481ded
mov ecx, 1
test ecx, ecx
je 0x481de9
jmp 0x481ea6
jmp 0x481e10
cvtsi2sd xmm0, dword [ebp - 0x2170]
movsd xmm1, qword [ebp - 0xbc70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2174], edx
jmp 0x481eb0
xor eax, eax
je 0x481e1a
jmp 0x481e29
jmp 0x481c73
jmp 0x481c73
mov ecx, 6
test ecx, ecx
je 0x481ea6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2178], eax
cvtsi2sd xmm0, dword [ebp - 0x2178]
mov eax, dword [ebp - 0x2178]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbc70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2174], ecx
jmp 0x481eb0
mov dword [ebp - 0x2174], 2
mov edx, dword [ebp - 0x213c]
shl edx, 2
add edx, dword [ebp - 0x2138]
mov eax, dword [ebp - 0x2168]
add eax, dword [edx]
mov ecx, dword [ebp - 0x213c]
shl ecx, 2
add ecx, dword [ebp - 0x2138]
mov edx, dword [ebp - 0x2174]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x213c]
shl ecx, 2
add ecx, dword [ebp - 0x2138]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4821bb
xor eax, eax
je 0x481f30
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x481f6c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbc88], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48210c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48210c
mov dword [ebp - 0x217c], 0
jmp 0x481feb
cmp dword [ebp - 0x217c], 9
jae 0x482107
cvtsi2sd xmm0, dword [ebp - 0x217c]
movsd xmm1, qword [ebp - 0xbc88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc90], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48205a
mov ecx, dword [ebp - 0x217c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbc88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc88], xmm1
jmp 0x481f56
cvtsi2sd xmm0, dword [ebp - 0x217c]
movsd xmm1, qword [ebp - 0xbc88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc98], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbc98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4820b7
mov eax, dword [ebp - 0x217c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbc88]
addsd xmm1, xmm0
movsd qword [ebp - 0xbc88], xmm1
jmp 0x4820d0
mov ecx, 1
test ecx, ecx
je 0x4820cc
jmp 0x482189
jmp 0x4820f3
cvtsi2sd xmm0, dword [ebp - 0x217c]
movsd xmm1, qword [ebp - 0xbc88]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2180], edx
jmp 0x482193
xor eax, eax
je 0x4820fd
jmp 0x48210c
jmp 0x481f56
jmp 0x481f56
mov ecx, 6
test ecx, ecx
je 0x482189
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2184], eax
cvtsi2sd xmm0, dword [ebp - 0x2184]
mov eax, dword [ebp - 0x2184]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbc88]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2180], ecx
jmp 0x482193
mov dword [ebp - 0x2180], 2
mov edx, dword [ebp - 0x213c]
shl edx, 2
add edx, dword [ebp - 0x2138]
mov eax, dword [ebp - 0x2180]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x213c]
shl ecx, 2
add ecx, dword [ebp - 0x2138]
mov dword [ecx], eax
jmp 0x4810fd
mov edx, dword [ebp - 0x2134]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2134]
mov dword [ebp - 0x2188], eax
mov ecx, dword [ebp - 0x2188]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x218c], ecx
mov edx, dword [ebp - 0x218c]
mov dword [ebp - 0x2190], edx
xor eax, eax
mov byte [ebp - 0x5b], al
lea ecx, [ebp - 0x5b]
call fcn.004242e0
mov dword [ebp - 0x2194], eax
mov ecx, dword [ebp - 0x2194]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4832f9
mov eax, dword [ebp - 0x2194]
mov dword [ebp - 0x2198], eax
mov dword [ebp - 0x219c], 0
jmp 0x482245
mov ecx, dword [ebp - 0x219c]
add ecx, 1
mov dword [ebp - 0x219c], ecx
cmp dword [ebp - 0x219c], 1
jae 0x4832f9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48251a
xor eax, eax
je 0x48228f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4822cb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xbca0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48246b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48246b
mov dword [ebp - 0x21a0], 0
jmp 0x48234a
cmp dword [ebp - 0x21a0], 9
jae 0x482466
cvtsi2sd xmm0, dword [ebp - 0x21a0]
movsd xmm1, qword [ebp - 0xbca0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbca8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbca8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4823b9
mov ecx, dword [ebp - 0x21a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbca0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbca0], xmm1
jmp 0x4822b5
cvtsi2sd xmm0, dword [ebp - 0x21a0]
movsd xmm1, qword [ebp - 0xbca0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcb0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbcb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482416
mov eax, dword [ebp - 0x21a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbca0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbca0], xmm1
jmp 0x48242f
mov ecx, 1
test ecx, ecx
je 0x48242b
jmp 0x4824e8
jmp 0x482452
cvtsi2sd xmm0, dword [ebp - 0x21a0]
movsd xmm1, qword [ebp - 0xbca0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x21a4], edx
jmp 0x4824f2
xor eax, eax
je 0x48245c
jmp 0x48246b
jmp 0x4822b5
jmp 0x4822b5
mov ecx, 6
test ecx, ecx
je 0x4824e8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x21a8], eax
cvtsi2sd xmm0, dword [ebp - 0x21a8]
mov eax, dword [ebp - 0x21a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbca0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x21a4], ecx
jmp 0x4824f2
mov dword [ebp - 0x21a4], 2
mov edx, dword [ebp - 0x219c]
shl edx, 2
add edx, dword [ebp - 0x2198]
mov eax, dword [ebp - 0x21a4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x219c]
shl ecx, 2
add ecx, dword [ebp - 0x2198]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48302c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x482827
xor eax, eax
je 0x48259c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4825d8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbcb8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x482778
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x482778
mov dword [ebp - 0x21ac], 0
jmp 0x482657
cmp dword [ebp - 0x21ac], 9
jae 0x482773
cvtsi2sd xmm0, dword [ebp - 0x21ac]
movsd xmm1, qword [ebp - 0xbcb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcc0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4826c6
mov ecx, dword [ebp - 0x21ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbcb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcb8], xmm1
jmp 0x4825c2
cvtsi2sd xmm0, dword [ebp - 0x21ac]
movsd xmm1, qword [ebp - 0xbcb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcc8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbcc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482723
mov eax, dword [ebp - 0x21ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcb8], xmm1
jmp 0x48273c
mov ecx, 1
test ecx, ecx
je 0x482738
jmp 0x4827f5
jmp 0x48275f
cvtsi2sd xmm0, dword [ebp - 0x21ac]
movsd xmm1, qword [ebp - 0xbcb8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x21b0], edx
jmp 0x4827ff
xor eax, eax
je 0x482769
jmp 0x482778
jmp 0x4825c2
jmp 0x4825c2
mov ecx, 6
test ecx, ecx
je 0x4827f5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x21b4], eax
cvtsi2sd xmm0, dword [ebp - 0x21b4]
mov eax, dword [ebp - 0x21b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbcb8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x21b0], ecx
jmp 0x4827ff
mov dword [ebp - 0x21b0], 2
mov edx, dword [ebp - 0x219c]
shl edx, 2
add edx, dword [ebp - 0x2198]
mov eax, dword [ebp - 0x21b0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x219c]
shl ecx, 2
add ecx, dword [ebp - 0x2198]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x482aef
xor eax, eax
je 0x482864
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4828a0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbcd0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x482a40
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x482a40
mov dword [ebp - 0x21b8], 0
jmp 0x48291f
cmp dword [ebp - 0x21b8], 9
jae 0x482a3b
cvtsi2sd xmm0, dword [ebp - 0x21b8]
movsd xmm1, qword [ebp - 0xbcd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48298e
mov ecx, dword [ebp - 0x21b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbcd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcd0], xmm1
jmp 0x48288a
cvtsi2sd xmm0, dword [ebp - 0x21b8]
movsd xmm1, qword [ebp - 0xbcd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbce0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbce0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4829eb
mov eax, dword [ebp - 0x21b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcd0], xmm1
jmp 0x482a04
mov ecx, 1
test ecx, ecx
je 0x482a00
jmp 0x482abd
jmp 0x482a27
cvtsi2sd xmm0, dword [ebp - 0x21b8]
movsd xmm1, qword [ebp - 0xbcd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x21bc], edx
jmp 0x482ac7
xor eax, eax
je 0x482a31
jmp 0x482a40
jmp 0x48288a
jmp 0x48288a
mov ecx, 6
test ecx, ecx
je 0x482abd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x21c0], eax
cvtsi2sd xmm0, dword [ebp - 0x21c0]
mov eax, dword [ebp - 0x21c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbcd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x21bc], ecx
jmp 0x482ac7
mov dword [ebp - 0x21bc], 2
mov edx, dword [ebp - 0x219c]
shl edx, 2
add edx, dword [ebp - 0x2198]
mov eax, dword [ebp - 0x21bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x219c]
shl ecx, 2
add ecx, dword [ebp - 0x2198]
mov dword [ecx], eax
mov edx, dword [ebp - 0x219c]
add edx, 0xffffffc1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbce8], xmm0
xor eax, eax
je 0x482b09
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x482b45
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbce8]
movsd qword [ebp - 0xbcf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x482ce5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x482ce5
mov dword [ebp - 0x21c4], 0
jmp 0x482bc4
cmp dword [ebp - 0x21c4], 9
jae 0x482ce0
cvtsi2sd xmm0, dword [ebp - 0x21c4]
movsd xmm1, qword [ebp - 0xbcf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482c33
mov ecx, dword [ebp - 0x21c4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbcf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcf0], xmm1
jmp 0x482b2f
cvtsi2sd xmm0, dword [ebp - 0x21c4]
movsd xmm1, qword [ebp - 0xbcf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbd00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482c90
mov eax, dword [ebp - 0x21c4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbcf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbcf0], xmm1
jmp 0x482ca9
mov ecx, 1
test ecx, ecx
je 0x482ca5
jmp 0x482d62
jmp 0x482ccc
cvtsi2sd xmm0, dword [ebp - 0x21c4]
movsd xmm1, qword [ebp - 0xbcf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x21c8], edx
jmp 0x482d6c
xor eax, eax
je 0x482cd6
jmp 0x482ce5
jmp 0x482b2f
jmp 0x482b2f
mov ecx, 6
test ecx, ecx
je 0x482d62
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x21cc], eax
cvtsi2sd xmm0, dword [ebp - 0x21cc]
mov eax, dword [ebp - 0x21cc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbcf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x21c8], ecx
jmp 0x482d6c
mov dword [ebp - 0x21c8], 2
mov edx, dword [ebp - 0x219c]
add edx, 0xffffffc1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbd08], xmm0
xor eax, eax
je 0x482d86
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x482dc2
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbd08]
movsd qword [ebp - 0xbd10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x482f62
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x482f62
mov dword [ebp - 0x21d0], 0
jmp 0x482e41
cmp dword [ebp - 0x21d0], 9
jae 0x482f5d
cvtsi2sd xmm0, dword [ebp - 0x21d0]
movsd xmm1, qword [ebp - 0xbd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482eb0
mov ecx, dword [ebp - 0x21d0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd10], xmm1
jmp 0x482dac
cvtsi2sd xmm0, dword [ebp - 0x21d0]
movsd xmm1, qword [ebp - 0xbd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbd20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x482f0d
mov eax, dword [ebp - 0x21d0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd10], xmm1
jmp 0x482f26
mov ecx, 1
test ecx, ecx
je 0x482f22
jmp 0x482fdf
jmp 0x482f49
cvtsi2sd xmm0, dword [ebp - 0x21d0]
movsd xmm1, qword [ebp - 0xbd10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x21d4], edx
jmp 0x482fe9
xor eax, eax
je 0x482f53
jmp 0x482f62
jmp 0x482dac
jmp 0x482dac
mov ecx, 6
test ecx, ecx
je 0x482fdf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x21d8], eax
cvtsi2sd xmm0, dword [ebp - 0x21d8]
mov eax, dword [ebp - 0x21d8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbd10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x21d4], ecx
jmp 0x482fe9
mov dword [ebp - 0x21d4], 2
mov edx, dword [ebp - 0x219c]
shl edx, 2
add edx, dword [ebp - 0x2198]
mov eax, dword [ebp - 0x21c8]
add eax, dword [edx]
mov ecx, dword [ebp - 0x219c]
shl ecx, 2
add ecx, dword [ebp - 0x2198]
mov edx, dword [ebp - 0x21d4]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x219c]
shl ecx, 2
add ecx, dword [ebp - 0x2198]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4832f4
xor eax, eax
je 0x483069
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4830a5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xbd28], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x483245
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x483245
mov dword [ebp - 0x21dc], 0
jmp 0x483124
cmp dword [ebp - 0x21dc], 9
jae 0x483240
cvtsi2sd xmm0, dword [ebp - 0x21dc]
movsd xmm1, qword [ebp - 0xbd28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd30], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483193
mov ecx, dword [ebp - 0x21dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbd28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd28], xmm1
jmp 0x48308f
cvtsi2sd xmm0, dword [ebp - 0x21dc]
movsd xmm1, qword [ebp - 0xbd28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd38], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbd38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4831f0
mov eax, dword [ebp - 0x21dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd28]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd28], xmm1
jmp 0x483209
mov ecx, 1
test ecx, ecx
je 0x483205
jmp 0x4832c2
jmp 0x48322c
cvtsi2sd xmm0, dword [ebp - 0x21dc]
movsd xmm1, qword [ebp - 0xbd28]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x21e0], edx
jmp 0x4832cc
xor eax, eax
je 0x483236
jmp 0x483245
jmp 0x48308f
jmp 0x48308f
mov ecx, 6
test ecx, ecx
je 0x4832c2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x21e4], eax
cvtsi2sd xmm0, dword [ebp - 0x21e4]
mov eax, dword [ebp - 0x21e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbd28]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x21e0], ecx
jmp 0x4832cc
mov dword [ebp - 0x21e0], 2
mov edx, dword [ebp - 0x219c]
shl edx, 2
add edx, dword [ebp - 0x2198]
mov eax, dword [ebp - 0x21e0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x219c]
shl ecx, 2
add ecx, dword [ebp - 0x2198]
mov dword [ecx], eax
jmp 0x482236
mov edx, dword [ebp - 0x2194]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2194]
mov dword [ebp - 0x21e8], eax
mov ecx, dword [ebp - 0x21e8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x21ec], ecx
mov edx, dword [ebp - 0x21ec]
mov dword [ebp - 0x21f0], edx
xor eax, eax
mov byte [ebp - 0x5c], al
lea ecx, [ebp - 0x5c]
call fcn.004242b0
mov dword [ebp - 0x21f4], eax
mov ecx, dword [ebp - 0x21f4]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x484432
mov eax, dword [ebp - 0x21f4]
mov dword [ebp - 0x21f8], eax
mov dword [ebp - 0x21fc], 0
jmp 0x48337e
mov ecx, dword [ebp - 0x21fc]
add ecx, 1
mov dword [ebp - 0x21fc], ecx
cmp dword [ebp - 0x21fc], 1
jae 0x484432
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x483653
xor eax, eax
je 0x4833c8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x483404
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726320]
movsd qword [ebp - 0xbd40], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4835a4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4835a4
mov dword [ebp - 0x2200], 0
jmp 0x483483
cmp dword [ebp - 0x2200], 9
jae 0x48359f
cvtsi2sd xmm0, dword [ebp - 0x2200]
movsd xmm1, qword [ebp - 0xbd40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd48], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4834f2
mov ecx, dword [ebp - 0x2200]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbd40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd40], xmm1
jmp 0x4833ee
cvtsi2sd xmm0, dword [ebp - 0x2200]
movsd xmm1, qword [ebp - 0xbd40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd50], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbd50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48354f
mov eax, dword [ebp - 0x2200]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd40]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd40], xmm1
jmp 0x483568
mov ecx, 1
test ecx, ecx
je 0x483564
jmp 0x483621
jmp 0x48358b
cvtsi2sd xmm0, dword [ebp - 0x2200]
movsd xmm1, qword [ebp - 0xbd40]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2204], edx
jmp 0x48362b
xor eax, eax
je 0x483595
jmp 0x4835a4
jmp 0x4833ee
jmp 0x4833ee
mov ecx, 6
test ecx, ecx
je 0x483621
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2208], eax
cvtsi2sd xmm0, dword [ebp - 0x2208]
mov eax, dword [ebp - 0x2208]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbd40]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2204], ecx
jmp 0x48362b
mov dword [ebp - 0x2204], 2
mov edx, dword [ebp - 0x21fc]
shl edx, 2
add edx, dword [ebp - 0x21f8]
mov eax, dword [ebp - 0x2204]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x21fc]
shl ecx, 2
add ecx, dword [ebp - 0x21f8]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x484165
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x483960
xor eax, eax
je 0x4836d5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x483711
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbd58], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4838b1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4838b1
mov dword [ebp - 0x220c], 0
jmp 0x483790
cmp dword [ebp - 0x220c], 9
jae 0x4838ac
cvtsi2sd xmm0, dword [ebp - 0x220c]
movsd xmm1, qword [ebp - 0xbd58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd60], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4837ff
mov ecx, dword [ebp - 0x220c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbd58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd58], xmm1
jmp 0x4836fb
cvtsi2sd xmm0, dword [ebp - 0x220c]
movsd xmm1, qword [ebp - 0xbd58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd68], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbd68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48385c
mov eax, dword [ebp - 0x220c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd58]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd58], xmm1
jmp 0x483875
mov ecx, 1
test ecx, ecx
je 0x483871
jmp 0x48392e
jmp 0x483898
cvtsi2sd xmm0, dword [ebp - 0x220c]
movsd xmm1, qword [ebp - 0xbd58]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2210], edx
jmp 0x483938
xor eax, eax
je 0x4838a2
jmp 0x4838b1
jmp 0x4836fb
jmp 0x4836fb
mov ecx, 6
test ecx, ecx
je 0x48392e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2214], eax
cvtsi2sd xmm0, dword [ebp - 0x2214]
mov eax, dword [ebp - 0x2214]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbd58]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2210], ecx
jmp 0x483938
mov dword [ebp - 0x2210], 2
mov edx, dword [ebp - 0x21fc]
shl edx, 2
add edx, dword [ebp - 0x21f8]
mov eax, dword [ebp - 0x2210]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x21fc]
shl ecx, 2
add ecx, dword [ebp - 0x21f8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x483c28
xor eax, eax
je 0x48399d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4839d9
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbd70], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x483b79
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x483b79
mov dword [ebp - 0x2218], 0
jmp 0x483a58
cmp dword [ebp - 0x2218], 9
jae 0x483b74
cvtsi2sd xmm0, dword [ebp - 0x2218]
movsd xmm1, qword [ebp - 0xbd70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483ac7
mov ecx, dword [ebp - 0x2218]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbd70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd70], xmm1
jmp 0x4839c3
cvtsi2sd xmm0, dword [ebp - 0x2218]
movsd xmm1, qword [ebp - 0xbd70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbd80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483b24
mov eax, dword [ebp - 0x2218]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd70], xmm1
jmp 0x483b3d
mov ecx, 1
test ecx, ecx
je 0x483b39
jmp 0x483bf6
jmp 0x483b60
cvtsi2sd xmm0, dword [ebp - 0x2218]
movsd xmm1, qword [ebp - 0xbd70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x221c], edx
jmp 0x483c00
xor eax, eax
je 0x483b6a
jmp 0x483b79
jmp 0x4839c3
jmp 0x4839c3
mov ecx, 6
test ecx, ecx
je 0x483bf6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2220], eax
cvtsi2sd xmm0, dword [ebp - 0x2220]
mov eax, dword [ebp - 0x2220]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbd70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x221c], ecx
jmp 0x483c00
mov dword [ebp - 0x221c], 2
mov edx, dword [ebp - 0x21fc]
shl edx, 2
add edx, dword [ebp - 0x21f8]
mov eax, dword [ebp - 0x221c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x21fc]
shl ecx, 2
add ecx, dword [ebp - 0x21f8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x21fc]
add edx, 0xffffffc1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbd88], xmm0
xor eax, eax
je 0x483c42
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x483c7e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbd88]
movsd qword [ebp - 0xbd90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x483e1e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x483e1e
mov dword [ebp - 0x2224], 0
jmp 0x483cfd
cmp dword [ebp - 0x2224], 9
jae 0x483e19
cvtsi2sd xmm0, dword [ebp - 0x2224]
movsd xmm1, qword [ebp - 0xbd90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483d6c
mov ecx, dword [ebp - 0x2224]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbd90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd90], xmm1
jmp 0x483c68
cvtsi2sd xmm0, dword [ebp - 0x2224]
movsd xmm1, qword [ebp - 0xbd90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbda0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbda0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483dc9
mov eax, dword [ebp - 0x2224]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbd90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbd90], xmm1
jmp 0x483de2
mov ecx, 1
test ecx, ecx
je 0x483dde
jmp 0x483e9b
jmp 0x483e05
cvtsi2sd xmm0, dword [ebp - 0x2224]
movsd xmm1, qword [ebp - 0xbd90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2228], edx
jmp 0x483ea5
xor eax, eax
je 0x483e0f
jmp 0x483e1e
jmp 0x483c68
jmp 0x483c68
mov ecx, 6
test ecx, ecx
je 0x483e9b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x222c], eax
cvtsi2sd xmm0, dword [ebp - 0x222c]
mov eax, dword [ebp - 0x222c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbd90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2228], ecx
jmp 0x483ea5
mov dword [ebp - 0x2228], 2
mov edx, dword [ebp - 0x21fc]
add edx, 0xffffffc1
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbda8], xmm0
xor eax, eax
je 0x483ebf
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x483efb
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbda8]
movsd qword [ebp - 0xbdb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48409b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48409b
mov dword [ebp - 0x2230], 0
jmp 0x483f7a
cmp dword [ebp - 0x2230], 9
jae 0x484096
cvtsi2sd xmm0, dword [ebp - 0x2230]
movsd xmm1, qword [ebp - 0xbdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x483fe9
mov ecx, dword [ebp - 0x2230]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdb0], xmm1
jmp 0x483ee5
cvtsi2sd xmm0, dword [ebp - 0x2230]
movsd xmm1, qword [ebp - 0xbdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbdc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484046
mov eax, dword [ebp - 0x2230]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdb0], xmm1
jmp 0x48405f
mov ecx, 1
test ecx, ecx
je 0x48405b
jmp 0x484118
jmp 0x484082
cvtsi2sd xmm0, dword [ebp - 0x2230]
movsd xmm1, qword [ebp - 0xbdb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2234], edx
jmp 0x484122
xor eax, eax
je 0x48408c
jmp 0x48409b
jmp 0x483ee5
jmp 0x483ee5
mov ecx, 6
test ecx, ecx
je 0x484118
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2238], eax
cvtsi2sd xmm0, dword [ebp - 0x2238]
mov eax, dword [ebp - 0x2238]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbdb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2234], ecx
jmp 0x484122
mov dword [ebp - 0x2234], 2
mov edx, dword [ebp - 0x21fc]
shl edx, 2
add edx, dword [ebp - 0x21f8]
mov eax, dword [ebp - 0x2228]
add eax, dword [edx]
mov ecx, dword [ebp - 0x21fc]
shl ecx, 2
add ecx, dword [ebp - 0x21f8]
mov edx, dword [ebp - 0x2234]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x21fc]
shl ecx, 2
add ecx, dword [ebp - 0x21f8]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48442d
xor eax, eax
je 0x4841a2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4841de
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xbdc8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48437e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48437e
mov dword [ebp - 0x223c], 0
jmp 0x48425d
cmp dword [ebp - 0x223c], 9
jae 0x484379
cvtsi2sd xmm0, dword [ebp - 0x223c]
movsd xmm1, qword [ebp - 0xbdc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdd0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4842cc
mov ecx, dword [ebp - 0x223c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbdc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdc8], xmm1
jmp 0x4841c8
cvtsi2sd xmm0, dword [ebp - 0x223c]
movsd xmm1, qword [ebp - 0xbdc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdd8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbdd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484329
mov eax, dword [ebp - 0x223c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdc8], xmm1
jmp 0x484342
mov ecx, 1
test ecx, ecx
je 0x48433e
jmp 0x4843fb
jmp 0x484365
cvtsi2sd xmm0, dword [ebp - 0x223c]
movsd xmm1, qword [ebp - 0xbdc8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2240], edx
jmp 0x484405
xor eax, eax
je 0x48436f
jmp 0x48437e
jmp 0x4841c8
jmp 0x4841c8
mov ecx, 6
test ecx, ecx
je 0x4843fb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2244], eax
cvtsi2sd xmm0, dword [ebp - 0x2244]
mov eax, dword [ebp - 0x2244]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbdc8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2240], ecx
jmp 0x484405
mov dword [ebp - 0x2240], 2
mov edx, dword [ebp - 0x21fc]
shl edx, 2
add edx, dword [ebp - 0x21f8]
mov eax, dword [ebp - 0x2240]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x21fc]
shl ecx, 2
add ecx, dword [ebp - 0x21f8]
mov dword [ecx], eax
jmp 0x48336f
mov edx, dword [ebp - 0x21f4]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x21f4]
mov dword [ebp - 0x2248], eax
mov ecx, dword [ebp - 0x2248]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x224c], ecx
mov edx, dword [ebp - 0x224c]
mov dword [ebp - 0x2250], edx
mov eax, dword [ebp - 0x21f0]
mov dword [ebp - 0x2190], eax
cmp dword [ebp - 0x2190], 0
je 0x4855bd
xor ecx, ecx
mov byte [ebp - 0x5d], cl
lea ecx, [ebp - 0x5d]
call fcn.00424280
mov dword [ebp - 0x2254], eax
mov edx, dword [ebp - 0x2254]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x485584
mov ecx, dword [ebp - 0x2254]
mov dword [ebp - 0x2258], ecx
mov dword [ebp - 0x225c], 0
jmp 0x4844d0
mov edx, dword [ebp - 0x225c]
add edx, 1
mov dword [ebp - 0x225c], edx
cmp dword [ebp - 0x225c], 1
jae 0x485584
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4847a5
xor eax, eax
je 0x48451a
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x484556
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbde0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4846f6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4846f6
mov dword [ebp - 0x2260], 0
jmp 0x4845d5
cmp dword [ebp - 0x2260], 9
jae 0x4846f1
cvtsi2sd xmm0, dword [ebp - 0x2260]
movsd xmm1, qword [ebp - 0xbde0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbde8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbde8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484644
mov ecx, dword [ebp - 0x2260]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbde0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbde0], xmm1
jmp 0x484540
cvtsi2sd xmm0, dword [ebp - 0x2260]
movsd xmm1, qword [ebp - 0xbde0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdf0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbdf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4846a1
mov eax, dword [ebp - 0x2260]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbde0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbde0], xmm1
jmp 0x4846ba
mov ecx, 1
test ecx, ecx
je 0x4846b6
jmp 0x484773
jmp 0x4846dd
cvtsi2sd xmm0, dword [ebp - 0x2260]
movsd xmm1, qword [ebp - 0xbde0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2264], edx
jmp 0x48477d
xor eax, eax
je 0x4846e7
jmp 0x4846f6
jmp 0x484540
jmp 0x484540
mov ecx, 6
test ecx, ecx
je 0x484773
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2268], eax
cvtsi2sd xmm0, dword [ebp - 0x2268]
mov eax, dword [ebp - 0x2268]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbde0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2264], ecx
jmp 0x48477d
mov dword [ebp - 0x2264], 2
mov edx, dword [ebp - 0x225c]
shl edx, 2
add edx, dword [ebp - 0x2258]
mov eax, dword [ebp - 0x2264]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x225c]
shl ecx, 2
add ecx, dword [ebp - 0x2258]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4852b7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x484ab2
xor eax, eax
je 0x484827
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x484863
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbdf8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x484a03
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x484a03
mov dword [ebp - 0x226c], 0
jmp 0x4848e2
cmp dword [ebp - 0x226c], 9
jae 0x4849fe
cvtsi2sd xmm0, dword [ebp - 0x226c]
movsd xmm1, qword [ebp - 0xbdf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe00], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484951
mov ecx, dword [ebp - 0x226c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbdf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdf8], xmm1
jmp 0x48484d
cvtsi2sd xmm0, dword [ebp - 0x226c]
movsd xmm1, qword [ebp - 0xbdf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe08], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbe08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4849ae
mov eax, dword [ebp - 0x226c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbdf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbdf8], xmm1
jmp 0x4849c7
mov ecx, 1
test ecx, ecx
je 0x4849c3
jmp 0x484a80
jmp 0x4849ea
cvtsi2sd xmm0, dword [ebp - 0x226c]
movsd xmm1, qword [ebp - 0xbdf8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2270], edx
jmp 0x484a8a
xor eax, eax
je 0x4849f4
jmp 0x484a03
jmp 0x48484d
jmp 0x48484d
mov ecx, 6
test ecx, ecx
je 0x484a80
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2274], eax
cvtsi2sd xmm0, dword [ebp - 0x2274]
mov eax, dword [ebp - 0x2274]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbdf8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2270], ecx
jmp 0x484a8a
mov dword [ebp - 0x2270], 2
mov edx, dword [ebp - 0x225c]
shl edx, 2
add edx, dword [ebp - 0x2258]
mov eax, dword [ebp - 0x2270]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x225c]
shl ecx, 2
add ecx, dword [ebp - 0x2258]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x484d7a
xor eax, eax
je 0x484aef
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x484b2b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xbe10], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x484ccb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x484ccb
mov dword [ebp - 0x2278], 0
jmp 0x484baa
cmp dword [ebp - 0x2278], 9
jae 0x484cc6
cvtsi2sd xmm0, dword [ebp - 0x2278]
movsd xmm1, qword [ebp - 0xbe10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484c19
mov ecx, dword [ebp - 0x2278]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbe10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe10], xmm1
jmp 0x484b15
cvtsi2sd xmm0, dword [ebp - 0x2278]
movsd xmm1, qword [ebp - 0xbe10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbe20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484c76
mov eax, dword [ebp - 0x2278]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe10]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe10], xmm1
jmp 0x484c8f
mov ecx, 1
test ecx, ecx
je 0x484c8b
jmp 0x484d48
jmp 0x484cb2
cvtsi2sd xmm0, dword [ebp - 0x2278]
movsd xmm1, qword [ebp - 0xbe10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x227c], edx
jmp 0x484d52
xor eax, eax
je 0x484cbc
jmp 0x484ccb
jmp 0x484b15
jmp 0x484b15
mov ecx, 6
test ecx, ecx
je 0x484d48
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2280], eax
cvtsi2sd xmm0, dword [ebp - 0x2280]
mov eax, dword [ebp - 0x2280]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbe10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x227c], ecx
jmp 0x484d52
mov dword [ebp - 0x227c], 2
mov edx, dword [ebp - 0x225c]
shl edx, 2
add edx, dword [ebp - 0x2258]
mov eax, dword [ebp - 0x227c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x225c]
shl ecx, 2
add ecx, dword [ebp - 0x2258]
mov dword [ecx], eax
mov edx, dword [ebp - 0x225c]
add edx, 0xffffffc2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbe28], xmm0
xor eax, eax
je 0x484d94
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x484dd0
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbe28]
movsd qword [ebp - 0xbe30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x484f70
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x484f70
mov dword [ebp - 0x2284], 0
jmp 0x484e4f
cmp dword [ebp - 0x2284], 9
jae 0x484f6b
cvtsi2sd xmm0, dword [ebp - 0x2284]
movsd xmm1, qword [ebp - 0xbe30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484ebe
mov ecx, dword [ebp - 0x2284]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbe30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe30], xmm1
jmp 0x484dba
cvtsi2sd xmm0, dword [ebp - 0x2284]
movsd xmm1, qword [ebp - 0xbe30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbe40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x484f1b
mov eax, dword [ebp - 0x2284]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe30]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe30], xmm1
jmp 0x484f34
mov ecx, 1
test ecx, ecx
je 0x484f30
jmp 0x484fed
jmp 0x484f57
cvtsi2sd xmm0, dword [ebp - 0x2284]
movsd xmm1, qword [ebp - 0xbe30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2288], edx
jmp 0x484ff7
xor eax, eax
je 0x484f61
jmp 0x484f70
jmp 0x484dba
jmp 0x484dba
mov ecx, 6
test ecx, ecx
je 0x484fed
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x228c], eax
cvtsi2sd xmm0, dword [ebp - 0x228c]
mov eax, dword [ebp - 0x228c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbe30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2288], ecx
jmp 0x484ff7
mov dword [ebp - 0x2288], 2
mov edx, dword [ebp - 0x225c]
add edx, 0xffffffc2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbe48], xmm0
xor eax, eax
je 0x485011
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48504d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbe48]
movsd qword [ebp - 0xbe50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4851ed
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4851ed
mov dword [ebp - 0x2290], 0
jmp 0x4850cc
cmp dword [ebp - 0x2290], 9
jae 0x4851e8
cvtsi2sd xmm0, dword [ebp - 0x2290]
movsd xmm1, qword [ebp - 0xbe50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48513b
mov ecx, dword [ebp - 0x2290]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbe50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe50], xmm1
jmp 0x485037
cvtsi2sd xmm0, dword [ebp - 0x2290]
movsd xmm1, qword [ebp - 0xbe50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbe60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485198
mov eax, dword [ebp - 0x2290]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe50], xmm1
jmp 0x4851b1
mov ecx, 1
test ecx, ecx
je 0x4851ad
jmp 0x48526a
jmp 0x4851d4
cvtsi2sd xmm0, dword [ebp - 0x2290]
movsd xmm1, qword [ebp - 0xbe50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2294], edx
jmp 0x485274
xor eax, eax
je 0x4851de
jmp 0x4851ed
jmp 0x485037
jmp 0x485037
mov ecx, 6
test ecx, ecx
je 0x48526a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2298], eax
cvtsi2sd xmm0, dword [ebp - 0x2298]
mov eax, dword [ebp - 0x2298]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbe50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2294], ecx
jmp 0x485274
mov dword [ebp - 0x2294], 2
mov edx, dword [ebp - 0x225c]
shl edx, 2
add edx, dword [ebp - 0x2258]
mov eax, dword [ebp - 0x2288]
add eax, dword [edx]
mov ecx, dword [ebp - 0x225c]
shl ecx, 2
add ecx, dword [ebp - 0x2258]
mov edx, dword [ebp - 0x2294]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x225c]
shl ecx, 2
add ecx, dword [ebp - 0x2258]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48557f
xor eax, eax
je 0x4852f4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x485330
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xbe68], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4854d0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4854d0
mov dword [ebp - 0x229c], 0
jmp 0x4853af
cmp dword [ebp - 0x229c], 9
jae 0x4854cb
cvtsi2sd xmm0, dword [ebp - 0x229c]
movsd xmm1, qword [ebp - 0xbe68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe70], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48541e
mov ecx, dword [ebp - 0x229c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbe68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe68], xmm1
jmp 0x48531a
cvtsi2sd xmm0, dword [ebp - 0x229c]
movsd xmm1, qword [ebp - 0xbe68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe78], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbe78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48547b
mov eax, dword [ebp - 0x229c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe68]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe68], xmm1
jmp 0x485494
mov ecx, 1
test ecx, ecx
je 0x485490
jmp 0x48554d
jmp 0x4854b7
cvtsi2sd xmm0, dword [ebp - 0x229c]
movsd xmm1, qword [ebp - 0xbe68]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22a0], edx
jmp 0x485557
xor eax, eax
je 0x4854c1
jmp 0x4854d0
jmp 0x48531a
jmp 0x48531a
mov ecx, 6
test ecx, ecx
je 0x48554d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x22a4], eax
cvtsi2sd xmm0, dword [ebp - 0x22a4]
mov eax, dword [ebp - 0x22a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbe68]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22a0], ecx
jmp 0x485557
mov dword [ebp - 0x22a0], 2
mov edx, dword [ebp - 0x225c]
shl edx, 2
add edx, dword [ebp - 0x2258]
mov eax, dword [ebp - 0x22a0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x225c]
shl ecx, 2
add ecx, dword [ebp - 0x2258]
mov dword [ecx], eax
jmp 0x4844c1
mov edx, dword [ebp - 0x2254]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2254]
mov dword [ebp - 0x22a8], eax
mov ecx, dword [ebp - 0x22a8]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x22ac], ecx
mov edx, dword [ebp - 0x22ac]
mov dword [ebp - 0x2250], edx
xor eax, eax
mov byte [ebp - 0x5e], al
lea ecx, [ebp - 0x5e]
call fcn.00424250
mov dword [ebp - 0x22b0], eax
mov ecx, dword [ebp - 0x22b0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4866bd
mov eax, dword [ebp - 0x22b0]
mov dword [ebp - 0x22b4], eax
mov dword [ebp - 0x22b8], 0
jmp 0x485609
mov ecx, dword [ebp - 0x22b8]
add ecx, 1
mov dword [ebp - 0x22b8], ecx
cmp dword [ebp - 0x22b8], 1
jae 0x4866bd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4858de
xor eax, eax
je 0x485653
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48568f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbe80], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48582f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48582f
mov dword [ebp - 0x22bc], 0
jmp 0x48570e
cmp dword [ebp - 0x22bc], 9
jae 0x48582a
cvtsi2sd xmm0, dword [ebp - 0x22bc]
movsd xmm1, qword [ebp - 0xbe80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe88], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48577d
mov ecx, dword [ebp - 0x22bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbe80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe80], xmm1
jmp 0x485679
cvtsi2sd xmm0, dword [ebp - 0x22bc]
movsd xmm1, qword [ebp - 0xbe80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe90], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbe90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4857da
mov eax, dword [ebp - 0x22bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe80]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe80], xmm1
jmp 0x4857f3
mov ecx, 1
test ecx, ecx
je 0x4857ef
jmp 0x4858ac
jmp 0x485816
cvtsi2sd xmm0, dword [ebp - 0x22bc]
movsd xmm1, qword [ebp - 0xbe80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22c0], edx
jmp 0x4858b6
xor eax, eax
je 0x485820
jmp 0x48582f
jmp 0x485679
jmp 0x485679
mov ecx, 6
test ecx, ecx
je 0x4858ac
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x22c4], eax
cvtsi2sd xmm0, dword [ebp - 0x22c4]
mov eax, dword [ebp - 0x22c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbe80]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22c0], ecx
jmp 0x4858b6
mov dword [ebp - 0x22c0], 2
mov edx, dword [ebp - 0x22b8]
shl edx, 2
add edx, dword [ebp - 0x22b4]
mov eax, dword [ebp - 0x22c0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4863f0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x485beb
xor eax, eax
je 0x485960
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48599c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbe98], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x485b3c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x485b3c
mov dword [ebp - 0x22c8], 0
jmp 0x485a1b
cmp dword [ebp - 0x22c8], 9
jae 0x485b37
cvtsi2sd xmm0, dword [ebp - 0x22c8]
movsd xmm1, qword [ebp - 0xbe98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbea0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbea0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485a8a
mov ecx, dword [ebp - 0x22c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbe98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe98], xmm1
jmp 0x485986
cvtsi2sd xmm0, dword [ebp - 0x22c8]
movsd xmm1, qword [ebp - 0xbe98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbea8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbea8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485ae7
mov eax, dword [ebp - 0x22c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbe98]
addsd xmm1, xmm0
movsd qword [ebp - 0xbe98], xmm1
jmp 0x485b00
mov ecx, 1
test ecx, ecx
je 0x485afc
jmp 0x485bb9
jmp 0x485b23
cvtsi2sd xmm0, dword [ebp - 0x22c8]
movsd xmm1, qword [ebp - 0xbe98]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22cc], edx
jmp 0x485bc3
xor eax, eax
je 0x485b2d
jmp 0x485b3c
jmp 0x485986
jmp 0x485986
mov ecx, 6
test ecx, ecx
je 0x485bb9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x22d0], eax
cvtsi2sd xmm0, dword [ebp - 0x22d0]
mov eax, dword [ebp - 0x22d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbe98]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22cc], ecx
jmp 0x485bc3
mov dword [ebp - 0x22cc], 2
mov edx, dword [ebp - 0x22b8]
shl edx, 2
add edx, dword [ebp - 0x22b4]
mov eax, dword [ebp - 0x22cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x485eb3
xor eax, eax
je 0x485c28
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x485c64
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xbeb0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x485e04
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x485e04
mov dword [ebp - 0x22d4], 0
jmp 0x485ce3
cmp dword [ebp - 0x22d4], 9
jae 0x485dff
cvtsi2sd xmm0, dword [ebp - 0x22d4]
movsd xmm1, qword [ebp - 0xbeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbeb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbeb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485d52
mov ecx, dword [ebp - 0x22d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbeb0], xmm1
jmp 0x485c4e
cvtsi2sd xmm0, dword [ebp - 0x22d4]
movsd xmm1, qword [ebp - 0xbeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbec0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbec0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485daf
mov eax, dword [ebp - 0x22d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbeb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbeb0], xmm1
jmp 0x485dc8
mov ecx, 1
test ecx, ecx
je 0x485dc4
jmp 0x485e81
jmp 0x485deb
cvtsi2sd xmm0, dword [ebp - 0x22d4]
movsd xmm1, qword [ebp - 0xbeb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22d8], edx
jmp 0x485e8b
xor eax, eax
je 0x485df5
jmp 0x485e04
jmp 0x485c4e
jmp 0x485c4e
mov ecx, 6
test ecx, ecx
je 0x485e81
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x22dc], eax
cvtsi2sd xmm0, dword [ebp - 0x22dc]
mov eax, dword [ebp - 0x22dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbeb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22d8], ecx
jmp 0x485e8b
mov dword [ebp - 0x22d8], 2
mov edx, dword [ebp - 0x22b8]
shl edx, 2
add edx, dword [ebp - 0x22b4]
mov eax, dword [ebp - 0x22d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22b8]
add edx, 0xffffffc2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbec8], xmm0
xor eax, eax
je 0x485ecd
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x485f09
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbec8]
movsd qword [ebp - 0xbed0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4860a9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4860a9
mov dword [ebp - 0x22e0], 0
jmp 0x485f88
cmp dword [ebp - 0x22e0], 9
jae 0x4860a4
cvtsi2sd xmm0, dword [ebp - 0x22e0]
movsd xmm1, qword [ebp - 0xbed0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbed8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbed8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x485ff7
mov ecx, dword [ebp - 0x22e0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbed0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbed0], xmm1
jmp 0x485ef3
cvtsi2sd xmm0, dword [ebp - 0x22e0]
movsd xmm1, qword [ebp - 0xbed0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbee0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbee0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486054
mov eax, dword [ebp - 0x22e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbed0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbed0], xmm1
jmp 0x48606d
mov ecx, 1
test ecx, ecx
je 0x486069
jmp 0x486126
jmp 0x486090
cvtsi2sd xmm0, dword [ebp - 0x22e0]
movsd xmm1, qword [ebp - 0xbed0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22e4], edx
jmp 0x486130
xor eax, eax
je 0x48609a
jmp 0x4860a9
jmp 0x485ef3
jmp 0x485ef3
mov ecx, 6
test ecx, ecx
je 0x486126
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x22e8], eax
cvtsi2sd xmm0, dword [ebp - 0x22e8]
mov eax, dword [ebp - 0x22e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbed0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22e4], ecx
jmp 0x486130
mov dword [ebp - 0x22e4], 2
mov edx, dword [ebp - 0x22b8]
add edx, 0xffffffc2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbee8], xmm0
xor eax, eax
je 0x48614a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x486186
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbee8]
movsd qword [ebp - 0xbef0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x486326
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x486326
mov dword [ebp - 0x22ec], 0
jmp 0x486205
cmp dword [ebp - 0x22ec], 9
jae 0x486321
cvtsi2sd xmm0, dword [ebp - 0x22ec]
movsd xmm1, qword [ebp - 0xbef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbef8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486274
mov ecx, dword [ebp - 0x22ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbef0], xmm1
jmp 0x486170
cvtsi2sd xmm0, dword [ebp - 0x22ec]
movsd xmm1, qword [ebp - 0xbef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbf00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4862d1
mov eax, dword [ebp - 0x22ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbef0], xmm1
jmp 0x4862ea
mov ecx, 1
test ecx, ecx
je 0x4862e6
jmp 0x4863a3
jmp 0x48630d
cvtsi2sd xmm0, dword [ebp - 0x22ec]
movsd xmm1, qword [ebp - 0xbef0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22f0], edx
jmp 0x4863ad
xor eax, eax
je 0x486317
jmp 0x486326
jmp 0x486170
jmp 0x486170
mov ecx, 6
test ecx, ecx
je 0x4863a3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x22f4], eax
cvtsi2sd xmm0, dword [ebp - 0x22f4]
mov eax, dword [ebp - 0x22f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbef0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22f0], ecx
jmp 0x4863ad
mov dword [ebp - 0x22f0], 2
mov edx, dword [ebp - 0x22b8]
shl edx, 2
add edx, dword [ebp - 0x22b4]
mov eax, dword [ebp - 0x22e4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov edx, dword [ebp - 0x22f0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4866b8
xor eax, eax
je 0x48642d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x486469
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xbf08], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x486609
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x486609
mov dword [ebp - 0x22f8], 0
jmp 0x4864e8
cmp dword [ebp - 0x22f8], 9
jae 0x486604
cvtsi2sd xmm0, dword [ebp - 0x22f8]
movsd xmm1, qword [ebp - 0xbf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf10], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486557
mov ecx, dword [ebp - 0x22f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf08], xmm1
jmp 0x486453
cvtsi2sd xmm0, dword [ebp - 0x22f8]
movsd xmm1, qword [ebp - 0xbf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf18], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbf18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4865b4
mov eax, dword [ebp - 0x22f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf08]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf08], xmm1
jmp 0x4865cd
mov ecx, 1
test ecx, ecx
je 0x4865c9
jmp 0x486686
jmp 0x4865f0
cvtsi2sd xmm0, dword [ebp - 0x22f8]
movsd xmm1, qword [ebp - 0xbf08]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x22fc], edx
jmp 0x486690
xor eax, eax
je 0x4865fa
jmp 0x486609
jmp 0x486453
jmp 0x486453
mov ecx, 6
test ecx, ecx
je 0x486686
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2300], eax
cvtsi2sd xmm0, dword [ebp - 0x2300]
mov eax, dword [ebp - 0x2300]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbf08]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x22fc], ecx
jmp 0x486690
mov dword [ebp - 0x22fc], 2
mov edx, dword [ebp - 0x22b8]
shl edx, 2
add edx, dword [ebp - 0x22b4]
mov eax, dword [ebp - 0x22fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x22b8]
shl ecx, 2
add ecx, dword [ebp - 0x22b4]
mov dword [ecx], eax
jmp 0x4855fa
mov edx, dword [ebp - 0x22b0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x22b0]
mov dword [ebp - 0x2304], eax
mov ecx, dword [ebp - 0x2304]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2308], ecx
mov edx, dword [ebp - 0x2308]
mov dword [ebp - 0x230c], edx
xor eax, eax
mov byte [ebp - 0x5f], al
lea ecx, [ebp - 0x5f]
call fcn.00424220
mov dword [ebp - 0x2310], eax
mov ecx, dword [ebp - 0x2310]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4877f6
mov eax, dword [ebp - 0x2310]
mov dword [ebp - 0x2314], eax
mov dword [ebp - 0x2318], 0
jmp 0x486742
mov ecx, dword [ebp - 0x2318]
add ecx, 1
mov dword [ebp - 0x2318], ecx
cmp dword [ebp - 0x2318], 1
jae 0x4877f6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x486a17
xor eax, eax
je 0x48678c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4867c8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726318]
movsd qword [ebp - 0xbf20], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x486968
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x486968
mov dword [ebp - 0x231c], 0
jmp 0x486847
cmp dword [ebp - 0x231c], 9
jae 0x486963
cvtsi2sd xmm0, dword [ebp - 0x231c]
movsd xmm1, qword [ebp - 0xbf20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf28], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4868b6
mov ecx, dword [ebp - 0x231c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbf20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf20], xmm1
jmp 0x4867b2
cvtsi2sd xmm0, dword [ebp - 0x231c]
movsd xmm1, qword [ebp - 0xbf20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf30], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbf30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486913
mov eax, dword [ebp - 0x231c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf20]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf20], xmm1
jmp 0x48692c
mov ecx, 1
test ecx, ecx
je 0x486928
jmp 0x4869e5
jmp 0x48694f
cvtsi2sd xmm0, dword [ebp - 0x231c]
movsd xmm1, qword [ebp - 0xbf20]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2320], edx
jmp 0x4869ef
xor eax, eax
je 0x486959
jmp 0x486968
jmp 0x4867b2
jmp 0x4867b2
mov ecx, 6
test ecx, ecx
je 0x4869e5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2324], eax
cvtsi2sd xmm0, dword [ebp - 0x2324]
mov eax, dword [ebp - 0x2324]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbf20]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2320], ecx
jmp 0x4869ef
mov dword [ebp - 0x2320], 2
mov edx, dword [ebp - 0x2318]
shl edx, 2
add edx, dword [ebp - 0x2314]
mov eax, dword [ebp - 0x2320]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2318]
shl ecx, 2
add ecx, dword [ebp - 0x2314]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x487529
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x486d24
xor eax, eax
je 0x486a99
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x486ad5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbf38], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x486c75
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x486c75
mov dword [ebp - 0x2328], 0
jmp 0x486b54
cmp dword [ebp - 0x2328], 9
jae 0x486c70
cvtsi2sd xmm0, dword [ebp - 0x2328]
movsd xmm1, qword [ebp - 0xbf38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf40], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486bc3
mov ecx, dword [ebp - 0x2328]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbf38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf38], xmm1
jmp 0x486abf
cvtsi2sd xmm0, dword [ebp - 0x2328]
movsd xmm1, qword [ebp - 0xbf38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf48], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbf48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486c20
mov eax, dword [ebp - 0x2328]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf38]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf38], xmm1
jmp 0x486c39
mov ecx, 1
test ecx, ecx
je 0x486c35
jmp 0x486cf2
jmp 0x486c5c
cvtsi2sd xmm0, dword [ebp - 0x2328]
movsd xmm1, qword [ebp - 0xbf38]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x232c], edx
jmp 0x486cfc
xor eax, eax
je 0x486c66
jmp 0x486c75
jmp 0x486abf
jmp 0x486abf
mov ecx, 6
test ecx, ecx
je 0x486cf2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2330], eax
cvtsi2sd xmm0, dword [ebp - 0x2330]
mov eax, dword [ebp - 0x2330]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbf38]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x232c], ecx
jmp 0x486cfc
mov dword [ebp - 0x232c], 2
mov edx, dword [ebp - 0x2318]
shl edx, 2
add edx, dword [ebp - 0x2314]
mov eax, dword [ebp - 0x232c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2318]
shl ecx, 2
add ecx, dword [ebp - 0x2314]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x486fec
xor eax, eax
je 0x486d61
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x486d9d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xbf50], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x486f3d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x486f3d
mov dword [ebp - 0x2334], 0
jmp 0x486e1c
cmp dword [ebp - 0x2334], 9
jae 0x486f38
cvtsi2sd xmm0, dword [ebp - 0x2334]
movsd xmm1, qword [ebp - 0xbf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486e8b
mov ecx, dword [ebp - 0x2334]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf50], xmm1
jmp 0x486d87
cvtsi2sd xmm0, dword [ebp - 0x2334]
movsd xmm1, qword [ebp - 0xbf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbf60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x486ee8
mov eax, dword [ebp - 0x2334]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf50]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf50], xmm1
jmp 0x486f01
mov ecx, 1
test ecx, ecx
je 0x486efd
jmp 0x486fba
jmp 0x486f24
cvtsi2sd xmm0, dword [ebp - 0x2334]
movsd xmm1, qword [ebp - 0xbf50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2338], edx
jmp 0x486fc4
xor eax, eax
je 0x486f2e
jmp 0x486f3d
jmp 0x486d87
jmp 0x486d87
mov ecx, 6
test ecx, ecx
je 0x486fba
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x233c], eax
cvtsi2sd xmm0, dword [ebp - 0x233c]
mov eax, dword [ebp - 0x233c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbf50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2338], ecx
jmp 0x486fc4
mov dword [ebp - 0x2338], 2
mov edx, dword [ebp - 0x2318]
shl edx, 2
add edx, dword [ebp - 0x2314]
mov eax, dword [ebp - 0x2338]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2318]
shl ecx, 2
add ecx, dword [ebp - 0x2314]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2318]
add edx, 0xffffffc2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbf68], xmm0
xor eax, eax
je 0x487006
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x487042
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbf68]
movsd qword [ebp - 0xbf70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4871e2
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4871e2
mov dword [ebp - 0x2340], 0
jmp 0x4870c1
cmp dword [ebp - 0x2340], 9
jae 0x4871dd
cvtsi2sd xmm0, dword [ebp - 0x2340]
movsd xmm1, qword [ebp - 0xbf70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487130
mov ecx, dword [ebp - 0x2340]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbf70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf70], xmm1
jmp 0x48702c
cvtsi2sd xmm0, dword [ebp - 0x2340]
movsd xmm1, qword [ebp - 0xbf70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbf80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48718d
mov eax, dword [ebp - 0x2340]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf70]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf70], xmm1
jmp 0x4871a6
mov ecx, 1
test ecx, ecx
je 0x4871a2
jmp 0x48725f
jmp 0x4871c9
cvtsi2sd xmm0, dword [ebp - 0x2340]
movsd xmm1, qword [ebp - 0xbf70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2344], edx
jmp 0x487269
xor eax, eax
je 0x4871d3
jmp 0x4871e2
jmp 0x48702c
jmp 0x48702c
mov ecx, 6
test ecx, ecx
je 0x48725f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2348], eax
cvtsi2sd xmm0, dword [ebp - 0x2348]
mov eax, dword [ebp - 0x2348]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbf70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2344], ecx
jmp 0x487269
mov dword [ebp - 0x2344], 2
mov edx, dword [ebp - 0x2318]
add edx, 0xffffffc2
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xbf88], xmm0
xor eax, eax
je 0x487283
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4872bf
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xbf88]
movsd qword [ebp - 0xbf90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48745f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48745f
mov dword [ebp - 0x234c], 0
jmp 0x48733e
cmp dword [ebp - 0x234c], 9
jae 0x48745a
cvtsi2sd xmm0, dword [ebp - 0x234c]
movsd xmm1, qword [ebp - 0xbf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4873ad
mov ecx, dword [ebp - 0x234c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf90], xmm1
jmp 0x4872a9
cvtsi2sd xmm0, dword [ebp - 0x234c]
movsd xmm1, qword [ebp - 0xbf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfa0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbfa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48740a
mov eax, dword [ebp - 0x234c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xbf90], xmm1
jmp 0x487423
mov ecx, 1
test ecx, ecx
je 0x48741f
jmp 0x4874dc
jmp 0x487446
cvtsi2sd xmm0, dword [ebp - 0x234c]
movsd xmm1, qword [ebp - 0xbf90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2350], edx
jmp 0x4874e6
xor eax, eax
je 0x487450
jmp 0x48745f
jmp 0x4872a9
jmp 0x4872a9
mov ecx, 6
test ecx, ecx
je 0x4874dc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2354], eax
cvtsi2sd xmm0, dword [ebp - 0x2354]
mov eax, dword [ebp - 0x2354]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbf90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2350], ecx
jmp 0x4874e6
mov dword [ebp - 0x2350], 2
mov edx, dword [ebp - 0x2318]
shl edx, 2
add edx, dword [ebp - 0x2314]
mov eax, dword [ebp - 0x2344]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2318]
shl ecx, 2
add ecx, dword [ebp - 0x2314]
mov edx, dword [ebp - 0x2350]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2318]
shl ecx, 2
add ecx, dword [ebp - 0x2314]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4877f1
xor eax, eax
je 0x487566
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4875a2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xbfa8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x487742
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x487742
mov dword [ebp - 0x2358], 0
jmp 0x487621
cmp dword [ebp - 0x2358], 9
jae 0x48773d
cvtsi2sd xmm0, dword [ebp - 0x2358]
movsd xmm1, qword [ebp - 0xbfa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfb0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487690
mov ecx, dword [ebp - 0x2358]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbfa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfa8], xmm1
jmp 0x48758c
cvtsi2sd xmm0, dword [ebp - 0x2358]
movsd xmm1, qword [ebp - 0xbfa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfb8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbfb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4876ed
mov eax, dword [ebp - 0x2358]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfa8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfa8], xmm1
jmp 0x487706
mov ecx, 1
test ecx, ecx
je 0x487702
jmp 0x4877bf
jmp 0x487729
cvtsi2sd xmm0, dword [ebp - 0x2358]
movsd xmm1, qword [ebp - 0xbfa8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x235c], edx
jmp 0x4877c9
xor eax, eax
je 0x487733
jmp 0x487742
jmp 0x48758c
jmp 0x48758c
mov ecx, 6
test ecx, ecx
je 0x4877bf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2360], eax
cvtsi2sd xmm0, dword [ebp - 0x2360]
mov eax, dword [ebp - 0x2360]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbfa8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x235c], ecx
jmp 0x4877c9
mov dword [ebp - 0x235c], 2
mov edx, dword [ebp - 0x2318]
shl edx, 2
add edx, dword [ebp - 0x2314]
mov eax, dword [ebp - 0x235c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2318]
shl ecx, 2
add ecx, dword [ebp - 0x2314]
mov dword [ecx], eax
jmp 0x486733
mov edx, dword [ebp - 0x2310]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2310]
mov dword [ebp - 0x2364], eax
mov ecx, dword [ebp - 0x2364]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2368], ecx
mov edx, dword [ebp - 0x2368]
mov dword [ebp - 0x236c], edx
xor eax, eax
mov byte [ebp - 0x60], al
lea ecx, [ebp - 0x60]
call fcn.004241f0
mov dword [ebp - 0x2370], eax
mov ecx, dword [ebp - 0x2370]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x48892f
mov eax, dword [ebp - 0x2370]
mov dword [ebp - 0x2374], eax
mov dword [ebp - 0x2378], 0
jmp 0x48787b
mov ecx, dword [ebp - 0x2378]
add ecx, 1
mov dword [ebp - 0x2378], ecx
cmp dword [ebp - 0x2378], 1
jae 0x48892f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x487b50
xor eax, eax
je 0x4878c5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x487901
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xbfc0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x487aa1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x487aa1
mov dword [ebp - 0x237c], 0
jmp 0x487980
cmp dword [ebp - 0x237c], 9
jae 0x487a9c
cvtsi2sd xmm0, dword [ebp - 0x237c]
movsd xmm1, qword [ebp - 0xbfc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfc8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4879ef
mov ecx, dword [ebp - 0x237c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbfc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfc0], xmm1
jmp 0x4878eb
cvtsi2sd xmm0, dword [ebp - 0x237c]
movsd xmm1, qword [ebp - 0xbfc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfd0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbfd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487a4c
mov eax, dword [ebp - 0x237c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfc0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfc0], xmm1
jmp 0x487a65
mov ecx, 1
test ecx, ecx
je 0x487a61
jmp 0x487b1e
jmp 0x487a88
cvtsi2sd xmm0, dword [ebp - 0x237c]
movsd xmm1, qword [ebp - 0xbfc0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2380], edx
jmp 0x487b28
xor eax, eax
je 0x487a92
jmp 0x487aa1
jmp 0x4878eb
jmp 0x4878eb
mov ecx, 6
test ecx, ecx
je 0x487b1e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2384], eax
cvtsi2sd xmm0, dword [ebp - 0x2384]
mov eax, dword [ebp - 0x2384]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbfc0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2380], ecx
jmp 0x487b28
mov dword [ebp - 0x2380], 2
mov edx, dword [ebp - 0x2378]
shl edx, 2
add edx, dword [ebp - 0x2374]
mov eax, dword [ebp - 0x2380]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2378]
shl ecx, 2
add ecx, dword [ebp - 0x2374]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x488662
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x487e5d
xor eax, eax
je 0x487bd2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x487c0e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xbfd8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x487dae
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x487dae
mov dword [ebp - 0x2388], 0
jmp 0x487c8d
cmp dword [ebp - 0x2388], 9
jae 0x487da9
cvtsi2sd xmm0, dword [ebp - 0x2388]
movsd xmm1, qword [ebp - 0xbfd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfe0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487cfc
mov ecx, dword [ebp - 0x2388]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbfd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfd8], xmm1
jmp 0x487bf8
cvtsi2sd xmm0, dword [ebp - 0x2388]
movsd xmm1, qword [ebp - 0xbfd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfe8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xbfe8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487d59
mov eax, dword [ebp - 0x2388]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbfd8]
addsd xmm1, xmm0
movsd qword [ebp - 0xbfd8], xmm1
jmp 0x487d72
mov ecx, 1
test ecx, ecx
je 0x487d6e
jmp 0x487e2b
jmp 0x487d95
cvtsi2sd xmm0, dword [ebp - 0x2388]
movsd xmm1, qword [ebp - 0xbfd8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x238c], edx
jmp 0x487e35
xor eax, eax
je 0x487d9f
jmp 0x487dae
jmp 0x487bf8
jmp 0x487bf8
mov ecx, 6
test ecx, ecx
je 0x487e2b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2390], eax
cvtsi2sd xmm0, dword [ebp - 0x2390]
mov eax, dword [ebp - 0x2390]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbfd8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x238c], ecx
jmp 0x487e35
mov dword [ebp - 0x238c], 2
mov edx, dword [ebp - 0x2378]
shl edx, 2
add edx, dword [ebp - 0x2374]
mov eax, dword [ebp - 0x238c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2378]
shl ecx, 2
add ecx, dword [ebp - 0x2374]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x488125
xor eax, eax
je 0x487e9a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x487ed6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xbff0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x488076
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x488076
mov dword [ebp - 0x2394], 0
jmp 0x487f55
cmp dword [ebp - 0x2394], 9
jae 0x488071
cvtsi2sd xmm0, dword [ebp - 0x2394]
movsd xmm1, qword [ebp - 0xbff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbff8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x487fc4
mov ecx, dword [ebp - 0x2394]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xbff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbff0], xmm1
jmp 0x487ec0
cvtsi2sd xmm0, dword [ebp - 0x2394]
movsd xmm1, qword [ebp - 0xbff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc000], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc000]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488021
mov eax, dword [ebp - 0x2394]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xbff0]
addsd xmm1, xmm0
movsd qword [ebp - 0xbff0], xmm1
jmp 0x48803a
mov ecx, 1
test ecx, ecx
je 0x488036
jmp 0x4880f3
jmp 0x48805d
cvtsi2sd xmm0, dword [ebp - 0x2394]
movsd xmm1, qword [ebp - 0xbff0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2398], edx
jmp 0x4880fd
xor eax, eax
je 0x488067
jmp 0x488076
jmp 0x487ec0
jmp 0x487ec0
mov ecx, 6
test ecx, ecx
je 0x4880f3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x239c], eax
cvtsi2sd xmm0, dword [ebp - 0x239c]
mov eax, dword [ebp - 0x239c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xbff0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2398], ecx
jmp 0x4880fd
mov dword [ebp - 0x2398], 2
mov edx, dword [ebp - 0x2378]
shl edx, 2
add edx, dword [ebp - 0x2374]
mov eax, dword [ebp - 0x2398]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2378]
shl ecx, 2
add ecx, dword [ebp - 0x2374]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2378]
add edx, 0xffffffc3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc008], xmm0
xor eax, eax
je 0x48813f
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48817b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc008]
movsd qword [ebp - 0xc010], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48831b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48831b
mov dword [ebp - 0x23a0], 0
jmp 0x4881fa
cmp dword [ebp - 0x23a0], 9
jae 0x488316
cvtsi2sd xmm0, dword [ebp - 0x23a0]
movsd xmm1, qword [ebp - 0xc010]
addsd xmm1, xmm0
movsd qword [ebp - 0xc018], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc018]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488269
mov ecx, dword [ebp - 0x23a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc010]
addsd xmm1, xmm0
movsd qword [ebp - 0xc010], xmm1
jmp 0x488165
cvtsi2sd xmm0, dword [ebp - 0x23a0]
movsd xmm1, qword [ebp - 0xc010]
addsd xmm1, xmm0
movsd qword [ebp - 0xc020], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc020]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4882c6
mov eax, dword [ebp - 0x23a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc010]
addsd xmm1, xmm0
movsd qword [ebp - 0xc010], xmm1
jmp 0x4882df
mov ecx, 1
test ecx, ecx
je 0x4882db
jmp 0x488398
jmp 0x488302
cvtsi2sd xmm0, dword [ebp - 0x23a0]
movsd xmm1, qword [ebp - 0xc010]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x23a4], edx
jmp 0x4883a2
xor eax, eax
je 0x48830c
jmp 0x48831b
jmp 0x488165
jmp 0x488165
mov ecx, 6
test ecx, ecx
je 0x488398
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x23a8], eax
cvtsi2sd xmm0, dword [ebp - 0x23a8]
mov eax, dword [ebp - 0x23a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc010]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x23a4], ecx
jmp 0x4883a2
mov dword [ebp - 0x23a4], 2
mov edx, dword [ebp - 0x2378]
add edx, 0xffffffc3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc028], xmm0
xor eax, eax
je 0x4883bc
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4883f8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc028]
movsd qword [ebp - 0xc030], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x488598
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x488598
mov dword [ebp - 0x23ac], 0
jmp 0x488477
cmp dword [ebp - 0x23ac], 9
jae 0x488593
cvtsi2sd xmm0, dword [ebp - 0x23ac]
movsd xmm1, qword [ebp - 0xc030]
addsd xmm1, xmm0
movsd qword [ebp - 0xc038], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4884e6
mov ecx, dword [ebp - 0x23ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc030]
addsd xmm1, xmm0
movsd qword [ebp - 0xc030], xmm1
jmp 0x4883e2
cvtsi2sd xmm0, dword [ebp - 0x23ac]
movsd xmm1, qword [ebp - 0xc030]
addsd xmm1, xmm0
movsd qword [ebp - 0xc040], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc040]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488543
mov eax, dword [ebp - 0x23ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc030]
addsd xmm1, xmm0
movsd qword [ebp - 0xc030], xmm1
jmp 0x48855c
mov ecx, 1
test ecx, ecx
je 0x488558
jmp 0x488615
jmp 0x48857f
cvtsi2sd xmm0, dword [ebp - 0x23ac]
movsd xmm1, qword [ebp - 0xc030]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x23b0], edx
jmp 0x48861f
xor eax, eax
je 0x488589
jmp 0x488598
jmp 0x4883e2
jmp 0x4883e2
mov ecx, 6
test ecx, ecx
je 0x488615
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x23b4], eax
cvtsi2sd xmm0, dword [ebp - 0x23b4]
mov eax, dword [ebp - 0x23b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc030]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x23b0], ecx
jmp 0x48861f
mov dword [ebp - 0x23b0], 2
mov edx, dword [ebp - 0x2378]
shl edx, 2
add edx, dword [ebp - 0x2374]
mov eax, dword [ebp - 0x23a4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2378]
shl ecx, 2
add ecx, dword [ebp - 0x2374]
mov edx, dword [ebp - 0x23b0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2378]
shl ecx, 2
add ecx, dword [ebp - 0x2374]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48892a
xor eax, eax
je 0x48869f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4886db
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc048], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48887b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48887b
mov dword [ebp - 0x23b8], 0
jmp 0x48875a
cmp dword [ebp - 0x23b8], 9
jae 0x488876
cvtsi2sd xmm0, dword [ebp - 0x23b8]
movsd xmm1, qword [ebp - 0xc048]
addsd xmm1, xmm0
movsd qword [ebp - 0xc050], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc050]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4887c9
mov ecx, dword [ebp - 0x23b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc048]
addsd xmm1, xmm0
movsd qword [ebp - 0xc048], xmm1
jmp 0x4886c5
cvtsi2sd xmm0, dword [ebp - 0x23b8]
movsd xmm1, qword [ebp - 0xc048]
addsd xmm1, xmm0
movsd qword [ebp - 0xc058], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488826
mov eax, dword [ebp - 0x23b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc048]
addsd xmm1, xmm0
movsd qword [ebp - 0xc048], xmm1
jmp 0x48883f
mov ecx, 1
test ecx, ecx
je 0x48883b
jmp 0x4888f8
jmp 0x488862
cvtsi2sd xmm0, dword [ebp - 0x23b8]
movsd xmm1, qword [ebp - 0xc048]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x23bc], edx
jmp 0x488902
xor eax, eax
je 0x48886c
jmp 0x48887b
jmp 0x4886c5
jmp 0x4886c5
mov ecx, 6
test ecx, ecx
je 0x4888f8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x23c0], eax
cvtsi2sd xmm0, dword [ebp - 0x23c0]
mov eax, dword [ebp - 0x23c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc048]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x23bc], ecx
jmp 0x488902
mov dword [ebp - 0x23bc], 2
mov edx, dword [ebp - 0x2378]
shl edx, 2
add edx, dword [ebp - 0x2374]
mov eax, dword [ebp - 0x23bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2378]
shl ecx, 2
add ecx, dword [ebp - 0x2374]
mov dword [ecx], eax
jmp 0x48786c
mov edx, dword [ebp - 0x2370]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2370]
mov dword [ebp - 0x23c4], eax
mov ecx, dword [ebp - 0x23c4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x23c8], ecx
mov edx, dword [ebp - 0x23c8]
mov dword [ebp - 0x23cc], edx
mov eax, dword [ebp - 0x236c]
mov dword [ebp - 0x230c], eax
cmp dword [ebp - 0x230c], 0
je 0x489aba
xor ecx, ecx
mov byte [ebp - 0x61], cl
lea ecx, [ebp - 0x61]
call fcn.004241c0
mov dword [ebp - 0x23d0], eax
mov edx, dword [ebp - 0x23d0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x489a81
mov ecx, dword [ebp - 0x23d0]
mov dword [ebp - 0x23d4], ecx
mov dword [ebp - 0x23d8], 0
jmp 0x4889cd
mov edx, dword [ebp - 0x23d8]
add edx, 1
mov dword [ebp - 0x23d8], edx
cmp dword [ebp - 0x23d8], 1
jae 0x489a81
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x488ca2
xor eax, eax
je 0x488a17
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x488a53
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726310]
movsd qword [ebp - 0xc060], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x488bf3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x488bf3
mov dword [ebp - 0x23dc], 0
jmp 0x488ad2
cmp dword [ebp - 0x23dc], 9
jae 0x488bee
cvtsi2sd xmm0, dword [ebp - 0x23dc]
movsd xmm1, qword [ebp - 0xc060]
addsd xmm1, xmm0
movsd qword [ebp - 0xc068], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc068]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488b41
mov ecx, dword [ebp - 0x23dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc060]
addsd xmm1, xmm0
movsd qword [ebp - 0xc060], xmm1
jmp 0x488a3d
cvtsi2sd xmm0, dword [ebp - 0x23dc]
movsd xmm1, qword [ebp - 0xc060]
addsd xmm1, xmm0
movsd qword [ebp - 0xc070], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc070]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488b9e
mov eax, dword [ebp - 0x23dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc060]
addsd xmm1, xmm0
movsd qword [ebp - 0xc060], xmm1
jmp 0x488bb7
mov ecx, 1
test ecx, ecx
je 0x488bb3
jmp 0x488c70
jmp 0x488bda
cvtsi2sd xmm0, dword [ebp - 0x23dc]
movsd xmm1, qword [ebp - 0xc060]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x23e0], edx
jmp 0x488c7a
xor eax, eax
je 0x488be4
jmp 0x488bf3
jmp 0x488a3d
jmp 0x488a3d
mov ecx, 6
test ecx, ecx
je 0x488c70
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x23e4], eax
cvtsi2sd xmm0, dword [ebp - 0x23e4]
mov eax, dword [ebp - 0x23e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc060]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x23e0], ecx
jmp 0x488c7a
mov dword [ebp - 0x23e0], 2
mov edx, dword [ebp - 0x23d8]
shl edx, 2
add edx, dword [ebp - 0x23d4]
mov eax, dword [ebp - 0x23e0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x23d8]
shl ecx, 2
add ecx, dword [ebp - 0x23d4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4897b4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x488faf
xor eax, eax
je 0x488d24
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x488d60
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xc078], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x488f00
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x488f00
mov dword [ebp - 0x23e8], 0
jmp 0x488ddf
cmp dword [ebp - 0x23e8], 9
jae 0x488efb
cvtsi2sd xmm0, dword [ebp - 0x23e8]
movsd xmm1, qword [ebp - 0xc078]
addsd xmm1, xmm0
movsd qword [ebp - 0xc080], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc080]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488e4e
mov ecx, dword [ebp - 0x23e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc078]
addsd xmm1, xmm0
movsd qword [ebp - 0xc078], xmm1
jmp 0x488d4a
cvtsi2sd xmm0, dword [ebp - 0x23e8]
movsd xmm1, qword [ebp - 0xc078]
addsd xmm1, xmm0
movsd qword [ebp - 0xc088], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc088]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x488eab
mov eax, dword [ebp - 0x23e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc078]
addsd xmm1, xmm0
movsd qword [ebp - 0xc078], xmm1
jmp 0x488ec4
mov ecx, 1
test ecx, ecx
je 0x488ec0
jmp 0x488f7d
jmp 0x488ee7
cvtsi2sd xmm0, dword [ebp - 0x23e8]
movsd xmm1, qword [ebp - 0xc078]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x23ec], edx
jmp 0x488f87
xor eax, eax
je 0x488ef1
jmp 0x488f00
jmp 0x488d4a
jmp 0x488d4a
mov ecx, 6
test ecx, ecx
je 0x488f7d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x23f0], eax
cvtsi2sd xmm0, dword [ebp - 0x23f0]
mov eax, dword [ebp - 0x23f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc078]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x23ec], ecx
jmp 0x488f87
mov dword [ebp - 0x23ec], 2
mov edx, dword [ebp - 0x23d8]
shl edx, 2
add edx, dword [ebp - 0x23d4]
mov eax, dword [ebp - 0x23ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x23d8]
shl ecx, 2
add ecx, dword [ebp - 0x23d4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x489277
xor eax, eax
je 0x488fec
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x489028
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xc090], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4891c8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4891c8
mov dword [ebp - 0x23f4], 0
jmp 0x4890a7
cmp dword [ebp - 0x23f4], 9
jae 0x4891c3
cvtsi2sd xmm0, dword [ebp - 0x23f4]
movsd xmm1, qword [ebp - 0xc090]
addsd xmm1, xmm0
movsd qword [ebp - 0xc098], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489116
mov ecx, dword [ebp - 0x23f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc090]
addsd xmm1, xmm0
movsd qword [ebp - 0xc090], xmm1
jmp 0x489012
cvtsi2sd xmm0, dword [ebp - 0x23f4]
movsd xmm1, qword [ebp - 0xc090]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc0a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489173
mov eax, dword [ebp - 0x23f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc090]
addsd xmm1, xmm0
movsd qword [ebp - 0xc090], xmm1
jmp 0x48918c
mov ecx, 1
test ecx, ecx
je 0x489188
jmp 0x489245
jmp 0x4891af
cvtsi2sd xmm0, dword [ebp - 0x23f4]
movsd xmm1, qword [ebp - 0xc090]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x23f8], edx
jmp 0x48924f
xor eax, eax
je 0x4891b9
jmp 0x4891c8
jmp 0x489012
jmp 0x489012
mov ecx, 6
test ecx, ecx
je 0x489245
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x23fc], eax
cvtsi2sd xmm0, dword [ebp - 0x23fc]
mov eax, dword [ebp - 0x23fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc090]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x23f8], ecx
jmp 0x48924f
mov dword [ebp - 0x23f8], 2
mov edx, dword [ebp - 0x23d8]
shl edx, 2
add edx, dword [ebp - 0x23d4]
mov eax, dword [ebp - 0x23f8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x23d8]
shl ecx, 2
add ecx, dword [ebp - 0x23d4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x23d8]
add edx, 0xffffffc3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc0a8], xmm0
xor eax, eax
je 0x489291
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4892cd
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc0a8]
movsd qword [ebp - 0xc0b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48946d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48946d
mov dword [ebp - 0x2400], 0
jmp 0x48934c
cmp dword [ebp - 0x2400], 9
jae 0x489468
cvtsi2sd xmm0, dword [ebp - 0x2400]
movsd xmm1, qword [ebp - 0xc0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4893bb
mov ecx, dword [ebp - 0x2400]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0b0], xmm1
jmp 0x4892b7
cvtsi2sd xmm0, dword [ebp - 0x2400]
movsd xmm1, qword [ebp - 0xc0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc0c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489418
mov eax, dword [ebp - 0x2400]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0b0], xmm1
jmp 0x489431
mov ecx, 1
test ecx, ecx
je 0x48942d
jmp 0x4894ea
jmp 0x489454
cvtsi2sd xmm0, dword [ebp - 0x2400]
movsd xmm1, qword [ebp - 0xc0b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2404], edx
jmp 0x4894f4
xor eax, eax
je 0x48945e
jmp 0x48946d
jmp 0x4892b7
jmp 0x4892b7
mov ecx, 6
test ecx, ecx
je 0x4894ea
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2408], eax
cvtsi2sd xmm0, dword [ebp - 0x2408]
mov eax, dword [ebp - 0x2408]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc0b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2404], ecx
jmp 0x4894f4
mov dword [ebp - 0x2404], 2
mov edx, dword [ebp - 0x23d8]
add edx, 0xffffffc3
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc0c8], xmm0
xor eax, eax
je 0x48950e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48954a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc0c8]
movsd qword [ebp - 0xc0d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4896ea
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4896ea
mov dword [ebp - 0x240c], 0
jmp 0x4895c9
cmp dword [ebp - 0x240c], 9
jae 0x4896e5
cvtsi2sd xmm0, dword [ebp - 0x240c]
movsd xmm1, qword [ebp - 0xc0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489638
mov ecx, dword [ebp - 0x240c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0d0], xmm1
jmp 0x489534
cvtsi2sd xmm0, dword [ebp - 0x240c]
movsd xmm1, qword [ebp - 0xc0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc0e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489695
mov eax, dword [ebp - 0x240c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0d0], xmm1
jmp 0x4896ae
mov ecx, 1
test ecx, ecx
je 0x4896aa
jmp 0x489767
jmp 0x4896d1
cvtsi2sd xmm0, dword [ebp - 0x240c]
movsd xmm1, qword [ebp - 0xc0d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2410], edx
jmp 0x489771
xor eax, eax
je 0x4896db
jmp 0x4896ea
jmp 0x489534
jmp 0x489534
mov ecx, 6
test ecx, ecx
je 0x489767
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2414], eax
cvtsi2sd xmm0, dword [ebp - 0x2414]
mov eax, dword [ebp - 0x2414]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc0d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2410], ecx
jmp 0x489771
mov dword [ebp - 0x2410], 2
mov edx, dword [ebp - 0x23d8]
shl edx, 2
add edx, dword [ebp - 0x23d4]
mov eax, dword [ebp - 0x2404]
add eax, dword [edx]
mov ecx, dword [ebp - 0x23d8]
shl ecx, 2
add ecx, dword [ebp - 0x23d4]
mov edx, dword [ebp - 0x2410]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x23d8]
shl ecx, 2
add ecx, dword [ebp - 0x23d4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x489a7c
xor eax, eax
je 0x4897f1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48982d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc0e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4899cd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4899cd
mov dword [ebp - 0x2418], 0
jmp 0x4898ac
cmp dword [ebp - 0x2418], 9
jae 0x4899c8
cvtsi2sd xmm0, dword [ebp - 0x2418]
movsd xmm1, qword [ebp - 0xc0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48991b
mov ecx, dword [ebp - 0x2418]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0e8], xmm1
jmp 0x489817
cvtsi2sd xmm0, dword [ebp - 0x2418]
movsd xmm1, qword [ebp - 0xc0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc0f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489978
mov eax, dword [ebp - 0x2418]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc0e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc0e8], xmm1
jmp 0x489991
mov ecx, 1
test ecx, ecx
je 0x48998d
jmp 0x489a4a
jmp 0x4899b4
cvtsi2sd xmm0, dword [ebp - 0x2418]
movsd xmm1, qword [ebp - 0xc0e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x241c], edx
jmp 0x489a54
xor eax, eax
je 0x4899be
jmp 0x4899cd
jmp 0x489817
jmp 0x489817
mov ecx, 6
test ecx, ecx
je 0x489a4a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2420], eax
cvtsi2sd xmm0, dword [ebp - 0x2420]
mov eax, dword [ebp - 0x2420]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc0e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x241c], ecx
jmp 0x489a54
mov dword [ebp - 0x241c], 2
mov edx, dword [ebp - 0x23d8]
shl edx, 2
add edx, dword [ebp - 0x23d4]
mov eax, dword [ebp - 0x241c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x23d8]
shl ecx, 2
add ecx, dword [ebp - 0x23d4]
mov dword [ecx], eax
jmp 0x4889be
mov edx, dword [ebp - 0x23d0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x23d0]
mov dword [ebp - 0x2424], eax
mov ecx, dword [ebp - 0x2424]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2428], ecx
mov edx, dword [ebp - 0x2428]
mov dword [ebp - 0x23cc], edx
xor eax, eax
mov byte [ebp - 0x62], al
mov ecx, 6
mov esi, 0x673db4
lea edi, [ebp - 0x16694]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor ecx, ecx
mov byte [ebp - 0x63], cl
lea ecx, [ebp - 0x63]
call fcn.00424160
mov dword [ebp - 0x242c], eax
mov edx, dword [ebp - 0x242c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x48abd3
mov ecx, dword [ebp - 0x242c]
mov dword [ebp - 0x2430], ecx
mov dword [ebp - 0x2434], 0
jmp 0x489b1f
mov edx, dword [ebp - 0x2434]
add edx, 1
mov dword [ebp - 0x2434], edx
cmp dword [ebp - 0x2434], 1
jae 0x48abd3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x489df4
xor eax, eax
je 0x489b69
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x489ba5
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xc100], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x489d45
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x489d45
mov dword [ebp - 0x2438], 0
jmp 0x489c24
cmp dword [ebp - 0x2438], 9
jae 0x489d40
cvtsi2sd xmm0, dword [ebp - 0x2438]
movsd xmm1, qword [ebp - 0xc100]
addsd xmm1, xmm0
movsd qword [ebp - 0xc108], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc108]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489c93
mov ecx, dword [ebp - 0x2438]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc100]
addsd xmm1, xmm0
movsd qword [ebp - 0xc100], xmm1
jmp 0x489b8f
cvtsi2sd xmm0, dword [ebp - 0x2438]
movsd xmm1, qword [ebp - 0xc100]
addsd xmm1, xmm0
movsd qword [ebp - 0xc110], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc110]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489cf0
mov eax, dword [ebp - 0x2438]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc100]
addsd xmm1, xmm0
movsd qword [ebp - 0xc100], xmm1
jmp 0x489d09
mov ecx, 1
test ecx, ecx
je 0x489d05
jmp 0x489dc2
jmp 0x489d2c
cvtsi2sd xmm0, dword [ebp - 0x2438]
movsd xmm1, qword [ebp - 0xc100]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x243c], edx
jmp 0x489dcc
xor eax, eax
je 0x489d36
jmp 0x489d45
jmp 0x489b8f
jmp 0x489b8f
mov ecx, 6
test ecx, ecx
je 0x489dc2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2440], eax
cvtsi2sd xmm0, dword [ebp - 0x2440]
mov eax, dword [ebp - 0x2440]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc100]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x243c], ecx
jmp 0x489dcc
mov dword [ebp - 0x243c], 2
mov edx, dword [ebp - 0x2434]
shl edx, 2
add edx, dword [ebp - 0x2430]
mov eax, dword [ebp - 0x243c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2434]
shl ecx, 2
add ecx, dword [ebp - 0x2430]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48a906
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48a101
xor eax, eax
je 0x489e76
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x489eb2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xc118], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48a052
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48a052
mov dword [ebp - 0x2444], 0
jmp 0x489f31
cmp dword [ebp - 0x2444], 9
jae 0x48a04d
cvtsi2sd xmm0, dword [ebp - 0x2444]
movsd xmm1, qword [ebp - 0xc118]
addsd xmm1, xmm0
movsd qword [ebp - 0xc120], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc120]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489fa0
mov ecx, dword [ebp - 0x2444]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc118]
addsd xmm1, xmm0
movsd qword [ebp - 0xc118], xmm1
jmp 0x489e9c
cvtsi2sd xmm0, dword [ebp - 0x2444]
movsd xmm1, qword [ebp - 0xc118]
addsd xmm1, xmm0
movsd qword [ebp - 0xc128], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc128]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x489ffd
mov eax, dword [ebp - 0x2444]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc118]
addsd xmm1, xmm0
movsd qword [ebp - 0xc118], xmm1
jmp 0x48a016
mov ecx, 1
test ecx, ecx
je 0x48a012
jmp 0x48a0cf
jmp 0x48a039
cvtsi2sd xmm0, dword [ebp - 0x2444]
movsd xmm1, qword [ebp - 0xc118]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2448], edx
jmp 0x48a0d9
xor eax, eax
je 0x48a043
jmp 0x48a052
jmp 0x489e9c
jmp 0x489e9c
mov ecx, 6
test ecx, ecx
je 0x48a0cf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x244c], eax
cvtsi2sd xmm0, dword [ebp - 0x244c]
mov eax, dword [ebp - 0x244c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc118]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2448], ecx
jmp 0x48a0d9
mov dword [ebp - 0x2448], 2
mov edx, dword [ebp - 0x2434]
shl edx, 2
add edx, dword [ebp - 0x2430]
mov eax, dword [ebp - 0x2448]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2434]
shl ecx, 2
add ecx, dword [ebp - 0x2430]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48a3c9
xor eax, eax
je 0x48a13e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48a17a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc130], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48a31a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48a31a
mov dword [ebp - 0x2450], 0
jmp 0x48a1f9
cmp dword [ebp - 0x2450], 9
jae 0x48a315
cvtsi2sd xmm0, dword [ebp - 0x2450]
movsd xmm1, qword [ebp - 0xc130]
addsd xmm1, xmm0
movsd qword [ebp - 0xc138], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc138]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a268
mov ecx, dword [ebp - 0x2450]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc130]
addsd xmm1, xmm0
movsd qword [ebp - 0xc130], xmm1
jmp 0x48a164
cvtsi2sd xmm0, dword [ebp - 0x2450]
movsd xmm1, qword [ebp - 0xc130]
addsd xmm1, xmm0
movsd qword [ebp - 0xc140], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc140]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a2c5
mov eax, dword [ebp - 0x2450]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc130]
addsd xmm1, xmm0
movsd qword [ebp - 0xc130], xmm1
jmp 0x48a2de
mov ecx, 1
test ecx, ecx
je 0x48a2da
jmp 0x48a397
jmp 0x48a301
cvtsi2sd xmm0, dword [ebp - 0x2450]
movsd xmm1, qword [ebp - 0xc130]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2454], edx
jmp 0x48a3a1
xor eax, eax
je 0x48a30b
jmp 0x48a31a
jmp 0x48a164
jmp 0x48a164
mov ecx, 6
test ecx, ecx
je 0x48a397
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2458], eax
cvtsi2sd xmm0, dword [ebp - 0x2458]
mov eax, dword [ebp - 0x2458]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc130]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2454], ecx
jmp 0x48a3a1
mov dword [ebp - 0x2454], 2
mov edx, dword [ebp - 0x2434]
shl edx, 2
add edx, dword [ebp - 0x2430]
mov eax, dword [ebp - 0x2454]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2434]
shl ecx, 2
add ecx, dword [ebp - 0x2430]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2434]
add edx, 0xffffffc4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc148], xmm0
xor eax, eax
je 0x48a3e3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48a41f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc148]
movsd qword [ebp - 0xc150], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48a5bf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48a5bf
mov dword [ebp - 0x245c], 0
jmp 0x48a49e
cmp dword [ebp - 0x245c], 9
jae 0x48a5ba
cvtsi2sd xmm0, dword [ebp - 0x245c]
movsd xmm1, qword [ebp - 0xc150]
addsd xmm1, xmm0
movsd qword [ebp - 0xc158], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc158]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a50d
mov ecx, dword [ebp - 0x245c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc150]
addsd xmm1, xmm0
movsd qword [ebp - 0xc150], xmm1
jmp 0x48a409
cvtsi2sd xmm0, dword [ebp - 0x245c]
movsd xmm1, qword [ebp - 0xc150]
addsd xmm1, xmm0
movsd qword [ebp - 0xc160], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc160]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a56a
mov eax, dword [ebp - 0x245c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc150]
addsd xmm1, xmm0
movsd qword [ebp - 0xc150], xmm1
jmp 0x48a583
mov ecx, 1
test ecx, ecx
je 0x48a57f
jmp 0x48a63c
jmp 0x48a5a6
cvtsi2sd xmm0, dword [ebp - 0x245c]
movsd xmm1, qword [ebp - 0xc150]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2460], edx
jmp 0x48a646
xor eax, eax
je 0x48a5b0
jmp 0x48a5bf
jmp 0x48a409
jmp 0x48a409
mov ecx, 6
test ecx, ecx
je 0x48a63c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2464], eax
cvtsi2sd xmm0, dword [ebp - 0x2464]
mov eax, dword [ebp - 0x2464]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc150]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2460], ecx
jmp 0x48a646
mov dword [ebp - 0x2460], 2
mov edx, dword [ebp - 0x2434]
add edx, 0xffffffc4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc168], xmm0
xor eax, eax
je 0x48a660
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48a69c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc168]
movsd qword [ebp - 0xc170], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48a83c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48a83c
mov dword [ebp - 0x2468], 0
jmp 0x48a71b
cmp dword [ebp - 0x2468], 9
jae 0x48a837
cvtsi2sd xmm0, dword [ebp - 0x2468]
movsd xmm1, qword [ebp - 0xc170]
addsd xmm1, xmm0
movsd qword [ebp - 0xc178], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc178]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a78a
mov ecx, dword [ebp - 0x2468]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc170]
addsd xmm1, xmm0
movsd qword [ebp - 0xc170], xmm1
jmp 0x48a686
cvtsi2sd xmm0, dword [ebp - 0x2468]
movsd xmm1, qword [ebp - 0xc170]
addsd xmm1, xmm0
movsd qword [ebp - 0xc180], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc180]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48a7e7
mov eax, dword [ebp - 0x2468]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc170]
addsd xmm1, xmm0
movsd qword [ebp - 0xc170], xmm1
jmp 0x48a800
mov ecx, 1
test ecx, ecx
je 0x48a7fc
jmp 0x48a8b9
jmp 0x48a823
cvtsi2sd xmm0, dword [ebp - 0x2468]
movsd xmm1, qword [ebp - 0xc170]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x246c], edx
jmp 0x48a8c3
xor eax, eax
je 0x48a82d
jmp 0x48a83c
jmp 0x48a686
jmp 0x48a686
mov ecx, 6
test ecx, ecx
je 0x48a8b9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2470], eax
cvtsi2sd xmm0, dword [ebp - 0x2470]
mov eax, dword [ebp - 0x2470]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc170]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x246c], ecx
jmp 0x48a8c3
mov dword [ebp - 0x246c], 2
mov edx, dword [ebp - 0x2434]
shl edx, 2
add edx, dword [ebp - 0x2430]
mov eax, dword [ebp - 0x2460]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2434]
shl ecx, 2
add ecx, dword [ebp - 0x2430]
mov edx, dword [ebp - 0x246c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2434]
shl ecx, 2
add ecx, dword [ebp - 0x2430]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48abce
xor eax, eax
je 0x48a943
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48a97f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc188], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48ab1f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48ab1f
mov dword [ebp - 0x2474], 0
jmp 0x48a9fe
cmp dword [ebp - 0x2474], 9
jae 0x48ab1a
cvtsi2sd xmm0, dword [ebp - 0x2474]
movsd xmm1, qword [ebp - 0xc188]
addsd xmm1, xmm0
movsd qword [ebp - 0xc190], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc190]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48aa6d
mov ecx, dword [ebp - 0x2474]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc188]
addsd xmm1, xmm0
movsd qword [ebp - 0xc188], xmm1
jmp 0x48a969
cvtsi2sd xmm0, dword [ebp - 0x2474]
movsd xmm1, qword [ebp - 0xc188]
addsd xmm1, xmm0
movsd qword [ebp - 0xc198], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc198]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48aaca
mov eax, dword [ebp - 0x2474]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc188]
addsd xmm1, xmm0
movsd qword [ebp - 0xc188], xmm1
jmp 0x48aae3
mov ecx, 1
test ecx, ecx
je 0x48aadf
jmp 0x48ab9c
jmp 0x48ab06
cvtsi2sd xmm0, dword [ebp - 0x2474]
movsd xmm1, qword [ebp - 0xc188]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2478], edx
jmp 0x48aba6
xor eax, eax
je 0x48ab10
jmp 0x48ab1f
jmp 0x48a969
jmp 0x48a969
mov ecx, 6
test ecx, ecx
je 0x48ab9c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x247c], eax
cvtsi2sd xmm0, dword [ebp - 0x247c]
mov eax, dword [ebp - 0x247c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc188]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2478], ecx
jmp 0x48aba6
mov dword [ebp - 0x2478], 2
mov edx, dword [ebp - 0x2434]
shl edx, 2
add edx, dword [ebp - 0x2430]
mov eax, dword [ebp - 0x2478]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2434]
shl ecx, 2
add ecx, dword [ebp - 0x2430]
mov dword [ecx], eax
jmp 0x489b10
mov edx, dword [ebp - 0x242c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x242c]
mov dword [ebp - 0x2480], eax
mov ecx, dword [ebp - 0x2480]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2484], ecx
mov edx, dword [ebp - 0x2484]
mov dword [ebp - 0x2488], edx
xor eax, eax
mov byte [ebp - 0x64], al
lea ecx, [ebp - 0x64]
call fcn.00424130
mov dword [ebp - 0x248c], eax
mov ecx, dword [ebp - 0x248c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x48bd0c
mov eax, dword [ebp - 0x248c]
mov dword [ebp - 0x2490], eax
mov dword [ebp - 0x2494], 0
jmp 0x48ac58
mov ecx, dword [ebp - 0x2494]
add ecx, 1
mov dword [ebp - 0x2494], ecx
cmp dword [ebp - 0x2494], 1
jae 0x48bd0c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48af2d
xor eax, eax
je 0x48aca2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48acde
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xc1a0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48ae7e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48ae7e
mov dword [ebp - 0x2498], 0
jmp 0x48ad5d
cmp dword [ebp - 0x2498], 9
jae 0x48ae79
cvtsi2sd xmm0, dword [ebp - 0x2498]
movsd xmm1, qword [ebp - 0xc1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48adcc
mov ecx, dword [ebp - 0x2498]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1a0], xmm1
jmp 0x48acc8
cvtsi2sd xmm0, dword [ebp - 0x2498]
movsd xmm1, qword [ebp - 0xc1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc1b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ae29
mov eax, dword [ebp - 0x2498]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1a0], xmm1
jmp 0x48ae42
mov ecx, 1
test ecx, ecx
je 0x48ae3e
jmp 0x48aefb
jmp 0x48ae65
cvtsi2sd xmm0, dword [ebp - 0x2498]
movsd xmm1, qword [ebp - 0xc1a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x249c], edx
jmp 0x48af05
xor eax, eax
je 0x48ae6f
jmp 0x48ae7e
jmp 0x48acc8
jmp 0x48acc8
mov ecx, 6
test ecx, ecx
je 0x48aefb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x24a0], eax
cvtsi2sd xmm0, dword [ebp - 0x24a0]
mov eax, dword [ebp - 0x24a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc1a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x249c], ecx
jmp 0x48af05
mov dword [ebp - 0x249c], 2
mov edx, dword [ebp - 0x2494]
shl edx, 2
add edx, dword [ebp - 0x2490]
mov eax, dword [ebp - 0x249c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2494]
shl ecx, 2
add ecx, dword [ebp - 0x2490]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48ba3f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48b23a
xor eax, eax
je 0x48afaf
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48afeb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xc1b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48b18b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48b18b
mov dword [ebp - 0x24a4], 0
jmp 0x48b06a
cmp dword [ebp - 0x24a4], 9
jae 0x48b186
cvtsi2sd xmm0, dword [ebp - 0x24a4]
movsd xmm1, qword [ebp - 0xc1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b0d9
mov ecx, dword [ebp - 0x24a4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1b8], xmm1
jmp 0x48afd5
cvtsi2sd xmm0, dword [ebp - 0x24a4]
movsd xmm1, qword [ebp - 0xc1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc1c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b136
mov eax, dword [ebp - 0x24a4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1b8], xmm1
jmp 0x48b14f
mov ecx, 1
test ecx, ecx
je 0x48b14b
jmp 0x48b208
jmp 0x48b172
cvtsi2sd xmm0, dword [ebp - 0x24a4]
movsd xmm1, qword [ebp - 0xc1b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x24a8], edx
jmp 0x48b212
xor eax, eax
je 0x48b17c
jmp 0x48b18b
jmp 0x48afd5
jmp 0x48afd5
mov ecx, 6
test ecx, ecx
je 0x48b208
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x24ac], eax
cvtsi2sd xmm0, dword [ebp - 0x24ac]
mov eax, dword [ebp - 0x24ac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc1b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x24a8], ecx
jmp 0x48b212
mov dword [ebp - 0x24a8], 2
mov edx, dword [ebp - 0x2494]
shl edx, 2
add edx, dword [ebp - 0x2490]
mov eax, dword [ebp - 0x24a8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2494]
shl ecx, 2
add ecx, dword [ebp - 0x2490]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48b502
xor eax, eax
je 0x48b277
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48b2b3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc1d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48b453
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48b453
mov dword [ebp - 0x24b0], 0
jmp 0x48b332
cmp dword [ebp - 0x24b0], 9
jae 0x48b44e
cvtsi2sd xmm0, dword [ebp - 0x24b0]
movsd xmm1, qword [ebp - 0xc1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b3a1
mov ecx, dword [ebp - 0x24b0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1d0], xmm1
jmp 0x48b29d
cvtsi2sd xmm0, dword [ebp - 0x24b0]
movsd xmm1, qword [ebp - 0xc1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc1e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b3fe
mov eax, dword [ebp - 0x24b0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1d0], xmm1
jmp 0x48b417
mov ecx, 1
test ecx, ecx
je 0x48b413
jmp 0x48b4d0
jmp 0x48b43a
cvtsi2sd xmm0, dword [ebp - 0x24b0]
movsd xmm1, qword [ebp - 0xc1d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x24b4], edx
jmp 0x48b4da
xor eax, eax
je 0x48b444
jmp 0x48b453
jmp 0x48b29d
jmp 0x48b29d
mov ecx, 6
test ecx, ecx
je 0x48b4d0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x24b8], eax
cvtsi2sd xmm0, dword [ebp - 0x24b8]
mov eax, dword [ebp - 0x24b8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc1d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x24b4], ecx
jmp 0x48b4da
mov dword [ebp - 0x24b4], 2
mov edx, dword [ebp - 0x2494]
shl edx, 2
add edx, dword [ebp - 0x2490]
mov eax, dword [ebp - 0x24b4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2494]
shl ecx, 2
add ecx, dword [ebp - 0x2490]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2494]
add edx, 0xffffffc4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc1e8], xmm0
xor eax, eax
je 0x48b51c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48b558
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc1e8]
movsd qword [ebp - 0xc1f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48b6f8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48b6f8
mov dword [ebp - 0x24bc], 0
jmp 0x48b5d7
cmp dword [ebp - 0x24bc], 9
jae 0x48b6f3
cvtsi2sd xmm0, dword [ebp - 0x24bc]
movsd xmm1, qword [ebp - 0xc1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b646
mov ecx, dword [ebp - 0x24bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1f0], xmm1
jmp 0x48b542
cvtsi2sd xmm0, dword [ebp - 0x24bc]
movsd xmm1, qword [ebp - 0xc1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc200], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc200]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b6a3
mov eax, dword [ebp - 0x24bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc1f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc1f0], xmm1
jmp 0x48b6bc
mov ecx, 1
test ecx, ecx
je 0x48b6b8
jmp 0x48b775
jmp 0x48b6df
cvtsi2sd xmm0, dword [ebp - 0x24bc]
movsd xmm1, qword [ebp - 0xc1f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x24c0], edx
jmp 0x48b77f
xor eax, eax
je 0x48b6e9
jmp 0x48b6f8
jmp 0x48b542
jmp 0x48b542
mov ecx, 6
test ecx, ecx
je 0x48b775
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x24c4], eax
cvtsi2sd xmm0, dword [ebp - 0x24c4]
mov eax, dword [ebp - 0x24c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc1f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x24c0], ecx
jmp 0x48b77f
mov dword [ebp - 0x24c0], 2
mov edx, dword [ebp - 0x2494]
add edx, 0xffffffc4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc208], xmm0
xor eax, eax
je 0x48b799
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48b7d5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc208]
movsd qword [ebp - 0xc210], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48b975
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48b975
mov dword [ebp - 0x24c8], 0
jmp 0x48b854
cmp dword [ebp - 0x24c8], 9
jae 0x48b970
cvtsi2sd xmm0, dword [ebp - 0x24c8]
movsd xmm1, qword [ebp - 0xc210]
addsd xmm1, xmm0
movsd qword [ebp - 0xc218], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc218]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b8c3
mov ecx, dword [ebp - 0x24c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc210]
addsd xmm1, xmm0
movsd qword [ebp - 0xc210], xmm1
jmp 0x48b7bf
cvtsi2sd xmm0, dword [ebp - 0x24c8]
movsd xmm1, qword [ebp - 0xc210]
addsd xmm1, xmm0
movsd qword [ebp - 0xc220], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc220]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48b920
mov eax, dword [ebp - 0x24c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc210]
addsd xmm1, xmm0
movsd qword [ebp - 0xc210], xmm1
jmp 0x48b939
mov ecx, 1
test ecx, ecx
je 0x48b935
jmp 0x48b9f2
jmp 0x48b95c
cvtsi2sd xmm0, dword [ebp - 0x24c8]
movsd xmm1, qword [ebp - 0xc210]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x24cc], edx
jmp 0x48b9fc
xor eax, eax
je 0x48b966
jmp 0x48b975
jmp 0x48b7bf
jmp 0x48b7bf
mov ecx, 6
test ecx, ecx
je 0x48b9f2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x24d0], eax
cvtsi2sd xmm0, dword [ebp - 0x24d0]
mov eax, dword [ebp - 0x24d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc210]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x24cc], ecx
jmp 0x48b9fc
mov dword [ebp - 0x24cc], 2
mov edx, dword [ebp - 0x2494]
shl edx, 2
add edx, dword [ebp - 0x2490]
mov eax, dword [ebp - 0x24c0]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2494]
shl ecx, 2
add ecx, dword [ebp - 0x2490]
mov edx, dword [ebp - 0x24cc]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2494]
shl ecx, 2
add ecx, dword [ebp - 0x2490]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48bd07
xor eax, eax
je 0x48ba7c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48bab8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc228], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48bc58
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48bc58
mov dword [ebp - 0x24d4], 0
jmp 0x48bb37
cmp dword [ebp - 0x24d4], 9
jae 0x48bc53
cvtsi2sd xmm0, dword [ebp - 0x24d4]
movsd xmm1, qword [ebp - 0xc228]
addsd xmm1, xmm0
movsd qword [ebp - 0xc230], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc230]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bba6
mov ecx, dword [ebp - 0x24d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc228]
addsd xmm1, xmm0
movsd qword [ebp - 0xc228], xmm1
jmp 0x48baa2
cvtsi2sd xmm0, dword [ebp - 0x24d4]
movsd xmm1, qword [ebp - 0xc228]
addsd xmm1, xmm0
movsd qword [ebp - 0xc238], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc238]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bc03
mov eax, dword [ebp - 0x24d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc228]
addsd xmm1, xmm0
movsd qword [ebp - 0xc228], xmm1
jmp 0x48bc1c
mov ecx, 1
test ecx, ecx
je 0x48bc18
jmp 0x48bcd5
jmp 0x48bc3f
cvtsi2sd xmm0, dword [ebp - 0x24d4]
movsd xmm1, qword [ebp - 0xc228]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x24d8], edx
jmp 0x48bcdf
xor eax, eax
je 0x48bc49
jmp 0x48bc58
jmp 0x48baa2
jmp 0x48baa2
mov ecx, 6
test ecx, ecx
je 0x48bcd5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x24dc], eax
cvtsi2sd xmm0, dword [ebp - 0x24dc]
mov eax, dword [ebp - 0x24dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc228]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x24d8], ecx
jmp 0x48bcdf
mov dword [ebp - 0x24d8], 2
mov edx, dword [ebp - 0x2494]
shl edx, 2
add edx, dword [ebp - 0x2490]
mov eax, dword [ebp - 0x24d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2494]
shl ecx, 2
add ecx, dword [ebp - 0x2490]
mov dword [ecx], eax
jmp 0x48ac49
mov edx, dword [ebp - 0x248c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x248c]
mov dword [ebp - 0x24e0], eax
mov ecx, dword [ebp - 0x24e0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x24e4], ecx
mov edx, dword [ebp - 0x24e4]
mov dword [ebp - 0x24e8], edx
xor eax, eax
mov byte [ebp - 0x65], al
lea ecx, [ebp - 0x65]
call fcn.00424100
mov dword [ebp - 0x24ec], eax
mov ecx, dword [ebp - 0x24ec]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x48ce45
mov eax, dword [ebp - 0x24ec]
mov dword [ebp - 0x24f0], eax
mov dword [ebp - 0x24f4], 0
jmp 0x48bd91
mov ecx, dword [ebp - 0x24f4]
add ecx, 1
mov dword [ebp - 0x24f4], ecx
cmp dword [ebp - 0x24f4], 1
jae 0x48ce45
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48c066
xor eax, eax
je 0x48bddb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48be17
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726308]
movsd qword [ebp - 0xc240], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48bfb7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48bfb7
mov dword [ebp - 0x24f8], 0
jmp 0x48be96
cmp dword [ebp - 0x24f8], 9
jae 0x48bfb2
cvtsi2sd xmm0, dword [ebp - 0x24f8]
movsd xmm1, qword [ebp - 0xc240]
addsd xmm1, xmm0
movsd qword [ebp - 0xc248], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc248]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bf05
mov ecx, dword [ebp - 0x24f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc240]
addsd xmm1, xmm0
movsd qword [ebp - 0xc240], xmm1
jmp 0x48be01
cvtsi2sd xmm0, dword [ebp - 0x24f8]
movsd xmm1, qword [ebp - 0xc240]
addsd xmm1, xmm0
movsd qword [ebp - 0xc250], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc250]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48bf62
mov eax, dword [ebp - 0x24f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc240]
addsd xmm1, xmm0
movsd qword [ebp - 0xc240], xmm1
jmp 0x48bf7b
mov ecx, 1
test ecx, ecx
je 0x48bf77
jmp 0x48c034
jmp 0x48bf9e
cvtsi2sd xmm0, dword [ebp - 0x24f8]
movsd xmm1, qword [ebp - 0xc240]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x24fc], edx
jmp 0x48c03e
xor eax, eax
je 0x48bfa8
jmp 0x48bfb7
jmp 0x48be01
jmp 0x48be01
mov ecx, 6
test ecx, ecx
je 0x48c034
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2500], eax
cvtsi2sd xmm0, dword [ebp - 0x2500]
mov eax, dword [ebp - 0x2500]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc240]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x24fc], ecx
jmp 0x48c03e
mov dword [ebp - 0x24fc], 2
mov edx, dword [ebp - 0x24f4]
shl edx, 2
add edx, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x24fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x24f4]
shl ecx, 2
add ecx, dword [ebp - 0x24f0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48cb78
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48c373
xor eax, eax
je 0x48c0e8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48c124
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xc258], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48c2c4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48c2c4
mov dword [ebp - 0x2504], 0
jmp 0x48c1a3
cmp dword [ebp - 0x2504], 9
jae 0x48c2bf
cvtsi2sd xmm0, dword [ebp - 0x2504]
movsd xmm1, qword [ebp - 0xc258]
addsd xmm1, xmm0
movsd qword [ebp - 0xc260], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc260]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c212
mov ecx, dword [ebp - 0x2504]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc258]
addsd xmm1, xmm0
movsd qword [ebp - 0xc258], xmm1
jmp 0x48c10e
cvtsi2sd xmm0, dword [ebp - 0x2504]
movsd xmm1, qword [ebp - 0xc258]
addsd xmm1, xmm0
movsd qword [ebp - 0xc268], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc268]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c26f
mov eax, dword [ebp - 0x2504]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc258]
addsd xmm1, xmm0
movsd qword [ebp - 0xc258], xmm1
jmp 0x48c288
mov ecx, 1
test ecx, ecx
je 0x48c284
jmp 0x48c341
jmp 0x48c2ab
cvtsi2sd xmm0, dword [ebp - 0x2504]
movsd xmm1, qword [ebp - 0xc258]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2508], edx
jmp 0x48c34b
xor eax, eax
je 0x48c2b5
jmp 0x48c2c4
jmp 0x48c10e
jmp 0x48c10e
mov ecx, 6
test ecx, ecx
je 0x48c341
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x250c], eax
cvtsi2sd xmm0, dword [ebp - 0x250c]
mov eax, dword [ebp - 0x250c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc258]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2508], ecx
jmp 0x48c34b
mov dword [ebp - 0x2508], 2
mov edx, dword [ebp - 0x24f4]
shl edx, 2
add edx, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x2508]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x24f4]
shl ecx, 2
add ecx, dword [ebp - 0x24f0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48c63b
xor eax, eax
je 0x48c3b0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48c3ec
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc270], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48c58c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48c58c
mov dword [ebp - 0x2510], 0
jmp 0x48c46b
cmp dword [ebp - 0x2510], 9
jae 0x48c587
cvtsi2sd xmm0, dword [ebp - 0x2510]
movsd xmm1, qword [ebp - 0xc270]
addsd xmm1, xmm0
movsd qword [ebp - 0xc278], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc278]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c4da
mov ecx, dword [ebp - 0x2510]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc270]
addsd xmm1, xmm0
movsd qword [ebp - 0xc270], xmm1
jmp 0x48c3d6
cvtsi2sd xmm0, dword [ebp - 0x2510]
movsd xmm1, qword [ebp - 0xc270]
addsd xmm1, xmm0
movsd qword [ebp - 0xc280], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc280]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c537
mov eax, dword [ebp - 0x2510]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc270]
addsd xmm1, xmm0
movsd qword [ebp - 0xc270], xmm1
jmp 0x48c550
mov ecx, 1
test ecx, ecx
je 0x48c54c
jmp 0x48c609
jmp 0x48c573
cvtsi2sd xmm0, dword [ebp - 0x2510]
movsd xmm1, qword [ebp - 0xc270]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2514], edx
jmp 0x48c613
xor eax, eax
je 0x48c57d
jmp 0x48c58c
jmp 0x48c3d6
jmp 0x48c3d6
mov ecx, 6
test ecx, ecx
je 0x48c609
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2518], eax
cvtsi2sd xmm0, dword [ebp - 0x2518]
mov eax, dword [ebp - 0x2518]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc270]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2514], ecx
jmp 0x48c613
mov dword [ebp - 0x2514], 2
mov edx, dword [ebp - 0x24f4]
shl edx, 2
add edx, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x2514]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x24f4]
shl ecx, 2
add ecx, dword [ebp - 0x24f0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x24f4]
add edx, 0xffffffc4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc288], xmm0
xor eax, eax
je 0x48c655
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48c691
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc288]
movsd qword [ebp - 0xc290], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48c831
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48c831
mov dword [ebp - 0x251c], 0
jmp 0x48c710
cmp dword [ebp - 0x251c], 9
jae 0x48c82c
cvtsi2sd xmm0, dword [ebp - 0x251c]
movsd xmm1, qword [ebp - 0xc290]
addsd xmm1, xmm0
movsd qword [ebp - 0xc298], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc298]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c77f
mov ecx, dword [ebp - 0x251c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc290]
addsd xmm1, xmm0
movsd qword [ebp - 0xc290], xmm1
jmp 0x48c67b
cvtsi2sd xmm0, dword [ebp - 0x251c]
movsd xmm1, qword [ebp - 0xc290]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc2a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c7dc
mov eax, dword [ebp - 0x251c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc290]
addsd xmm1, xmm0
movsd qword [ebp - 0xc290], xmm1
jmp 0x48c7f5
mov ecx, 1
test ecx, ecx
je 0x48c7f1
jmp 0x48c8ae
jmp 0x48c818
cvtsi2sd xmm0, dword [ebp - 0x251c]
movsd xmm1, qword [ebp - 0xc290]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2520], edx
jmp 0x48c8b8
xor eax, eax
je 0x48c822
jmp 0x48c831
jmp 0x48c67b
jmp 0x48c67b
mov ecx, 6
test ecx, ecx
je 0x48c8ae
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2524], eax
cvtsi2sd xmm0, dword [ebp - 0x2524]
mov eax, dword [ebp - 0x2524]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc290]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2520], ecx
jmp 0x48c8b8
mov dword [ebp - 0x2520], 2
mov edx, dword [ebp - 0x24f4]
add edx, 0xffffffc4
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc2a8], xmm0
xor eax, eax
je 0x48c8d2
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48c90e
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc2a8]
movsd qword [ebp - 0xc2b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48caae
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48caae
mov dword [ebp - 0x2528], 0
jmp 0x48c98d
cmp dword [ebp - 0x2528], 9
jae 0x48caa9
cvtsi2sd xmm0, dword [ebp - 0x2528]
movsd xmm1, qword [ebp - 0xc2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48c9fc
mov ecx, dword [ebp - 0x2528]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2b0], xmm1
jmp 0x48c8f8
cvtsi2sd xmm0, dword [ebp - 0x2528]
movsd xmm1, qword [ebp - 0xc2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc2c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ca59
mov eax, dword [ebp - 0x2528]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2b0], xmm1
jmp 0x48ca72
mov ecx, 1
test ecx, ecx
je 0x48ca6e
jmp 0x48cb2b
jmp 0x48ca95
cvtsi2sd xmm0, dword [ebp - 0x2528]
movsd xmm1, qword [ebp - 0xc2b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x252c], edx
jmp 0x48cb35
xor eax, eax
je 0x48ca9f
jmp 0x48caae
jmp 0x48c8f8
jmp 0x48c8f8
mov ecx, 6
test ecx, ecx
je 0x48cb2b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2530], eax
cvtsi2sd xmm0, dword [ebp - 0x2530]
mov eax, dword [ebp - 0x2530]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc2b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x252c], ecx
jmp 0x48cb35
mov dword [ebp - 0x252c], 2
mov edx, dword [ebp - 0x24f4]
shl edx, 2
add edx, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x2520]
add eax, dword [edx]
mov ecx, dword [ebp - 0x24f4]
shl ecx, 2
add ecx, dword [ebp - 0x24f0]
mov edx, dword [ebp - 0x252c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x24f4]
shl ecx, 2
add ecx, dword [ebp - 0x24f0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48ce40
xor eax, eax
je 0x48cbb5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48cbf1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc2c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48cd91
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48cd91
mov dword [ebp - 0x2534], 0
jmp 0x48cc70
cmp dword [ebp - 0x2534], 9
jae 0x48cd8c
cvtsi2sd xmm0, dword [ebp - 0x2534]
movsd xmm1, qword [ebp - 0xc2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ccdf
mov ecx, dword [ebp - 0x2534]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2c8], xmm1
jmp 0x48cbdb
cvtsi2sd xmm0, dword [ebp - 0x2534]
movsd xmm1, qword [ebp - 0xc2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc2d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48cd3c
mov eax, dword [ebp - 0x2534]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2c8], xmm1
jmp 0x48cd55
mov ecx, 1
test ecx, ecx
je 0x48cd51
jmp 0x48ce0e
jmp 0x48cd78
cvtsi2sd xmm0, dword [ebp - 0x2534]
movsd xmm1, qword [ebp - 0xc2c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2538], edx
jmp 0x48ce18
xor eax, eax
je 0x48cd82
jmp 0x48cd91
jmp 0x48cbdb
jmp 0x48cbdb
mov ecx, 6
test ecx, ecx
je 0x48ce0e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x253c], eax
cvtsi2sd xmm0, dword [ebp - 0x253c]
mov eax, dword [ebp - 0x253c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc2c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2538], ecx
jmp 0x48ce18
mov dword [ebp - 0x2538], 2
mov edx, dword [ebp - 0x24f4]
shl edx, 2
add edx, dword [ebp - 0x24f0]
mov eax, dword [ebp - 0x2538]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x24f4]
shl ecx, 2
add ecx, dword [ebp - 0x24f0]
mov dword [ecx], eax
jmp 0x48bd82
mov edx, dword [ebp - 0x24ec]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x24ec]
mov dword [ebp - 0x2540], eax
mov ecx, dword [ebp - 0x2540]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2544], ecx
mov edx, dword [ebp - 0x2544]
mov dword [ebp - 0x2548], edx
mov eax, dword [ebp - 0x24e8]
mov dword [ebp - 0x2488], eax
cmp dword [ebp - 0x2488], 0
je 0x48dfd0
xor ecx, ecx
mov byte [ebp - 0x66], cl
lea ecx, [ebp - 0x66]
call fcn.004240d0
mov dword [ebp - 0x254c], eax
mov edx, dword [ebp - 0x254c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x48df97
mov ecx, dword [ebp - 0x254c]
mov dword [ebp - 0x2550], ecx
mov dword [ebp - 0x2554], 0
jmp 0x48cee3
mov edx, dword [ebp - 0x2554]
add edx, 1
mov dword [ebp - 0x2554], edx
cmp dword [ebp - 0x2554], 1
jae 0x48df97
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48d1b8
xor eax, eax
je 0x48cf2d
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x48cf69
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xc2e0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48d109
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48d109
mov dword [ebp - 0x2558], 0
jmp 0x48cfe8
cmp dword [ebp - 0x2558], 9
jae 0x48d104
cvtsi2sd xmm0, dword [ebp - 0x2558]
movsd xmm1, qword [ebp - 0xc2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d057
mov ecx, dword [ebp - 0x2558]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2e0], xmm1
jmp 0x48cf53
cvtsi2sd xmm0, dword [ebp - 0x2558]
movsd xmm1, qword [ebp - 0xc2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc2f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d0b4
mov eax, dword [ebp - 0x2558]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2e0], xmm1
jmp 0x48d0cd
mov ecx, 1
test ecx, ecx
je 0x48d0c9
jmp 0x48d186
jmp 0x48d0f0
cvtsi2sd xmm0, dword [ebp - 0x2558]
movsd xmm1, qword [ebp - 0xc2e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x255c], edx
jmp 0x48d190
xor eax, eax
je 0x48d0fa
jmp 0x48d109
jmp 0x48cf53
jmp 0x48cf53
mov ecx, 6
test ecx, ecx
je 0x48d186
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2560], eax
cvtsi2sd xmm0, dword [ebp - 0x2560]
mov eax, dword [ebp - 0x2560]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc2e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x255c], ecx
jmp 0x48d190
mov dword [ebp - 0x255c], 2
mov edx, dword [ebp - 0x2554]
shl edx, 2
add edx, dword [ebp - 0x2550]
mov eax, dword [ebp - 0x255c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2554]
shl ecx, 2
add ecx, dword [ebp - 0x2550]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48dcca
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48d4c5
xor eax, eax
je 0x48d23a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48d276
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc2f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48d416
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48d416
mov dword [ebp - 0x2564], 0
jmp 0x48d2f5
cmp dword [ebp - 0x2564], 9
jae 0x48d411
cvtsi2sd xmm0, dword [ebp - 0x2564]
movsd xmm1, qword [ebp - 0xc2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc300], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc300]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d364
mov ecx, dword [ebp - 0x2564]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2f8], xmm1
jmp 0x48d260
cvtsi2sd xmm0, dword [ebp - 0x2564]
movsd xmm1, qword [ebp - 0xc2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc308], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc308]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d3c1
mov eax, dword [ebp - 0x2564]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc2f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc2f8], xmm1
jmp 0x48d3da
mov ecx, 1
test ecx, ecx
je 0x48d3d6
jmp 0x48d493
jmp 0x48d3fd
cvtsi2sd xmm0, dword [ebp - 0x2564]
movsd xmm1, qword [ebp - 0xc2f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2568], edx
jmp 0x48d49d
xor eax, eax
je 0x48d407
jmp 0x48d416
jmp 0x48d260
jmp 0x48d260
mov ecx, 6
test ecx, ecx
je 0x48d493
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x256c], eax
cvtsi2sd xmm0, dword [ebp - 0x256c]
mov eax, dword [ebp - 0x256c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc2f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2568], ecx
jmp 0x48d49d
mov dword [ebp - 0x2568], 2
mov edx, dword [ebp - 0x2554]
shl edx, 2
add edx, dword [ebp - 0x2550]
mov eax, dword [ebp - 0x2568]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2554]
shl ecx, 2
add ecx, dword [ebp - 0x2550]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48d78d
xor eax, eax
je 0x48d502
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48d53e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc310], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48d6de
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48d6de
mov dword [ebp - 0x2570], 0
jmp 0x48d5bd
cmp dword [ebp - 0x2570], 9
jae 0x48d6d9
cvtsi2sd xmm0, dword [ebp - 0x2570]
movsd xmm1, qword [ebp - 0xc310]
addsd xmm1, xmm0
movsd qword [ebp - 0xc318], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc318]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d62c
mov ecx, dword [ebp - 0x2570]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc310]
addsd xmm1, xmm0
movsd qword [ebp - 0xc310], xmm1
jmp 0x48d528
cvtsi2sd xmm0, dword [ebp - 0x2570]
movsd xmm1, qword [ebp - 0xc310]
addsd xmm1, xmm0
movsd qword [ebp - 0xc320], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc320]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d689
mov eax, dword [ebp - 0x2570]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc310]
addsd xmm1, xmm0
movsd qword [ebp - 0xc310], xmm1
jmp 0x48d6a2
mov ecx, 1
test ecx, ecx
je 0x48d69e
jmp 0x48d75b
jmp 0x48d6c5
cvtsi2sd xmm0, dword [ebp - 0x2570]
movsd xmm1, qword [ebp - 0xc310]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2574], edx
jmp 0x48d765
xor eax, eax
je 0x48d6cf
jmp 0x48d6de
jmp 0x48d528
jmp 0x48d528
mov ecx, 6
test ecx, ecx
je 0x48d75b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2578], eax
cvtsi2sd xmm0, dword [ebp - 0x2578]
mov eax, dword [ebp - 0x2578]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc310]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2574], ecx
jmp 0x48d765
mov dword [ebp - 0x2574], 2
mov edx, dword [ebp - 0x2554]
shl edx, 2
add edx, dword [ebp - 0x2550]
mov eax, dword [ebp - 0x2574]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2554]
shl ecx, 2
add ecx, dword [ebp - 0x2550]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2554]
add edx, 0xffffffc5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc328], xmm0
xor eax, eax
je 0x48d7a7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48d7e3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc328]
movsd qword [ebp - 0xc330], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48d983
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48d983
mov dword [ebp - 0x257c], 0
jmp 0x48d862
cmp dword [ebp - 0x257c], 9
jae 0x48d97e
cvtsi2sd xmm0, dword [ebp - 0x257c]
movsd xmm1, qword [ebp - 0xc330]
addsd xmm1, xmm0
movsd qword [ebp - 0xc338], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc338]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d8d1
mov ecx, dword [ebp - 0x257c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc330]
addsd xmm1, xmm0
movsd qword [ebp - 0xc330], xmm1
jmp 0x48d7cd
cvtsi2sd xmm0, dword [ebp - 0x257c]
movsd xmm1, qword [ebp - 0xc330]
addsd xmm1, xmm0
movsd qword [ebp - 0xc340], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc340]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48d92e
mov eax, dword [ebp - 0x257c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc330]
addsd xmm1, xmm0
movsd qword [ebp - 0xc330], xmm1
jmp 0x48d947
mov ecx, 1
test ecx, ecx
je 0x48d943
jmp 0x48da00
jmp 0x48d96a
cvtsi2sd xmm0, dword [ebp - 0x257c]
movsd xmm1, qword [ebp - 0xc330]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2580], edx
jmp 0x48da0a
xor eax, eax
je 0x48d974
jmp 0x48d983
jmp 0x48d7cd
jmp 0x48d7cd
mov ecx, 6
test ecx, ecx
je 0x48da00
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2584], eax
cvtsi2sd xmm0, dword [ebp - 0x2584]
mov eax, dword [ebp - 0x2584]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc330]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2580], ecx
jmp 0x48da0a
mov dword [ebp - 0x2580], 2
mov edx, dword [ebp - 0x2554]
add edx, 0xffffffc5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc348], xmm0
xor eax, eax
je 0x48da24
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48da60
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc348]
movsd qword [ebp - 0xc350], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48dc00
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48dc00
mov dword [ebp - 0x2588], 0
jmp 0x48dadf
cmp dword [ebp - 0x2588], 9
jae 0x48dbfb
cvtsi2sd xmm0, dword [ebp - 0x2588]
movsd xmm1, qword [ebp - 0xc350]
addsd xmm1, xmm0
movsd qword [ebp - 0xc358], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc358]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48db4e
mov ecx, dword [ebp - 0x2588]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc350]
addsd xmm1, xmm0
movsd qword [ebp - 0xc350], xmm1
jmp 0x48da4a
cvtsi2sd xmm0, dword [ebp - 0x2588]
movsd xmm1, qword [ebp - 0xc350]
addsd xmm1, xmm0
movsd qword [ebp - 0xc360], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc360]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48dbab
mov eax, dword [ebp - 0x2588]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc350]
addsd xmm1, xmm0
movsd qword [ebp - 0xc350], xmm1
jmp 0x48dbc4
mov ecx, 1
test ecx, ecx
je 0x48dbc0
jmp 0x48dc7d
jmp 0x48dbe7
cvtsi2sd xmm0, dword [ebp - 0x2588]
movsd xmm1, qword [ebp - 0xc350]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x258c], edx
jmp 0x48dc87
xor eax, eax
je 0x48dbf1
jmp 0x48dc00
jmp 0x48da4a
jmp 0x48da4a
mov ecx, 6
test ecx, ecx
je 0x48dc7d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2590], eax
cvtsi2sd xmm0, dword [ebp - 0x2590]
mov eax, dword [ebp - 0x2590]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc350]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x258c], ecx
jmp 0x48dc87
mov dword [ebp - 0x258c], 2
mov edx, dword [ebp - 0x2554]
shl edx, 2
add edx, dword [ebp - 0x2550]
mov eax, dword [ebp - 0x2580]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2554]
shl ecx, 2
add ecx, dword [ebp - 0x2550]
mov edx, dword [ebp - 0x258c]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2554]
shl ecx, 2
add ecx, dword [ebp - 0x2550]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48df92
xor eax, eax
je 0x48dd07
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48dd43
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc368], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48dee3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48dee3
mov dword [ebp - 0x2594], 0
jmp 0x48ddc2
cmp dword [ebp - 0x2594], 9
jae 0x48dede
cvtsi2sd xmm0, dword [ebp - 0x2594]
movsd xmm1, qword [ebp - 0xc368]
addsd xmm1, xmm0
movsd qword [ebp - 0xc370], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc370]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48de31
mov ecx, dword [ebp - 0x2594]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc368]
addsd xmm1, xmm0
movsd qword [ebp - 0xc368], xmm1
jmp 0x48dd2d
cvtsi2sd xmm0, dword [ebp - 0x2594]
movsd xmm1, qword [ebp - 0xc368]
addsd xmm1, xmm0
movsd qword [ebp - 0xc378], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc378]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48de8e
mov eax, dword [ebp - 0x2594]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc368]
addsd xmm1, xmm0
movsd qword [ebp - 0xc368], xmm1
jmp 0x48dea7
mov ecx, 1
test ecx, ecx
je 0x48dea3
jmp 0x48df60
jmp 0x48deca
cvtsi2sd xmm0, dword [ebp - 0x2594]
movsd xmm1, qword [ebp - 0xc368]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2598], edx
jmp 0x48df6a
xor eax, eax
je 0x48ded4
jmp 0x48dee3
jmp 0x48dd2d
jmp 0x48dd2d
mov ecx, 6
test ecx, ecx
je 0x48df60
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x259c], eax
cvtsi2sd xmm0, dword [ebp - 0x259c]
mov eax, dword [ebp - 0x259c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc368]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2598], ecx
jmp 0x48df6a
mov dword [ebp - 0x2598], 2
mov edx, dword [ebp - 0x2554]
shl edx, 2
add edx, dword [ebp - 0x2550]
mov eax, dword [ebp - 0x2598]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2554]
shl ecx, 2
add ecx, dword [ebp - 0x2550]
mov dword [ecx], eax
jmp 0x48ced4
mov edx, dword [ebp - 0x254c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x254c]
mov dword [ebp - 0x25a0], eax
mov ecx, dword [ebp - 0x25a0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x25a4], ecx
mov edx, dword [ebp - 0x25a4]
mov dword [ebp - 0x2548], edx
xor eax, eax
mov byte [ebp - 0x67], al
lea ecx, [ebp - 0x16694]
mov edx, 2
imul eax, edx, 0xc
movzx ecx, word [ecx + eax]
neg ecx
sbb ecx, ecx
neg ecx
mov byte [ebp - 0x68], cl
movzx edx, byte [ebp - 0x68]
test edx, edx
je 0x48e055
mov dword [ebp - 0x25a8], 0
jmp 0x48e013
mov eax, dword [ebp - 0x25a8]
add eax, 1
mov dword [ebp - 0x25a8], eax
cmp dword [ebp - 0x25a8], 0xd
jge 0x48e055
mov ecx, dword [ebp - 0x25a8]
shl ecx, 1
lea edx, [ebp - 0x16694]
movzx ecx, word [edx + ecx]
mov eax, dword [ebp - 0x25a8]
cdq
mov esi, 0x3a
idiv esi
add edx, 0x35
xor ecx, edx
lea edx, [ebp - 0x16694]
mov eax, dword [ebp - 0x25a8]
shl eax, 1
mov word [edx + eax], cx
jmp 0x48e004
lea ecx, [ebp - 0x16694]
mov dword [ebp - 0x25ac], ecx
lea ecx, [ebp - 0x67]
call fcn.004240a0
mov dword [ebp - 0x25b0], eax
mov edx, dword [ebp - 0x25b0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x48f15c
mov ecx, dword [ebp - 0x25b0]
mov dword [ebp - 0x25b4], ecx
mov dword [ebp - 0x25b8], 0
jmp 0x48e0a8
mov edx, dword [ebp - 0x25b8]
add edx, 1
mov dword [ebp - 0x25b8], edx
cmp dword [ebp - 0x25b8], 1
jae 0x48f15c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48e37d
xor eax, eax
je 0x48e0f2
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x48e12e
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726300]
movsd qword [ebp - 0xc380], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48e2ce
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48e2ce
mov dword [ebp - 0x25bc], 0
jmp 0x48e1ad
cmp dword [ebp - 0x25bc], 9
jae 0x48e2c9
cvtsi2sd xmm0, dword [ebp - 0x25bc]
movsd xmm1, qword [ebp - 0xc380]
addsd xmm1, xmm0
movsd qword [ebp - 0xc388], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc388]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e21c
mov ecx, dword [ebp - 0x25bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc380]
addsd xmm1, xmm0
movsd qword [ebp - 0xc380], xmm1
jmp 0x48e118
cvtsi2sd xmm0, dword [ebp - 0x25bc]
movsd xmm1, qword [ebp - 0xc380]
addsd xmm1, xmm0
movsd qword [ebp - 0xc390], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e279
mov eax, dword [ebp - 0x25bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc380]
addsd xmm1, xmm0
movsd qword [ebp - 0xc380], xmm1
jmp 0x48e292
mov ecx, 1
test ecx, ecx
je 0x48e28e
jmp 0x48e34b
jmp 0x48e2b5
cvtsi2sd xmm0, dword [ebp - 0x25bc]
movsd xmm1, qword [ebp - 0xc380]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25c0], edx
jmp 0x48e355
xor eax, eax
je 0x48e2bf
jmp 0x48e2ce
jmp 0x48e118
jmp 0x48e118
mov ecx, 6
test ecx, ecx
je 0x48e34b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x25c4], eax
cvtsi2sd xmm0, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x25c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc380]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25c0], ecx
jmp 0x48e355
mov dword [ebp - 0x25c0], 2
mov edx, dword [ebp - 0x25b8]
shl edx, 2
add edx, dword [ebp - 0x25b4]
mov eax, dword [ebp - 0x25c0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x25b8]
shl ecx, 2
add ecx, dword [ebp - 0x25b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48ee8f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48e68a
xor eax, eax
je 0x48e3ff
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48e43b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc398], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48e5db
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48e5db
mov dword [ebp - 0x25c8], 0
jmp 0x48e4ba
cmp dword [ebp - 0x25c8], 9
jae 0x48e5d6
cvtsi2sd xmm0, dword [ebp - 0x25c8]
movsd xmm1, qword [ebp - 0xc398]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e529
mov ecx, dword [ebp - 0x25c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc398]
addsd xmm1, xmm0
movsd qword [ebp - 0xc398], xmm1
jmp 0x48e425
cvtsi2sd xmm0, dword [ebp - 0x25c8]
movsd xmm1, qword [ebp - 0xc398]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc3a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e586
mov eax, dword [ebp - 0x25c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc398]
addsd xmm1, xmm0
movsd qword [ebp - 0xc398], xmm1
jmp 0x48e59f
mov ecx, 1
test ecx, ecx
je 0x48e59b
jmp 0x48e658
jmp 0x48e5c2
cvtsi2sd xmm0, dword [ebp - 0x25c8]
movsd xmm1, qword [ebp - 0xc398]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25cc], edx
jmp 0x48e662
xor eax, eax
je 0x48e5cc
jmp 0x48e5db
jmp 0x48e425
jmp 0x48e425
mov ecx, 6
test ecx, ecx
je 0x48e658
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x25d0], eax
cvtsi2sd xmm0, dword [ebp - 0x25d0]
mov eax, dword [ebp - 0x25d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc398]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25cc], ecx
jmp 0x48e662
mov dword [ebp - 0x25cc], 2
mov edx, dword [ebp - 0x25b8]
shl edx, 2
add edx, dword [ebp - 0x25b4]
mov eax, dword [ebp - 0x25cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x25b8]
shl ecx, 2
add ecx, dword [ebp - 0x25b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48e952
xor eax, eax
je 0x48e6c7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48e703
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc3b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48e8a3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48e8a3
mov dword [ebp - 0x25d4], 0
jmp 0x48e782
cmp dword [ebp - 0x25d4], 9
jae 0x48e89e
cvtsi2sd xmm0, dword [ebp - 0x25d4]
movsd xmm1, qword [ebp - 0xc3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e7f1
mov ecx, dword [ebp - 0x25d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3b0], xmm1
jmp 0x48e6ed
cvtsi2sd xmm0, dword [ebp - 0x25d4]
movsd xmm1, qword [ebp - 0xc3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc3c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48e84e
mov eax, dword [ebp - 0x25d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3b0], xmm1
jmp 0x48e867
mov ecx, 1
test ecx, ecx
je 0x48e863
jmp 0x48e920
jmp 0x48e88a
cvtsi2sd xmm0, dword [ebp - 0x25d4]
movsd xmm1, qword [ebp - 0xc3b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25d8], edx
jmp 0x48e92a
xor eax, eax
je 0x48e894
jmp 0x48e8a3
jmp 0x48e6ed
jmp 0x48e6ed
mov ecx, 6
test ecx, ecx
je 0x48e920
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x25dc], eax
cvtsi2sd xmm0, dword [ebp - 0x25dc]
mov eax, dword [ebp - 0x25dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc3b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25d8], ecx
jmp 0x48e92a
mov dword [ebp - 0x25d8], 2
mov edx, dword [ebp - 0x25b8]
shl edx, 2
add edx, dword [ebp - 0x25b4]
mov eax, dword [ebp - 0x25d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x25b8]
shl ecx, 2
add ecx, dword [ebp - 0x25b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x25b8]
add edx, 0xffffffc5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc3c8], xmm0
xor eax, eax
je 0x48e96c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48e9a8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc3c8]
movsd qword [ebp - 0xc3d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48eb48
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48eb48
mov dword [ebp - 0x25e0], 0
jmp 0x48ea27
cmp dword [ebp - 0x25e0], 9
jae 0x48eb43
cvtsi2sd xmm0, dword [ebp - 0x25e0]
movsd xmm1, qword [ebp - 0xc3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ea96
mov ecx, dword [ebp - 0x25e0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3d0], xmm1
jmp 0x48e992
cvtsi2sd xmm0, dword [ebp - 0x25e0]
movsd xmm1, qword [ebp - 0xc3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc3e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48eaf3
mov eax, dword [ebp - 0x25e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3d0], xmm1
jmp 0x48eb0c
mov ecx, 1
test ecx, ecx
je 0x48eb08
jmp 0x48ebc5
jmp 0x48eb2f
cvtsi2sd xmm0, dword [ebp - 0x25e0]
movsd xmm1, qword [ebp - 0xc3d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25e4], edx
jmp 0x48ebcf
xor eax, eax
je 0x48eb39
jmp 0x48eb48
jmp 0x48e992
jmp 0x48e992
mov ecx, 6
test ecx, ecx
je 0x48ebc5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x25e8], eax
cvtsi2sd xmm0, dword [ebp - 0x25e8]
mov eax, dword [ebp - 0x25e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc3d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25e4], ecx
jmp 0x48ebcf
mov dword [ebp - 0x25e4], 2
mov edx, dword [ebp - 0x25b8]
add edx, 0xffffffc5
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc3e8], xmm0
xor eax, eax
je 0x48ebe9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48ec25
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc3e8]
movsd qword [ebp - 0xc3f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48edc5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48edc5
mov dword [ebp - 0x25ec], 0
jmp 0x48eca4
cmp dword [ebp - 0x25ec], 9
jae 0x48edc0
cvtsi2sd xmm0, dword [ebp - 0x25ec]
movsd xmm1, qword [ebp - 0xc3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ed13
mov ecx, dword [ebp - 0x25ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3f0], xmm1
jmp 0x48ec0f
cvtsi2sd xmm0, dword [ebp - 0x25ec]
movsd xmm1, qword [ebp - 0xc3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc400], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc400]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48ed70
mov eax, dword [ebp - 0x25ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc3f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc3f0], xmm1
jmp 0x48ed89
mov ecx, 1
test ecx, ecx
je 0x48ed85
jmp 0x48ee42
jmp 0x48edac
cvtsi2sd xmm0, dword [ebp - 0x25ec]
movsd xmm1, qword [ebp - 0xc3f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25f0], edx
jmp 0x48ee4c
xor eax, eax
je 0x48edb6
jmp 0x48edc5
jmp 0x48ec0f
jmp 0x48ec0f
mov ecx, 6
test ecx, ecx
je 0x48ee42
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x25f4], eax
cvtsi2sd xmm0, dword [ebp - 0x25f4]
mov eax, dword [ebp - 0x25f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc3f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25f0], ecx
jmp 0x48ee4c
mov dword [ebp - 0x25f0], 2
mov edx, dword [ebp - 0x25b8]
shl edx, 2
add edx, dword [ebp - 0x25b4]
mov eax, dword [ebp - 0x25e4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x25b8]
shl ecx, 2
add ecx, dword [ebp - 0x25b4]
mov edx, dword [ebp - 0x25f0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x25b8]
shl ecx, 2
add ecx, dword [ebp - 0x25b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48f157
xor eax, eax
je 0x48eecc
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48ef08
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc408], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48f0a8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48f0a8
mov dword [ebp - 0x25f8], 0
jmp 0x48ef87
cmp dword [ebp - 0x25f8], 9
jae 0x48f0a3
cvtsi2sd xmm0, dword [ebp - 0x25f8]
movsd xmm1, qword [ebp - 0xc408]
addsd xmm1, xmm0
movsd qword [ebp - 0xc410], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc410]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48eff6
mov ecx, dword [ebp - 0x25f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc408]
addsd xmm1, xmm0
movsd qword [ebp - 0xc408], xmm1
jmp 0x48eef2
cvtsi2sd xmm0, dword [ebp - 0x25f8]
movsd xmm1, qword [ebp - 0xc408]
addsd xmm1, xmm0
movsd qword [ebp - 0xc418], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc418]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f053
mov eax, dword [ebp - 0x25f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc408]
addsd xmm1, xmm0
movsd qword [ebp - 0xc408], xmm1
jmp 0x48f06c
mov ecx, 1
test ecx, ecx
je 0x48f068
jmp 0x48f125
jmp 0x48f08f
cvtsi2sd xmm0, dword [ebp - 0x25f8]
movsd xmm1, qword [ebp - 0xc408]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x25fc], edx
jmp 0x48f12f
xor eax, eax
je 0x48f099
jmp 0x48f0a8
jmp 0x48eef2
jmp 0x48eef2
mov ecx, 6
test ecx, ecx
je 0x48f125
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2600], eax
cvtsi2sd xmm0, dword [ebp - 0x2600]
mov eax, dword [ebp - 0x2600]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc408]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x25fc], ecx
jmp 0x48f12f
mov dword [ebp - 0x25fc], 2
mov edx, dword [ebp - 0x25b8]
shl edx, 2
add edx, dword [ebp - 0x25b4]
mov eax, dword [ebp - 0x25fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x25b8]
shl ecx, 2
add ecx, dword [ebp - 0x25b4]
mov dword [ecx], eax
jmp 0x48e099
mov edx, dword [ebp - 0x25b0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x25b0]
mov dword [ebp - 0x2604], eax
mov ecx, dword [ebp - 0x2604]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2608], ecx
mov edx, dword [ebp - 0x25ac]
push edx
mov eax, dword [ebp - 0x2608]
shl eax, 2
add eax, 0x772450
mov ecx, dword [eax]
call ecx
mov dword [ebp - 0x260c], eax
cmp dword [ebp - 0x260c], 0
jne 0x48f1b8
xor al, al
jmp 0x5a78e3
xor edx, edx
mov byte [ebp - 0x69], dl
lea ecx, [ebp - 0x69]
call fcn.00424070
mov dword [ebp - 0x2610], eax
mov eax, dword [ebp - 0x2610]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x4902b8
mov edx, dword [ebp - 0x2610]
mov dword [ebp - 0x2614], edx
mov dword [ebp - 0x2618], 0
jmp 0x48f204
mov eax, dword [ebp - 0x2618]
add eax, 1
mov dword [ebp - 0x2618], eax
cmp dword [ebp - 0x2618], 1
jae 0x4902b8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx ecx, al
add esi, ecx
call fcn.005e1cc0
movsx edx, al
imul eax, edx, 7
movsx ecx, byte [0x77378c]
imul eax, ecx
add esi, eax
call fcn.005e1c90
movsx edx, al
sub esi, edx
je 0x48f4d9
xor eax, eax
je 0x48f24e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48f28a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc420], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48f42a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48f42a
mov dword [ebp - 0x261c], 0
jmp 0x48f309
cmp dword [ebp - 0x261c], 9
jae 0x48f425
cvtsi2sd xmm0, dword [ebp - 0x261c]
movsd xmm1, qword [ebp - 0xc420]
addsd xmm1, xmm0
movsd qword [ebp - 0xc428], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc428]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f378
mov ecx, dword [ebp - 0x261c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc420]
addsd xmm1, xmm0
movsd qword [ebp - 0xc420], xmm1
jmp 0x48f274
cvtsi2sd xmm0, dword [ebp - 0x261c]
movsd xmm1, qword [ebp - 0xc420]
addsd xmm1, xmm0
movsd qword [ebp - 0xc430], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc430]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f3d5
mov eax, dword [ebp - 0x261c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc420]
addsd xmm1, xmm0
movsd qword [ebp - 0xc420], xmm1
jmp 0x48f3ee
mov ecx, 1
test ecx, ecx
je 0x48f3ea
jmp 0x48f4a7
jmp 0x48f411
cvtsi2sd xmm0, dword [ebp - 0x261c]
movsd xmm1, qword [ebp - 0xc420]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2620], edx
jmp 0x48f4b1
xor eax, eax
je 0x48f41b
jmp 0x48f42a
jmp 0x48f274
jmp 0x48f274
mov ecx, 6
test ecx, ecx
je 0x48f4a7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2624], eax
cvtsi2sd xmm0, dword [ebp - 0x2624]
mov eax, dword [ebp - 0x2624]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc420]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2620], ecx
jmp 0x48f4b1
mov dword [ebp - 0x2620], 2
mov edx, dword [ebp - 0x2618]
shl edx, 2
add edx, dword [ebp - 0x2614]
mov eax, dword [ebp - 0x2620]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2618]
shl ecx, 2
add ecx, dword [ebp - 0x2614]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48ffeb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48f7e6
xor eax, eax
je 0x48f55b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48f597
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc438], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48f737
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48f737
mov dword [ebp - 0x2628], 0
jmp 0x48f616
cmp dword [ebp - 0x2628], 9
jae 0x48f732
cvtsi2sd xmm0, dword [ebp - 0x2628]
movsd xmm1, qword [ebp - 0xc438]
addsd xmm1, xmm0
movsd qword [ebp - 0xc440], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc440]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f685
mov ecx, dword [ebp - 0x2628]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc438]
addsd xmm1, xmm0
movsd qword [ebp - 0xc438], xmm1
jmp 0x48f581
cvtsi2sd xmm0, dword [ebp - 0x2628]
movsd xmm1, qword [ebp - 0xc438]
addsd xmm1, xmm0
movsd qword [ebp - 0xc448], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc448]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f6e2
mov eax, dword [ebp - 0x2628]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc438]
addsd xmm1, xmm0
movsd qword [ebp - 0xc438], xmm1
jmp 0x48f6fb
mov ecx, 1
test ecx, ecx
je 0x48f6f7
jmp 0x48f7b4
jmp 0x48f71e
cvtsi2sd xmm0, dword [ebp - 0x2628]
movsd xmm1, qword [ebp - 0xc438]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x262c], edx
jmp 0x48f7be
xor eax, eax
je 0x48f728
jmp 0x48f737
jmp 0x48f581
jmp 0x48f581
mov ecx, 6
test ecx, ecx
je 0x48f7b4
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2630], eax
cvtsi2sd xmm0, dword [ebp - 0x2630]
mov eax, dword [ebp - 0x2630]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc438]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x262c], ecx
jmp 0x48f7be
mov dword [ebp - 0x262c], 2
mov edx, dword [ebp - 0x2618]
shl edx, 2
add edx, dword [ebp - 0x2614]
mov eax, dword [ebp - 0x262c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2618]
shl ecx, 2
add ecx, dword [ebp - 0x2614]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x48faae
xor eax, eax
je 0x48f823
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x48f85f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc450], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48f9ff
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48f9ff
mov dword [ebp - 0x2634], 0
jmp 0x48f8de
cmp dword [ebp - 0x2634], 9
jae 0x48f9fa
cvtsi2sd xmm0, dword [ebp - 0x2634]
movsd xmm1, qword [ebp - 0xc450]
addsd xmm1, xmm0
movsd qword [ebp - 0xc458], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc458]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f94d
mov ecx, dword [ebp - 0x2634]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc450]
addsd xmm1, xmm0
movsd qword [ebp - 0xc450], xmm1
jmp 0x48f849
cvtsi2sd xmm0, dword [ebp - 0x2634]
movsd xmm1, qword [ebp - 0xc450]
addsd xmm1, xmm0
movsd qword [ebp - 0xc460], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc460]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48f9aa
mov eax, dword [ebp - 0x2634]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc450]
addsd xmm1, xmm0
movsd qword [ebp - 0xc450], xmm1
jmp 0x48f9c3
mov ecx, 1
test ecx, ecx
je 0x48f9bf
jmp 0x48fa7c
jmp 0x48f9e6
cvtsi2sd xmm0, dword [ebp - 0x2634]
movsd xmm1, qword [ebp - 0xc450]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2638], edx
jmp 0x48fa86
xor eax, eax
je 0x48f9f0
jmp 0x48f9ff
jmp 0x48f849
jmp 0x48f849
mov ecx, 6
test ecx, ecx
je 0x48fa7c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x263c], eax
cvtsi2sd xmm0, dword [ebp - 0x263c]
mov eax, dword [ebp - 0x263c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc450]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2638], ecx
jmp 0x48fa86
mov dword [ebp - 0x2638], 2
mov edx, dword [ebp - 0x2618]
shl edx, 2
add edx, dword [ebp - 0x2614]
mov eax, dword [ebp - 0x2638]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2618]
shl ecx, 2
add ecx, dword [ebp - 0x2614]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2618]
add edx, 0xffffffc6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc468], xmm0
xor eax, eax
je 0x48fac8
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48fb04
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc468]
movsd qword [ebp - 0xc470], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48fca4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48fca4
mov dword [ebp - 0x2640], 0
jmp 0x48fb83
cmp dword [ebp - 0x2640], 9
jae 0x48fc9f
cvtsi2sd xmm0, dword [ebp - 0x2640]
movsd xmm1, qword [ebp - 0xc470]
addsd xmm1, xmm0
movsd qword [ebp - 0xc478], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc478]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fbf2
mov ecx, dword [ebp - 0x2640]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc470]
addsd xmm1, xmm0
movsd qword [ebp - 0xc470], xmm1
jmp 0x48faee
cvtsi2sd xmm0, dword [ebp - 0x2640]
movsd xmm1, qword [ebp - 0xc470]
addsd xmm1, xmm0
movsd qword [ebp - 0xc480], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc480]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fc4f
mov eax, dword [ebp - 0x2640]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc470]
addsd xmm1, xmm0
movsd qword [ebp - 0xc470], xmm1
jmp 0x48fc68
mov ecx, 1
test ecx, ecx
je 0x48fc64
jmp 0x48fd21
jmp 0x48fc8b
cvtsi2sd xmm0, dword [ebp - 0x2640]
movsd xmm1, qword [ebp - 0xc470]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2644], edx
jmp 0x48fd2b
xor eax, eax
je 0x48fc95
jmp 0x48fca4
jmp 0x48faee
jmp 0x48faee
mov ecx, 6
test ecx, ecx
je 0x48fd21
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2648], eax
cvtsi2sd xmm0, dword [ebp - 0x2648]
mov eax, dword [ebp - 0x2648]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc470]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2644], ecx
jmp 0x48fd2b
mov dword [ebp - 0x2644], 2
mov edx, dword [ebp - 0x2618]
add edx, 0xffffffc6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc488], xmm0
xor eax, eax
je 0x48fd45
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x48fd81
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc488]
movsd qword [ebp - 0xc490], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x48ff21
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x48ff21
mov dword [ebp - 0x264c], 0
jmp 0x48fe00
cmp dword [ebp - 0x264c], 9
jae 0x48ff1c
cvtsi2sd xmm0, dword [ebp - 0x264c]
movsd xmm1, qword [ebp - 0xc490]
addsd xmm1, xmm0
movsd qword [ebp - 0xc498], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc498]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fe6f
mov ecx, dword [ebp - 0x264c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc490]
addsd xmm1, xmm0
movsd qword [ebp - 0xc490], xmm1
jmp 0x48fd6b
cvtsi2sd xmm0, dword [ebp - 0x264c]
movsd xmm1, qword [ebp - 0xc490]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc4a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x48fecc
mov eax, dword [ebp - 0x264c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc490]
addsd xmm1, xmm0
movsd qword [ebp - 0xc490], xmm1
jmp 0x48fee5
mov ecx, 1
test ecx, ecx
je 0x48fee1
jmp 0x48ff9e
jmp 0x48ff08
cvtsi2sd xmm0, dword [ebp - 0x264c]
movsd xmm1, qword [ebp - 0xc490]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2650], edx
jmp 0x48ffa8
xor eax, eax
je 0x48ff12
jmp 0x48ff21
jmp 0x48fd6b
jmp 0x48fd6b
mov ecx, 6
test ecx, ecx
je 0x48ff9e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2654], eax
cvtsi2sd xmm0, dword [ebp - 0x2654]
mov eax, dword [ebp - 0x2654]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc490]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2650], ecx
jmp 0x48ffa8
mov dword [ebp - 0x2650], 2
mov edx, dword [ebp - 0x2618]
shl edx, 2
add edx, dword [ebp - 0x2614]
mov eax, dword [ebp - 0x2644]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2618]
shl ecx, 2
add ecx, dword [ebp - 0x2614]
mov edx, dword [ebp - 0x2650]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2618]
shl ecx, 2
add ecx, dword [ebp - 0x2614]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4902b3
xor eax, eax
je 0x490028
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x490064
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc4a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x490204
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x490204
mov dword [ebp - 0x2658], 0
jmp 0x4900e3
cmp dword [ebp - 0x2658], 9
jae 0x4901ff
cvtsi2sd xmm0, dword [ebp - 0x2658]
movsd xmm1, qword [ebp - 0xc4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490152
mov ecx, dword [ebp - 0x2658]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4a8], xmm1
jmp 0x49004e
cvtsi2sd xmm0, dword [ebp - 0x2658]
movsd xmm1, qword [ebp - 0xc4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc4b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4901af
mov eax, dword [ebp - 0x2658]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4a8], xmm1
jmp 0x4901c8
mov ecx, 1
test ecx, ecx
je 0x4901c4
jmp 0x490281
jmp 0x4901eb
cvtsi2sd xmm0, dword [ebp - 0x2658]
movsd xmm1, qword [ebp - 0xc4a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x265c], edx
jmp 0x49028b
xor eax, eax
je 0x4901f5
jmp 0x490204
jmp 0x49004e
jmp 0x49004e
mov ecx, 6
test ecx, ecx
je 0x490281
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2660], eax
cvtsi2sd xmm0, dword [ebp - 0x2660]
mov eax, dword [ebp - 0x2660]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc4a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x265c], ecx
jmp 0x49028b
mov dword [ebp - 0x265c], 2
mov edx, dword [ebp - 0x2618]
shl edx, 2
add edx, dword [ebp - 0x2614]
mov eax, dword [ebp - 0x265c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2618]
shl ecx, 2
add ecx, dword [ebp - 0x2614]
mov dword [ecx], eax
jmp 0x48f1f5
mov edx, dword [ebp - 0x2610]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2610]
mov dword [ebp - 0x2664], eax
mov ecx, dword [ebp - 0x2664]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2668], ecx
mov edx, dword [ebp - 0x2668]
mov dword [ebp - 0x266c], edx
xor eax, eax
mov byte [ebp - 0x6a], al
lea ecx, [ebp - 0x6a]
call fcn.00424040
mov dword [ebp - 0x2670], eax
mov ecx, dword [ebp - 0x2670]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4913f1
mov eax, dword [ebp - 0x2670]
mov dword [ebp - 0x2674], eax
mov dword [ebp - 0x2678], 0
jmp 0x49033d
mov ecx, dword [ebp - 0x2678]
add ecx, 1
mov dword [ebp - 0x2678], ecx
cmp dword [ebp - 0x2678], 1
jae 0x4913f1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x490612
xor eax, eax
je 0x490387
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4903c3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f8]
movsd qword [ebp - 0xc4c0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x490563
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x490563
mov dword [ebp - 0x267c], 0
jmp 0x490442
cmp dword [ebp - 0x267c], 9
jae 0x49055e
cvtsi2sd xmm0, dword [ebp - 0x267c]
movsd xmm1, qword [ebp - 0xc4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4904b1
mov ecx, dword [ebp - 0x267c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4c0], xmm1
jmp 0x4903ad
cvtsi2sd xmm0, dword [ebp - 0x267c]
movsd xmm1, qword [ebp - 0xc4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc4d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49050e
mov eax, dword [ebp - 0x267c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4c0], xmm1
jmp 0x490527
mov ecx, 1
test ecx, ecx
je 0x490523
jmp 0x4905e0
jmp 0x49054a
cvtsi2sd xmm0, dword [ebp - 0x267c]
movsd xmm1, qword [ebp - 0xc4c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2680], edx
jmp 0x4905ea
xor eax, eax
je 0x490554
jmp 0x490563
jmp 0x4903ad
jmp 0x4903ad
mov ecx, 6
test ecx, ecx
je 0x4905e0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2684], eax
cvtsi2sd xmm0, dword [ebp - 0x2684]
mov eax, dword [ebp - 0x2684]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc4c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2680], ecx
jmp 0x4905ea
mov dword [ebp - 0x2680], 2
mov edx, dword [ebp - 0x2678]
shl edx, 2
add edx, dword [ebp - 0x2674]
mov eax, dword [ebp - 0x2680]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2678]
shl ecx, 2
add ecx, dword [ebp - 0x2674]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x491124
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49091f
xor eax, eax
je 0x490694
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4906d0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc4d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x490870
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x490870
mov dword [ebp - 0x2688], 0
jmp 0x49074f
cmp dword [ebp - 0x2688], 9
jae 0x49086b
cvtsi2sd xmm0, dword [ebp - 0x2688]
movsd xmm1, qword [ebp - 0xc4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4907be
mov ecx, dword [ebp - 0x2688]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4d8], xmm1
jmp 0x4906ba
cvtsi2sd xmm0, dword [ebp - 0x2688]
movsd xmm1, qword [ebp - 0xc4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc4e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49081b
mov eax, dword [ebp - 0x2688]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4d8], xmm1
jmp 0x490834
mov ecx, 1
test ecx, ecx
je 0x490830
jmp 0x4908ed
jmp 0x490857
cvtsi2sd xmm0, dword [ebp - 0x2688]
movsd xmm1, qword [ebp - 0xc4d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x268c], edx
jmp 0x4908f7
xor eax, eax
je 0x490861
jmp 0x490870
jmp 0x4906ba
jmp 0x4906ba
mov ecx, 6
test ecx, ecx
je 0x4908ed
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2690], eax
cvtsi2sd xmm0, dword [ebp - 0x2690]
mov eax, dword [ebp - 0x2690]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc4d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x268c], ecx
jmp 0x4908f7
mov dword [ebp - 0x268c], 2
mov edx, dword [ebp - 0x2678]
shl edx, 2
add edx, dword [ebp - 0x2674]
mov eax, dword [ebp - 0x268c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2678]
shl ecx, 2
add ecx, dword [ebp - 0x2674]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x490be7
xor eax, eax
je 0x49095c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x490998
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc4f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x490b38
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x490b38
mov dword [ebp - 0x2694], 0
jmp 0x490a17
cmp dword [ebp - 0x2694], 9
jae 0x490b33
cvtsi2sd xmm0, dword [ebp - 0x2694]
movsd xmm1, qword [ebp - 0xc4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490a86
mov ecx, dword [ebp - 0x2694]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4f0], xmm1
jmp 0x490982
cvtsi2sd xmm0, dword [ebp - 0x2694]
movsd xmm1, qword [ebp - 0xc4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc500], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc500]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490ae3
mov eax, dword [ebp - 0x2694]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc4f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc4f0], xmm1
jmp 0x490afc
mov ecx, 1
test ecx, ecx
je 0x490af8
jmp 0x490bb5
jmp 0x490b1f
cvtsi2sd xmm0, dword [ebp - 0x2694]
movsd xmm1, qword [ebp - 0xc4f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2698], edx
jmp 0x490bbf
xor eax, eax
je 0x490b29
jmp 0x490b38
jmp 0x490982
jmp 0x490982
mov ecx, 6
test ecx, ecx
je 0x490bb5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x269c], eax
cvtsi2sd xmm0, dword [ebp - 0x269c]
mov eax, dword [ebp - 0x269c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc4f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2698], ecx
jmp 0x490bbf
mov dword [ebp - 0x2698], 2
mov edx, dword [ebp - 0x2678]
shl edx, 2
add edx, dword [ebp - 0x2674]
mov eax, dword [ebp - 0x2698]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2678]
shl ecx, 2
add ecx, dword [ebp - 0x2674]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2678]
add edx, 0xffffffc6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc508], xmm0
xor eax, eax
je 0x490c01
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x490c3d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc508]
movsd qword [ebp - 0xc510], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x490ddd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x490ddd
mov dword [ebp - 0x26a0], 0
jmp 0x490cbc
cmp dword [ebp - 0x26a0], 9
jae 0x490dd8
cvtsi2sd xmm0, dword [ebp - 0x26a0]
movsd xmm1, qword [ebp - 0xc510]
addsd xmm1, xmm0
movsd qword [ebp - 0xc518], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc518]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490d2b
mov ecx, dword [ebp - 0x26a0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc510]
addsd xmm1, xmm0
movsd qword [ebp - 0xc510], xmm1
jmp 0x490c27
cvtsi2sd xmm0, dword [ebp - 0x26a0]
movsd xmm1, qword [ebp - 0xc510]
addsd xmm1, xmm0
movsd qword [ebp - 0xc520], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc520]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490d88
mov eax, dword [ebp - 0x26a0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc510]
addsd xmm1, xmm0
movsd qword [ebp - 0xc510], xmm1
jmp 0x490da1
mov ecx, 1
test ecx, ecx
je 0x490d9d
jmp 0x490e5a
jmp 0x490dc4
cvtsi2sd xmm0, dword [ebp - 0x26a0]
movsd xmm1, qword [ebp - 0xc510]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x26a4], edx
jmp 0x490e64
xor eax, eax
je 0x490dce
jmp 0x490ddd
jmp 0x490c27
jmp 0x490c27
mov ecx, 6
test ecx, ecx
je 0x490e5a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26a8], eax
cvtsi2sd xmm0, dword [ebp - 0x26a8]
mov eax, dword [ebp - 0x26a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc510]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x26a4], ecx
jmp 0x490e64
mov dword [ebp - 0x26a4], 2
mov edx, dword [ebp - 0x2678]
add edx, 0xffffffc6
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc528], xmm0
xor eax, eax
je 0x490e7e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x490eba
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc528]
movsd qword [ebp - 0xc530], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49105a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49105a
mov dword [ebp - 0x26ac], 0
jmp 0x490f39
cmp dword [ebp - 0x26ac], 9
jae 0x491055
cvtsi2sd xmm0, dword [ebp - 0x26ac]
movsd xmm1, qword [ebp - 0xc530]
addsd xmm1, xmm0
movsd qword [ebp - 0xc538], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc538]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x490fa8
mov ecx, dword [ebp - 0x26ac]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc530]
addsd xmm1, xmm0
movsd qword [ebp - 0xc530], xmm1
jmp 0x490ea4
cvtsi2sd xmm0, dword [ebp - 0x26ac]
movsd xmm1, qword [ebp - 0xc530]
addsd xmm1, xmm0
movsd qword [ebp - 0xc540], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc540]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491005
mov eax, dword [ebp - 0x26ac]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc530]
addsd xmm1, xmm0
movsd qword [ebp - 0xc530], xmm1
jmp 0x49101e
mov ecx, 1
test ecx, ecx
je 0x49101a
jmp 0x4910d7
jmp 0x491041
cvtsi2sd xmm0, dword [ebp - 0x26ac]
movsd xmm1, qword [ebp - 0xc530]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x26b0], edx
jmp 0x4910e1
xor eax, eax
je 0x49104b
jmp 0x49105a
jmp 0x490ea4
jmp 0x490ea4
mov ecx, 6
test ecx, ecx
je 0x4910d7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26b4], eax
cvtsi2sd xmm0, dword [ebp - 0x26b4]
mov eax, dword [ebp - 0x26b4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc530]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x26b0], ecx
jmp 0x4910e1
mov dword [ebp - 0x26b0], 2
mov edx, dword [ebp - 0x2678]
shl edx, 2
add edx, dword [ebp - 0x2674]
mov eax, dword [ebp - 0x26a4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2678]
shl ecx, 2
add ecx, dword [ebp - 0x2674]
mov edx, dword [ebp - 0x26b0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2678]
shl ecx, 2
add ecx, dword [ebp - 0x2674]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4913ec
xor eax, eax
je 0x491161
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49119d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc548], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49133d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49133d
mov dword [ebp - 0x26b8], 0
jmp 0x49121c
cmp dword [ebp - 0x26b8], 9
jae 0x491338
cvtsi2sd xmm0, dword [ebp - 0x26b8]
movsd xmm1, qword [ebp - 0xc548]
addsd xmm1, xmm0
movsd qword [ebp - 0xc550], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc550]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49128b
mov ecx, dword [ebp - 0x26b8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc548]
addsd xmm1, xmm0
movsd qword [ebp - 0xc548], xmm1
jmp 0x491187
cvtsi2sd xmm0, dword [ebp - 0x26b8]
movsd xmm1, qword [ebp - 0xc548]
addsd xmm1, xmm0
movsd qword [ebp - 0xc558], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc558]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4912e8
mov eax, dword [ebp - 0x26b8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc548]
addsd xmm1, xmm0
movsd qword [ebp - 0xc548], xmm1
jmp 0x491301
mov ecx, 1
test ecx, ecx
je 0x4912fd
jmp 0x4913ba
jmp 0x491324
cvtsi2sd xmm0, dword [ebp - 0x26b8]
movsd xmm1, qword [ebp - 0xc548]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x26bc], edx
jmp 0x4913c4
xor eax, eax
je 0x49132e
jmp 0x49133d
jmp 0x491187
jmp 0x491187
mov ecx, 6
test ecx, ecx
je 0x4913ba
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26c0], eax
cvtsi2sd xmm0, dword [ebp - 0x26c0]
mov eax, dword [ebp - 0x26c0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc548]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x26bc], ecx
jmp 0x4913c4
mov dword [ebp - 0x26bc], 2
mov edx, dword [ebp - 0x2678]
shl edx, 2
add edx, dword [ebp - 0x2674]
mov eax, dword [ebp - 0x26bc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2678]
shl ecx, 2
add ecx, dword [ebp - 0x2674]
mov dword [ecx], eax
jmp 0x49032e
mov edx, dword [ebp - 0x2670]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2670]
mov dword [ebp - 0x26c4], eax
mov ecx, dword [ebp - 0x26c4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x26c8], ecx
mov edx, dword [ebp - 0x26c8]
mov dword [ebp - 0x26cc], edx
xor eax, eax
mov byte [ebp - 0x6b], al
lea ecx, [ebp - 0x6b]
call fcn.00424010
mov dword [ebp - 0x26d0], eax
mov ecx, dword [ebp - 0x26d0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x49252a
mov eax, dword [ebp - 0x26d0]
mov dword [ebp - 0x26d4], eax
mov dword [ebp - 0x26d8], 0
jmp 0x491476
mov ecx, dword [ebp - 0x26d8]
add ecx, 1
mov dword [ebp - 0x26d8], ecx
cmp dword [ebp - 0x26d8], 1
jae 0x49252a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49174b
xor eax, eax
je 0x4914c0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4914fc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc560], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49169c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49169c
mov dword [ebp - 0x26dc], 0
jmp 0x49157b
cmp dword [ebp - 0x26dc], 9
jae 0x491697
cvtsi2sd xmm0, dword [ebp - 0x26dc]
movsd xmm1, qword [ebp - 0xc560]
addsd xmm1, xmm0
movsd qword [ebp - 0xc568], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc568]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4915ea
mov ecx, dword [ebp - 0x26dc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc560]
addsd xmm1, xmm0
movsd qword [ebp - 0xc560], xmm1
jmp 0x4914e6
cvtsi2sd xmm0, dword [ebp - 0x26dc]
movsd xmm1, qword [ebp - 0xc560]
addsd xmm1, xmm0
movsd qword [ebp - 0xc570], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc570]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491647
mov eax, dword [ebp - 0x26dc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc560]
addsd xmm1, xmm0
movsd qword [ebp - 0xc560], xmm1
jmp 0x491660
mov ecx, 1
test ecx, ecx
je 0x49165c
jmp 0x491719
jmp 0x491683
cvtsi2sd xmm0, dword [ebp - 0x26dc]
movsd xmm1, qword [ebp - 0xc560]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x26e0], edx
jmp 0x491723
xor eax, eax
je 0x49168d
jmp 0x49169c
jmp 0x4914e6
jmp 0x4914e6
mov ecx, 6
test ecx, ecx
je 0x491719
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26e4], eax
cvtsi2sd xmm0, dword [ebp - 0x26e4]
mov eax, dword [ebp - 0x26e4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc560]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x26e0], ecx
jmp 0x491723
mov dword [ebp - 0x26e0], 2
mov edx, dword [ebp - 0x26d8]
shl edx, 2
add edx, dword [ebp - 0x26d4]
mov eax, dword [ebp - 0x26e0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x26d8]
shl ecx, 2
add ecx, dword [ebp - 0x26d4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49225d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x491a58
xor eax, eax
je 0x4917cd
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x491809
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc578], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4919a9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4919a9
mov dword [ebp - 0x26e8], 0
jmp 0x491888
cmp dword [ebp - 0x26e8], 9
jae 0x4919a4
cvtsi2sd xmm0, dword [ebp - 0x26e8]
movsd xmm1, qword [ebp - 0xc578]
addsd xmm1, xmm0
movsd qword [ebp - 0xc580], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc580]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4918f7
mov ecx, dword [ebp - 0x26e8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc578]
addsd xmm1, xmm0
movsd qword [ebp - 0xc578], xmm1
jmp 0x4917f3
cvtsi2sd xmm0, dword [ebp - 0x26e8]
movsd xmm1, qword [ebp - 0xc578]
addsd xmm1, xmm0
movsd qword [ebp - 0xc588], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc588]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491954
mov eax, dword [ebp - 0x26e8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc578]
addsd xmm1, xmm0
movsd qword [ebp - 0xc578], xmm1
jmp 0x49196d
mov ecx, 1
test ecx, ecx
je 0x491969
jmp 0x491a26
jmp 0x491990
cvtsi2sd xmm0, dword [ebp - 0x26e8]
movsd xmm1, qword [ebp - 0xc578]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x26ec], edx
jmp 0x491a30
xor eax, eax
je 0x49199a
jmp 0x4919a9
jmp 0x4917f3
jmp 0x4917f3
mov ecx, 6
test ecx, ecx
je 0x491a26
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26f0], eax
cvtsi2sd xmm0, dword [ebp - 0x26f0]
mov eax, dword [ebp - 0x26f0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc578]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x26ec], ecx
jmp 0x491a30
mov dword [ebp - 0x26ec], 2
mov edx, dword [ebp - 0x26d8]
shl edx, 2
add edx, dword [ebp - 0x26d4]
mov eax, dword [ebp - 0x26ec]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x26d8]
shl ecx, 2
add ecx, dword [ebp - 0x26d4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x491d20
xor eax, eax
je 0x491a95
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x491ad1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc590], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x491c71
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x491c71
mov dword [ebp - 0x26f4], 0
jmp 0x491b50
cmp dword [ebp - 0x26f4], 9
jae 0x491c6c
cvtsi2sd xmm0, dword [ebp - 0x26f4]
movsd xmm1, qword [ebp - 0xc590]
addsd xmm1, xmm0
movsd qword [ebp - 0xc598], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc598]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491bbf
mov ecx, dword [ebp - 0x26f4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc590]
addsd xmm1, xmm0
movsd qword [ebp - 0xc590], xmm1
jmp 0x491abb
cvtsi2sd xmm0, dword [ebp - 0x26f4]
movsd xmm1, qword [ebp - 0xc590]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc5a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491c1c
mov eax, dword [ebp - 0x26f4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc590]
addsd xmm1, xmm0
movsd qword [ebp - 0xc590], xmm1
jmp 0x491c35
mov ecx, 1
test ecx, ecx
je 0x491c31
jmp 0x491cee
jmp 0x491c58
cvtsi2sd xmm0, dword [ebp - 0x26f4]
movsd xmm1, qword [ebp - 0xc590]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x26f8], edx
jmp 0x491cf8
xor eax, eax
je 0x491c62
jmp 0x491c71
jmp 0x491abb
jmp 0x491abb
mov ecx, 6
test ecx, ecx
je 0x491cee
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x26fc], eax
cvtsi2sd xmm0, dword [ebp - 0x26fc]
mov eax, dword [ebp - 0x26fc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc590]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x26f8], ecx
jmp 0x491cf8
mov dword [ebp - 0x26f8], 2
mov edx, dword [ebp - 0x26d8]
shl edx, 2
add edx, dword [ebp - 0x26d4]
mov eax, dword [ebp - 0x26f8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x26d8]
shl ecx, 2
add ecx, dword [ebp - 0x26d4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x26d8]
add edx, 0xffffffc7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc5a8], xmm0
xor eax, eax
je 0x491d3a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x491d76
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc5a8]
movsd qword [ebp - 0xc5b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x491f16
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x491f16
mov dword [ebp - 0x2700], 0
jmp 0x491df5
cmp dword [ebp - 0x2700], 9
jae 0x491f11
cvtsi2sd xmm0, dword [ebp - 0x2700]
movsd xmm1, qword [ebp - 0xc5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491e64
mov ecx, dword [ebp - 0x2700]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5b0], xmm1
jmp 0x491d60
cvtsi2sd xmm0, dword [ebp - 0x2700]
movsd xmm1, qword [ebp - 0xc5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc5c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x491ec1
mov eax, dword [ebp - 0x2700]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5b0], xmm1
jmp 0x491eda
mov ecx, 1
test ecx, ecx
je 0x491ed6
jmp 0x491f93
jmp 0x491efd
cvtsi2sd xmm0, dword [ebp - 0x2700]
movsd xmm1, qword [ebp - 0xc5b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2704], edx
jmp 0x491f9d
xor eax, eax
je 0x491f07
jmp 0x491f16
jmp 0x491d60
jmp 0x491d60
mov ecx, 6
test ecx, ecx
je 0x491f93
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2708], eax
cvtsi2sd xmm0, dword [ebp - 0x2708]
mov eax, dword [ebp - 0x2708]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc5b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2704], ecx
jmp 0x491f9d
mov dword [ebp - 0x2704], 2
mov edx, dword [ebp - 0x26d8]
add edx, 0xffffffc7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc5c8], xmm0
xor eax, eax
je 0x491fb7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x491ff3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc5c8]
movsd qword [ebp - 0xc5d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x492193
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x492193
mov dword [ebp - 0x270c], 0
jmp 0x492072
cmp dword [ebp - 0x270c], 9
jae 0x49218e
cvtsi2sd xmm0, dword [ebp - 0x270c]
movsd xmm1, qword [ebp - 0xc5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4920e1
mov ecx, dword [ebp - 0x270c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5d0], xmm1
jmp 0x491fdd
cvtsi2sd xmm0, dword [ebp - 0x270c]
movsd xmm1, qword [ebp - 0xc5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc5e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49213e
mov eax, dword [ebp - 0x270c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5d0], xmm1
jmp 0x492157
mov ecx, 1
test ecx, ecx
je 0x492153
jmp 0x492210
jmp 0x49217a
cvtsi2sd xmm0, dword [ebp - 0x270c]
movsd xmm1, qword [ebp - 0xc5d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2710], edx
jmp 0x49221a
xor eax, eax
je 0x492184
jmp 0x492193
jmp 0x491fdd
jmp 0x491fdd
mov ecx, 6
test ecx, ecx
je 0x492210
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2714], eax
cvtsi2sd xmm0, dword [ebp - 0x2714]
mov eax, dword [ebp - 0x2714]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc5d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2710], ecx
jmp 0x49221a
mov dword [ebp - 0x2710], 2
mov edx, dword [ebp - 0x26d8]
shl edx, 2
add edx, dword [ebp - 0x26d4]
mov eax, dword [ebp - 0x2704]
add eax, dword [edx]
mov ecx, dword [ebp - 0x26d8]
shl ecx, 2
add ecx, dword [ebp - 0x26d4]
mov edx, dword [ebp - 0x2710]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x26d8]
shl ecx, 2
add ecx, dword [ebp - 0x26d4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x492525
xor eax, eax
je 0x49229a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4922d6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc5e8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x492476
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x492476
mov dword [ebp - 0x2718], 0
jmp 0x492355
cmp dword [ebp - 0x2718], 9
jae 0x492471
cvtsi2sd xmm0, dword [ebp - 0x2718]
movsd xmm1, qword [ebp - 0xc5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5f0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4923c4
mov ecx, dword [ebp - 0x2718]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5e8], xmm1
jmp 0x4922c0
cvtsi2sd xmm0, dword [ebp - 0x2718]
movsd xmm1, qword [ebp - 0xc5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5f8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc5f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492421
mov eax, dword [ebp - 0x2718]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc5e8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc5e8], xmm1
jmp 0x49243a
mov ecx, 1
test ecx, ecx
je 0x492436
jmp 0x4924f3
jmp 0x49245d
cvtsi2sd xmm0, dword [ebp - 0x2718]
movsd xmm1, qword [ebp - 0xc5e8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x271c], edx
jmp 0x4924fd
xor eax, eax
je 0x492467
jmp 0x492476
jmp 0x4922c0
jmp 0x4922c0
mov ecx, 6
test ecx, ecx
je 0x4924f3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2720], eax
cvtsi2sd xmm0, dword [ebp - 0x2720]
mov eax, dword [ebp - 0x2720]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc5e8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x271c], ecx
jmp 0x4924fd
mov dword [ebp - 0x271c], 2
mov edx, dword [ebp - 0x26d8]
shl edx, 2
add edx, dword [ebp - 0x26d4]
mov eax, dword [ebp - 0x271c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x26d8]
shl ecx, 2
add ecx, dword [ebp - 0x26d4]
mov dword [ecx], eax
jmp 0x491467
mov edx, dword [ebp - 0x26d0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x26d0]
mov dword [ebp - 0x2724], eax
mov ecx, dword [ebp - 0x2724]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2728], ecx
mov edx, dword [ebp - 0x2728]
mov dword [ebp - 0x272c], edx
mov eax, dword [ebp - 0x26cc]
mov dword [ebp - 0x266c], eax
cmp dword [ebp - 0x266c], 0
je 0x4936b5
xor ecx, ecx
mov byte [ebp - 0x6c], cl
lea ecx, [ebp - 0x6c]
call fcn.00423fe0
mov dword [ebp - 0x2730], eax
mov edx, dword [ebp - 0x2730]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x49367c
mov ecx, dword [ebp - 0x2730]
mov dword [ebp - 0x2734], ecx
mov dword [ebp - 0x2738], 0
jmp 0x4925c8
mov edx, dword [ebp - 0x2738]
add edx, 1
mov dword [ebp - 0x2738], edx
cmp dword [ebp - 0x2738], 1
jae 0x49367c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49289d
xor eax, eax
je 0x492612
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x49264e
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc600], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4927ee
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4927ee
mov dword [ebp - 0x273c], 0
jmp 0x4926cd
cmp dword [ebp - 0x273c], 9
jae 0x4927e9
cvtsi2sd xmm0, dword [ebp - 0x273c]
movsd xmm1, qword [ebp - 0xc600]
addsd xmm1, xmm0
movsd qword [ebp - 0xc608], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc608]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49273c
mov ecx, dword [ebp - 0x273c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc600]
addsd xmm1, xmm0
movsd qword [ebp - 0xc600], xmm1
jmp 0x492638
cvtsi2sd xmm0, dword [ebp - 0x273c]
movsd xmm1, qword [ebp - 0xc600]
addsd xmm1, xmm0
movsd qword [ebp - 0xc610], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc610]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492799
mov eax, dword [ebp - 0x273c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc600]
addsd xmm1, xmm0
movsd qword [ebp - 0xc600], xmm1
jmp 0x4927b2
mov ecx, 1
test ecx, ecx
je 0x4927ae
jmp 0x49286b
jmp 0x4927d5
cvtsi2sd xmm0, dword [ebp - 0x273c]
movsd xmm1, qword [ebp - 0xc600]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2740], edx
jmp 0x492875
xor eax, eax
je 0x4927df
jmp 0x4927ee
jmp 0x492638
jmp 0x492638
mov ecx, 6
test ecx, ecx
je 0x49286b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2744], eax
cvtsi2sd xmm0, dword [ebp - 0x2744]
mov eax, dword [ebp - 0x2744]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc600]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2740], ecx
jmp 0x492875
mov dword [ebp - 0x2740], 2
mov edx, dword [ebp - 0x2738]
shl edx, 2
add edx, dword [ebp - 0x2734]
mov eax, dword [ebp - 0x2740]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2738]
shl ecx, 2
add ecx, dword [ebp - 0x2734]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4933af
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x492baa
xor eax, eax
je 0x49291f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49295b
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc618], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x492afb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x492afb
mov dword [ebp - 0x2748], 0
jmp 0x4929da
cmp dword [ebp - 0x2748], 9
jae 0x492af6
cvtsi2sd xmm0, dword [ebp - 0x2748]
movsd xmm1, qword [ebp - 0xc618]
addsd xmm1, xmm0
movsd qword [ebp - 0xc620], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc620]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492a49
mov ecx, dword [ebp - 0x2748]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc618]
addsd xmm1, xmm0
movsd qword [ebp - 0xc618], xmm1
jmp 0x492945
cvtsi2sd xmm0, dword [ebp - 0x2748]
movsd xmm1, qword [ebp - 0xc618]
addsd xmm1, xmm0
movsd qword [ebp - 0xc628], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc628]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492aa6
mov eax, dword [ebp - 0x2748]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc618]
addsd xmm1, xmm0
movsd qword [ebp - 0xc618], xmm1
jmp 0x492abf
mov ecx, 1
test ecx, ecx
je 0x492abb
jmp 0x492b78
jmp 0x492ae2
cvtsi2sd xmm0, dword [ebp - 0x2748]
movsd xmm1, qword [ebp - 0xc618]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x274c], edx
jmp 0x492b82
xor eax, eax
je 0x492aec
jmp 0x492afb
jmp 0x492945
jmp 0x492945
mov ecx, 6
test ecx, ecx
je 0x492b78
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2750], eax
cvtsi2sd xmm0, dword [ebp - 0x2750]
mov eax, dword [ebp - 0x2750]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc618]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x274c], ecx
jmp 0x492b82
mov dword [ebp - 0x274c], 2
mov edx, dword [ebp - 0x2738]
shl edx, 2
add edx, dword [ebp - 0x2734]
mov eax, dword [ebp - 0x274c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2738]
shl ecx, 2
add ecx, dword [ebp - 0x2734]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x492e72
xor eax, eax
je 0x492be7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x492c23
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc630], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x492dc3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x492dc3
mov dword [ebp - 0x2754], 0
jmp 0x492ca2
cmp dword [ebp - 0x2754], 9
jae 0x492dbe
cvtsi2sd xmm0, dword [ebp - 0x2754]
movsd xmm1, qword [ebp - 0xc630]
addsd xmm1, xmm0
movsd qword [ebp - 0xc638], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc638]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492d11
mov ecx, dword [ebp - 0x2754]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc630]
addsd xmm1, xmm0
movsd qword [ebp - 0xc630], xmm1
jmp 0x492c0d
cvtsi2sd xmm0, dword [ebp - 0x2754]
movsd xmm1, qword [ebp - 0xc630]
addsd xmm1, xmm0
movsd qword [ebp - 0xc640], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc640]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492d6e
mov eax, dword [ebp - 0x2754]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc630]
addsd xmm1, xmm0
movsd qword [ebp - 0xc630], xmm1
jmp 0x492d87
mov ecx, 1
test ecx, ecx
je 0x492d83
jmp 0x492e40
jmp 0x492daa
cvtsi2sd xmm0, dword [ebp - 0x2754]
movsd xmm1, qword [ebp - 0xc630]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2758], edx
jmp 0x492e4a
xor eax, eax
je 0x492db4
jmp 0x492dc3
jmp 0x492c0d
jmp 0x492c0d
mov ecx, 6
test ecx, ecx
je 0x492e40
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x275c], eax
cvtsi2sd xmm0, dword [ebp - 0x275c]
mov eax, dword [ebp - 0x275c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc630]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2758], ecx
jmp 0x492e4a
mov dword [ebp - 0x2758], 2
mov edx, dword [ebp - 0x2738]
shl edx, 2
add edx, dword [ebp - 0x2734]
mov eax, dword [ebp - 0x2758]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2738]
shl ecx, 2
add ecx, dword [ebp - 0x2734]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2738]
add edx, 0xffffffc7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc648], xmm0
xor eax, eax
je 0x492e8c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x492ec8
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc648]
movsd qword [ebp - 0xc650], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x493068
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x493068
mov dword [ebp - 0x2760], 0
jmp 0x492f47
cmp dword [ebp - 0x2760], 9
jae 0x493063
cvtsi2sd xmm0, dword [ebp - 0x2760]
movsd xmm1, qword [ebp - 0xc650]
addsd xmm1, xmm0
movsd qword [ebp - 0xc658], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc658]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x492fb6
mov ecx, dword [ebp - 0x2760]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc650]
addsd xmm1, xmm0
movsd qword [ebp - 0xc650], xmm1
jmp 0x492eb2
cvtsi2sd xmm0, dword [ebp - 0x2760]
movsd xmm1, qword [ebp - 0xc650]
addsd xmm1, xmm0
movsd qword [ebp - 0xc660], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc660]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493013
mov eax, dword [ebp - 0x2760]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc650]
addsd xmm1, xmm0
movsd qword [ebp - 0xc650], xmm1
jmp 0x49302c
mov ecx, 1
test ecx, ecx
je 0x493028
jmp 0x4930e5
jmp 0x49304f
cvtsi2sd xmm0, dword [ebp - 0x2760]
movsd xmm1, qword [ebp - 0xc650]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2764], edx
jmp 0x4930ef
xor eax, eax
je 0x493059
jmp 0x493068
jmp 0x492eb2
jmp 0x492eb2
mov ecx, 6
test ecx, ecx
je 0x4930e5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2768], eax
cvtsi2sd xmm0, dword [ebp - 0x2768]
mov eax, dword [ebp - 0x2768]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc650]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2764], ecx
jmp 0x4930ef
mov dword [ebp - 0x2764], 2
mov edx, dword [ebp - 0x2738]
add edx, 0xffffffc7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc668], xmm0
xor eax, eax
je 0x493109
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x493145
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc668]
movsd qword [ebp - 0xc670], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4932e5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4932e5
mov dword [ebp - 0x276c], 0
jmp 0x4931c4
cmp dword [ebp - 0x276c], 9
jae 0x4932e0
cvtsi2sd xmm0, dword [ebp - 0x276c]
movsd xmm1, qword [ebp - 0xc670]
addsd xmm1, xmm0
movsd qword [ebp - 0xc678], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc678]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493233
mov ecx, dword [ebp - 0x276c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc670]
addsd xmm1, xmm0
movsd qword [ebp - 0xc670], xmm1
jmp 0x49312f
cvtsi2sd xmm0, dword [ebp - 0x276c]
movsd xmm1, qword [ebp - 0xc670]
addsd xmm1, xmm0
movsd qword [ebp - 0xc680], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc680]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493290
mov eax, dword [ebp - 0x276c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc670]
addsd xmm1, xmm0
movsd qword [ebp - 0xc670], xmm1
jmp 0x4932a9
mov ecx, 1
test ecx, ecx
je 0x4932a5
jmp 0x493362
jmp 0x4932cc
cvtsi2sd xmm0, dword [ebp - 0x276c]
movsd xmm1, qword [ebp - 0xc670]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2770], edx
jmp 0x49336c
xor eax, eax
je 0x4932d6
jmp 0x4932e5
jmp 0x49312f
jmp 0x49312f
mov ecx, 6
test ecx, ecx
je 0x493362
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2774], eax
cvtsi2sd xmm0, dword [ebp - 0x2774]
mov eax, dword [ebp - 0x2774]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc670]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2770], ecx
jmp 0x49336c
mov dword [ebp - 0x2770], 2
mov edx, dword [ebp - 0x2738]
shl edx, 2
add edx, dword [ebp - 0x2734]
mov eax, dword [ebp - 0x2764]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2738]
shl ecx, 2
add ecx, dword [ebp - 0x2734]
mov edx, dword [ebp - 0x2770]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2738]
shl ecx, 2
add ecx, dword [ebp - 0x2734]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x493677
xor eax, eax
je 0x4933ec
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x493428
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc688], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4935c8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4935c8
mov dword [ebp - 0x2778], 0
jmp 0x4934a7
cmp dword [ebp - 0x2778], 9
jae 0x4935c3
cvtsi2sd xmm0, dword [ebp - 0x2778]
movsd xmm1, qword [ebp - 0xc688]
addsd xmm1, xmm0
movsd qword [ebp - 0xc690], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc690]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493516
mov ecx, dword [ebp - 0x2778]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc688]
addsd xmm1, xmm0
movsd qword [ebp - 0xc688], xmm1
jmp 0x493412
cvtsi2sd xmm0, dword [ebp - 0x2778]
movsd xmm1, qword [ebp - 0xc688]
addsd xmm1, xmm0
movsd qword [ebp - 0xc698], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc698]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493573
mov eax, dword [ebp - 0x2778]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc688]
addsd xmm1, xmm0
movsd qword [ebp - 0xc688], xmm1
jmp 0x49358c
mov ecx, 1
test ecx, ecx
je 0x493588
jmp 0x493645
jmp 0x4935af
cvtsi2sd xmm0, dword [ebp - 0x2778]
movsd xmm1, qword [ebp - 0xc688]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x277c], edx
jmp 0x49364f
xor eax, eax
je 0x4935b9
jmp 0x4935c8
jmp 0x493412
jmp 0x493412
mov ecx, 6
test ecx, ecx
je 0x493645
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2780], eax
cvtsi2sd xmm0, dword [ebp - 0x2780]
mov eax, dword [ebp - 0x2780]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc688]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x277c], ecx
jmp 0x49364f
mov dword [ebp - 0x277c], 2
mov edx, dword [ebp - 0x2738]
shl edx, 2
add edx, dword [ebp - 0x2734]
mov eax, dword [ebp - 0x277c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2738]
shl ecx, 2
add ecx, dword [ebp - 0x2734]
mov dword [ecx], eax
jmp 0x4925b9
mov edx, dword [ebp - 0x2730]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2730]
mov dword [ebp - 0x2784], eax
mov ecx, dword [ebp - 0x2784]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2788], ecx
mov edx, dword [ebp - 0x2788]
mov dword [ebp - 0x272c], edx
lea eax, [ebp - 0x16694]
mov ecx, 2
imul edx, ecx, 0xc
movzx eax, word [eax + edx]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x6d], al
movzx ecx, byte [ebp - 0x6d]
test ecx, ecx
jne 0x493735
mov dword [ebp - 0x278c], 0
jmp 0x4936f3
mov edx, dword [ebp - 0x278c]
add edx, 1
mov dword [ebp - 0x278c], edx
cmp dword [ebp - 0x278c], 0xd
jge 0x493735
mov eax, dword [ebp - 0x278c]
shl eax, 1
lea ecx, [ebp - 0x16694]
movzx ecx, word [ecx + eax]
mov eax, dword [ebp - 0x278c]
cdq
mov esi, 0x3a
idiv esi
add edx, 0x35
xor ecx, edx
lea edx, [ebp - 0x16694]
mov eax, dword [ebp - 0x278c]
shl eax, 1
mov word [edx + eax], cx
jmp 0x4936e4
xor ecx, ecx
mov byte [ebp - 0x6e], cl
lea ecx, [ebp - 0x6e]
call fcn.00423fb0
mov dword [ebp - 0x2790], eax
mov edx, dword [ebp - 0x2790]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x494835
mov ecx, dword [ebp - 0x2790]
mov dword [ebp - 0x2794], ecx
mov dword [ebp - 0x2798], 0
jmp 0x493781
mov edx, dword [ebp - 0x2798]
add edx, 1
mov dword [ebp - 0x2798], edx
cmp dword [ebp - 0x2798], 1
jae 0x494835
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x493a56
xor eax, eax
je 0x4937cb
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x493807
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262f0]
movsd qword [ebp - 0xc6a0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4939a7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4939a7
mov dword [ebp - 0x279c], 0
jmp 0x493886
cmp dword [ebp - 0x279c], 9
jae 0x4939a2
cvtsi2sd xmm0, dword [ebp - 0x279c]
movsd xmm1, qword [ebp - 0xc6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4938f5
mov ecx, dword [ebp - 0x279c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6a0], xmm1
jmp 0x4937f1
cvtsi2sd xmm0, dword [ebp - 0x279c]
movsd xmm1, qword [ebp - 0xc6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc6b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493952
mov eax, dword [ebp - 0x279c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6a0], xmm1
jmp 0x49396b
mov ecx, 1
test ecx, ecx
je 0x493967
jmp 0x493a24
jmp 0x49398e
cvtsi2sd xmm0, dword [ebp - 0x279c]
movsd xmm1, qword [ebp - 0xc6a0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x27a0], edx
jmp 0x493a2e
xor eax, eax
je 0x493998
jmp 0x4939a7
jmp 0x4937f1
jmp 0x4937f1
mov ecx, 6
test ecx, ecx
je 0x493a24
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x27a4], eax
cvtsi2sd xmm0, dword [ebp - 0x27a4]
mov eax, dword [ebp - 0x27a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc6a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x27a0], ecx
jmp 0x493a2e
mov dword [ebp - 0x27a0], 2
mov edx, dword [ebp - 0x2798]
shl edx, 2
add edx, dword [ebp - 0x2794]
mov eax, dword [ebp - 0x27a0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2798]
shl ecx, 2
add ecx, dword [ebp - 0x2794]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x494568
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x493d63
xor eax, eax
je 0x493ad8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x493b14
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc6b8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x493cb4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x493cb4
mov dword [ebp - 0x27a8], 0
jmp 0x493b93
cmp dword [ebp - 0x27a8], 9
jae 0x493caf
cvtsi2sd xmm0, dword [ebp - 0x27a8]
movsd xmm1, qword [ebp - 0xc6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493c02
mov ecx, dword [ebp - 0x27a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6b8], xmm1
jmp 0x493afe
cvtsi2sd xmm0, dword [ebp - 0x27a8]
movsd xmm1, qword [ebp - 0xc6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6c8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc6c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493c5f
mov eax, dword [ebp - 0x27a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6b8], xmm1
jmp 0x493c78
mov ecx, 1
test ecx, ecx
je 0x493c74
jmp 0x493d31
jmp 0x493c9b
cvtsi2sd xmm0, dword [ebp - 0x27a8]
movsd xmm1, qword [ebp - 0xc6b8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x27ac], edx
jmp 0x493d3b
xor eax, eax
je 0x493ca5
jmp 0x493cb4
jmp 0x493afe
jmp 0x493afe
mov ecx, 6
test ecx, ecx
je 0x493d31
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x27b0], eax
cvtsi2sd xmm0, dword [ebp - 0x27b0]
mov eax, dword [ebp - 0x27b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc6b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x27ac], ecx
jmp 0x493d3b
mov dword [ebp - 0x27ac], 2
mov edx, dword [ebp - 0x2798]
shl edx, 2
add edx, dword [ebp - 0x2794]
mov eax, dword [ebp - 0x27ac]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2798]
shl ecx, 2
add ecx, dword [ebp - 0x2794]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49402b
xor eax, eax
je 0x493da0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x493ddc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc6d0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x493f7c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x493f7c
mov dword [ebp - 0x27b4], 0
jmp 0x493e5b
cmp dword [ebp - 0x27b4], 9
jae 0x493f77
cvtsi2sd xmm0, dword [ebp - 0x27b4]
movsd xmm1, qword [ebp - 0xc6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493eca
mov ecx, dword [ebp - 0x27b4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6d0], xmm1
jmp 0x493dc6
cvtsi2sd xmm0, dword [ebp - 0x27b4]
movsd xmm1, qword [ebp - 0xc6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc6e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x493f27
mov eax, dword [ebp - 0x27b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6d0], xmm1
jmp 0x493f40
mov ecx, 1
test ecx, ecx
je 0x493f3c
jmp 0x493ff9
jmp 0x493f63
cvtsi2sd xmm0, dword [ebp - 0x27b4]
movsd xmm1, qword [ebp - 0xc6d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x27b8], edx
jmp 0x494003
xor eax, eax
je 0x493f6d
jmp 0x493f7c
jmp 0x493dc6
jmp 0x493dc6
mov ecx, 6
test ecx, ecx
je 0x493ff9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x27bc], eax
cvtsi2sd xmm0, dword [ebp - 0x27bc]
mov eax, dword [ebp - 0x27bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc6d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x27b8], ecx
jmp 0x494003
mov dword [ebp - 0x27b8], 2
mov edx, dword [ebp - 0x2798]
shl edx, 2
add edx, dword [ebp - 0x2794]
mov eax, dword [ebp - 0x27b8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2798]
shl ecx, 2
add ecx, dword [ebp - 0x2794]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2798]
add edx, 0xffffffc7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc6e8], xmm0
xor eax, eax
je 0x494045
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x494081
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc6e8]
movsd qword [ebp - 0xc6f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x494221
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x494221
mov dword [ebp - 0x27c0], 0
jmp 0x494100
cmp dword [ebp - 0x27c0], 9
jae 0x49421c
cvtsi2sd xmm0, dword [ebp - 0x27c0]
movsd xmm1, qword [ebp - 0xc6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49416f
mov ecx, dword [ebp - 0x27c0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6f0], xmm1
jmp 0x49406b
cvtsi2sd xmm0, dword [ebp - 0x27c0]
movsd xmm1, qword [ebp - 0xc6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc700], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc700]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4941cc
mov eax, dword [ebp - 0x27c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc6f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc6f0], xmm1
jmp 0x4941e5
mov ecx, 1
test ecx, ecx
je 0x4941e1
jmp 0x49429e
jmp 0x494208
cvtsi2sd xmm0, dword [ebp - 0x27c0]
movsd xmm1, qword [ebp - 0xc6f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x27c4], edx
jmp 0x4942a8
xor eax, eax
je 0x494212
jmp 0x494221
jmp 0x49406b
jmp 0x49406b
mov ecx, 6
test ecx, ecx
je 0x49429e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x27c8], eax
cvtsi2sd xmm0, dword [ebp - 0x27c8]
mov eax, dword [ebp - 0x27c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc6f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x27c4], ecx
jmp 0x4942a8
mov dword [ebp - 0x27c4], 2
mov edx, dword [ebp - 0x2798]
add edx, 0xffffffc7
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc708], xmm0
xor eax, eax
je 0x4942c2
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4942fe
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc708]
movsd qword [ebp - 0xc710], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49449e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49449e
mov dword [ebp - 0x27cc], 0
jmp 0x49437d
cmp dword [ebp - 0x27cc], 9
jae 0x494499
cvtsi2sd xmm0, dword [ebp - 0x27cc]
movsd xmm1, qword [ebp - 0xc710]
addsd xmm1, xmm0
movsd qword [ebp - 0xc718], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc718]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4943ec
mov ecx, dword [ebp - 0x27cc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc710]
addsd xmm1, xmm0
movsd qword [ebp - 0xc710], xmm1
jmp 0x4942e8
cvtsi2sd xmm0, dword [ebp - 0x27cc]
movsd xmm1, qword [ebp - 0xc710]
addsd xmm1, xmm0
movsd qword [ebp - 0xc720], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc720]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494449
mov eax, dword [ebp - 0x27cc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc710]
addsd xmm1, xmm0
movsd qword [ebp - 0xc710], xmm1
jmp 0x494462
mov ecx, 1
test ecx, ecx
je 0x49445e
jmp 0x49451b
jmp 0x494485
cvtsi2sd xmm0, dword [ebp - 0x27cc]
movsd xmm1, qword [ebp - 0xc710]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x27d0], edx
jmp 0x494525
xor eax, eax
je 0x49448f
jmp 0x49449e
jmp 0x4942e8
jmp 0x4942e8
mov ecx, 6
test ecx, ecx
je 0x49451b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x27d4], eax
cvtsi2sd xmm0, dword [ebp - 0x27d4]
mov eax, dword [ebp - 0x27d4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc710]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x27d0], ecx
jmp 0x494525
mov dword [ebp - 0x27d0], 2
mov edx, dword [ebp - 0x2798]
shl edx, 2
add edx, dword [ebp - 0x2794]
mov eax, dword [ebp - 0x27c4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2798]
shl ecx, 2
add ecx, dword [ebp - 0x2794]
mov edx, dword [ebp - 0x27d0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2798]
shl ecx, 2
add ecx, dword [ebp - 0x2794]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x494830
xor eax, eax
je 0x4945a5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4945e1
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc728], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x494781
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x494781
mov dword [ebp - 0x27d8], 0
jmp 0x494660
cmp dword [ebp - 0x27d8], 9
jae 0x49477c
cvtsi2sd xmm0, dword [ebp - 0x27d8]
movsd xmm1, qword [ebp - 0xc728]
addsd xmm1, xmm0
movsd qword [ebp - 0xc730], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc730]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4946cf
mov ecx, dword [ebp - 0x27d8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc728]
addsd xmm1, xmm0
movsd qword [ebp - 0xc728], xmm1
jmp 0x4945cb
cvtsi2sd xmm0, dword [ebp - 0x27d8]
movsd xmm1, qword [ebp - 0xc728]
addsd xmm1, xmm0
movsd qword [ebp - 0xc738], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc738]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49472c
mov eax, dword [ebp - 0x27d8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc728]
addsd xmm1, xmm0
movsd qword [ebp - 0xc728], xmm1
jmp 0x494745
mov ecx, 1
test ecx, ecx
je 0x494741
jmp 0x4947fe
jmp 0x494768
cvtsi2sd xmm0, dword [ebp - 0x27d8]
movsd xmm1, qword [ebp - 0xc728]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x27dc], edx
jmp 0x494808
xor eax, eax
je 0x494772
jmp 0x494781
jmp 0x4945cb
jmp 0x4945cb
mov ecx, 6
test ecx, ecx
je 0x4947fe
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x27e0], eax
cvtsi2sd xmm0, dword [ebp - 0x27e0]
mov eax, dword [ebp - 0x27e0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc728]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x27dc], ecx
jmp 0x494808
mov dword [ebp - 0x27dc], 2
mov edx, dword [ebp - 0x2798]
shl edx, 2
add edx, dword [ebp - 0x2794]
mov eax, dword [ebp - 0x27dc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2798]
shl ecx, 2
add ecx, dword [ebp - 0x2794]
mov dword [ecx], eax
jmp 0x493772
mov edx, dword [ebp - 0x2790]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2790]
mov dword [ebp - 0x27e4], eax
mov ecx, dword [ebp - 0x27e4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x27e8], ecx
mov edx, dword [ebp - 0x27e8]
mov dword [ebp - 0x27ec], edx
xor eax, eax
mov byte [ebp - 0x6f], al
lea ecx, [ebp - 0x6f]
call fcn.00423f80
mov dword [ebp - 0x27f0], eax
mov ecx, dword [ebp - 0x27f0]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x49596e
mov eax, dword [ebp - 0x27f0]
mov dword [ebp - 0x27f4], eax
mov dword [ebp - 0x27f8], 0
jmp 0x4948ba
mov ecx, dword [ebp - 0x27f8]
add ecx, 1
mov dword [ebp - 0x27f8], ecx
cmp dword [ebp - 0x27f8], 1
jae 0x49596e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x494b8f
xor eax, eax
je 0x494904
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x494940
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc740], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x494ae0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x494ae0
mov dword [ebp - 0x27fc], 0
jmp 0x4949bf
cmp dword [ebp - 0x27fc], 9
jae 0x494adb
cvtsi2sd xmm0, dword [ebp - 0x27fc]
movsd xmm1, qword [ebp - 0xc740]
addsd xmm1, xmm0
movsd qword [ebp - 0xc748], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc748]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494a2e
mov ecx, dword [ebp - 0x27fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc740]
addsd xmm1, xmm0
movsd qword [ebp - 0xc740], xmm1
jmp 0x49492a
cvtsi2sd xmm0, dword [ebp - 0x27fc]
movsd xmm1, qword [ebp - 0xc740]
addsd xmm1, xmm0
movsd qword [ebp - 0xc750], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc750]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494a8b
mov eax, dword [ebp - 0x27fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc740]
addsd xmm1, xmm0
movsd qword [ebp - 0xc740], xmm1
jmp 0x494aa4
mov ecx, 1
test ecx, ecx
je 0x494aa0
jmp 0x494b5d
jmp 0x494ac7
cvtsi2sd xmm0, dword [ebp - 0x27fc]
movsd xmm1, qword [ebp - 0xc740]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2800], edx
jmp 0x494b67
xor eax, eax
je 0x494ad1
jmp 0x494ae0
jmp 0x49492a
jmp 0x49492a
mov ecx, 6
test ecx, ecx
je 0x494b5d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2804], eax
cvtsi2sd xmm0, dword [ebp - 0x2804]
mov eax, dword [ebp - 0x2804]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc740]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2800], ecx
jmp 0x494b67
mov dword [ebp - 0x2800], 2
mov edx, dword [ebp - 0x27f8]
shl edx, 2
add edx, dword [ebp - 0x27f4]
mov eax, dword [ebp - 0x2800]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x27f8]
shl ecx, 2
add ecx, dword [ebp - 0x27f4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4956a1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x494e9c
xor eax, eax
je 0x494c11
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x494c4d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc758], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x494ded
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x494ded
mov dword [ebp - 0x2808], 0
jmp 0x494ccc
cmp dword [ebp - 0x2808], 9
jae 0x494de8
cvtsi2sd xmm0, dword [ebp - 0x2808]
movsd xmm1, qword [ebp - 0xc758]
addsd xmm1, xmm0
movsd qword [ebp - 0xc760], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc760]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494d3b
mov ecx, dword [ebp - 0x2808]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc758]
addsd xmm1, xmm0
movsd qword [ebp - 0xc758], xmm1
jmp 0x494c37
cvtsi2sd xmm0, dword [ebp - 0x2808]
movsd xmm1, qword [ebp - 0xc758]
addsd xmm1, xmm0
movsd qword [ebp - 0xc768], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc768]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x494d98
mov eax, dword [ebp - 0x2808]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc758]
addsd xmm1, xmm0
movsd qword [ebp - 0xc758], xmm1
jmp 0x494db1
mov ecx, 1
test ecx, ecx
je 0x494dad
jmp 0x494e6a
jmp 0x494dd4
cvtsi2sd xmm0, dword [ebp - 0x2808]
movsd xmm1, qword [ebp - 0xc758]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x280c], edx
jmp 0x494e74
xor eax, eax
je 0x494dde
jmp 0x494ded
jmp 0x494c37
jmp 0x494c37
mov ecx, 6
test ecx, ecx
je 0x494e6a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2810], eax
cvtsi2sd xmm0, dword [ebp - 0x2810]
mov eax, dword [ebp - 0x2810]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc758]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x280c], ecx
jmp 0x494e74
mov dword [ebp - 0x280c], 2
mov edx, dword [ebp - 0x27f8]
shl edx, 2
add edx, dword [ebp - 0x27f4]
mov eax, dword [ebp - 0x280c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x27f8]
shl ecx, 2
add ecx, dword [ebp - 0x27f4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x495164
xor eax, eax
je 0x494ed9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x494f15
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc770], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4950b5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4950b5
mov dword [ebp - 0x2814], 0
jmp 0x494f94
cmp dword [ebp - 0x2814], 9
jae 0x4950b0
cvtsi2sd xmm0, dword [ebp - 0x2814]
movsd xmm1, qword [ebp - 0xc770]
addsd xmm1, xmm0
movsd qword [ebp - 0xc778], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc778]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495003
mov ecx, dword [ebp - 0x2814]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc770]
addsd xmm1, xmm0
movsd qword [ebp - 0xc770], xmm1
jmp 0x494eff
cvtsi2sd xmm0, dword [ebp - 0x2814]
movsd xmm1, qword [ebp - 0xc770]
addsd xmm1, xmm0
movsd qword [ebp - 0xc780], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc780]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495060
mov eax, dword [ebp - 0x2814]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc770]
addsd xmm1, xmm0
movsd qword [ebp - 0xc770], xmm1
jmp 0x495079
mov ecx, 1
test ecx, ecx
je 0x495075
jmp 0x495132
jmp 0x49509c
cvtsi2sd xmm0, dword [ebp - 0x2814]
movsd xmm1, qword [ebp - 0xc770]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2818], edx
jmp 0x49513c
xor eax, eax
je 0x4950a6
jmp 0x4950b5
jmp 0x494eff
jmp 0x494eff
mov ecx, 6
test ecx, ecx
je 0x495132
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x281c], eax
cvtsi2sd xmm0, dword [ebp - 0x281c]
mov eax, dword [ebp - 0x281c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc770]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2818], ecx
jmp 0x49513c
mov dword [ebp - 0x2818], 2
mov edx, dword [ebp - 0x27f8]
shl edx, 2
add edx, dword [ebp - 0x27f4]
mov eax, dword [ebp - 0x2818]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x27f8]
shl ecx, 2
add ecx, dword [ebp - 0x27f4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x27f8]
add edx, 0xffffffc8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc788], xmm0
xor eax, eax
je 0x49517e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4951ba
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc788]
movsd qword [ebp - 0xc790], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49535a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49535a
mov dword [ebp - 0x2820], 0
jmp 0x495239
cmp dword [ebp - 0x2820], 9
jae 0x495355
cvtsi2sd xmm0, dword [ebp - 0x2820]
movsd xmm1, qword [ebp - 0xc790]
addsd xmm1, xmm0
movsd qword [ebp - 0xc798], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc798]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4952a8
mov ecx, dword [ebp - 0x2820]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc790]
addsd xmm1, xmm0
movsd qword [ebp - 0xc790], xmm1
jmp 0x4951a4
cvtsi2sd xmm0, dword [ebp - 0x2820]
movsd xmm1, qword [ebp - 0xc790]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc7a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495305
mov eax, dword [ebp - 0x2820]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc790]
addsd xmm1, xmm0
movsd qword [ebp - 0xc790], xmm1
jmp 0x49531e
mov ecx, 1
test ecx, ecx
je 0x49531a
jmp 0x4953d7
jmp 0x495341
cvtsi2sd xmm0, dword [ebp - 0x2820]
movsd xmm1, qword [ebp - 0xc790]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2824], edx
jmp 0x4953e1
xor eax, eax
je 0x49534b
jmp 0x49535a
jmp 0x4951a4
jmp 0x4951a4
mov ecx, 6
test ecx, ecx
je 0x4953d7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2828], eax
cvtsi2sd xmm0, dword [ebp - 0x2828]
mov eax, dword [ebp - 0x2828]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc790]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2824], ecx
jmp 0x4953e1
mov dword [ebp - 0x2824], 2
mov edx, dword [ebp - 0x27f8]
add edx, 0xffffffc8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc7a8], xmm0
xor eax, eax
je 0x4953fb
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x495437
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc7a8]
movsd qword [ebp - 0xc7b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4955d7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4955d7
mov dword [ebp - 0x282c], 0
jmp 0x4954b6
cmp dword [ebp - 0x282c], 9
jae 0x4955d2
cvtsi2sd xmm0, dword [ebp - 0x282c]
movsd xmm1, qword [ebp - 0xc7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495525
mov ecx, dword [ebp - 0x282c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7b0], xmm1
jmp 0x495421
cvtsi2sd xmm0, dword [ebp - 0x282c]
movsd xmm1, qword [ebp - 0xc7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc7c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495582
mov eax, dword [ebp - 0x282c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7b0], xmm1
jmp 0x49559b
mov ecx, 1
test ecx, ecx
je 0x495597
jmp 0x495654
jmp 0x4955be
cvtsi2sd xmm0, dword [ebp - 0x282c]
movsd xmm1, qword [ebp - 0xc7b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2830], edx
jmp 0x49565e
xor eax, eax
je 0x4955c8
jmp 0x4955d7
jmp 0x495421
jmp 0x495421
mov ecx, 6
test ecx, ecx
je 0x495654
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2834], eax
cvtsi2sd xmm0, dword [ebp - 0x2834]
mov eax, dword [ebp - 0x2834]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc7b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2830], ecx
jmp 0x49565e
mov dword [ebp - 0x2830], 2
mov edx, dword [ebp - 0x27f8]
shl edx, 2
add edx, dword [ebp - 0x27f4]
mov eax, dword [ebp - 0x2824]
add eax, dword [edx]
mov ecx, dword [ebp - 0x27f8]
shl ecx, 2
add ecx, dword [ebp - 0x27f4]
mov edx, dword [ebp - 0x2830]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x27f8]
shl ecx, 2
add ecx, dword [ebp - 0x27f4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x495969
xor eax, eax
je 0x4956de
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49571a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xc7c8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4958ba
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4958ba
mov dword [ebp - 0x2838], 0
jmp 0x495799
cmp dword [ebp - 0x2838], 9
jae 0x4958b5
cvtsi2sd xmm0, dword [ebp - 0x2838]
movsd xmm1, qword [ebp - 0xc7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495808
mov ecx, dword [ebp - 0x2838]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7c8], xmm1
jmp 0x495704
cvtsi2sd xmm0, dword [ebp - 0x2838]
movsd xmm1, qword [ebp - 0xc7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7d8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc7d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495865
mov eax, dword [ebp - 0x2838]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7c8], xmm1
jmp 0x49587e
mov ecx, 1
test ecx, ecx
je 0x49587a
jmp 0x495937
jmp 0x4958a1
cvtsi2sd xmm0, dword [ebp - 0x2838]
movsd xmm1, qword [ebp - 0xc7c8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x283c], edx
jmp 0x495941
xor eax, eax
je 0x4958ab
jmp 0x4958ba
jmp 0x495704
jmp 0x495704
mov ecx, 6
test ecx, ecx
je 0x495937
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2840], eax
cvtsi2sd xmm0, dword [ebp - 0x2840]
mov eax, dword [ebp - 0x2840]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc7c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x283c], ecx
jmp 0x495941
mov dword [ebp - 0x283c], 2
mov edx, dword [ebp - 0x27f8]
shl edx, 2
add edx, dword [ebp - 0x27f4]
mov eax, dword [ebp - 0x283c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x27f8]
shl ecx, 2
add ecx, dword [ebp - 0x27f4]
mov dword [ecx], eax
jmp 0x4948ab
mov edx, dword [ebp - 0x27f0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x27f0]
mov dword [ebp - 0x2844], eax
mov ecx, dword [ebp - 0x2844]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2848], ecx
mov edx, dword [ebp - 0x2848]
mov dword [ebp - 0x284c], edx
xor eax, eax
mov byte [ebp - 0x70], al
lea ecx, [ebp - 0x70]
call fcn.00423f50
mov dword [ebp - 0x2850], eax
mov ecx, dword [ebp - 0x2850]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x496aa7
mov eax, dword [ebp - 0x2850]
mov dword [ebp - 0x2854], eax
mov dword [ebp - 0x2858], 0
jmp 0x4959f3
mov ecx, dword [ebp - 0x2858]
add ecx, 1
mov dword [ebp - 0x2858], ecx
cmp dword [ebp - 0x2858], 1
jae 0x496aa7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x495cc8
xor eax, eax
je 0x495a3d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x495a79
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e8]
movsd qword [ebp - 0xc7e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x495c19
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x495c19
mov dword [ebp - 0x285c], 0
jmp 0x495af8
cmp dword [ebp - 0x285c], 9
jae 0x495c14
cvtsi2sd xmm0, dword [ebp - 0x285c]
movsd xmm1, qword [ebp - 0xc7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495b67
mov ecx, dword [ebp - 0x285c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7e0], xmm1
jmp 0x495a63
cvtsi2sd xmm0, dword [ebp - 0x285c]
movsd xmm1, qword [ebp - 0xc7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc7f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495bc4
mov eax, dword [ebp - 0x285c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7e0], xmm1
jmp 0x495bdd
mov ecx, 1
test ecx, ecx
je 0x495bd9
jmp 0x495c96
jmp 0x495c00
cvtsi2sd xmm0, dword [ebp - 0x285c]
movsd xmm1, qword [ebp - 0xc7e0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2860], edx
jmp 0x495ca0
xor eax, eax
je 0x495c0a
jmp 0x495c19
jmp 0x495a63
jmp 0x495a63
mov ecx, 6
test ecx, ecx
je 0x495c96
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2864], eax
cvtsi2sd xmm0, dword [ebp - 0x2864]
mov eax, dword [ebp - 0x2864]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc7e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2860], ecx
jmp 0x495ca0
mov dword [ebp - 0x2860], 2
mov edx, dword [ebp - 0x2858]
shl edx, 2
add edx, dword [ebp - 0x2854]
mov eax, dword [ebp - 0x2860]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2858]
shl ecx, 2
add ecx, dword [ebp - 0x2854]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4967da
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x495fd5
xor eax, eax
je 0x495d4a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x495d86
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc7f8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x495f26
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x495f26
mov dword [ebp - 0x2868], 0
jmp 0x495e05
cmp dword [ebp - 0x2868], 9
jae 0x495f21
cvtsi2sd xmm0, dword [ebp - 0x2868]
movsd xmm1, qword [ebp - 0xc7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc800], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc800]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495e74
mov ecx, dword [ebp - 0x2868]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7f8], xmm1
jmp 0x495d70
cvtsi2sd xmm0, dword [ebp - 0x2868]
movsd xmm1, qword [ebp - 0xc7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc808], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc808]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x495ed1
mov eax, dword [ebp - 0x2868]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc7f8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc7f8], xmm1
jmp 0x495eea
mov ecx, 1
test ecx, ecx
je 0x495ee6
jmp 0x495fa3
jmp 0x495f0d
cvtsi2sd xmm0, dword [ebp - 0x2868]
movsd xmm1, qword [ebp - 0xc7f8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x286c], edx
jmp 0x495fad
xor eax, eax
je 0x495f17
jmp 0x495f26
jmp 0x495d70
jmp 0x495d70
mov ecx, 6
test ecx, ecx
je 0x495fa3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2870], eax
cvtsi2sd xmm0, dword [ebp - 0x2870]
mov eax, dword [ebp - 0x2870]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc7f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x286c], ecx
jmp 0x495fad
mov dword [ebp - 0x286c], 2
mov edx, dword [ebp - 0x2858]
shl edx, 2
add edx, dword [ebp - 0x2854]
mov eax, dword [ebp - 0x286c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2858]
shl ecx, 2
add ecx, dword [ebp - 0x2854]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49629d
xor eax, eax
je 0x496012
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49604e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc810], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4961ee
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4961ee
mov dword [ebp - 0x2874], 0
jmp 0x4960cd
cmp dword [ebp - 0x2874], 9
jae 0x4961e9
cvtsi2sd xmm0, dword [ebp - 0x2874]
movsd xmm1, qword [ebp - 0xc810]
addsd xmm1, xmm0
movsd qword [ebp - 0xc818], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc818]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49613c
mov ecx, dword [ebp - 0x2874]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc810]
addsd xmm1, xmm0
movsd qword [ebp - 0xc810], xmm1
jmp 0x496038
cvtsi2sd xmm0, dword [ebp - 0x2874]
movsd xmm1, qword [ebp - 0xc810]
addsd xmm1, xmm0
movsd qword [ebp - 0xc820], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc820]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496199
mov eax, dword [ebp - 0x2874]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc810]
addsd xmm1, xmm0
movsd qword [ebp - 0xc810], xmm1
jmp 0x4961b2
mov ecx, 1
test ecx, ecx
je 0x4961ae
jmp 0x49626b
jmp 0x4961d5
cvtsi2sd xmm0, dword [ebp - 0x2874]
movsd xmm1, qword [ebp - 0xc810]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2878], edx
jmp 0x496275
xor eax, eax
je 0x4961df
jmp 0x4961ee
jmp 0x496038
jmp 0x496038
mov ecx, 6
test ecx, ecx
je 0x49626b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x287c], eax
cvtsi2sd xmm0, dword [ebp - 0x287c]
mov eax, dword [ebp - 0x287c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc810]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2878], ecx
jmp 0x496275
mov dword [ebp - 0x2878], 2
mov edx, dword [ebp - 0x2858]
shl edx, 2
add edx, dword [ebp - 0x2854]
mov eax, dword [ebp - 0x2878]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2858]
shl ecx, 2
add ecx, dword [ebp - 0x2854]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2858]
add edx, 0xffffffc8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc828], xmm0
xor eax, eax
je 0x4962b7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4962f3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc828]
movsd qword [ebp - 0xc830], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x496493
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x496493
mov dword [ebp - 0x2880], 0
jmp 0x496372
cmp dword [ebp - 0x2880], 9
jae 0x49648e
cvtsi2sd xmm0, dword [ebp - 0x2880]
movsd xmm1, qword [ebp - 0xc830]
addsd xmm1, xmm0
movsd qword [ebp - 0xc838], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc838]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4963e1
mov ecx, dword [ebp - 0x2880]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc830]
addsd xmm1, xmm0
movsd qword [ebp - 0xc830], xmm1
jmp 0x4962dd
cvtsi2sd xmm0, dword [ebp - 0x2880]
movsd xmm1, qword [ebp - 0xc830]
addsd xmm1, xmm0
movsd qword [ebp - 0xc840], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc840]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49643e
mov eax, dword [ebp - 0x2880]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc830]
addsd xmm1, xmm0
movsd qword [ebp - 0xc830], xmm1
jmp 0x496457
mov ecx, 1
test ecx, ecx
je 0x496453
jmp 0x496510
jmp 0x49647a
cvtsi2sd xmm0, dword [ebp - 0x2880]
movsd xmm1, qword [ebp - 0xc830]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2884], edx
jmp 0x49651a
xor eax, eax
je 0x496484
jmp 0x496493
jmp 0x4962dd
jmp 0x4962dd
mov ecx, 6
test ecx, ecx
je 0x496510
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2888], eax
cvtsi2sd xmm0, dword [ebp - 0x2888]
mov eax, dword [ebp - 0x2888]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc830]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2884], ecx
jmp 0x49651a
mov dword [ebp - 0x2884], 2
mov edx, dword [ebp - 0x2858]
add edx, 0xffffffc8
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc848], xmm0
xor eax, eax
je 0x496534
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x496570
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc848]
movsd qword [ebp - 0xc850], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x496710
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x496710
mov dword [ebp - 0x288c], 0
jmp 0x4965ef
cmp dword [ebp - 0x288c], 9
jae 0x49670b
cvtsi2sd xmm0, dword [ebp - 0x288c]
movsd xmm1, qword [ebp - 0xc850]
addsd xmm1, xmm0
movsd qword [ebp - 0xc858], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc858]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49665e
mov ecx, dword [ebp - 0x288c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc850]
addsd xmm1, xmm0
movsd qword [ebp - 0xc850], xmm1
jmp 0x49655a
cvtsi2sd xmm0, dword [ebp - 0x288c]
movsd xmm1, qword [ebp - 0xc850]
addsd xmm1, xmm0
movsd qword [ebp - 0xc860], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc860]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4966bb
mov eax, dword [ebp - 0x288c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc850]
addsd xmm1, xmm0
movsd qword [ebp - 0xc850], xmm1
jmp 0x4966d4
mov ecx, 1
test ecx, ecx
je 0x4966d0
jmp 0x49678d
jmp 0x4966f7
cvtsi2sd xmm0, dword [ebp - 0x288c]
movsd xmm1, qword [ebp - 0xc850]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2890], edx
jmp 0x496797
xor eax, eax
je 0x496701
jmp 0x496710
jmp 0x49655a
jmp 0x49655a
mov ecx, 6
test ecx, ecx
je 0x49678d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2894], eax
cvtsi2sd xmm0, dword [ebp - 0x2894]
mov eax, dword [ebp - 0x2894]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc850]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2890], ecx
jmp 0x496797
mov dword [ebp - 0x2890], 2
mov edx, dword [ebp - 0x2858]
shl edx, 2
add edx, dword [ebp - 0x2854]
mov eax, dword [ebp - 0x2884]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2858]
shl ecx, 2
add ecx, dword [ebp - 0x2854]
mov edx, dword [ebp - 0x2890]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2858]
shl ecx, 2
add ecx, dword [ebp - 0x2854]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x496aa2
xor eax, eax
je 0x496817
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x496853
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xc868], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4969f3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4969f3
mov dword [ebp - 0x2898], 0
jmp 0x4968d2
cmp dword [ebp - 0x2898], 9
jae 0x4969ee
cvtsi2sd xmm0, dword [ebp - 0x2898]
movsd xmm1, qword [ebp - 0xc868]
addsd xmm1, xmm0
movsd qword [ebp - 0xc870], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc870]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496941
mov ecx, dword [ebp - 0x2898]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc868]
addsd xmm1, xmm0
movsd qword [ebp - 0xc868], xmm1
jmp 0x49683d
cvtsi2sd xmm0, dword [ebp - 0x2898]
movsd xmm1, qword [ebp - 0xc868]
addsd xmm1, xmm0
movsd qword [ebp - 0xc878], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc878]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49699e
mov eax, dword [ebp - 0x2898]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc868]
addsd xmm1, xmm0
movsd qword [ebp - 0xc868], xmm1
jmp 0x4969b7
mov ecx, 1
test ecx, ecx
je 0x4969b3
jmp 0x496a70
jmp 0x4969da
cvtsi2sd xmm0, dword [ebp - 0x2898]
movsd xmm1, qword [ebp - 0xc868]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x289c], edx
jmp 0x496a7a
xor eax, eax
je 0x4969e4
jmp 0x4969f3
jmp 0x49683d
jmp 0x49683d
mov ecx, 6
test ecx, ecx
je 0x496a70
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x28a0], eax
cvtsi2sd xmm0, dword [ebp - 0x28a0]
mov eax, dword [ebp - 0x28a0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc868]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x289c], ecx
jmp 0x496a7a
mov dword [ebp - 0x289c], 2
mov edx, dword [ebp - 0x2858]
shl edx, 2
add edx, dword [ebp - 0x2854]
mov eax, dword [ebp - 0x289c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2858]
shl ecx, 2
add ecx, dword [ebp - 0x2854]
mov dword [ecx], eax
jmp 0x4959e4
mov edx, dword [ebp - 0x2850]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2850]
mov dword [ebp - 0x28a4], eax
mov ecx, dword [ebp - 0x28a4]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x28a8], ecx
mov edx, dword [ebp - 0x28a8]
mov dword [ebp - 0x28ac], edx
mov eax, dword [ebp - 0x284c]
mov dword [ebp - 0x27ec], eax
cmp dword [ebp - 0x27ec], 0
je 0x497c32
xor ecx, ecx
mov byte [ebp - 0x71], cl
lea ecx, [ebp - 0x71]
call fcn.00423f20
mov dword [ebp - 0x28b0], eax
mov edx, dword [ebp - 0x28b0]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x497bf9
mov ecx, dword [ebp - 0x28b0]
mov dword [ebp - 0x28b4], ecx
mov dword [ebp - 0x28b8], 0
jmp 0x496b45
mov edx, dword [ebp - 0x28b8]
add edx, 1
mov dword [ebp - 0x28b8], edx
cmp dword [ebp - 0x28b8], 1
jae 0x497bf9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x496e1a
xor eax, eax
je 0x496b8f
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x496bcb
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc880], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x496d6b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x496d6b
mov dword [ebp - 0x28bc], 0
jmp 0x496c4a
cmp dword [ebp - 0x28bc], 9
jae 0x496d66
cvtsi2sd xmm0, dword [ebp - 0x28bc]
movsd xmm1, qword [ebp - 0xc880]
addsd xmm1, xmm0
movsd qword [ebp - 0xc888], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc888]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496cb9
mov ecx, dword [ebp - 0x28bc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc880]
addsd xmm1, xmm0
movsd qword [ebp - 0xc880], xmm1
jmp 0x496bb5
cvtsi2sd xmm0, dword [ebp - 0x28bc]
movsd xmm1, qword [ebp - 0xc880]
addsd xmm1, xmm0
movsd qword [ebp - 0xc890], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc890]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496d16
mov eax, dword [ebp - 0x28bc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc880]
addsd xmm1, xmm0
movsd qword [ebp - 0xc880], xmm1
jmp 0x496d2f
mov ecx, 1
test ecx, ecx
je 0x496d2b
jmp 0x496de8
jmp 0x496d52
cvtsi2sd xmm0, dword [ebp - 0x28bc]
movsd xmm1, qword [ebp - 0xc880]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28c0], edx
jmp 0x496df2
xor eax, eax
je 0x496d5c
jmp 0x496d6b
jmp 0x496bb5
jmp 0x496bb5
mov ecx, 6
test ecx, ecx
je 0x496de8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x28c4], eax
cvtsi2sd xmm0, dword [ebp - 0x28c4]
mov eax, dword [ebp - 0x28c4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc880]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28c0], ecx
jmp 0x496df2
mov dword [ebp - 0x28c0], 2
mov edx, dword [ebp - 0x28b8]
shl edx, 2
add edx, dword [ebp - 0x28b4]
mov eax, dword [ebp - 0x28c0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x28b8]
shl ecx, 2
add ecx, dword [ebp - 0x28b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49792c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x497127
xor eax, eax
je 0x496e9c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x496ed8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc898], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x497078
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x497078
mov dword [ebp - 0x28c8], 0
jmp 0x496f57
cmp dword [ebp - 0x28c8], 9
jae 0x497073
cvtsi2sd xmm0, dword [ebp - 0x28c8]
movsd xmm1, qword [ebp - 0xc898]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8a0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x496fc6
mov ecx, dword [ebp - 0x28c8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc898]
addsd xmm1, xmm0
movsd qword [ebp - 0xc898], xmm1
jmp 0x496ec2
cvtsi2sd xmm0, dword [ebp - 0x28c8]
movsd xmm1, qword [ebp - 0xc898]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8a8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc8a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497023
mov eax, dword [ebp - 0x28c8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc898]
addsd xmm1, xmm0
movsd qword [ebp - 0xc898], xmm1
jmp 0x49703c
mov ecx, 1
test ecx, ecx
je 0x497038
jmp 0x4970f5
jmp 0x49705f
cvtsi2sd xmm0, dword [ebp - 0x28c8]
movsd xmm1, qword [ebp - 0xc898]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28cc], edx
jmp 0x4970ff
xor eax, eax
je 0x497069
jmp 0x497078
jmp 0x496ec2
jmp 0x496ec2
mov ecx, 6
test ecx, ecx
je 0x4970f5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x28d0], eax
cvtsi2sd xmm0, dword [ebp - 0x28d0]
mov eax, dword [ebp - 0x28d0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc898]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28cc], ecx
jmp 0x4970ff
mov dword [ebp - 0x28cc], 2
mov edx, dword [ebp - 0x28b8]
shl edx, 2
add edx, dword [ebp - 0x28b4]
mov eax, dword [ebp - 0x28cc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x28b8]
shl ecx, 2
add ecx, dword [ebp - 0x28b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4973ef
xor eax, eax
je 0x497164
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4971a0
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xc8b0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x497340
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x497340
mov dword [ebp - 0x28d4], 0
jmp 0x49721f
cmp dword [ebp - 0x28d4], 9
jae 0x49733b
cvtsi2sd xmm0, dword [ebp - 0x28d4]
movsd xmm1, qword [ebp - 0xc8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8b8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49728e
mov ecx, dword [ebp - 0x28d4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8b0], xmm1
jmp 0x49718a
cvtsi2sd xmm0, dword [ebp - 0x28d4]
movsd xmm1, qword [ebp - 0xc8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8c0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc8c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4972eb
mov eax, dword [ebp - 0x28d4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8b0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8b0], xmm1
jmp 0x497304
mov ecx, 1
test ecx, ecx
je 0x497300
jmp 0x4973bd
jmp 0x497327
cvtsi2sd xmm0, dword [ebp - 0x28d4]
movsd xmm1, qword [ebp - 0xc8b0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28d8], edx
jmp 0x4973c7
xor eax, eax
je 0x497331
jmp 0x497340
jmp 0x49718a
jmp 0x49718a
mov ecx, 6
test ecx, ecx
je 0x4973bd
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x28dc], eax
cvtsi2sd xmm0, dword [ebp - 0x28dc]
mov eax, dword [ebp - 0x28dc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc8b0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28d8], ecx
jmp 0x4973c7
mov dword [ebp - 0x28d8], 2
mov edx, dword [ebp - 0x28b8]
shl edx, 2
add edx, dword [ebp - 0x28b4]
mov eax, dword [ebp - 0x28d8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x28b8]
shl ecx, 2
add ecx, dword [ebp - 0x28b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x28b8]
add edx, 0xffffffc9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc8c8], xmm0
xor eax, eax
je 0x497409
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x497445
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc8c8]
movsd qword [ebp - 0xc8d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4975e5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4975e5
mov dword [ebp - 0x28e0], 0
jmp 0x4974c4
cmp dword [ebp - 0x28e0], 9
jae 0x4975e0
cvtsi2sd xmm0, dword [ebp - 0x28e0]
movsd xmm1, qword [ebp - 0xc8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8d8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8d8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497533
mov ecx, dword [ebp - 0x28e0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8d0], xmm1
jmp 0x49742f
cvtsi2sd xmm0, dword [ebp - 0x28e0]
movsd xmm1, qword [ebp - 0xc8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8e0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc8e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497590
mov eax, dword [ebp - 0x28e0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8d0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8d0], xmm1
jmp 0x4975a9
mov ecx, 1
test ecx, ecx
je 0x4975a5
jmp 0x497662
jmp 0x4975cc
cvtsi2sd xmm0, dword [ebp - 0x28e0]
movsd xmm1, qword [ebp - 0xc8d0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28e4], edx
jmp 0x49766c
xor eax, eax
je 0x4975d6
jmp 0x4975e5
jmp 0x49742f
jmp 0x49742f
mov ecx, 6
test ecx, ecx
je 0x497662
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x28e8], eax
cvtsi2sd xmm0, dword [ebp - 0x28e8]
mov eax, dword [ebp - 0x28e8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc8d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28e4], ecx
jmp 0x49766c
mov dword [ebp - 0x28e4], 2
mov edx, dword [ebp - 0x28b8]
add edx, 0xffffffc9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc8e8], xmm0
xor eax, eax
je 0x497686
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4976c2
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc8e8]
movsd qword [ebp - 0xc8f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x497862
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x497862
mov dword [ebp - 0x28ec], 0
jmp 0x497741
cmp dword [ebp - 0x28ec], 9
jae 0x49785d
cvtsi2sd xmm0, dword [ebp - 0x28ec]
movsd xmm1, qword [ebp - 0xc8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4977b0
mov ecx, dword [ebp - 0x28ec]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8f0], xmm1
jmp 0x4976ac
cvtsi2sd xmm0, dword [ebp - 0x28ec]
movsd xmm1, qword [ebp - 0xc8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc900], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc900]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49780d
mov eax, dword [ebp - 0x28ec]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc8f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc8f0], xmm1
jmp 0x497826
mov ecx, 1
test ecx, ecx
je 0x497822
jmp 0x4978df
jmp 0x497849
cvtsi2sd xmm0, dword [ebp - 0x28ec]
movsd xmm1, qword [ebp - 0xc8f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28f0], edx
jmp 0x4978e9
xor eax, eax
je 0x497853
jmp 0x497862
jmp 0x4976ac
jmp 0x4976ac
mov ecx, 6
test ecx, ecx
je 0x4978df
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x28f4], eax
cvtsi2sd xmm0, dword [ebp - 0x28f4]
mov eax, dword [ebp - 0x28f4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc8f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28f0], ecx
jmp 0x4978e9
mov dword [ebp - 0x28f0], 2
mov edx, dword [ebp - 0x28b8]
shl edx, 2
add edx, dword [ebp - 0x28b4]
mov eax, dword [ebp - 0x28e4]
add eax, dword [edx]
mov ecx, dword [ebp - 0x28b8]
shl ecx, 2
add ecx, dword [ebp - 0x28b4]
mov edx, dword [ebp - 0x28f0]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x28b8]
shl ecx, 2
add ecx, dword [ebp - 0x28b4]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x497bf4
xor eax, eax
je 0x497969
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4979a5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xc908], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x497b45
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x497b45
mov dword [ebp - 0x28f8], 0
jmp 0x497a24
cmp dword [ebp - 0x28f8], 9
jae 0x497b40
cvtsi2sd xmm0, dword [ebp - 0x28f8]
movsd xmm1, qword [ebp - 0xc908]
addsd xmm1, xmm0
movsd qword [ebp - 0xc910], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc910]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497a93
mov ecx, dword [ebp - 0x28f8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc908]
addsd xmm1, xmm0
movsd qword [ebp - 0xc908], xmm1
jmp 0x49798f
cvtsi2sd xmm0, dword [ebp - 0x28f8]
movsd xmm1, qword [ebp - 0xc908]
addsd xmm1, xmm0
movsd qword [ebp - 0xc918], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc918]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497af0
mov eax, dword [ebp - 0x28f8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc908]
addsd xmm1, xmm0
movsd qword [ebp - 0xc908], xmm1
jmp 0x497b09
mov ecx, 1
test ecx, ecx
je 0x497b05
jmp 0x497bc2
jmp 0x497b2c
cvtsi2sd xmm0, dword [ebp - 0x28f8]
movsd xmm1, qword [ebp - 0xc908]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x28fc], edx
jmp 0x497bcc
xor eax, eax
je 0x497b36
jmp 0x497b45
jmp 0x49798f
jmp 0x49798f
mov ecx, 6
test ecx, ecx
je 0x497bc2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2900], eax
cvtsi2sd xmm0, dword [ebp - 0x2900]
mov eax, dword [ebp - 0x2900]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc908]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x28fc], ecx
jmp 0x497bcc
mov dword [ebp - 0x28fc], 2
mov edx, dword [ebp - 0x28b8]
shl edx, 2
add edx, dword [ebp - 0x28b4]
mov eax, dword [ebp - 0x28fc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x28b8]
shl ecx, 2
add ecx, dword [ebp - 0x28b4]
mov dword [ecx], eax
jmp 0x496b36
mov edx, dword [ebp - 0x28b0]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x28b0]
mov dword [ebp - 0x2904], eax
mov ecx, dword [ebp - 0x2904]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2908], ecx
mov edx, dword [ebp - 0x2908]
mov dword [ebp - 0x28ac], edx
mov dword [ebp - 0x290c], 0
jmp 0x497c4d
mov eax, dword [ebp - 0x290c]
add eax, 1
mov dword [ebp - 0x290c], eax
cmp dword [ebp - 0x290c], 0xd
jge 0x497c6c
lea ecx, [ebp - 0x16694]
mov edx, dword [ebp - 0x290c]
shl edx, 1
xor eax, eax
mov word [ecx + edx], ax
jmp 0x497c3e
xor ecx, ecx
mov byte [ebp - 0x72], cl
mov edx, dword [str.bDLjIS_L3_f.7_G]
mov dword [ebp - 0x16648], edx
mov eax, dword [0x687758]
mov dword [ebp - 0x16644], eax
mov ecx, dword [0x68775c]
mov dword [ebp - 0x16640], ecx
mov edx, dword [0x687760]
mov dword [ebp - 0x1663c], edx
mov ax, word [0x687764]
mov word [ebp - 0x16638], ax
mov cl, byte [0x687766]
mov byte [ebp - 0x16636], cl
xor edx, edx
mov byte [ebp - 0x73], dl
lea ecx, [ebp - 0x73]
call fcn.00423ec0
mov dword [ebp - 0x2910], eax
mov eax, dword [ebp - 0x2910]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x498db9
mov edx, dword [ebp - 0x2910]
mov dword [ebp - 0x2914], edx
mov dword [ebp - 0x2918], 0
jmp 0x497d05
mov eax, dword [ebp - 0x2918]
add eax, 1
mov dword [ebp - 0x2918], eax
cmp dword [ebp - 0x2918], 1
jae 0x498db9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx ecx, al
add esi, ecx
call fcn.005e1cc0
movsx edx, al
imul eax, edx, 7
movsx ecx, byte [0x77378c]
imul eax, ecx
add esi, eax
call fcn.005e1c90
movsx edx, al
sub esi, edx
je 0x497fda
xor eax, eax
je 0x497d4f
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x497d8b
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [0x7262e0]
movsd qword [ebp - 0xc920], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x497f2b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x497f2b
mov dword [ebp - 0x291c], 0
jmp 0x497e0a
cmp dword [ebp - 0x291c], 9
jae 0x497f26
cvtsi2sd xmm0, dword [ebp - 0x291c]
movsd xmm1, qword [ebp - 0xc920]
addsd xmm1, xmm0
movsd qword [ebp - 0xc928], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc928]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497e79
mov ecx, dword [ebp - 0x291c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc920]
addsd xmm1, xmm0
movsd qword [ebp - 0xc920], xmm1
jmp 0x497d75
cvtsi2sd xmm0, dword [ebp - 0x291c]
movsd xmm1, qword [ebp - 0xc920]
addsd xmm1, xmm0
movsd qword [ebp - 0xc930], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc930]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x497ed6
mov eax, dword [ebp - 0x291c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc920]
addsd xmm1, xmm0
movsd qword [ebp - 0xc920], xmm1
jmp 0x497eef
mov ecx, 1
test ecx, ecx
je 0x497eeb
jmp 0x497fa8
jmp 0x497f12
cvtsi2sd xmm0, dword [ebp - 0x291c]
movsd xmm1, qword [ebp - 0xc920]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2920], edx
jmp 0x497fb2
xor eax, eax
je 0x497f1c
jmp 0x497f2b
jmp 0x497d75
jmp 0x497d75
mov ecx, 6
test ecx, ecx
je 0x497fa8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2924], eax
cvtsi2sd xmm0, dword [ebp - 0x2924]
mov eax, dword [ebp - 0x2924]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc920]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2920], ecx
jmp 0x497fb2
mov dword [ebp - 0x2920], 2
mov edx, dword [ebp - 0x2918]
shl edx, 2
add edx, dword [ebp - 0x2914]
mov eax, dword [ebp - 0x2920]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2918]
shl ecx, 2
add ecx, dword [ebp - 0x2914]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x498aec
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4982e7
xor eax, eax
je 0x49805c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x498098
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc938], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x498238
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x498238
mov dword [ebp - 0x2928], 0
jmp 0x498117
cmp dword [ebp - 0x2928], 9
jae 0x498233
cvtsi2sd xmm0, dword [ebp - 0x2928]
movsd xmm1, qword [ebp - 0xc938]
addsd xmm1, xmm0
movsd qword [ebp - 0xc940], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc940]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498186
mov ecx, dword [ebp - 0x2928]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc938]
addsd xmm1, xmm0
movsd qword [ebp - 0xc938], xmm1
jmp 0x498082
cvtsi2sd xmm0, dword [ebp - 0x2928]
movsd xmm1, qword [ebp - 0xc938]
addsd xmm1, xmm0
movsd qword [ebp - 0xc948], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc948]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4981e3
mov eax, dword [ebp - 0x2928]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc938]
addsd xmm1, xmm0
movsd qword [ebp - 0xc938], xmm1
jmp 0x4981fc
mov ecx, 1
test ecx, ecx
je 0x4981f8
jmp 0x4982b5
jmp 0x49821f
cvtsi2sd xmm0, dword [ebp - 0x2928]
movsd xmm1, qword [ebp - 0xc938]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x292c], edx
jmp 0x4982bf
xor eax, eax
je 0x498229
jmp 0x498238
jmp 0x498082
jmp 0x498082
mov ecx, 6
test ecx, ecx
je 0x4982b5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2930], eax
cvtsi2sd xmm0, dword [ebp - 0x2930]
mov eax, dword [ebp - 0x2930]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc938]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x292c], ecx
jmp 0x4982bf
mov dword [ebp - 0x292c], 2
mov edx, dword [ebp - 0x2918]
shl edx, 2
add edx, dword [ebp - 0x2914]
mov eax, dword [ebp - 0x292c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2918]
shl ecx, 2
add ecx, dword [ebp - 0x2914]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4985af
xor eax, eax
je 0x498324
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x498360
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xc950], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x498500
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x498500
mov dword [ebp - 0x2934], 0
jmp 0x4983df
cmp dword [ebp - 0x2934], 9
jae 0x4984fb
cvtsi2sd xmm0, dword [ebp - 0x2934]
movsd xmm1, qword [ebp - 0xc950]
addsd xmm1, xmm0
movsd qword [ebp - 0xc958], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc958]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49844e
mov ecx, dword [ebp - 0x2934]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc950]
addsd xmm1, xmm0
movsd qword [ebp - 0xc950], xmm1
jmp 0x49834a
cvtsi2sd xmm0, dword [ebp - 0x2934]
movsd xmm1, qword [ebp - 0xc950]
addsd xmm1, xmm0
movsd qword [ebp - 0xc960], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc960]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4984ab
mov eax, dword [ebp - 0x2934]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc950]
addsd xmm1, xmm0
movsd qword [ebp - 0xc950], xmm1
jmp 0x4984c4
mov ecx, 1
test ecx, ecx
je 0x4984c0
jmp 0x49857d
jmp 0x4984e7
cvtsi2sd xmm0, dword [ebp - 0x2934]
movsd xmm1, qword [ebp - 0xc950]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2938], edx
jmp 0x498587
xor eax, eax
je 0x4984f1
jmp 0x498500
jmp 0x49834a
jmp 0x49834a
mov ecx, 6
test ecx, ecx
je 0x49857d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x293c], eax
cvtsi2sd xmm0, dword [ebp - 0x293c]
mov eax, dword [ebp - 0x293c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc950]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2938], ecx
jmp 0x498587
mov dword [ebp - 0x2938], 2
mov edx, dword [ebp - 0x2918]
shl edx, 2
add edx, dword [ebp - 0x2914]
mov eax, dword [ebp - 0x2938]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2918]
shl ecx, 2
add ecx, dword [ebp - 0x2914]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2918]
add edx, 0xffffffc9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc968], xmm0
xor eax, eax
je 0x4985c9
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x498605
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc968]
movsd qword [ebp - 0xc970], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4987a5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4987a5
mov dword [ebp - 0x2940], 0
jmp 0x498684
cmp dword [ebp - 0x2940], 9
jae 0x4987a0
cvtsi2sd xmm0, dword [ebp - 0x2940]
movsd xmm1, qword [ebp - 0xc970]
addsd xmm1, xmm0
movsd qword [ebp - 0xc978], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc978]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4986f3
mov ecx, dword [ebp - 0x2940]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc970]
addsd xmm1, xmm0
movsd qword [ebp - 0xc970], xmm1
jmp 0x4985ef
cvtsi2sd xmm0, dword [ebp - 0x2940]
movsd xmm1, qword [ebp - 0xc970]
addsd xmm1, xmm0
movsd qword [ebp - 0xc980], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc980]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498750
mov eax, dword [ebp - 0x2940]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc970]
addsd xmm1, xmm0
movsd qword [ebp - 0xc970], xmm1
jmp 0x498769
mov ecx, 1
test ecx, ecx
je 0x498765
jmp 0x498822
jmp 0x49878c
cvtsi2sd xmm0, dword [ebp - 0x2940]
movsd xmm1, qword [ebp - 0xc970]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2944], edx
jmp 0x49882c
xor eax, eax
je 0x498796
jmp 0x4987a5
jmp 0x4985ef
jmp 0x4985ef
mov ecx, 6
test ecx, ecx
je 0x498822
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2948], eax
cvtsi2sd xmm0, dword [ebp - 0x2948]
mov eax, dword [ebp - 0x2948]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc970]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2944], ecx
jmp 0x49882c
mov dword [ebp - 0x2944], 2
mov edx, dword [ebp - 0x2918]
add edx, 0xffffffc9
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xc988], xmm0
xor eax, eax
je 0x498846
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x498882
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xc988]
movsd qword [ebp - 0xc990], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x498a22
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x498a22
mov dword [ebp - 0x294c], 0
jmp 0x498901
cmp dword [ebp - 0x294c], 9
jae 0x498a1d
cvtsi2sd xmm0, dword [ebp - 0x294c]
movsd xmm1, qword [ebp - 0xc990]
addsd xmm1, xmm0
movsd qword [ebp - 0xc998], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc998]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498970
mov ecx, dword [ebp - 0x294c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc990]
addsd xmm1, xmm0
movsd qword [ebp - 0xc990], xmm1
jmp 0x49886c
cvtsi2sd xmm0, dword [ebp - 0x294c]
movsd xmm1, qword [ebp - 0xc990]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9a0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc9a0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4989cd
mov eax, dword [ebp - 0x294c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc990]
addsd xmm1, xmm0
movsd qword [ebp - 0xc990], xmm1
jmp 0x4989e6
mov ecx, 1
test ecx, ecx
je 0x4989e2
jmp 0x498a9f
jmp 0x498a09
cvtsi2sd xmm0, dword [ebp - 0x294c]
movsd xmm1, qword [ebp - 0xc990]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2950], edx
jmp 0x498aa9
xor eax, eax
je 0x498a13
jmp 0x498a22
jmp 0x49886c
jmp 0x49886c
mov ecx, 6
test ecx, ecx
je 0x498a9f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2954], eax
cvtsi2sd xmm0, dword [ebp - 0x2954]
mov eax, dword [ebp - 0x2954]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc990]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2950], ecx
jmp 0x498aa9
mov dword [ebp - 0x2950], 2
mov edx, dword [ebp - 0x2918]
shl edx, 2
add edx, dword [ebp - 0x2914]
mov eax, dword [ebp - 0x2944]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2918]
shl ecx, 2
add ecx, dword [ebp - 0x2914]
mov edx, dword [ebp - 0x2950]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2918]
shl ecx, 2
add ecx, dword [ebp - 0x2914]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x498db4
xor eax, eax
je 0x498b29
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x498b65
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xc9a8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x498d05
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x498d05
mov dword [ebp - 0x2958], 0
jmp 0x498be4
cmp dword [ebp - 0x2958], 9
jae 0x498d00
cvtsi2sd xmm0, dword [ebp - 0x2958]
movsd xmm1, qword [ebp - 0xc9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9b0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498c53
mov ecx, dword [ebp - 0x2958]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9a8], xmm1
jmp 0x498b4f
cvtsi2sd xmm0, dword [ebp - 0x2958]
movsd xmm1, qword [ebp - 0xc9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9b8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc9b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x498cb0
mov eax, dword [ebp - 0x2958]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9a8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9a8], xmm1
jmp 0x498cc9
mov ecx, 1
test ecx, ecx
je 0x498cc5
jmp 0x498d82
jmp 0x498cec
cvtsi2sd xmm0, dword [ebp - 0x2958]
movsd xmm1, qword [ebp - 0xc9a8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x295c], edx
jmp 0x498d8c
xor eax, eax
je 0x498cf6
jmp 0x498d05
jmp 0x498b4f
jmp 0x498b4f
mov ecx, 6
test ecx, ecx
je 0x498d82
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2960], eax
cvtsi2sd xmm0, dword [ebp - 0x2960]
mov eax, dword [ebp - 0x2960]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc9a8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x295c], ecx
jmp 0x498d8c
mov dword [ebp - 0x295c], 2
mov edx, dword [ebp - 0x2918]
shl edx, 2
add edx, dword [ebp - 0x2914]
mov eax, dword [ebp - 0x295c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2918]
shl ecx, 2
add ecx, dword [ebp - 0x2914]
mov dword [ecx], eax
jmp 0x497cf6
mov edx, dword [ebp - 0x2910]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2910]
mov dword [ebp - 0x2964], eax
mov ecx, dword [ebp - 0x2964]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2968], ecx
lea edx, [ebp - 0x16648]
mov eax, 1
imul ecx, eax, 0x12
movsx edx, byte [edx + ecx]
neg edx
sbb edx, edx
neg edx
mov byte [ebp - 0x74], dl
movzx eax, byte [ebp - 0x74]
test eax, eax
je 0x498e67
mov dword [ebp - 0x296c], 0
jmp 0x498e24
mov ecx, dword [ebp - 0x296c]
add ecx, 1
mov dword [ebp - 0x296c], ecx
cmp dword [ebp - 0x296c], 0x13
jge 0x498e67
mov edx, dword [ebp - 0x296c]
shl edx, 0
lea eax, [ebp - 0x16648]
movsx ecx, byte [eax + edx]
mov eax, dword [ebp - 0x296c]
cdq
mov esi, 0x3a
idiv esi
add edx, 0x35
xor ecx, edx
lea edx, [ebp - 0x16648]
mov eax, dword [ebp - 0x296c]
shl eax, 0
mov byte [edx + eax], cl
jmp 0x498e15
lea ecx, [ebp - 0x16648]
mov dword [ebp - 0x2970], ecx
mov edx, dword [ebp - 0x2970]
push edx
mov eax, dword [ebp - 0x260c]
push eax
mov ecx, dword [ebp - 0x2968]
shl ecx, 2
add ecx, 0x7724a0
mov edx, dword [ecx]
call edx
mov dword [ebp - 0x2974], eax
xor eax, eax
mov byte [ebp - 0x75], al
lea ecx, [ebp - 0x75]
call fcn.00423e90
mov dword [ebp - 0x2978], eax
mov ecx, dword [ebp - 0x2978]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x499f9a
mov eax, dword [ebp - 0x2978]
mov dword [ebp - 0x297c], eax
mov dword [ebp - 0x2980], 0
jmp 0x498ee6
mov ecx, dword [ebp - 0x2980]
add ecx, 1
mov dword [ebp - 0x2980], ecx
cmp dword [ebp - 0x2980], 1
jae 0x499f9a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4991bb
xor eax, eax
je 0x498f30
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x498f6c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xc9c0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49910c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49910c
mov dword [ebp - 0x2984], 0
jmp 0x498feb
cmp dword [ebp - 0x2984], 9
jae 0x499107
cvtsi2sd xmm0, dword [ebp - 0x2984]
movsd xmm1, qword [ebp - 0xc9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9c8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9c8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49905a
mov ecx, dword [ebp - 0x2984]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9c0], xmm1
jmp 0x498f56
cvtsi2sd xmm0, dword [ebp - 0x2984]
movsd xmm1, qword [ebp - 0xc9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9d0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc9d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4990b7
mov eax, dword [ebp - 0x2984]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9c0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9c0], xmm1
jmp 0x4990d0
mov ecx, 1
test ecx, ecx
je 0x4990cc
jmp 0x499189
jmp 0x4990f3
cvtsi2sd xmm0, dword [ebp - 0x2984]
movsd xmm1, qword [ebp - 0xc9c0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2988], edx
jmp 0x499193
xor eax, eax
je 0x4990fd
jmp 0x49910c
jmp 0x498f56
jmp 0x498f56
mov ecx, 6
test ecx, ecx
je 0x499189
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x298c], eax
cvtsi2sd xmm0, dword [ebp - 0x298c]
mov eax, dword [ebp - 0x298c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc9c0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2988], ecx
jmp 0x499193
mov dword [ebp - 0x2988], 2
mov edx, dword [ebp - 0x2980]
shl edx, 2
add edx, dword [ebp - 0x297c]
mov eax, dword [ebp - 0x2988]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2980]
shl ecx, 2
add ecx, dword [ebp - 0x297c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x499ccd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4994c8
xor eax, eax
je 0x49923d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x499279
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xc9d8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x499419
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x499419
mov dword [ebp - 0x2990], 0
jmp 0x4992f8
cmp dword [ebp - 0x2990], 9
jae 0x499414
cvtsi2sd xmm0, dword [ebp - 0x2990]
movsd xmm1, qword [ebp - 0xc9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9e0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9e0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499367
mov ecx, dword [ebp - 0x2990]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9d8], xmm1
jmp 0x499263
cvtsi2sd xmm0, dword [ebp - 0x2990]
movsd xmm1, qword [ebp - 0xc9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9e8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xc9e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4993c4
mov eax, dword [ebp - 0x2990]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9d8]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9d8], xmm1
jmp 0x4993dd
mov ecx, 1
test ecx, ecx
je 0x4993d9
jmp 0x499496
jmp 0x499400
cvtsi2sd xmm0, dword [ebp - 0x2990]
movsd xmm1, qword [ebp - 0xc9d8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2994], edx
jmp 0x4994a0
xor eax, eax
je 0x49940a
jmp 0x499419
jmp 0x499263
jmp 0x499263
mov ecx, 6
test ecx, ecx
je 0x499496
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2998], eax
cvtsi2sd xmm0, dword [ebp - 0x2998]
mov eax, dword [ebp - 0x2998]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc9d8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2994], ecx
jmp 0x4994a0
mov dword [ebp - 0x2994], 2
mov edx, dword [ebp - 0x2980]
shl edx, 2
add edx, dword [ebp - 0x297c]
mov eax, dword [ebp - 0x2994]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2980]
shl ecx, 2
add ecx, dword [ebp - 0x297c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x499790
xor eax, eax
je 0x499505
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x499541
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xc9f0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4996e1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4996e1
mov dword [ebp - 0x299c], 0
jmp 0x4995c0
cmp dword [ebp - 0x299c], 9
jae 0x4996dc
cvtsi2sd xmm0, dword [ebp - 0x299c]
movsd xmm1, qword [ebp - 0xc9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9f8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9f8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49962f
mov ecx, dword [ebp - 0x299c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xc9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9f0], xmm1
jmp 0x49952b
cvtsi2sd xmm0, dword [ebp - 0x299c]
movsd xmm1, qword [ebp - 0xc9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xca00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xca00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49968c
mov eax, dword [ebp - 0x299c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xc9f0]
addsd xmm1, xmm0
movsd qword [ebp - 0xc9f0], xmm1
jmp 0x4996a5
mov ecx, 1
test ecx, ecx
je 0x4996a1
jmp 0x49975e
jmp 0x4996c8
cvtsi2sd xmm0, dword [ebp - 0x299c]
movsd xmm1, qword [ebp - 0xc9f0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x29a0], edx
jmp 0x499768
xor eax, eax
je 0x4996d2
jmp 0x4996e1
jmp 0x49952b
jmp 0x49952b
mov ecx, 6
test ecx, ecx
je 0x49975e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x29a4], eax
cvtsi2sd xmm0, dword [ebp - 0x29a4]
mov eax, dword [ebp - 0x29a4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xc9f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x29a0], ecx
jmp 0x499768
mov dword [ebp - 0x29a0], 2
mov edx, dword [ebp - 0x2980]
shl edx, 2
add edx, dword [ebp - 0x297c]
mov eax, dword [ebp - 0x29a0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2980]
shl ecx, 2
add ecx, dword [ebp - 0x297c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2980]
add edx, 0xffffffca
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xca08], xmm0
xor eax, eax
je 0x4997aa
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4997e6
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xca08]
movsd qword [ebp - 0xca10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x499986
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x499986
mov dword [ebp - 0x29a8], 0
jmp 0x499865
cmp dword [ebp - 0x29a8], 9
jae 0x499981
cvtsi2sd xmm0, dword [ebp - 0x29a8]
movsd xmm1, qword [ebp - 0xca10]
addsd xmm1, xmm0
movsd qword [ebp - 0xca18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4998d4
mov ecx, dword [ebp - 0x29a8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xca10]
addsd xmm1, xmm0
movsd qword [ebp - 0xca10], xmm1
jmp 0x4997d0
cvtsi2sd xmm0, dword [ebp - 0x29a8]
movsd xmm1, qword [ebp - 0xca10]
addsd xmm1, xmm0
movsd qword [ebp - 0xca20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xca20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499931
mov eax, dword [ebp - 0x29a8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca10]
addsd xmm1, xmm0
movsd qword [ebp - 0xca10], xmm1
jmp 0x49994a
mov ecx, 1
test ecx, ecx
je 0x499946
jmp 0x499a03
jmp 0x49996d
cvtsi2sd xmm0, dword [ebp - 0x29a8]
movsd xmm1, qword [ebp - 0xca10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x29ac], edx
jmp 0x499a0d
xor eax, eax
je 0x499977
jmp 0x499986
jmp 0x4997d0
jmp 0x4997d0
mov ecx, 6
test ecx, ecx
je 0x499a03
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x29b0], eax
cvtsi2sd xmm0, dword [ebp - 0x29b0]
mov eax, dword [ebp - 0x29b0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xca10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x29ac], ecx
jmp 0x499a0d
mov dword [ebp - 0x29ac], 2
mov edx, dword [ebp - 0x2980]
add edx, 0xffffffca
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xca28], xmm0
xor eax, eax
je 0x499a27
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x499a63
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xca28]
movsd qword [ebp - 0xca30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x499c03
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x499c03
mov dword [ebp - 0x29b4], 0
jmp 0x499ae2
cmp dword [ebp - 0x29b4], 9
jae 0x499bfe
cvtsi2sd xmm0, dword [ebp - 0x29b4]
movsd xmm1, qword [ebp - 0xca30]
addsd xmm1, xmm0
movsd qword [ebp - 0xca38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499b51
mov ecx, dword [ebp - 0x29b4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xca30]
addsd xmm1, xmm0
movsd qword [ebp - 0xca30], xmm1
jmp 0x499a4d
cvtsi2sd xmm0, dword [ebp - 0x29b4]
movsd xmm1, qword [ebp - 0xca30]
addsd xmm1, xmm0
movsd qword [ebp - 0xca40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xca40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499bae
mov eax, dword [ebp - 0x29b4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca30]
addsd xmm1, xmm0
movsd qword [ebp - 0xca30], xmm1
jmp 0x499bc7
mov ecx, 1
test ecx, ecx
je 0x499bc3
jmp 0x499c80
jmp 0x499bea
cvtsi2sd xmm0, dword [ebp - 0x29b4]
movsd xmm1, qword [ebp - 0xca30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x29b8], edx
jmp 0x499c8a
xor eax, eax
je 0x499bf4
jmp 0x499c03
jmp 0x499a4d
jmp 0x499a4d
mov ecx, 6
test ecx, ecx
je 0x499c80
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x29bc], eax
cvtsi2sd xmm0, dword [ebp - 0x29bc]
mov eax, dword [ebp - 0x29bc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xca30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x29b8], ecx
jmp 0x499c8a
mov dword [ebp - 0x29b8], 2
mov edx, dword [ebp - 0x2980]
shl edx, 2
add edx, dword [ebp - 0x297c]
mov eax, dword [ebp - 0x29ac]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2980]
shl ecx, 2
add ecx, dword [ebp - 0x297c]
mov edx, dword [ebp - 0x29b8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2980]
shl ecx, 2
add ecx, dword [ebp - 0x297c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x499f95
xor eax, eax
je 0x499d0a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x499d46
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xca48], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x499ee6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x499ee6
mov dword [ebp - 0x29c0], 0
jmp 0x499dc5
cmp dword [ebp - 0x29c0], 9
jae 0x499ee1
cvtsi2sd xmm0, dword [ebp - 0x29c0]
movsd xmm1, qword [ebp - 0xca48]
addsd xmm1, xmm0
movsd qword [ebp - 0xca50], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499e34
mov ecx, dword [ebp - 0x29c0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xca48]
addsd xmm1, xmm0
movsd qword [ebp - 0xca48], xmm1
jmp 0x499d30
cvtsi2sd xmm0, dword [ebp - 0x29c0]
movsd xmm1, qword [ebp - 0xca48]
addsd xmm1, xmm0
movsd qword [ebp - 0xca58], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xca58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x499e91
mov eax, dword [ebp - 0x29c0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca48]
addsd xmm1, xmm0
movsd qword [ebp - 0xca48], xmm1
jmp 0x499eaa
mov ecx, 1
test ecx, ecx
je 0x499ea6
jmp 0x499f63
jmp 0x499ecd
cvtsi2sd xmm0, dword [ebp - 0x29c0]
movsd xmm1, qword [ebp - 0xca48]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x29c4], edx
jmp 0x499f6d
xor eax, eax
je 0x499ed7
jmp 0x499ee6
jmp 0x499d30
jmp 0x499d30
mov ecx, 6
test ecx, ecx
je 0x499f63
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x29c8], eax
cvtsi2sd xmm0, dword [ebp - 0x29c8]
mov eax, dword [ebp - 0x29c8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xca48]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x29c4], ecx
jmp 0x499f6d
mov dword [ebp - 0x29c4], 2
mov edx, dword [ebp - 0x2980]
shl edx, 2
add edx, dword [ebp - 0x297c]
mov eax, dword [ebp - 0x29c4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2980]
shl ecx, 2
add ecx, dword [ebp - 0x297c]
mov dword [ecx], eax
jmp 0x498ed7
mov edx, dword [ebp - 0x2978]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2978]
mov dword [ebp - 0x29cc], eax
mov ecx, dword [ebp - 0x29cc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x29d0], ecx
mov edx, dword [ebp - 0x29d0]
mov dword [ebp - 0x29d4], edx
xor eax, eax
mov byte [ebp - 0x76], al
lea ecx, [ebp - 0x76]
call fcn.00423e60
mov dword [ebp - 0x29d8], eax
mov ecx, dword [ebp - 0x29d8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x49b0d3
mov eax, dword [ebp - 0x29d8]
mov dword [ebp - 0x29dc], eax
mov dword [ebp - 0x29e0], 0
jmp 0x49a01f
mov ecx, dword [ebp - 0x29e0]
add ecx, 1
mov dword [ebp - 0x29e0], ecx
cmp dword [ebp - 0x29e0], 1
jae 0x49b0d3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49a2f4
xor eax, eax
je 0x49a069
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49a0a5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xca60], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49a245
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49a245
mov dword [ebp - 0x29e4], 0
jmp 0x49a124
cmp dword [ebp - 0x29e4], 9
jae 0x49a240
cvtsi2sd xmm0, dword [ebp - 0x29e4]
movsd xmm1, qword [ebp - 0xca60]
addsd xmm1, xmm0
movsd qword [ebp - 0xca68], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a193
mov ecx, dword [ebp - 0x29e4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xca60]
addsd xmm1, xmm0
movsd qword [ebp - 0xca60], xmm1
jmp 0x49a08f
cvtsi2sd xmm0, dword [ebp - 0x29e4]
movsd xmm1, qword [ebp - 0xca60]
addsd xmm1, xmm0
movsd qword [ebp - 0xca70], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xca70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a1f0
mov eax, dword [ebp - 0x29e4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca60]
addsd xmm1, xmm0
movsd qword [ebp - 0xca60], xmm1
jmp 0x49a209
mov ecx, 1
test ecx, ecx
je 0x49a205
jmp 0x49a2c2
jmp 0x49a22c
cvtsi2sd xmm0, dword [ebp - 0x29e4]
movsd xmm1, qword [ebp - 0xca60]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x29e8], edx
jmp 0x49a2cc
xor eax, eax
je 0x49a236
jmp 0x49a245
jmp 0x49a08f
jmp 0x49a08f
mov ecx, 6
test ecx, ecx
je 0x49a2c2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x29ec], eax
cvtsi2sd xmm0, dword [ebp - 0x29ec]
mov eax, dword [ebp - 0x29ec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xca60]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x29e8], ecx
jmp 0x49a2cc
mov dword [ebp - 0x29e8], 2
mov edx, dword [ebp - 0x29e0]
shl edx, 2
add edx, dword [ebp - 0x29dc]
mov eax, dword [ebp - 0x29e8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x29e0]
shl ecx, 2
add ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49ae06
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49a601
xor eax, eax
je 0x49a376
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49a3b2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xca78], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49a552
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49a552
mov dword [ebp - 0x29f0], 0
jmp 0x49a431
cmp dword [ebp - 0x29f0], 9
jae 0x49a54d
cvtsi2sd xmm0, dword [ebp - 0x29f0]
movsd xmm1, qword [ebp - 0xca78]
addsd xmm1, xmm0
movsd qword [ebp - 0xca80], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a4a0
mov ecx, dword [ebp - 0x29f0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xca78]
addsd xmm1, xmm0
movsd qword [ebp - 0xca78], xmm1
jmp 0x49a39c
cvtsi2sd xmm0, dword [ebp - 0x29f0]
movsd xmm1, qword [ebp - 0xca78]
addsd xmm1, xmm0
movsd qword [ebp - 0xca88], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xca88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a4fd
mov eax, dword [ebp - 0x29f0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca78]
addsd xmm1, xmm0
movsd qword [ebp - 0xca78], xmm1
jmp 0x49a516
mov ecx, 1
test ecx, ecx
je 0x49a512
jmp 0x49a5cf
jmp 0x49a539
cvtsi2sd xmm0, dword [ebp - 0x29f0]
movsd xmm1, qword [ebp - 0xca78]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x29f4], edx
jmp 0x49a5d9
xor eax, eax
je 0x49a543
jmp 0x49a552
jmp 0x49a39c
jmp 0x49a39c
mov ecx, 6
test ecx, ecx
je 0x49a5cf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x29f8], eax
cvtsi2sd xmm0, dword [ebp - 0x29f8]
mov eax, dword [ebp - 0x29f8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xca78]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x29f4], ecx
jmp 0x49a5d9
mov dword [ebp - 0x29f4], 2
mov edx, dword [ebp - 0x29e0]
shl edx, 2
add edx, dword [ebp - 0x29dc]
mov eax, dword [ebp - 0x29f4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x29e0]
shl ecx, 2
add ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49a8c9
xor eax, eax
je 0x49a63e
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49a67a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xca90], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49a81a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49a81a
mov dword [ebp - 0x29fc], 0
jmp 0x49a6f9
cmp dword [ebp - 0x29fc], 9
jae 0x49a815
cvtsi2sd xmm0, dword [ebp - 0x29fc]
movsd xmm1, qword [ebp - 0xca90]
addsd xmm1, xmm0
movsd qword [ebp - 0xca98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a768
mov ecx, dword [ebp - 0x29fc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xca90]
addsd xmm1, xmm0
movsd qword [ebp - 0xca90], xmm1
jmp 0x49a664
cvtsi2sd xmm0, dword [ebp - 0x29fc]
movsd xmm1, qword [ebp - 0xca90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaa0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcaa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49a7c5
mov eax, dword [ebp - 0x29fc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xca90]
addsd xmm1, xmm0
movsd qword [ebp - 0xca90], xmm1
jmp 0x49a7de
mov ecx, 1
test ecx, ecx
je 0x49a7da
jmp 0x49a897
jmp 0x49a801
cvtsi2sd xmm0, dword [ebp - 0x29fc]
movsd xmm1, qword [ebp - 0xca90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a00], edx
jmp 0x49a8a1
xor eax, eax
je 0x49a80b
jmp 0x49a81a
jmp 0x49a664
jmp 0x49a664
mov ecx, 6
test ecx, ecx
je 0x49a897
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a04], eax
cvtsi2sd xmm0, dword [ebp - 0x2a04]
mov eax, dword [ebp - 0x2a04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xca90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a00], ecx
jmp 0x49a8a1
mov dword [ebp - 0x2a00], 2
mov edx, dword [ebp - 0x29e0]
shl edx, 2
add edx, dword [ebp - 0x29dc]
mov eax, dword [ebp - 0x2a00]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x29e0]
shl ecx, 2
add ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x29e0]
add edx, 0xffffffca
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcaa8], xmm0
xor eax, eax
je 0x49a8e3
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49a91f
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcaa8]
movsd qword [ebp - 0xcab0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49aabf
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49aabf
mov dword [ebp - 0x2a08], 0
jmp 0x49a99e
cmp dword [ebp - 0x2a08], 9
jae 0x49aaba
cvtsi2sd xmm0, dword [ebp - 0x2a08]
movsd xmm1, qword [ebp - 0xcab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcab8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcab8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49aa0d
mov ecx, dword [ebp - 0x2a08]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcab0], xmm1
jmp 0x49a909
cvtsi2sd xmm0, dword [ebp - 0x2a08]
movsd xmm1, qword [ebp - 0xcab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcac0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcac0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49aa6a
mov eax, dword [ebp - 0x2a08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcab0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcab0], xmm1
jmp 0x49aa83
mov ecx, 1
test ecx, ecx
je 0x49aa7f
jmp 0x49ab3c
jmp 0x49aaa6
cvtsi2sd xmm0, dword [ebp - 0x2a08]
movsd xmm1, qword [ebp - 0xcab0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a0c], edx
jmp 0x49ab46
xor eax, eax
je 0x49aab0
jmp 0x49aabf
jmp 0x49a909
jmp 0x49a909
mov ecx, 6
test ecx, ecx
je 0x49ab3c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a10], eax
cvtsi2sd xmm0, dword [ebp - 0x2a10]
mov eax, dword [ebp - 0x2a10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcab0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a0c], ecx
jmp 0x49ab46
mov dword [ebp - 0x2a0c], 2
mov edx, dword [ebp - 0x29e0]
add edx, 0xffffffca
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcac8], xmm0
xor eax, eax
je 0x49ab60
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49ab9c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcac8]
movsd qword [ebp - 0xcad0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49ad3c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49ad3c
mov dword [ebp - 0x2a14], 0
jmp 0x49ac1b
cmp dword [ebp - 0x2a14], 9
jae 0x49ad37
cvtsi2sd xmm0, dword [ebp - 0x2a14]
movsd xmm1, qword [ebp - 0xcad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcad8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcad8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ac8a
mov ecx, dword [ebp - 0x2a14]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcad0], xmm1
jmp 0x49ab86
cvtsi2sd xmm0, dword [ebp - 0x2a14]
movsd xmm1, qword [ebp - 0xcad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcae0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcae0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ace7
mov eax, dword [ebp - 0x2a14]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcad0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcad0], xmm1
jmp 0x49ad00
mov ecx, 1
test ecx, ecx
je 0x49acfc
jmp 0x49adb9
jmp 0x49ad23
cvtsi2sd xmm0, dword [ebp - 0x2a14]
movsd xmm1, qword [ebp - 0xcad0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a18], edx
jmp 0x49adc3
xor eax, eax
je 0x49ad2d
jmp 0x49ad3c
jmp 0x49ab86
jmp 0x49ab86
mov ecx, 6
test ecx, ecx
je 0x49adb9
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a1c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a1c]
mov eax, dword [ebp - 0x2a1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcad0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a18], ecx
jmp 0x49adc3
mov dword [ebp - 0x2a18], 2
mov edx, dword [ebp - 0x29e0]
shl edx, 2
add edx, dword [ebp - 0x29dc]
mov eax, dword [ebp - 0x2a0c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x29e0]
shl ecx, 2
add ecx, dword [ebp - 0x29dc]
mov edx, dword [ebp - 0x2a18]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x29e0]
shl ecx, 2
add ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49b0ce
xor eax, eax
je 0x49ae43
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49ae7f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcae8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49b01f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49b01f
mov dword [ebp - 0x2a20], 0
jmp 0x49aefe
cmp dword [ebp - 0x2a20], 9
jae 0x49b01a
cvtsi2sd xmm0, dword [ebp - 0x2a20]
movsd xmm1, qword [ebp - 0xcae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaf0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcaf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49af6d
mov ecx, dword [ebp - 0x2a20]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcae8], xmm1
jmp 0x49ae69
cvtsi2sd xmm0, dword [ebp - 0x2a20]
movsd xmm1, qword [ebp - 0xcae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcaf8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcaf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49afca
mov eax, dword [ebp - 0x2a20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcae8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcae8], xmm1
jmp 0x49afe3
mov ecx, 1
test ecx, ecx
je 0x49afdf
jmp 0x49b09c
jmp 0x49b006
cvtsi2sd xmm0, dword [ebp - 0x2a20]
movsd xmm1, qword [ebp - 0xcae8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a24], edx
jmp 0x49b0a6
xor eax, eax
je 0x49b010
jmp 0x49b01f
jmp 0x49ae69
jmp 0x49ae69
mov ecx, 6
test ecx, ecx
je 0x49b09c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a28], eax
cvtsi2sd xmm0, dword [ebp - 0x2a28]
mov eax, dword [ebp - 0x2a28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcae8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a24], ecx
jmp 0x49b0a6
mov dword [ebp - 0x2a24], 2
mov edx, dword [ebp - 0x29e0]
shl edx, 2
add edx, dword [ebp - 0x29dc]
mov eax, dword [ebp - 0x2a24]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x29e0]
shl ecx, 2
add ecx, dword [ebp - 0x29dc]
mov dword [ecx], eax
jmp 0x49a010
mov edx, dword [ebp - 0x29d8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x29d8]
mov dword [ebp - 0x2a2c], eax
mov ecx, dword [ebp - 0x2a2c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2a30], ecx
mov edx, dword [ebp - 0x2a30]
mov dword [ebp - 0x2a34], edx
xor eax, eax
mov byte [ebp - 0x77], al
lea ecx, [ebp - 0x77]
call fcn.00423e30
mov dword [ebp - 0x2a38], eax
mov ecx, dword [ebp - 0x2a38]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x49c20c
mov eax, dword [ebp - 0x2a38]
mov dword [ebp - 0x2a3c], eax
mov dword [ebp - 0x2a40], 0
jmp 0x49b158
mov ecx, dword [ebp - 0x2a40]
add ecx, 1
mov dword [ebp - 0x2a40], ecx
cmp dword [ebp - 0x2a40], 1
jae 0x49c20c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49b42d
xor eax, eax
je 0x49b1a2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49b1de
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d8]
movsd qword [ebp - 0xcb00], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49b37e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49b37e
mov dword [ebp - 0x2a44], 0
jmp 0x49b25d
cmp dword [ebp - 0x2a44], 9
jae 0x49b379
cvtsi2sd xmm0, dword [ebp - 0x2a44]
movsd xmm1, qword [ebp - 0xcb00]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb08], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b2cc
mov ecx, dword [ebp - 0x2a44]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcb00]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb00], xmm1
jmp 0x49b1c8
cvtsi2sd xmm0, dword [ebp - 0x2a44]
movsd xmm1, qword [ebp - 0xcb00]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb10], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcb10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b329
mov eax, dword [ebp - 0x2a44]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb00]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb00], xmm1
jmp 0x49b342
mov ecx, 1
test ecx, ecx
je 0x49b33e
jmp 0x49b3fb
jmp 0x49b365
cvtsi2sd xmm0, dword [ebp - 0x2a44]
movsd xmm1, qword [ebp - 0xcb00]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a48], edx
jmp 0x49b405
xor eax, eax
je 0x49b36f
jmp 0x49b37e
jmp 0x49b1c8
jmp 0x49b1c8
mov ecx, 6
test ecx, ecx
je 0x49b3fb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a4c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a4c]
mov eax, dword [ebp - 0x2a4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcb00]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a48], ecx
jmp 0x49b405
mov dword [ebp - 0x2a48], 2
mov edx, dword [ebp - 0x2a40]
shl edx, 2
add edx, dword [ebp - 0x2a3c]
mov eax, dword [ebp - 0x2a48]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a40]
shl ecx, 2
add ecx, dword [ebp - 0x2a3c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49bf3f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49b73a
xor eax, eax
je 0x49b4af
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49b4eb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xcb18], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49b68b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49b68b
mov dword [ebp - 0x2a50], 0
jmp 0x49b56a
cmp dword [ebp - 0x2a50], 9
jae 0x49b686
cvtsi2sd xmm0, dword [ebp - 0x2a50]
movsd xmm1, qword [ebp - 0xcb18]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb20], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b5d9
mov ecx, dword [ebp - 0x2a50]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcb18]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb18], xmm1
jmp 0x49b4d5
cvtsi2sd xmm0, dword [ebp - 0x2a50]
movsd xmm1, qword [ebp - 0xcb18]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb28], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcb28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b636
mov eax, dword [ebp - 0x2a50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb18]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb18], xmm1
jmp 0x49b64f
mov ecx, 1
test ecx, ecx
je 0x49b64b
jmp 0x49b708
jmp 0x49b672
cvtsi2sd xmm0, dword [ebp - 0x2a50]
movsd xmm1, qword [ebp - 0xcb18]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a54], edx
jmp 0x49b712
xor eax, eax
je 0x49b67c
jmp 0x49b68b
jmp 0x49b4d5
jmp 0x49b4d5
mov ecx, 6
test ecx, ecx
je 0x49b708
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a58], eax
cvtsi2sd xmm0, dword [ebp - 0x2a58]
mov eax, dword [ebp - 0x2a58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcb18]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a54], ecx
jmp 0x49b712
mov dword [ebp - 0x2a54], 2
mov edx, dword [ebp - 0x2a40]
shl edx, 2
add edx, dword [ebp - 0x2a3c]
mov eax, dword [ebp - 0x2a54]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a40]
shl ecx, 2
add ecx, dword [ebp - 0x2a3c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49ba02
xor eax, eax
je 0x49b777
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49b7b3
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xcb30], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49b953
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49b953
mov dword [ebp - 0x2a5c], 0
jmp 0x49b832
cmp dword [ebp - 0x2a5c], 9
jae 0x49b94e
cvtsi2sd xmm0, dword [ebp - 0x2a5c]
movsd xmm1, qword [ebp - 0xcb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b8a1
mov ecx, dword [ebp - 0x2a5c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb30], xmm1
jmp 0x49b79d
cvtsi2sd xmm0, dword [ebp - 0x2a5c]
movsd xmm1, qword [ebp - 0xcb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcb40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49b8fe
mov eax, dword [ebp - 0x2a5c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb30], xmm1
jmp 0x49b917
mov ecx, 1
test ecx, ecx
je 0x49b913
jmp 0x49b9d0
jmp 0x49b93a
cvtsi2sd xmm0, dword [ebp - 0x2a5c]
movsd xmm1, qword [ebp - 0xcb30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a60], edx
jmp 0x49b9da
xor eax, eax
je 0x49b944
jmp 0x49b953
jmp 0x49b79d
jmp 0x49b79d
mov ecx, 6
test ecx, ecx
je 0x49b9d0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a64], eax
cvtsi2sd xmm0, dword [ebp - 0x2a64]
mov eax, dword [ebp - 0x2a64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcb30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a60], ecx
jmp 0x49b9da
mov dword [ebp - 0x2a60], 2
mov edx, dword [ebp - 0x2a40]
shl edx, 2
add edx, dword [ebp - 0x2a3c]
mov eax, dword [ebp - 0x2a60]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a40]
shl ecx, 2
add ecx, dword [ebp - 0x2a3c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2a40]
add edx, 0xffffffca
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcb48], xmm0
xor eax, eax
je 0x49ba1c
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49ba58
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcb48]
movsd qword [ebp - 0xcb50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49bbf8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49bbf8
mov dword [ebp - 0x2a68], 0
jmp 0x49bad7
cmp dword [ebp - 0x2a68], 9
jae 0x49bbf3
cvtsi2sd xmm0, dword [ebp - 0x2a68]
movsd xmm1, qword [ebp - 0xcb50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49bb46
mov ecx, dword [ebp - 0x2a68]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcb50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb50], xmm1
jmp 0x49ba42
cvtsi2sd xmm0, dword [ebp - 0x2a68]
movsd xmm1, qword [ebp - 0xcb50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcb60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49bba3
mov eax, dword [ebp - 0x2a68]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb50], xmm1
jmp 0x49bbbc
mov ecx, 1
test ecx, ecx
je 0x49bbb8
jmp 0x49bc75
jmp 0x49bbdf
cvtsi2sd xmm0, dword [ebp - 0x2a68]
movsd xmm1, qword [ebp - 0xcb50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a6c], edx
jmp 0x49bc7f
xor eax, eax
je 0x49bbe9
jmp 0x49bbf8
jmp 0x49ba42
jmp 0x49ba42
mov ecx, 6
test ecx, ecx
je 0x49bc75
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a70], eax
cvtsi2sd xmm0, dword [ebp - 0x2a70]
mov eax, dword [ebp - 0x2a70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcb50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a6c], ecx
jmp 0x49bc7f
mov dword [ebp - 0x2a6c], 2
mov edx, dword [ebp - 0x2a40]
add edx, 0xffffffca
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcb68], xmm0
xor eax, eax
je 0x49bc99
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49bcd5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcb68]
movsd qword [ebp - 0xcb70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49be75
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49be75
mov dword [ebp - 0x2a74], 0
jmp 0x49bd54
cmp dword [ebp - 0x2a74], 9
jae 0x49be70
cvtsi2sd xmm0, dword [ebp - 0x2a74]
movsd xmm1, qword [ebp - 0xcb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49bdc3
mov ecx, dword [ebp - 0x2a74]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb70], xmm1
jmp 0x49bcbf
cvtsi2sd xmm0, dword [ebp - 0x2a74]
movsd xmm1, qword [ebp - 0xcb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcb80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49be20
mov eax, dword [ebp - 0x2a74]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb70], xmm1
jmp 0x49be39
mov ecx, 1
test ecx, ecx
je 0x49be35
jmp 0x49bef2
jmp 0x49be5c
cvtsi2sd xmm0, dword [ebp - 0x2a74]
movsd xmm1, qword [ebp - 0xcb70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a78], edx
jmp 0x49befc
xor eax, eax
je 0x49be66
jmp 0x49be75
jmp 0x49bcbf
jmp 0x49bcbf
mov ecx, 6
test ecx, ecx
je 0x49bef2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a7c], eax
cvtsi2sd xmm0, dword [ebp - 0x2a7c]
mov eax, dword [ebp - 0x2a7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcb70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a78], ecx
jmp 0x49befc
mov dword [ebp - 0x2a78], 2
mov edx, dword [ebp - 0x2a40]
shl edx, 2
add edx, dword [ebp - 0x2a3c]
mov eax, dword [ebp - 0x2a6c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2a40]
shl ecx, 2
add ecx, dword [ebp - 0x2a3c]
mov edx, dword [ebp - 0x2a78]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2a40]
shl ecx, 2
add ecx, dword [ebp - 0x2a3c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49c207
xor eax, eax
je 0x49bf7c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49bfb8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcb88], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49c158
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49c158
mov dword [ebp - 0x2a80], 0
jmp 0x49c037
cmp dword [ebp - 0x2a80], 9
jae 0x49c153
cvtsi2sd xmm0, dword [ebp - 0x2a80]
movsd xmm1, qword [ebp - 0xcb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb90], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c0a6
mov ecx, dword [ebp - 0x2a80]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb88], xmm1
jmp 0x49bfa2
cvtsi2sd xmm0, dword [ebp - 0x2a80]
movsd xmm1, qword [ebp - 0xcb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb98], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcb98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c103
mov eax, dword [ebp - 0x2a80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcb88]
addsd xmm1, xmm0
movsd qword [ebp - 0xcb88], xmm1
jmp 0x49c11c
mov ecx, 1
test ecx, ecx
je 0x49c118
jmp 0x49c1d5
jmp 0x49c13f
cvtsi2sd xmm0, dword [ebp - 0x2a80]
movsd xmm1, qword [ebp - 0xcb88]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2a84], edx
jmp 0x49c1df
xor eax, eax
je 0x49c149
jmp 0x49c158
jmp 0x49bfa2
jmp 0x49bfa2
mov ecx, 6
test ecx, ecx
je 0x49c1d5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2a88], eax
cvtsi2sd xmm0, dword [ebp - 0x2a88]
mov eax, dword [ebp - 0x2a88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcb88]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2a84], ecx
jmp 0x49c1df
mov dword [ebp - 0x2a84], 2
mov edx, dword [ebp - 0x2a40]
shl edx, 2
add edx, dword [ebp - 0x2a3c]
mov eax, dword [ebp - 0x2a84]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2a40]
shl ecx, 2
add ecx, dword [ebp - 0x2a3c]
mov dword [ecx], eax
jmp 0x49b149
mov edx, dword [ebp - 0x2a38]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2a38]
mov dword [ebp - 0x2a8c], eax
mov ecx, dword [ebp - 0x2a8c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2a90], ecx
mov edx, dword [ebp - 0x2a90]
mov dword [ebp - 0x2a94], edx
mov eax, dword [ebp - 0x2a34]
mov dword [ebp - 0x29d4], eax
cmp dword [ebp - 0x29d4], 0
je 0x49d397
xor ecx, ecx
mov byte [ebp - 0x78], cl
lea ecx, [ebp - 0x78]
call fcn.00423e00
mov dword [ebp - 0x2a98], eax
mov edx, dword [ebp - 0x2a98]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x49d35e
mov ecx, dword [ebp - 0x2a98]
mov dword [ebp - 0x2a9c], ecx
mov dword [ebp - 0x2aa0], 0
jmp 0x49c2aa
mov edx, dword [ebp - 0x2aa0]
add edx, 1
mov dword [ebp - 0x2aa0], edx
cmp dword [ebp - 0x2aa0], 1
jae 0x49d35e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49c57f
xor eax, eax
je 0x49c2f4
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x49c330
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xcba0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49c4d0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49c4d0
mov dword [ebp - 0x2aa4], 0
jmp 0x49c3af
cmp dword [ebp - 0x2aa4], 9
jae 0x49c4cb
cvtsi2sd xmm0, dword [ebp - 0x2aa4]
movsd xmm1, qword [ebp - 0xcba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcba8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcba8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c41e
mov ecx, dword [ebp - 0x2aa4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcba0], xmm1
jmp 0x49c31a
cvtsi2sd xmm0, dword [ebp - 0x2aa4]
movsd xmm1, qword [ebp - 0xcba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbb0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcbb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c47b
mov eax, dword [ebp - 0x2aa4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcba0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcba0], xmm1
jmp 0x49c494
mov ecx, 1
test ecx, ecx
je 0x49c490
jmp 0x49c54d
jmp 0x49c4b7
cvtsi2sd xmm0, dword [ebp - 0x2aa4]
movsd xmm1, qword [ebp - 0xcba0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2aa8], edx
jmp 0x49c557
xor eax, eax
je 0x49c4c1
jmp 0x49c4d0
jmp 0x49c31a
jmp 0x49c31a
mov ecx, 6
test ecx, ecx
je 0x49c54d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2aac], eax
cvtsi2sd xmm0, dword [ebp - 0x2aac]
mov eax, dword [ebp - 0x2aac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcba0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2aa8], ecx
jmp 0x49c557
mov dword [ebp - 0x2aa8], 2
mov edx, dword [ebp - 0x2aa0]
shl edx, 2
add edx, dword [ebp - 0x2a9c]
mov eax, dword [ebp - 0x2aa8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 2
add ecx, dword [ebp - 0x2a9c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49d091
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49c88c
xor eax, eax
je 0x49c601
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49c63d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xcbb8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49c7dd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49c7dd
mov dword [ebp - 0x2ab0], 0
jmp 0x49c6bc
cmp dword [ebp - 0x2ab0], 9
jae 0x49c7d8
cvtsi2sd xmm0, dword [ebp - 0x2ab0]
movsd xmm1, qword [ebp - 0xcbb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbc0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c72b
mov ecx, dword [ebp - 0x2ab0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcbb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbb8], xmm1
jmp 0x49c627
cvtsi2sd xmm0, dword [ebp - 0x2ab0]
movsd xmm1, qword [ebp - 0xcbb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbc8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcbc8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c788
mov eax, dword [ebp - 0x2ab0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbb8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbb8], xmm1
jmp 0x49c7a1
mov ecx, 1
test ecx, ecx
je 0x49c79d
jmp 0x49c85a
jmp 0x49c7c4
cvtsi2sd xmm0, dword [ebp - 0x2ab0]
movsd xmm1, qword [ebp - 0xcbb8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ab4], edx
jmp 0x49c864
xor eax, eax
je 0x49c7ce
jmp 0x49c7dd
jmp 0x49c627
jmp 0x49c627
mov ecx, 6
test ecx, ecx
je 0x49c85a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ab8], eax
cvtsi2sd xmm0, dword [ebp - 0x2ab8]
mov eax, dword [ebp - 0x2ab8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcbb8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ab4], ecx
jmp 0x49c864
mov dword [ebp - 0x2ab4], 2
mov edx, dword [ebp - 0x2aa0]
shl edx, 2
add edx, dword [ebp - 0x2a9c]
mov eax, dword [ebp - 0x2ab4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 2
add ecx, dword [ebp - 0x2a9c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49cb54
xor eax, eax
je 0x49c8c9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49c905
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcbd0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49caa5
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49caa5
mov dword [ebp - 0x2abc], 0
jmp 0x49c984
cmp dword [ebp - 0x2abc], 9
jae 0x49caa0
cvtsi2sd xmm0, dword [ebp - 0x2abc]
movsd xmm1, qword [ebp - 0xcbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49c9f3
mov ecx, dword [ebp - 0x2abc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbd0], xmm1
jmp 0x49c8ef
cvtsi2sd xmm0, dword [ebp - 0x2abc]
movsd xmm1, qword [ebp - 0xcbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbe0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcbe0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ca50
mov eax, dword [ebp - 0x2abc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbd0], xmm1
jmp 0x49ca69
mov ecx, 1
test ecx, ecx
je 0x49ca65
jmp 0x49cb22
jmp 0x49ca8c
cvtsi2sd xmm0, dword [ebp - 0x2abc]
movsd xmm1, qword [ebp - 0xcbd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ac0], edx
jmp 0x49cb2c
xor eax, eax
je 0x49ca96
jmp 0x49caa5
jmp 0x49c8ef
jmp 0x49c8ef
mov ecx, 6
test ecx, ecx
je 0x49cb22
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ac4], eax
cvtsi2sd xmm0, dword [ebp - 0x2ac4]
mov eax, dword [ebp - 0x2ac4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcbd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ac0], ecx
jmp 0x49cb2c
mov dword [ebp - 0x2ac0], 2
mov edx, dword [ebp - 0x2aa0]
shl edx, 2
add edx, dword [ebp - 0x2a9c]
mov eax, dword [ebp - 0x2ac0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 2
add ecx, dword [ebp - 0x2a9c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2aa0]
add edx, 0xffffffcb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcbe8], xmm0
xor eax, eax
je 0x49cb6e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49cbaa
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcbe8]
movsd qword [ebp - 0xcbf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49cd4a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49cd4a
mov dword [ebp - 0x2ac8], 0
jmp 0x49cc29
cmp dword [ebp - 0x2ac8], 9
jae 0x49cd45
cvtsi2sd xmm0, dword [ebp - 0x2ac8]
movsd xmm1, qword [ebp - 0xcbf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cc98
mov ecx, dword [ebp - 0x2ac8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcbf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbf0], xmm1
jmp 0x49cb94
cvtsi2sd xmm0, dword [ebp - 0x2ac8]
movsd xmm1, qword [ebp - 0xcbf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcc00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ccf5
mov eax, dword [ebp - 0x2ac8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcbf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcbf0], xmm1
jmp 0x49cd0e
mov ecx, 1
test ecx, ecx
je 0x49cd0a
jmp 0x49cdc7
jmp 0x49cd31
cvtsi2sd xmm0, dword [ebp - 0x2ac8]
movsd xmm1, qword [ebp - 0xcbf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2acc], edx
jmp 0x49cdd1
xor eax, eax
je 0x49cd3b
jmp 0x49cd4a
jmp 0x49cb94
jmp 0x49cb94
mov ecx, 6
test ecx, ecx
je 0x49cdc7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ad0], eax
cvtsi2sd xmm0, dword [ebp - 0x2ad0]
mov eax, dword [ebp - 0x2ad0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcbf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2acc], ecx
jmp 0x49cdd1
mov dword [ebp - 0x2acc], 2
mov edx, dword [ebp - 0x2aa0]
add edx, 0xffffffcb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcc08], xmm0
xor eax, eax
je 0x49cdeb
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49ce27
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcc08]
movsd qword [ebp - 0xcc10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49cfc7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49cfc7
mov dword [ebp - 0x2ad4], 0
jmp 0x49cea6
cmp dword [ebp - 0x2ad4], 9
jae 0x49cfc2
cvtsi2sd xmm0, dword [ebp - 0x2ad4]
movsd xmm1, qword [ebp - 0xcc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cf15
mov ecx, dword [ebp - 0x2ad4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc10], xmm1
jmp 0x49ce11
cvtsi2sd xmm0, dword [ebp - 0x2ad4]
movsd xmm1, qword [ebp - 0xcc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcc20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49cf72
mov eax, dword [ebp - 0x2ad4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc10], xmm1
jmp 0x49cf8b
mov ecx, 1
test ecx, ecx
je 0x49cf87
jmp 0x49d044
jmp 0x49cfae
cvtsi2sd xmm0, dword [ebp - 0x2ad4]
movsd xmm1, qword [ebp - 0xcc10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ad8], edx
jmp 0x49d04e
xor eax, eax
je 0x49cfb8
jmp 0x49cfc7
jmp 0x49ce11
jmp 0x49ce11
mov ecx, 6
test ecx, ecx
je 0x49d044
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2adc], eax
cvtsi2sd xmm0, dword [ebp - 0x2adc]
mov eax, dword [ebp - 0x2adc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcc10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ad8], ecx
jmp 0x49d04e
mov dword [ebp - 0x2ad8], 2
mov edx, dword [ebp - 0x2aa0]
shl edx, 2
add edx, dword [ebp - 0x2a9c]
mov eax, dword [ebp - 0x2acc]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 2
add ecx, dword [ebp - 0x2a9c]
mov edx, dword [ebp - 0x2ad8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 2
add ecx, dword [ebp - 0x2a9c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49d359
xor eax, eax
je 0x49d0ce
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49d10a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xcc28], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49d2aa
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49d2aa
mov dword [ebp - 0x2ae0], 0
jmp 0x49d189
cmp dword [ebp - 0x2ae0], 9
jae 0x49d2a5
cvtsi2sd xmm0, dword [ebp - 0x2ae0]
movsd xmm1, qword [ebp - 0xcc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc30], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d1f8
mov ecx, dword [ebp - 0x2ae0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc28], xmm1
jmp 0x49d0f4
cvtsi2sd xmm0, dword [ebp - 0x2ae0]
movsd xmm1, qword [ebp - 0xcc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc38], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcc38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d255
mov eax, dword [ebp - 0x2ae0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc28]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc28], xmm1
jmp 0x49d26e
mov ecx, 1
test ecx, ecx
je 0x49d26a
jmp 0x49d327
jmp 0x49d291
cvtsi2sd xmm0, dword [ebp - 0x2ae0]
movsd xmm1, qword [ebp - 0xcc28]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ae4], edx
jmp 0x49d331
xor eax, eax
je 0x49d29b
jmp 0x49d2aa
jmp 0x49d0f4
jmp 0x49d0f4
mov ecx, 6
test ecx, ecx
je 0x49d327
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ae8], eax
cvtsi2sd xmm0, dword [ebp - 0x2ae8]
mov eax, dword [ebp - 0x2ae8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcc28]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ae4], ecx
jmp 0x49d331
mov dword [ebp - 0x2ae4], 2
mov edx, dword [ebp - 0x2aa0]
shl edx, 2
add edx, dword [ebp - 0x2a9c]
mov eax, dword [ebp - 0x2ae4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2aa0]
shl ecx, 2
add ecx, dword [ebp - 0x2a9c]
mov dword [ecx], eax
jmp 0x49c29b
mov edx, dword [ebp - 0x2a98]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2a98]
mov dword [ebp - 0x2aec], eax
mov ecx, dword [ebp - 0x2aec]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2af0], ecx
mov edx, dword [ebp - 0x2af0]
mov dword [ebp - 0x2a94], edx
lea eax, [ebp - 0x16648]
mov ecx, 1
imul edx, ecx, 0x12
movsx eax, byte [eax + edx]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x79], al
movzx ecx, byte [ebp - 0x79]
test ecx, ecx
jne 0x49d418
mov dword [ebp - 0x2af4], 0
jmp 0x49d3d5
mov edx, dword [ebp - 0x2af4]
add edx, 1
mov dword [ebp - 0x2af4], edx
cmp dword [ebp - 0x2af4], 0x13
jge 0x49d418
mov eax, dword [ebp - 0x2af4]
shl eax, 0
lea ecx, [ebp - 0x16648]
movsx ecx, byte [ecx + eax]
mov eax, dword [ebp - 0x2af4]
cdq
mov esi, 0x3a
idiv esi
add edx, 0x35
xor ecx, edx
lea edx, [ebp - 0x16648]
mov eax, dword [ebp - 0x2af4]
shl eax, 0
mov byte [edx + eax], cl
jmp 0x49d3c6
xor ecx, ecx
mov byte [ebp - 0x7a], cl
lea ecx, [ebp - 0x7a]
call fcn.00423dd0
mov dword [ebp - 0x2af8], eax
mov edx, dword [ebp - 0x2af8]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x49e518
mov ecx, dword [ebp - 0x2af8]
mov dword [ebp - 0x2afc], ecx
mov dword [ebp - 0x2b00], 0
jmp 0x49d464
mov edx, dword [ebp - 0x2b00]
add edx, 1
mov dword [ebp - 0x2b00], edx
cmp dword [ebp - 0x2b00], 1
jae 0x49e518
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49d739
xor eax, eax
je 0x49d4ae
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x49d4ea
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262d0]
movsd qword [ebp - 0xcc40], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49d68a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49d68a
mov dword [ebp - 0x2b04], 0
jmp 0x49d569
cmp dword [ebp - 0x2b04], 9
jae 0x49d685
cvtsi2sd xmm0, dword [ebp - 0x2b04]
movsd xmm1, qword [ebp - 0xcc40]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc48], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d5d8
mov ecx, dword [ebp - 0x2b04]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcc40]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc40], xmm1
jmp 0x49d4d4
cvtsi2sd xmm0, dword [ebp - 0x2b04]
movsd xmm1, qword [ebp - 0xcc40]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc50], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcc50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d635
mov eax, dword [ebp - 0x2b04]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc40]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc40], xmm1
jmp 0x49d64e
mov ecx, 1
test ecx, ecx
je 0x49d64a
jmp 0x49d707
jmp 0x49d671
cvtsi2sd xmm0, dword [ebp - 0x2b04]
movsd xmm1, qword [ebp - 0xcc40]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b08], edx
jmp 0x49d711
xor eax, eax
je 0x49d67b
jmp 0x49d68a
jmp 0x49d4d4
jmp 0x49d4d4
mov ecx, 6
test ecx, ecx
je 0x49d707
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b0c], eax
cvtsi2sd xmm0, dword [ebp - 0x2b0c]
mov eax, dword [ebp - 0x2b0c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcc40]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b08], ecx
jmp 0x49d711
mov dword [ebp - 0x2b08], 2
mov edx, dword [ebp - 0x2b00]
shl edx, 2
add edx, dword [ebp - 0x2afc]
mov eax, dword [ebp - 0x2b08]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b00]
shl ecx, 2
add ecx, dword [ebp - 0x2afc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49e24b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49da46
xor eax, eax
je 0x49d7bb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49d7f7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xcc58], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49d997
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49d997
mov dword [ebp - 0x2b10], 0
jmp 0x49d876
cmp dword [ebp - 0x2b10], 9
jae 0x49d992
cvtsi2sd xmm0, dword [ebp - 0x2b10]
movsd xmm1, qword [ebp - 0xcc58]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc60], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d8e5
mov ecx, dword [ebp - 0x2b10]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcc58]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc58], xmm1
jmp 0x49d7e1
cvtsi2sd xmm0, dword [ebp - 0x2b10]
movsd xmm1, qword [ebp - 0xcc58]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc68], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcc68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49d942
mov eax, dword [ebp - 0x2b10]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc58]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc58], xmm1
jmp 0x49d95b
mov ecx, 1
test ecx, ecx
je 0x49d957
jmp 0x49da14
jmp 0x49d97e
cvtsi2sd xmm0, dword [ebp - 0x2b10]
movsd xmm1, qword [ebp - 0xcc58]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b14], edx
jmp 0x49da1e
xor eax, eax
je 0x49d988
jmp 0x49d997
jmp 0x49d7e1
jmp 0x49d7e1
mov ecx, 6
test ecx, ecx
je 0x49da14
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b18], eax
cvtsi2sd xmm0, dword [ebp - 0x2b18]
mov eax, dword [ebp - 0x2b18]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcc58]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b14], ecx
jmp 0x49da1e
mov dword [ebp - 0x2b14], 2
mov edx, dword [ebp - 0x2b00]
shl edx, 2
add edx, dword [ebp - 0x2afc]
mov eax, dword [ebp - 0x2b14]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b00]
shl ecx, 2
add ecx, dword [ebp - 0x2afc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49dd0e
xor eax, eax
je 0x49da83
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49dabf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcc70], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49dc5f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49dc5f
mov dword [ebp - 0x2b1c], 0
jmp 0x49db3e
cmp dword [ebp - 0x2b1c], 9
jae 0x49dc5a
cvtsi2sd xmm0, dword [ebp - 0x2b1c]
movsd xmm1, qword [ebp - 0xcc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49dbad
mov ecx, dword [ebp - 0x2b1c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc70], xmm1
jmp 0x49daa9
cvtsi2sd xmm0, dword [ebp - 0x2b1c]
movsd xmm1, qword [ebp - 0xcc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcc80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49dc0a
mov eax, dword [ebp - 0x2b1c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc70]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc70], xmm1
jmp 0x49dc23
mov ecx, 1
test ecx, ecx
je 0x49dc1f
jmp 0x49dcdc
jmp 0x49dc46
cvtsi2sd xmm0, dword [ebp - 0x2b1c]
movsd xmm1, qword [ebp - 0xcc70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b20], edx
jmp 0x49dce6
xor eax, eax
je 0x49dc50
jmp 0x49dc5f
jmp 0x49daa9
jmp 0x49daa9
mov ecx, 6
test ecx, ecx
je 0x49dcdc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b24], eax
cvtsi2sd xmm0, dword [ebp - 0x2b24]
mov eax, dword [ebp - 0x2b24]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcc70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b20], ecx
jmp 0x49dce6
mov dword [ebp - 0x2b20], 2
mov edx, dword [ebp - 0x2b00]
shl edx, 2
add edx, dword [ebp - 0x2afc]
mov eax, dword [ebp - 0x2b20]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b00]
shl ecx, 2
add ecx, dword [ebp - 0x2afc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b00]
add edx, 0xffffffcb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcc88], xmm0
xor eax, eax
je 0x49dd28
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49dd64
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcc88]
movsd qword [ebp - 0xcc90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49df04
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49df04
mov dword [ebp - 0x2b28], 0
jmp 0x49dde3
cmp dword [ebp - 0x2b28], 9
jae 0x49deff
cvtsi2sd xmm0, dword [ebp - 0x2b28]
movsd xmm1, qword [ebp - 0xcc90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49de52
mov ecx, dword [ebp - 0x2b28]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcc90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc90], xmm1
jmp 0x49dd4e
cvtsi2sd xmm0, dword [ebp - 0x2b28]
movsd xmm1, qword [ebp - 0xcc90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcca0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcca0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49deaf
mov eax, dword [ebp - 0x2b28]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcc90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcc90], xmm1
jmp 0x49dec8
mov ecx, 1
test ecx, ecx
je 0x49dec4
jmp 0x49df81
jmp 0x49deeb
cvtsi2sd xmm0, dword [ebp - 0x2b28]
movsd xmm1, qword [ebp - 0xcc90]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b2c], edx
jmp 0x49df8b
xor eax, eax
je 0x49def5
jmp 0x49df04
jmp 0x49dd4e
jmp 0x49dd4e
mov ecx, 6
test ecx, ecx
je 0x49df81
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b30], eax
cvtsi2sd xmm0, dword [ebp - 0x2b30]
mov eax, dword [ebp - 0x2b30]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcc90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b2c], ecx
jmp 0x49df8b
mov dword [ebp - 0x2b2c], 2
mov edx, dword [ebp - 0x2b00]
add edx, 0xffffffcb
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcca8], xmm0
xor eax, eax
je 0x49dfa5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49dfe1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcca8]
movsd qword [ebp - 0xccb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49e181
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49e181
mov dword [ebp - 0x2b34], 0
jmp 0x49e060
cmp dword [ebp - 0x2b34], 9
jae 0x49e17c
cvtsi2sd xmm0, dword [ebp - 0x2b34]
movsd xmm1, qword [ebp - 0xccb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xccb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xccb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e0cf
mov ecx, dword [ebp - 0x2b34]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xccb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xccb0], xmm1
jmp 0x49dfcb
cvtsi2sd xmm0, dword [ebp - 0x2b34]
movsd xmm1, qword [ebp - 0xccb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xccc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xccc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e12c
mov eax, dword [ebp - 0x2b34]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xccb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xccb0], xmm1
jmp 0x49e145
mov ecx, 1
test ecx, ecx
je 0x49e141
jmp 0x49e1fe
jmp 0x49e168
cvtsi2sd xmm0, dword [ebp - 0x2b34]
movsd xmm1, qword [ebp - 0xccb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b38], edx
jmp 0x49e208
xor eax, eax
je 0x49e172
jmp 0x49e181
jmp 0x49dfcb
jmp 0x49dfcb
mov ecx, 6
test ecx, ecx
je 0x49e1fe
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b3c], eax
cvtsi2sd xmm0, dword [ebp - 0x2b3c]
mov eax, dword [ebp - 0x2b3c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xccb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b38], ecx
jmp 0x49e208
mov dword [ebp - 0x2b38], 2
mov edx, dword [ebp - 0x2b00]
shl edx, 2
add edx, dword [ebp - 0x2afc]
mov eax, dword [ebp - 0x2b2c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2b00]
shl ecx, 2
add ecx, dword [ebp - 0x2afc]
mov edx, dword [ebp - 0x2b38]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2b00]
shl ecx, 2
add ecx, dword [ebp - 0x2afc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49e513
xor eax, eax
je 0x49e288
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49e2c4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xccc8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49e464
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49e464
mov dword [ebp - 0x2b40], 0
jmp 0x49e343
cmp dword [ebp - 0x2b40], 9
jae 0x49e45f
cvtsi2sd xmm0, dword [ebp - 0x2b40]
movsd xmm1, qword [ebp - 0xccc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xccd0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xccd0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e3b2
mov ecx, dword [ebp - 0x2b40]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xccc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xccc8], xmm1
jmp 0x49e2ae
cvtsi2sd xmm0, dword [ebp - 0x2b40]
movsd xmm1, qword [ebp - 0xccc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xccd8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xccd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e40f
mov eax, dword [ebp - 0x2b40]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xccc8]
addsd xmm1, xmm0
movsd qword [ebp - 0xccc8], xmm1
jmp 0x49e428
mov ecx, 1
test ecx, ecx
je 0x49e424
jmp 0x49e4e1
jmp 0x49e44b
cvtsi2sd xmm0, dword [ebp - 0x2b40]
movsd xmm1, qword [ebp - 0xccc8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b44], edx
jmp 0x49e4eb
xor eax, eax
je 0x49e455
jmp 0x49e464
jmp 0x49e2ae
jmp 0x49e2ae
mov ecx, 6
test ecx, ecx
je 0x49e4e1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b48], eax
cvtsi2sd xmm0, dword [ebp - 0x2b48]
mov eax, dword [ebp - 0x2b48]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xccc8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b44], ecx
jmp 0x49e4eb
mov dword [ebp - 0x2b44], 2
mov edx, dword [ebp - 0x2b00]
shl edx, 2
add edx, dword [ebp - 0x2afc]
mov eax, dword [ebp - 0x2b44]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b00]
shl ecx, 2
add ecx, dword [ebp - 0x2afc]
mov dword [ecx], eax
jmp 0x49d455
mov edx, dword [ebp - 0x2af8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2af8]
mov dword [ebp - 0x2b4c], eax
mov ecx, dword [ebp - 0x2b4c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2b50], ecx
mov edx, dword [ebp - 0x2b50]
mov dword [ebp - 0x2b54], edx
xor eax, eax
mov byte [ebp - 0x7b], al
lea ecx, [ebp - 0x7b]
call fcn.00423da0
mov dword [ebp - 0x2b58], eax
mov ecx, dword [ebp - 0x2b58]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x49f651
mov eax, dword [ebp - 0x2b58]
mov dword [ebp - 0x2b5c], eax
mov dword [ebp - 0x2b60], 0
jmp 0x49e59d
mov ecx, dword [ebp - 0x2b60]
add ecx, 1
mov dword [ebp - 0x2b60], ecx
cmp dword [ebp - 0x2b60], 1
jae 0x49f651
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49e872
xor eax, eax
je 0x49e5e7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49e623
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xcce0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49e7c3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49e7c3
mov dword [ebp - 0x2b64], 0
jmp 0x49e6a2
cmp dword [ebp - 0x2b64], 9
jae 0x49e7be
cvtsi2sd xmm0, dword [ebp - 0x2b64]
movsd xmm1, qword [ebp - 0xcce0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcce8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcce8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e711
mov ecx, dword [ebp - 0x2b64]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcce0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcce0], xmm1
jmp 0x49e60d
cvtsi2sd xmm0, dword [ebp - 0x2b64]
movsd xmm1, qword [ebp - 0xcce0]
addsd xmm1, xmm0
movsd qword [ebp - 0xccf0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xccf0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49e76e
mov eax, dword [ebp - 0x2b64]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcce0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcce0], xmm1
jmp 0x49e787
mov ecx, 1
test ecx, ecx
je 0x49e783
jmp 0x49e840
jmp 0x49e7aa
cvtsi2sd xmm0, dword [ebp - 0x2b64]
movsd xmm1, qword [ebp - 0xcce0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b68], edx
jmp 0x49e84a
xor eax, eax
je 0x49e7b4
jmp 0x49e7c3
jmp 0x49e60d
jmp 0x49e60d
mov ecx, 6
test ecx, ecx
je 0x49e840
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b6c], eax
cvtsi2sd xmm0, dword [ebp - 0x2b6c]
mov eax, dword [ebp - 0x2b6c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcce0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b68], ecx
jmp 0x49e84a
mov dword [ebp - 0x2b68], 2
mov edx, dword [ebp - 0x2b60]
shl edx, 2
add edx, dword [ebp - 0x2b5c]
mov eax, dword [ebp - 0x2b68]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b60]
shl ecx, 2
add ecx, dword [ebp - 0x2b5c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49f384
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49eb7f
xor eax, eax
je 0x49e8f4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49e930
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xccf8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49ead0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49ead0
mov dword [ebp - 0x2b70], 0
jmp 0x49e9af
cmp dword [ebp - 0x2b70], 9
jae 0x49eacb
cvtsi2sd xmm0, dword [ebp - 0x2b70]
movsd xmm1, qword [ebp - 0xccf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd00], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ea1e
mov ecx, dword [ebp - 0x2b70]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xccf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xccf8], xmm1
jmp 0x49e91a
cvtsi2sd xmm0, dword [ebp - 0x2b70]
movsd xmm1, qword [ebp - 0xccf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd08], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcd08]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ea7b
mov eax, dword [ebp - 0x2b70]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xccf8]
addsd xmm1, xmm0
movsd qword [ebp - 0xccf8], xmm1
jmp 0x49ea94
mov ecx, 1
test ecx, ecx
je 0x49ea90
jmp 0x49eb4d
jmp 0x49eab7
cvtsi2sd xmm0, dword [ebp - 0x2b70]
movsd xmm1, qword [ebp - 0xccf8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b74], edx
jmp 0x49eb57
xor eax, eax
je 0x49eac1
jmp 0x49ead0
jmp 0x49e91a
jmp 0x49e91a
mov ecx, 6
test ecx, ecx
je 0x49eb4d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b78], eax
cvtsi2sd xmm0, dword [ebp - 0x2b78]
mov eax, dword [ebp - 0x2b78]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xccf8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b74], ecx
jmp 0x49eb57
mov dword [ebp - 0x2b74], 2
mov edx, dword [ebp - 0x2b60]
shl edx, 2
add edx, dword [ebp - 0x2b5c]
mov eax, dword [ebp - 0x2b74]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b60]
shl ecx, 2
add ecx, dword [ebp - 0x2b5c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49ee47
xor eax, eax
je 0x49ebbc
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49ebf8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xcd10], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49ed98
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49ed98
mov dword [ebp - 0x2b7c], 0
jmp 0x49ec77
cmp dword [ebp - 0x2b7c], 9
jae 0x49ed93
cvtsi2sd xmm0, dword [ebp - 0x2b7c]
movsd xmm1, qword [ebp - 0xcd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ece6
mov ecx, dword [ebp - 0x2b7c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd10], xmm1
jmp 0x49ebe2
cvtsi2sd xmm0, dword [ebp - 0x2b7c]
movsd xmm1, qword [ebp - 0xcd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcd20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ed43
mov eax, dword [ebp - 0x2b7c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd10], xmm1
jmp 0x49ed5c
mov ecx, 1
test ecx, ecx
je 0x49ed58
jmp 0x49ee15
jmp 0x49ed7f
cvtsi2sd xmm0, dword [ebp - 0x2b7c]
movsd xmm1, qword [ebp - 0xcd10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b80], edx
jmp 0x49ee1f
xor eax, eax
je 0x49ed89
jmp 0x49ed98
jmp 0x49ebe2
jmp 0x49ebe2
mov ecx, 6
test ecx, ecx
je 0x49ee15
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b84], eax
cvtsi2sd xmm0, dword [ebp - 0x2b84]
mov eax, dword [ebp - 0x2b84]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcd10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b80], ecx
jmp 0x49ee1f
mov dword [ebp - 0x2b80], 2
mov edx, dword [ebp - 0x2b60]
shl edx, 2
add edx, dword [ebp - 0x2b5c]
mov eax, dword [ebp - 0x2b80]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b60]
shl ecx, 2
add ecx, dword [ebp - 0x2b5c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b60]
add edx, 0xffffffcc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcd28], xmm0
xor eax, eax
je 0x49ee61
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49ee9d
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcd28]
movsd qword [ebp - 0xcd30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49f03d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49f03d
mov dword [ebp - 0x2b88], 0
jmp 0x49ef1c
cmp dword [ebp - 0x2b88], 9
jae 0x49f038
cvtsi2sd xmm0, dword [ebp - 0x2b88]
movsd xmm1, qword [ebp - 0xcd30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49ef8b
mov ecx, dword [ebp - 0x2b88]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcd30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd30], xmm1
jmp 0x49ee87
cvtsi2sd xmm0, dword [ebp - 0x2b88]
movsd xmm1, qword [ebp - 0xcd30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd40], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcd40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49efe8
mov eax, dword [ebp - 0x2b88]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd30], xmm1
jmp 0x49f001
mov ecx, 1
test ecx, ecx
je 0x49effd
jmp 0x49f0ba
jmp 0x49f024
cvtsi2sd xmm0, dword [ebp - 0x2b88]
movsd xmm1, qword [ebp - 0xcd30]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b8c], edx
jmp 0x49f0c4
xor eax, eax
je 0x49f02e
jmp 0x49f03d
jmp 0x49ee87
jmp 0x49ee87
mov ecx, 6
test ecx, ecx
je 0x49f0ba
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b90], eax
cvtsi2sd xmm0, dword [ebp - 0x2b90]
mov eax, dword [ebp - 0x2b90]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcd30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b8c], ecx
jmp 0x49f0c4
mov dword [ebp - 0x2b8c], 2
mov edx, dword [ebp - 0x2b60]
add edx, 0xffffffcc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcd48], xmm0
xor eax, eax
je 0x49f0de
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49f11a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcd48]
movsd qword [ebp - 0xcd50], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49f2ba
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49f2ba
mov dword [ebp - 0x2b94], 0
jmp 0x49f199
cmp dword [ebp - 0x2b94], 9
jae 0x49f2b5
cvtsi2sd xmm0, dword [ebp - 0x2b94]
movsd xmm1, qword [ebp - 0xcd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f208
mov ecx, dword [ebp - 0x2b94]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd50], xmm1
jmp 0x49f104
cvtsi2sd xmm0, dword [ebp - 0x2b94]
movsd xmm1, qword [ebp - 0xcd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcd60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f265
mov eax, dword [ebp - 0x2b94]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd50]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd50], xmm1
jmp 0x49f27e
mov ecx, 1
test ecx, ecx
je 0x49f27a
jmp 0x49f337
jmp 0x49f2a1
cvtsi2sd xmm0, dword [ebp - 0x2b94]
movsd xmm1, qword [ebp - 0xcd50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2b98], edx
jmp 0x49f341
xor eax, eax
je 0x49f2ab
jmp 0x49f2ba
jmp 0x49f104
jmp 0x49f104
mov ecx, 6
test ecx, ecx
je 0x49f337
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2b9c], eax
cvtsi2sd xmm0, dword [ebp - 0x2b9c]
mov eax, dword [ebp - 0x2b9c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcd50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2b98], ecx
jmp 0x49f341
mov dword [ebp - 0x2b98], 2
mov edx, dword [ebp - 0x2b60]
shl edx, 2
add edx, dword [ebp - 0x2b5c]
mov eax, dword [ebp - 0x2b8c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2b60]
shl ecx, 2
add ecx, dword [ebp - 0x2b5c]
mov edx, dword [ebp - 0x2b98]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2b60]
shl ecx, 2
add ecx, dword [ebp - 0x2b5c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49f64c
xor eax, eax
je 0x49f3c1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49f3fd
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xcd68], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49f59d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49f59d
mov dword [ebp - 0x2ba0], 0
jmp 0x49f47c
cmp dword [ebp - 0x2ba0], 9
jae 0x49f598
cvtsi2sd xmm0, dword [ebp - 0x2ba0]
movsd xmm1, qword [ebp - 0xcd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd70], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f4eb
mov ecx, dword [ebp - 0x2ba0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd68], xmm1
jmp 0x49f3e7
cvtsi2sd xmm0, dword [ebp - 0x2ba0]
movsd xmm1, qword [ebp - 0xcd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd78], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcd78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f548
mov eax, dword [ebp - 0x2ba0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd68]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd68], xmm1
jmp 0x49f561
mov ecx, 1
test ecx, ecx
je 0x49f55d
jmp 0x49f61a
jmp 0x49f584
cvtsi2sd xmm0, dword [ebp - 0x2ba0]
movsd xmm1, qword [ebp - 0xcd68]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ba4], edx
jmp 0x49f624
xor eax, eax
je 0x49f58e
jmp 0x49f59d
jmp 0x49f3e7
jmp 0x49f3e7
mov ecx, 6
test ecx, ecx
je 0x49f61a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ba8], eax
cvtsi2sd xmm0, dword [ebp - 0x2ba8]
mov eax, dword [ebp - 0x2ba8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcd68]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ba4], ecx
jmp 0x49f624
mov dword [ebp - 0x2ba4], 2
mov edx, dword [ebp - 0x2b60]
shl edx, 2
add edx, dword [ebp - 0x2b5c]
mov eax, dword [ebp - 0x2ba4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2b60]
shl ecx, 2
add ecx, dword [ebp - 0x2b5c]
mov dword [ecx], eax
jmp 0x49e58e
mov edx, dword [ebp - 0x2b58]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2b58]
mov dword [ebp - 0x2bac], eax
mov ecx, dword [ebp - 0x2bac]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2bb0], ecx
mov edx, dword [ebp - 0x2bb0]
mov dword [ebp - 0x2bb4], edx
xor eax, eax
mov byte [ebp - 0x7c], al
lea ecx, [ebp - 0x7c]
call fcn.00423d70
mov dword [ebp - 0x2bb8], eax
mov ecx, dword [ebp - 0x2bb8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a078a
mov eax, dword [ebp - 0x2bb8]
mov dword [ebp - 0x2bbc], eax
mov dword [ebp - 0x2bc0], 0
jmp 0x49f6d6
mov ecx, dword [ebp - 0x2bc0]
add ecx, 1
mov dword [ebp - 0x2bc0], ecx
cmp dword [ebp - 0x2bc0], 1
jae 0x4a078a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49f9ab
xor eax, eax
je 0x49f720
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49f75c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xcd80], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49f8fc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49f8fc
mov dword [ebp - 0x2bc4], 0
jmp 0x49f7db
cmp dword [ebp - 0x2bc4], 9
jae 0x49f8f7
cvtsi2sd xmm0, dword [ebp - 0x2bc4]
movsd xmm1, qword [ebp - 0xcd80]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd88], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f84a
mov ecx, dword [ebp - 0x2bc4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcd80]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd80], xmm1
jmp 0x49f746
cvtsi2sd xmm0, dword [ebp - 0x2bc4]
movsd xmm1, qword [ebp - 0xcd80]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd90], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcd90]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f8a7
mov eax, dword [ebp - 0x2bc4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd80]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd80], xmm1
jmp 0x49f8c0
mov ecx, 1
test ecx, ecx
je 0x49f8bc
jmp 0x49f979
jmp 0x49f8e3
cvtsi2sd xmm0, dword [ebp - 0x2bc4]
movsd xmm1, qword [ebp - 0xcd80]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2bc8], edx
jmp 0x49f983
xor eax, eax
je 0x49f8ed
jmp 0x49f8fc
jmp 0x49f746
jmp 0x49f746
mov ecx, 6
test ecx, ecx
je 0x49f979
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2bcc], eax
cvtsi2sd xmm0, dword [ebp - 0x2bcc]
mov eax, dword [ebp - 0x2bcc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcd80]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2bc8], ecx
jmp 0x49f983
mov dword [ebp - 0x2bc8], 2
mov edx, dword [ebp - 0x2bc0]
shl edx, 2
add edx, dword [ebp - 0x2bbc]
mov eax, dword [ebp - 0x2bc8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a04bd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49fcb8
xor eax, eax
je 0x49fa2d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49fa69
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcd98], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49fc09
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49fc09
mov dword [ebp - 0x2bd0], 0
jmp 0x49fae8
cmp dword [ebp - 0x2bd0], 9
jae 0x49fc04
cvtsi2sd xmm0, dword [ebp - 0x2bd0]
movsd xmm1, qword [ebp - 0xcd98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcda0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcda0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fb57
mov ecx, dword [ebp - 0x2bd0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcd98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd98], xmm1
jmp 0x49fa53
cvtsi2sd xmm0, dword [ebp - 0x2bd0]
movsd xmm1, qword [ebp - 0xcd98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcda8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcda8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fbb4
mov eax, dword [ebp - 0x2bd0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcd98]
addsd xmm1, xmm0
movsd qword [ebp - 0xcd98], xmm1
jmp 0x49fbcd
mov ecx, 1
test ecx, ecx
je 0x49fbc9
jmp 0x49fc86
jmp 0x49fbf0
cvtsi2sd xmm0, dword [ebp - 0x2bd0]
movsd xmm1, qword [ebp - 0xcd98]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2bd4], edx
jmp 0x49fc90
xor eax, eax
je 0x49fbfa
jmp 0x49fc09
jmp 0x49fa53
jmp 0x49fa53
mov ecx, 6
test ecx, ecx
je 0x49fc86
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2bd8], eax
cvtsi2sd xmm0, dword [ebp - 0x2bd8]
mov eax, dword [ebp - 0x2bd8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcd98]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2bd4], ecx
jmp 0x49fc90
mov dword [ebp - 0x2bd4], 2
mov edx, dword [ebp - 0x2bc0]
shl edx, 2
add edx, dword [ebp - 0x2bbc]
mov eax, dword [ebp - 0x2bd4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x49ff80
xor eax, eax
je 0x49fcf5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x49fd31
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xcdb0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x49fed1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x49fed1
mov dword [ebp - 0x2bdc], 0
jmp 0x49fdb0
cmp dword [ebp - 0x2bdc], 9
jae 0x49fecc
cvtsi2sd xmm0, dword [ebp - 0x2bdc]
movsd xmm1, qword [ebp - 0xcdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcdb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fe1f
mov ecx, dword [ebp - 0x2bdc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdb0], xmm1
jmp 0x49fd1b
cvtsi2sd xmm0, dword [ebp - 0x2bdc]
movsd xmm1, qword [ebp - 0xcdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcdc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x49fe7c
mov eax, dword [ebp - 0x2bdc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcdb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdb0], xmm1
jmp 0x49fe95
mov ecx, 1
test ecx, ecx
je 0x49fe91
jmp 0x49ff4e
jmp 0x49feb8
cvtsi2sd xmm0, dword [ebp - 0x2bdc]
movsd xmm1, qword [ebp - 0xcdb0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2be0], edx
jmp 0x49ff58
xor eax, eax
je 0x49fec2
jmp 0x49fed1
jmp 0x49fd1b
jmp 0x49fd1b
mov ecx, 6
test ecx, ecx
je 0x49ff4e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2be4], eax
cvtsi2sd xmm0, dword [ebp - 0x2be4]
mov eax, dword [ebp - 0x2be4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcdb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2be0], ecx
jmp 0x49ff58
mov dword [ebp - 0x2be0], 2
mov edx, dword [ebp - 0x2bc0]
shl edx, 2
add edx, dword [ebp - 0x2bbc]
mov eax, dword [ebp - 0x2be0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2bc0]
add edx, 0xffffffcc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcdc8], xmm0
xor eax, eax
je 0x49ff9a
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x49ffd6
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcdc8]
movsd qword [ebp - 0xcdd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a0176
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a0176
mov dword [ebp - 0x2be8], 0
jmp 0x4a0055
cmp dword [ebp - 0x2be8], 9
jae 0x4a0171
cvtsi2sd xmm0, dword [ebp - 0x2be8]
movsd xmm1, qword [ebp - 0xcdd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdd8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcdd8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a00c4
mov ecx, dword [ebp - 0x2be8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcdd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdd0], xmm1
jmp 0x49ffc0
cvtsi2sd xmm0, dword [ebp - 0x2be8]
movsd xmm1, qword [ebp - 0xcdd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcde0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcde0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0121
mov eax, dword [ebp - 0x2be8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcdd0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdd0], xmm1
jmp 0x4a013a
mov ecx, 1
test ecx, ecx
je 0x4a0136
jmp 0x4a01f3
jmp 0x4a015d
cvtsi2sd xmm0, dword [ebp - 0x2be8]
movsd xmm1, qword [ebp - 0xcdd0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2bec], edx
jmp 0x4a01fd
xor eax, eax
je 0x4a0167
jmp 0x4a0176
jmp 0x49ffc0
jmp 0x49ffc0
mov ecx, 6
test ecx, ecx
je 0x4a01f3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2bf0], eax
cvtsi2sd xmm0, dword [ebp - 0x2bf0]
mov eax, dword [ebp - 0x2bf0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcdd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2bec], ecx
jmp 0x4a01fd
mov dword [ebp - 0x2bec], 2
mov edx, dword [ebp - 0x2bc0]
add edx, 0xffffffcc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcde8], xmm0
xor eax, eax
je 0x4a0217
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a0253
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcde8]
movsd qword [ebp - 0xcdf0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a03f3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a03f3
mov dword [ebp - 0x2bf4], 0
jmp 0x4a02d2
cmp dword [ebp - 0x2bf4], 9
jae 0x4a03ee
cvtsi2sd xmm0, dword [ebp - 0x2bf4]
movsd xmm1, qword [ebp - 0xcdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdf8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcdf8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0341
mov ecx, dword [ebp - 0x2bf4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdf0], xmm1
jmp 0x4a023d
cvtsi2sd xmm0, dword [ebp - 0x2bf4]
movsd xmm1, qword [ebp - 0xcdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xce00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xce00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a039e
mov eax, dword [ebp - 0x2bf4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcdf0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcdf0], xmm1
jmp 0x4a03b7
mov ecx, 1
test ecx, ecx
je 0x4a03b3
jmp 0x4a0470
jmp 0x4a03da
cvtsi2sd xmm0, dword [ebp - 0x2bf4]
movsd xmm1, qword [ebp - 0xcdf0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2bf8], edx
jmp 0x4a047a
xor eax, eax
je 0x4a03e4
jmp 0x4a023d
mov ecx, 6
test ecx, ecx
je 0x4a0470
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2bfc], eax
cvtsi2sd xmm0, dword [ebp - 0x2bfc]
mov eax, dword [ebp - 0x2bfc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcdf0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2bf8], ecx
jmp 0x4a047a
mov dword [ebp - 0x2bf8], 2
mov edx, dword [ebp - 0x2bc0]
shl edx, 2
add edx, dword [ebp - 0x2bbc]
mov eax, dword [ebp - 0x2bec]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov edx, dword [ebp - 0x2bf8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a0785
xor eax, eax
je 0x4a04fa
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a0536
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xce08], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a06d6
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a06d6
mov dword [ebp - 0x2c00], 0
jmp 0x4a05b5
cmp dword [ebp - 0x2c00], 9
jae 0x4a06d1
cvtsi2sd xmm0, dword [ebp - 0x2c00]
movsd xmm1, qword [ebp - 0xce08]
addsd xmm1, xmm0
movsd qword [ebp - 0xce10], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce10]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0624
mov ecx, dword [ebp - 0x2c00]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xce08]
addsd xmm1, xmm0
movsd qword [ebp - 0xce08], xmm1
jmp 0x4a0520
cvtsi2sd xmm0, dword [ebp - 0x2c00]
movsd xmm1, qword [ebp - 0xce08]
addsd xmm1, xmm0
movsd qword [ebp - 0xce18], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xce18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0681
mov eax, dword [ebp - 0x2c00]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce08]
addsd xmm1, xmm0
movsd qword [ebp - 0xce08], xmm1
jmp 0x4a069a
mov ecx, 1
test ecx, ecx
je 0x4a0696
jmp 0x4a0753
jmp 0x4a06bd
cvtsi2sd xmm0, dword [ebp - 0x2c00]
movsd xmm1, qword [ebp - 0xce08]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c04], edx
jmp 0x4a075d
xor eax, eax
je 0x4a06c7
jmp 0x4a06d6
jmp 0x4a0520
jmp 0x4a0520
mov ecx, 6
test ecx, ecx
je 0x4a0753
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c08], eax
cvtsi2sd xmm0, dword [ebp - 0x2c08]
mov eax, dword [ebp - 0x2c08]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xce08]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c04], ecx
jmp 0x4a075d
mov dword [ebp - 0x2c04], 2
mov edx, dword [ebp - 0x2bc0]
shl edx, 2
add edx, dword [ebp - 0x2bbc]
mov eax, dword [ebp - 0x2c04]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2bc0]
shl ecx, 2
add ecx, dword [ebp - 0x2bbc]
mov dword [ecx], eax
jmp 0x49f6c7
mov edx, dword [ebp - 0x2bb8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2bb8]
mov dword [ebp - 0x2c0c], eax
mov ecx, dword [ebp - 0x2c0c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2c10], ecx
mov edx, dword [ebp - 0x2c10]
mov dword [ebp - 0x2c14], edx
mov eax, dword [ebp - 0x2bb4]
mov dword [ebp - 0x2b54], eax
cmp dword [ebp - 0x2b54], 0
je 0x4a1915
xor ecx, ecx
mov byte [ebp - 0x7d], cl
lea ecx, [ebp - 0x7d]
call fcn.00423d40
mov dword [ebp - 0x2c18], eax
mov edx, dword [ebp - 0x2c18]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4a18dc
mov ecx, dword [ebp - 0x2c18]
mov dword [ebp - 0x2c1c], ecx
mov dword [ebp - 0x2c20], 0
jmp 0x4a0828
mov edx, dword [ebp - 0x2c20]
add edx, 1
mov dword [ebp - 0x2c20], edx
cmp dword [ebp - 0x2c20], 1
jae 0x4a18dc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a0afd
xor eax, eax
je 0x4a0872
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4a08ae
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262c8]
movsd qword [ebp - 0xce20], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a0a4e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a0a4e
mov dword [ebp - 0x2c24], 0
jmp 0x4a092d
cmp dword [ebp - 0x2c24], 9
jae 0x4a0a49
cvtsi2sd xmm0, dword [ebp - 0x2c24]
movsd xmm1, qword [ebp - 0xce20]
addsd xmm1, xmm0
movsd qword [ebp - 0xce28], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce28]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a099c
mov ecx, dword [ebp - 0x2c24]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xce20]
addsd xmm1, xmm0
movsd qword [ebp - 0xce20], xmm1
jmp 0x4a0898
cvtsi2sd xmm0, dword [ebp - 0x2c24]
movsd xmm1, qword [ebp - 0xce20]
addsd xmm1, xmm0
movsd qword [ebp - 0xce30], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xce30]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a09f9
mov eax, dword [ebp - 0x2c24]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce20]
addsd xmm1, xmm0
movsd qword [ebp - 0xce20], xmm1
jmp 0x4a0a12
mov ecx, 1
test ecx, ecx
je 0x4a0a0e
jmp 0x4a0acb
jmp 0x4a0a35
cvtsi2sd xmm0, dword [ebp - 0x2c24]
movsd xmm1, qword [ebp - 0xce20]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c28], edx
jmp 0x4a0ad5
xor eax, eax
je 0x4a0a3f
jmp 0x4a0a4e
jmp 0x4a0898
jmp 0x4a0898
mov ecx, 6
test ecx, ecx
je 0x4a0acb
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c2c], eax
cvtsi2sd xmm0, dword [ebp - 0x2c2c]
mov eax, dword [ebp - 0x2c2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xce20]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c28], ecx
jmp 0x4a0ad5
mov dword [ebp - 0x2c28], 2
mov edx, dword [ebp - 0x2c20]
shl edx, 2
add edx, dword [ebp - 0x2c1c]
mov eax, dword [ebp - 0x2c28]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c20]
shl ecx, 2
add ecx, dword [ebp - 0x2c1c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a160f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a0e0a
xor eax, eax
je 0x4a0b7f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a0bbb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xce38], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a0d5b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a0d5b
mov dword [ebp - 0x2c30], 0
jmp 0x4a0c3a
cmp dword [ebp - 0x2c30], 9
jae 0x4a0d56
cvtsi2sd xmm0, dword [ebp - 0x2c30]
movsd xmm1, qword [ebp - 0xce38]
addsd xmm1, xmm0
movsd qword [ebp - 0xce40], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce40]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0ca9
mov ecx, dword [ebp - 0x2c30]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xce38]
addsd xmm1, xmm0
movsd qword [ebp - 0xce38], xmm1
jmp 0x4a0ba5
cvtsi2sd xmm0, dword [ebp - 0x2c30]
movsd xmm1, qword [ebp - 0xce38]
addsd xmm1, xmm0
movsd qword [ebp - 0xce48], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xce48]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0d06
mov eax, dword [ebp - 0x2c30]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce38]
addsd xmm1, xmm0
movsd qword [ebp - 0xce38], xmm1
jmp 0x4a0d1f
mov ecx, 1
test ecx, ecx
je 0x4a0d1b
jmp 0x4a0dd8
jmp 0x4a0d42
cvtsi2sd xmm0, dword [ebp - 0x2c30]
movsd xmm1, qword [ebp - 0xce38]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c34], edx
jmp 0x4a0de2
xor eax, eax
je 0x4a0d4c
jmp 0x4a0d5b
jmp 0x4a0ba5
jmp 0x4a0ba5
mov ecx, 6
test ecx, ecx
je 0x4a0dd8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c38], eax
cvtsi2sd xmm0, dword [ebp - 0x2c38]
mov eax, dword [ebp - 0x2c38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xce38]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c34], ecx
jmp 0x4a0de2
mov dword [ebp - 0x2c34], 2
mov edx, dword [ebp - 0x2c20]
shl edx, 2
add edx, dword [ebp - 0x2c1c]
mov eax, dword [ebp - 0x2c34]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c20]
shl ecx, 2
add ecx, dword [ebp - 0x2c1c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a10d2
xor eax, eax
je 0x4a0e47
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a0e83
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xce50], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a1023
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a1023
mov dword [ebp - 0x2c3c], 0
jmp 0x4a0f02
cmp dword [ebp - 0x2c3c], 9
jae 0x4a101e
cvtsi2sd xmm0, dword [ebp - 0x2c3c]
movsd xmm1, qword [ebp - 0xce50]
addsd xmm1, xmm0
movsd qword [ebp - 0xce58], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0f71
mov ecx, dword [ebp - 0x2c3c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xce50]
addsd xmm1, xmm0
movsd qword [ebp - 0xce50], xmm1
jmp 0x4a0e6d
cvtsi2sd xmm0, dword [ebp - 0x2c3c]
movsd xmm1, qword [ebp - 0xce50]
addsd xmm1, xmm0
movsd qword [ebp - 0xce60], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xce60]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a0fce
mov eax, dword [ebp - 0x2c3c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce50]
addsd xmm1, xmm0
movsd qword [ebp - 0xce50], xmm1
jmp 0x4a0fe7
mov ecx, 1
test ecx, ecx
je 0x4a0fe3
jmp 0x4a10a0
jmp 0x4a100a
cvtsi2sd xmm0, dword [ebp - 0x2c3c]
movsd xmm1, qword [ebp - 0xce50]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c40], edx
jmp 0x4a10aa
xor eax, eax
je 0x4a1014
jmp 0x4a1023
jmp 0x4a0e6d
jmp 0x4a0e6d
mov ecx, 6
test ecx, ecx
je 0x4a10a0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c44], eax
cvtsi2sd xmm0, dword [ebp - 0x2c44]
mov eax, dword [ebp - 0x2c44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xce50]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c40], ecx
jmp 0x4a10aa
mov dword [ebp - 0x2c40], 2
mov edx, dword [ebp - 0x2c20]
shl edx, 2
add edx, dword [ebp - 0x2c1c]
mov eax, dword [ebp - 0x2c40]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c20]
shl ecx, 2
add ecx, dword [ebp - 0x2c1c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2c20]
add edx, 0xffffffcc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xce68], xmm0
xor eax, eax
je 0x4a10ec
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a1128
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xce68]
movsd qword [ebp - 0xce70], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a12c8
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a12c8
mov dword [ebp - 0x2c48], 0
jmp 0x4a11a7
cmp dword [ebp - 0x2c48], 9
jae 0x4a12c3
cvtsi2sd xmm0, dword [ebp - 0x2c48]
movsd xmm1, qword [ebp - 0xce70]
addsd xmm1, xmm0
movsd qword [ebp - 0xce78], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce78]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1216
mov ecx, dword [ebp - 0x2c48]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xce70]
addsd xmm1, xmm0
movsd qword [ebp - 0xce70], xmm1
jmp 0x4a1112
cvtsi2sd xmm0, dword [ebp - 0x2c48]
movsd xmm1, qword [ebp - 0xce70]
addsd xmm1, xmm0
movsd qword [ebp - 0xce80], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xce80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1273
mov eax, dword [ebp - 0x2c48]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce70]
addsd xmm1, xmm0
movsd qword [ebp - 0xce70], xmm1
jmp 0x4a128c
mov ecx, 1
test ecx, ecx
je 0x4a1288
jmp 0x4a1345
jmp 0x4a12af
cvtsi2sd xmm0, dword [ebp - 0x2c48]
movsd xmm1, qword [ebp - 0xce70]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c4c], edx
jmp 0x4a134f
xor eax, eax
je 0x4a12b9
jmp 0x4a12c8
jmp 0x4a1112
jmp 0x4a1112
mov ecx, 6
test ecx, ecx
je 0x4a1345
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c50], eax
cvtsi2sd xmm0, dword [ebp - 0x2c50]
mov eax, dword [ebp - 0x2c50]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xce70]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c4c], ecx
jmp 0x4a134f
mov dword [ebp - 0x2c4c], 2
mov edx, dword [ebp - 0x2c20]
add edx, 0xffffffcc
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xce88], xmm0
xor eax, eax
je 0x4a1369
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a13a5
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xce88]
movsd qword [ebp - 0xce90], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a1545
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a1545
mov dword [ebp - 0x2c54], 0
jmp 0x4a1424
cmp dword [ebp - 0x2c54], 9
jae 0x4a1540
cvtsi2sd xmm0, dword [ebp - 0x2c54]
movsd xmm1, qword [ebp - 0xce90]
addsd xmm1, xmm0
movsd qword [ebp - 0xce98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1493
mov ecx, dword [ebp - 0x2c54]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xce90]
addsd xmm1, xmm0
movsd qword [ebp - 0xce90], xmm1
jmp 0x4a138f
cvtsi2sd xmm0, dword [ebp - 0x2c54]
movsd xmm1, qword [ebp - 0xce90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcea0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcea0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a14f0
mov eax, dword [ebp - 0x2c54]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xce90]
addsd xmm1, xmm0
movsd qword [ebp - 0xce90], xmm1
jmp fcn.004a1509
mov ecx, 1
test ecx, ecx
je 0x4a1505
jmp 0x4a138f
mov ecx, 6
test ecx, ecx
je 0x4a15c2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c5c], eax
cvtsi2sd xmm0, dword [ebp - 0x2c5c]
mov eax, dword [ebp - 0x2c5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xce90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c58], ecx
jmp 0x4a15cc
mov dword [ebp - 0x2c58], 2
mov edx, dword [ebp - 0x2c20]
shl edx, 2
add edx, dword [ebp - 0x2c1c]
mov eax, dword [ebp - 0x2c4c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2c20]
shl ecx, 2
add ecx, dword [ebp - 0x2c1c]
mov edx, dword [ebp - 0x2c58]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2c20]
shl ecx, 2
add ecx, dword [ebp - 0x2c1c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a18d7
xor eax, eax
je 0x4a164c
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a1688
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xcea8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a1828
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a1828
mov dword [ebp - 0x2c60], 0
jmp 0x4a1707
cmp dword [ebp - 0x2c60], 9
jae 0x4a1823
cvtsi2sd xmm0, dword [ebp - 0x2c60]
movsd xmm1, qword [ebp - 0xcea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xceb0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xceb0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1776
mov ecx, dword [ebp - 0x2c60]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcea8], xmm1
jmp 0x4a1672
cvtsi2sd xmm0, dword [ebp - 0x2c60]
movsd xmm1, qword [ebp - 0xcea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xceb8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xceb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a17d3
mov eax, dword [ebp - 0x2c60]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcea8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcea8], xmm1
jmp 0x4a17ec
mov ecx, 1
test ecx, ecx
je 0x4a17e8
jmp 0x4a18a5
jmp 0x4a180f
cvtsi2sd xmm0, dword [ebp - 0x2c60]
movsd xmm1, qword [ebp - 0xcea8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c64], edx
jmp 0x4a18af
xor eax, eax
je 0x4a1819
jmp 0x4a1828
jmp 0x4a1672
jmp 0x4a1672
mov ecx, 6
test ecx, ecx
je 0x4a18a5
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c68], eax
cvtsi2sd xmm0, dword [ebp - 0x2c68]
mov eax, dword [ebp - 0x2c68]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcea8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c64], ecx
jmp 0x4a18af
mov dword [ebp - 0x2c64], 2
mov edx, dword [ebp - 0x2c20]
shl edx, 2
add edx, dword [ebp - 0x2c1c]
mov eax, dword [ebp - 0x2c64]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c20]
shl ecx, 2
add ecx, dword [ebp - 0x2c1c]
mov dword [ecx], eax
jmp 0x4a0819
mov edx, dword [ebp - 0x2c18]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2c18]
mov dword [ebp - 0x2c6c], eax
mov ecx, dword [ebp - 0x2c6c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2c70], ecx
mov edx, dword [ebp - 0x2c70]
mov dword [ebp - 0x2c14], edx
mov dword [ebp - 0x2c74], 0
jmp 0x4a1930
mov eax, dword [ebp - 0x2c74]
add eax, 1
mov dword [ebp - 0x2c74], eax
cmp dword [ebp - 0x2c74], 0x13
jge 0x4a194e
lea ecx, [ebp - 0x16648]
mov edx, dword [ebp - 0x2c74]
shl edx, 0
mov byte [ecx + edx], 0
jmp 0x4a1921
xor eax, eax
mov byte [ebp - 0x7e], al
lea ecx, [ebp - 0x7e]
call fcn.00423d10
mov dword [ebp - 0x2c78], eax
mov ecx, dword [ebp - 0x2c78]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a2a4e
mov eax, dword [ebp - 0x2c78]
mov dword [ebp - 0x2c7c], eax
mov dword [ebp - 0x2c80], 0
jmp 0x4a199a
mov ecx, dword [ebp - 0x2c80]
add ecx, 1
mov dword [ebp - 0x2c80], ecx
cmp dword [ebp - 0x2c80], 1
jae 0x4a2a4e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a1c6f
xor eax, eax
je 0x4a19e4
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a1a20
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcec0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a1bc0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a1bc0
mov dword [ebp - 0x2c84], 0
jmp 0x4a1a9f
cmp dword [ebp - 0x2c84], 9
jae 0x4a1bbb
cvtsi2sd xmm0, dword [ebp - 0x2c84]
movsd xmm1, qword [ebp - 0xcec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcec8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcec8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1b0e
mov ecx, dword [ebp - 0x2c84]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcec0], xmm1
jmp 0x4a1a0a
cvtsi2sd xmm0, dword [ebp - 0x2c84]
movsd xmm1, qword [ebp - 0xcec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xced0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xced0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1b6b
mov eax, dword [ebp - 0x2c84]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcec0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcec0], xmm1
jmp 0x4a1b84
mov ecx, 1
test ecx, ecx
je 0x4a1b80
jmp 0x4a1c3d
jmp 0x4a1ba7
cvtsi2sd xmm0, dword [ebp - 0x2c84]
movsd xmm1, qword [ebp - 0xcec0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c88], edx
jmp 0x4a1c47
xor eax, eax
je 0x4a1bb1
jmp 0x4a1bc0
jmp 0x4a1a0a
jmp 0x4a1a0a
mov ecx, 6
test ecx, ecx
je 0x4a1c3d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c8c], eax
cvtsi2sd xmm0, dword [ebp - 0x2c8c]
mov eax, dword [ebp - 0x2c8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcec0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c88], ecx
jmp 0x4a1c47
mov dword [ebp - 0x2c88], 2
mov edx, dword [ebp - 0x2c80]
shl edx, 2
add edx, dword [ebp - 0x2c7c]
mov eax, dword [ebp - 0x2c88]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c80]
shl ecx, 2
add ecx, dword [ebp - 0x2c7c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a2781
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a1f7c
xor eax, eax
je 0x4a1cf1
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a1d2d
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xced8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a1ecd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a1ecd
mov dword [ebp - 0x2c90], 0
jmp 0x4a1dac
cmp dword [ebp - 0x2c90], 9
jae 0x4a1ec8
cvtsi2sd xmm0, dword [ebp - 0x2c90]
movsd xmm1, qword [ebp - 0xced8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcee0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcee0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1e1b
mov ecx, dword [ebp - 0x2c90]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xced8]
addsd xmm1, xmm0
movsd qword [ebp - 0xced8], xmm1
jmp 0x4a1d17
cvtsi2sd xmm0, dword [ebp - 0x2c90]
movsd xmm1, qword [ebp - 0xced8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcee8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcee8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a1e78
mov eax, dword [ebp - 0x2c90]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xced8]
addsd xmm1, xmm0
movsd qword [ebp - 0xced8], xmm1
jmp 0x4a1e91
mov ecx, 1
test ecx, ecx
je 0x4a1e8d
jmp 0x4a1f4a
jmp 0x4a1eb4
cvtsi2sd xmm0, dword [ebp - 0x2c90]
movsd xmm1, qword [ebp - 0xced8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2c94], edx
jmp 0x4a1f54
xor eax, eax
je 0x4a1ebe
jmp 0x4a1d17
mov ecx, 6
test ecx, ecx
je 0x4a1f4a
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2c98], eax
cvtsi2sd xmm0, dword [ebp - 0x2c98]
mov eax, dword [ebp - 0x2c98]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xced8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2c94], ecx
jmp 0x4a1f54
mov dword [ebp - 0x2c94], 2
mov edx, dword [ebp - 0x2c80]
shl edx, 2
add edx, dword [ebp - 0x2c7c]
mov eax, dword [ebp - 0x2c94]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c80]
shl ecx, 2
add ecx, dword [ebp - 0x2c7c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a2244
xor eax, eax
je 0x4a1fb9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a1ff5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xcef0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a2195
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a2195
mov dword [ebp - 0x2c9c], 0
jmp 0x4a2074
cmp dword [ebp - 0x2c9c], 9
jae 0x4a2190
cvtsi2sd xmm0, dword [ebp - 0x2c9c]
movsd xmm1, qword [ebp - 0xcef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcef8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcef8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a20e3
mov ecx, dword [ebp - 0x2c9c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcef0], xmm1
jmp 0x4a1fdf
cvtsi2sd xmm0, dword [ebp - 0x2c9c]
movsd xmm1, qword [ebp - 0xcef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf00], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcf00]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2140
mov eax, dword [ebp - 0x2c9c]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcef0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcef0], xmm1
jmp 0x4a2159
mov ecx, 1
test ecx, ecx
je 0x4a2155
jmp 0x4a2212
jmp fcn.004a217c
cvtsi2sd xmm0, dword [ebp - 0x2c9c]
movsd xmm1, qword [ebp - 0xcef0]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ca0], edx
jmp 0x4a221c
jmp 0x4a1fdf
mov ecx, 6
test ecx, ecx
je 0x4a2212
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ca4], eax
cvtsi2sd xmm0, dword [ebp - 0x2ca4]
mov eax, dword [ebp - 0x2ca4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcef0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ca0], ecx
jmp 0x4a221c
mov dword [ebp - 0x2ca0], 2
mov edx, dword [ebp - 0x2c80]
shl edx, 2
add edx, dword [ebp - 0x2c7c]
mov eax, dword [ebp - 0x2ca0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c80]
shl ecx, 2
add ecx, dword [ebp - 0x2c7c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2c80]
add edx, 0xffffffcd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcf08], xmm0
xor eax, eax
je 0x4a225e
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a229a
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcf08]
movsd qword [ebp - 0xcf10], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a243a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a243a
mov dword [ebp - 0x2ca8], 0
jmp 0x4a2319
cmp dword [ebp - 0x2ca8], 9
jae 0x4a2435
cvtsi2sd xmm0, dword [ebp - 0x2ca8]
movsd xmm1, qword [ebp - 0xcf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf18], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf18]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2388
mov ecx, dword [ebp - 0x2ca8]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf10], xmm1
jmp 0x4a2284
cvtsi2sd xmm0, dword [ebp - 0x2ca8]
movsd xmm1, qword [ebp - 0xcf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf20], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcf20]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a23e5
mov eax, dword [ebp - 0x2ca8]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf10]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf10], xmm1
jmp 0x4a23fe
mov ecx, 1
test ecx, ecx
je 0x4a23fa
jmp 0x4a24b7
jmp fcn.004a2421
cvtsi2sd xmm0, dword [ebp - 0x2ca8]
movsd xmm1, qword [ebp - 0xcf10]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2cac], edx
jmp 0x4a24c1
jmp 0x4a2284
mov ecx, 6
test ecx, ecx
je 0x4a24b7
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2cb0], eax
cvtsi2sd xmm0, dword [ebp - 0x2cb0]
mov eax, dword [ebp - 0x2cb0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcf10]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2cac], ecx
jmp 0x4a24c1
mov dword [ebp - 0x2cac], 2
mov edx, dword [ebp - 0x2c80]
add edx, 0xffffffcd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcf28], xmm0
xor eax, eax
je 0x4a24db
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a2517
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcf28]
movsd qword [ebp - 0xcf30], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a26b7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a26b7
mov dword [ebp - 0x2cb4], 0
jmp 0x4a2596
cmp dword [ebp - 0x2cb4], 9
jae 0x4a26b2
cvtsi2sd xmm0, dword [ebp - 0x2cb4]
movsd xmm1, qword [ebp - 0xcf30]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf38], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf38]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2605
jmp 0x4a2501
mov ecx, 6
test ecx, ecx
je 0x4a2734
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2cbc], eax
cvtsi2sd xmm0, dword [ebp - 0x2cbc]
mov eax, dword [ebp - 0x2cbc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcf30]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2cb8], ecx
jmp 0x4a273e
mov dword [ebp - 0x2cb8], 2
mov edx, dword [ebp - 0x2c80]
shl edx, 2
add edx, dword [ebp - 0x2c7c]
mov eax, dword [ebp - 0x2cac]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2c80]
shl ecx, 2
add ecx, dword [ebp - 0x2c7c]
mov edx, dword [ebp - 0x2cb8]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2c80]
shl ecx, 2
add ecx, dword [ebp - 0x2c7c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a2a49
xor eax, eax
je 0x4a27be
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a27fa
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xcf48], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a299a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a299a
mov dword [ebp - 0x2cc0], 0
jmp 0x4a2879
cmp dword [ebp - 0x2cc0], 9
jae 0x4a2995
cvtsi2sd xmm0, dword [ebp - 0x2cc0]
movsd xmm1, qword [ebp - 0xcf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf50], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf50]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a28e8
mov ecx, dword [ebp - 0x2cc0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf48], xmm1
jmp 0x4a27e4
cvtsi2sd xmm0, dword [ebp - 0x2cc0]
movsd xmm1, qword [ebp - 0xcf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf58], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcf58]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2945
mov eax, dword [ebp - 0x2cc0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf48]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf48], xmm1
jmp 0x4a295e
mov ecx, 1
test ecx, ecx
je 0x4a295a
jmp 0x4a2a17
jmp 0x4a2981
cvtsi2sd xmm0, dword [ebp - 0x2cc0]
movsd xmm1, qword [ebp - 0xcf48]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2cc4], edx
jmp 0x4a2a21
xor eax, eax
je 0x4a298b
jmp 0x4a27e4
mov ecx, 6
test ecx, ecx
je 0x4a2a17
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2cc8], eax
cvtsi2sd xmm0, dword [ebp - 0x2cc8]
mov eax, dword [ebp - 0x2cc8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcf48]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2cc4], ecx
jmp 0x4a2a21
mov dword [ebp - 0x2cc4], 2
mov edx, dword [ebp - 0x2c80]
shl edx, 2
add edx, dword [ebp - 0x2c7c]
mov eax, dword [ebp - 0x2cc4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2c80]
shl ecx, 2
add ecx, dword [ebp - 0x2c7c]
mov dword [ecx], eax
jmp 0x4a198b
mov edx, dword [ebp - 0x2c78]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2c78]
mov dword [ebp - 0x2ccc], eax
mov ecx, dword [ebp - 0x2ccc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2cd0], ecx
mov edx, dword [ebp - 0x2cd0]
mov dword [ebp - 0x2cd4], edx
xor eax, eax
mov byte [ebp - 0x7f], al
lea ecx, [ebp - 0x7f]
call fcn.00423ce0
mov dword [ebp - 0x2cd8], eax
mov ecx, dword [ebp - 0x2cd8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a3b87
mov eax, dword [ebp - 0x2cd8]
mov dword [ebp - 0x2cdc], eax
mov dword [ebp - 0x2ce0], 0
jmp 0x4a2ad3
mov ecx, dword [ebp - 0x2ce0]
add ecx, 1
mov dword [ebp - 0x2ce0], ecx
cmp dword [ebp - 0x2ce0], 1
jae 0x4a3b87
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a2da8
xor eax, eax
je 0x4a2b1d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a2b59
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xcf60], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a2cf9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a2cf9
mov dword [ebp - 0x2ce4], 0
jmp 0x4a2bd8
cmp dword [ebp - 0x2ce4], 9
jae 0x4a2cf4
cvtsi2sd xmm0, dword [ebp - 0x2ce4]
movsd xmm1, qword [ebp - 0xcf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf68], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf68]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2c47
mov ecx, dword [ebp - 0x2ce4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf60], xmm1
jmp 0x4a2b43
cvtsi2sd xmm0, dword [ebp - 0x2ce4]
movsd xmm1, qword [ebp - 0xcf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf70], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcf70]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2ca4
mov eax, dword [ebp - 0x2ce4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf60]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf60], xmm1
jmp 0x4a2cbd
mov ecx, 1
test ecx, ecx
je 0x4a2cb9
jmp 0x4a2d76
jmp 0x4a2ce0
cvtsi2sd xmm0, dword [ebp - 0x2ce4]
movsd xmm1, qword [ebp - 0xcf60]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2ce8], edx
jmp 0x4a2d80
xor eax, eax
je 0x4a2cea
jmp 0x4a2cf9
jmp 0x4a2b43
jmp 0x4a2b43
mov ecx, 6
test ecx, ecx
je 0x4a2d76
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2cec], eax
cvtsi2sd xmm0, dword [ebp - 0x2cec]
mov eax, dword [ebp - 0x2cec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcf60]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ce8], ecx
jmp 0x4a2d80
mov dword [ebp - 0x2ce8], 2
mov edx, dword [ebp - 0x2ce0]
shl edx, 2
add edx, dword [ebp - 0x2cdc]
mov eax, dword [ebp - 0x2ce8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ce0]
shl ecx, 2
add ecx, dword [ebp - 0x2cdc]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a38ba
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a30b5
xor eax, eax
je 0x4a2e2a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a2e66
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xcf78], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a3006
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a3006
mov dword [ebp - 0x2cf0], 0
jmp 0x4a2ee5
cmp dword [ebp - 0x2cf0], 9
jae 0x4a3001
cvtsi2sd xmm0, dword [ebp - 0x2cf0]
movsd xmm1, qword [ebp - 0xcf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf80], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf80]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2f54
mov ecx, dword [ebp - 0x2cf0]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf78], xmm1
jmp 0x4a2e50
cvtsi2sd xmm0, dword [ebp - 0x2cf0]
movsd xmm1, qword [ebp - 0xcf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf88], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcf88]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a2fb1
mov eax, dword [ebp - 0x2cf0]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf78]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf78], xmm1
jmp 0x4a2fca
mov ecx, 1
test ecx, ecx
je 0x4a2fc6
jmp 0x4a3083
jmp fcn.004a2fed
cvtsi2sd xmm0, dword [ebp - 0x2cf0]
movsd xmm1, qword [ebp - 0xcf78]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2cf4], edx
jmp 0x4a308d
jmp 0x4a2e50
mov ecx, 6
test ecx, ecx
je 0x4a3083
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2cf8], eax
cvtsi2sd xmm0, dword [ebp - 0x2cf8]
mov eax, dword [ebp - 0x2cf8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcf78]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2cf4], ecx
jmp 0x4a308d
mov dword [ebp - 0x2cf4], 2
mov edx, dword [ebp - 0x2ce0]
shl edx, 2
add edx, dword [ebp - 0x2cdc]
mov eax, dword [ebp - 0x2cf4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ce0]
shl ecx, 2
add ecx, dword [ebp - 0x2cdc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a337d
xor eax, eax
je 0x4a30f2
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a312e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xcf90], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a32ce
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a32ce
mov dword [ebp - 0x2cfc], 0
jmp 0x4a31ad
cmp dword [ebp - 0x2cfc], 9
jae 0x4a32c9
cvtsi2sd xmm0, dword [ebp - 0x2cfc]
movsd xmm1, qword [ebp - 0xcf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf98], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf98]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a321c
mov ecx, dword [ebp - 0x2cfc]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf90], xmm1
jmp 0x4a3118
cvtsi2sd xmm0, dword [ebp - 0x2cfc]
movsd xmm1, qword [ebp - 0xcf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfa0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcfa0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3279
mov eax, dword [ebp - 0x2cfc]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcf90]
addsd xmm1, xmm0
movsd qword [ebp - 0xcf90], xmm1
jmp fcn.004a3292
mov ecx, 1
test ecx, ecx
je 0x4a328e
jmp 0x4a3118
mov ecx, 6
test ecx, ecx
je 0x4a334b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d04], eax
cvtsi2sd xmm0, dword [ebp - 0x2d04]
mov eax, dword [ebp - 0x2d04]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcf90]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d00], ecx
jmp 0x4a3355
mov dword [ebp - 0x2d00], 2
mov edx, dword [ebp - 0x2ce0]
shl edx, 2
add edx, dword [ebp - 0x2cdc]
mov eax, dword [ebp - 0x2d00]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ce0]
shl ecx, 2
add ecx, dword [ebp - 0x2cdc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2ce0]
add edx, 0xffffffcd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcfa8], xmm0
xor eax, eax
je 0x4a3397
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a33d3
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcfa8]
movsd qword [ebp - 0xcfb0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a3573
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a3573
mov dword [ebp - 0x2d08], 0
jmp 0x4a3452
cmp dword [ebp - 0x2d08], 9
jae 0x4a356e
cvtsi2sd xmm0, dword [ebp - 0x2d08]
movsd xmm1, qword [ebp - 0xcfb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfb8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcfb8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a34c1
mov ecx, dword [ebp - 0x2d08]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcfb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfb0], xmm1
jmp 0x4a33bd
cvtsi2sd xmm0, dword [ebp - 0x2d08]
movsd xmm1, qword [ebp - 0xcfb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfc0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcfc0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a351e
mov eax, dword [ebp - 0x2d08]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcfb0]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfb0], xmm1
jmp fcn.004a3537
mov ecx, 1
test ecx, ecx
je 0x4a3533
jmp 0x4a33bd
mov ecx, 6
test ecx, ecx
je 0x4a35f0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d10], eax
cvtsi2sd xmm0, dword [ebp - 0x2d10]
mov eax, dword [ebp - 0x2d10]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcfb0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d0c], ecx
jmp 0x4a35fa
mov dword [ebp - 0x2d0c], 2
mov edx, dword [ebp - 0x2ce0]
add edx, 0xffffffcd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xcfc8], xmm0
xor eax, eax
je 0x4a3614
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a3650
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xcfc8]
movsd qword [ebp - 0xcfd0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a37f0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a37f0
mov dword [ebp - 0x2d14], 0
jmp 0x4a36cf
cmp dword [ebp - 0x2d14], 9
jae 0x4a37eb
mov ecx, 6
test ecx, ecx
je 0x4a386d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d1c], eax
cvtsi2sd xmm0, dword [ebp - 0x2d1c]
mov eax, dword [ebp - 0x2d1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcfd0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d18], ecx
jmp 0x4a3877
mov dword [ebp - 0x2d18], 2
mov edx, dword [ebp - 0x2ce0]
shl edx, 2
add edx, dword [ebp - 0x2cdc]
mov eax, dword [ebp - 0x2d0c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2ce0]
shl ecx, 2
add ecx, dword [ebp - 0x2cdc]
mov edx, dword [ebp - 0x2d18]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2ce0]
shl ecx, 2
add ecx, dword [ebp - 0x2cdc]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a3b82
xor eax, eax
je 0x4a38f7
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a3933
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xcfe8], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a3ad3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a3ad3
mov dword [ebp - 0x2d20], 0
jmp 0x4a39b2
cmp dword [ebp - 0x2d20], 9
jae 0x4a3ace
cvtsi2sd xmm0, dword [ebp - 0x2d20]
movsd xmm1, qword [ebp - 0xcfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcff0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcff0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3a21
mov ecx, dword [ebp - 0x2d20]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xcfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfe8], xmm1
jmp 0x4a391d
cvtsi2sd xmm0, dword [ebp - 0x2d20]
movsd xmm1, qword [ebp - 0xcfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcff8], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xcff8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3a7e
mov eax, dword [ebp - 0x2d20]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xcfe8]
addsd xmm1, xmm0
movsd qword [ebp - 0xcfe8], xmm1
jmp 0x4a3a97
mov ecx, 1
test ecx, ecx
je 0x4a3a93
jmp 0x4a3b50
jmp fcn.004a3aba
cvtsi2sd xmm0, dword [ebp - 0x2d20]
movsd xmm1, qword [ebp - 0xcfe8]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2d24], edx
jmp 0x4a3b5a
jmp 0x4a391d
mov ecx, 6
test ecx, ecx
je 0x4a3b50
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d28], eax
cvtsi2sd xmm0, dword [ebp - 0x2d28]
mov eax, dword [ebp - 0x2d28]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xcfe8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d24], ecx
jmp 0x4a3b5a
mov dword [ebp - 0x2d24], 2
mov edx, dword [ebp - 0x2ce0]
shl edx, 2
add edx, dword [ebp - 0x2cdc]
mov eax, dword [ebp - 0x2d24]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ce0]
shl ecx, 2
add ecx, dword [ebp - 0x2cdc]
mov dword [ecx], eax
jmp 0x4a2ac4
mov edx, dword [ebp - 0x2cd8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2cd8]
mov dword [ebp - 0x2d2c], eax
mov ecx, dword [ebp - 0x2d2c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2d30], ecx
mov edx, dword [ebp - 0x2d30]
mov dword [ebp - 0x2d34], edx
xor eax, eax
mov byte [ebp - 0x80], al
lea ecx, [ebp - 0x80]
call fcn.00423cb0
mov dword [ebp - 0x2d38], eax
mov ecx, dword [ebp - 0x2d38]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a4cc0
mov eax, dword [ebp - 0x2d38]
mov dword [ebp - 0x2d3c], eax
mov dword [ebp - 0x2d40], 0
jmp 0x4a3c0c
mov ecx, dword [ebp - 0x2d40]
add ecx, 1
mov dword [ebp - 0x2d40], ecx
cmp dword [ebp - 0x2d40], 1
jae 0x4a4cc0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a3ee1
xor eax, eax
je 0x4a3c56
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a3c92
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262c0]
movsd qword [ebp - 0xd000], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a3e32
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a3e32
mov dword [ebp - 0x2d44], 0
jmp 0x4a3d11
cmp dword [ebp - 0x2d44], 9
jae 0x4a3e2d
cvtsi2sd xmm0, dword [ebp - 0x2d44]
movsd xmm1, qword [ebp - 0xd000]
addsd xmm1, xmm0
movsd qword [ebp - 0xd008], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd008]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3d80
mov ecx, dword [ebp - 0x2d44]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd000]
addsd xmm1, xmm0
movsd qword [ebp - 0xd000], xmm1
jmp 0x4a3c7c
cvtsi2sd xmm0, dword [ebp - 0x2d44]
movsd xmm1, qword [ebp - 0xd000]
addsd xmm1, xmm0
movsd qword [ebp - 0xd010], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd010]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a3ddd
mov eax, dword [ebp - 0x2d44]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd000]
addsd xmm1, xmm0
movsd qword [ebp - 0xd000], xmm1
jmp 0x4a3df6
mov ecx, 1
test ecx, ecx
je 0x4a3df2
jmp 0x4a3eaf
jmp 0x4a3e19
cvtsi2sd xmm0, dword [ebp - 0x2d44]
movsd xmm1, qword [ebp - 0xd000]
addsd xmm1, xmm0
cvttsd2si edx, xmm1
mov dword [ebp - 0x2d48], edx
jmp 0x4a3eb9
xor eax, eax
je 0x4a3e23
jmp 0x4a3c7c
mov ecx, 6
test ecx, ecx
je 0x4a3eaf
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d4c], eax
cvtsi2sd xmm0, dword [ebp - 0x2d4c]
mov eax, dword [ebp - 0x2d4c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd000]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d48], ecx
jmp 0x4a3eb9
mov dword [ebp - 0x2d48], 2
mov edx, dword [ebp - 0x2d40]
shl edx, 2
add edx, dword [ebp - 0x2d3c]
mov eax, dword [ebp - 0x2d48]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a49f3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a41ee
xor eax, eax
je 0x4a3f63
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a3f9f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xd018], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a413f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a413f
mov dword [ebp - 0x2d50], 0
jmp 0x4a401e
cmp dword [ebp - 0x2d50], 9
jae 0x4a413a
cvtsi2sd xmm0, dword [ebp - 0x2d50]
movsd xmm1, qword [ebp - 0xd018]
addsd xmm1, xmm0
movsd qword [ebp - 0xd020], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd020]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a408d
mov ecx, dword [ebp - 0x2d50]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd018]
addsd xmm1, xmm0
movsd qword [ebp - 0xd018], xmm1
jmp 0x4a3f89
cvtsi2sd xmm0, dword [ebp - 0x2d50]
movsd xmm1, qword [ebp - 0xd018]
addsd xmm1, xmm0
movsd qword [ebp - 0xd028], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd028]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a40ea
mov eax, dword [ebp - 0x2d50]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd018]
addsd xmm1, xmm0
movsd qword [ebp - 0xd018], xmm1
jmp fcn.004a4103
mov ecx, 1
test ecx, ecx
je 0x4a40ff
jmp 0x4a3f89
mov ecx, 6
test ecx, ecx
je 0x4a41bc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d58], eax
cvtsi2sd xmm0, dword [ebp - 0x2d58]
mov eax, dword [ebp - 0x2d58]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd018]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d54], ecx
jmp 0x4a41c6
mov dword [ebp - 0x2d54], 2
mov edx, dword [ebp - 0x2d40]
shl edx, 2
add edx, dword [ebp - 0x2d3c]
mov eax, dword [ebp - 0x2d54]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a44b6
xor eax, eax
je 0x4a422b
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a4267
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xd030], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a4407
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a4407
mov dword [ebp - 0x2d5c], 0
jmp 0x4a42e6
cmp dword [ebp - 0x2d5c], 9
jae 0x4a4402
cvtsi2sd xmm0, dword [ebp - 0x2d5c]
movsd xmm1, qword [ebp - 0xd030]
addsd xmm1, xmm0
movsd qword [ebp - 0xd038], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd038]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4355
mov ecx, dword [ebp - 0x2d5c]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd030]
addsd xmm1, xmm0
movsd qword [ebp - 0xd030], xmm1
jmp 0x4a4251
cvtsi2sd xmm0, dword [ebp - 0x2d5c]
movsd xmm1, qword [ebp - 0xd030]
addsd xmm1, xmm0
movsd qword [ebp - 0xd040], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd040]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a43b2
jmp 0x4a4251
mov ecx, 6
test ecx, ecx
je 0x4a4484
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d64], eax
cvtsi2sd xmm0, dword [ebp - 0x2d64]
mov eax, dword [ebp - 0x2d64]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd030]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d60], ecx
jmp 0x4a448e
mov dword [ebp - 0x2d60], 2
mov edx, dword [ebp - 0x2d40]
shl edx, 2
add edx, dword [ebp - 0x2d3c]
mov eax, dword [ebp - 0x2d60]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2d40]
add edx, 0xffffffcd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd048], xmm0
xor eax, eax
je 0x4a44d0
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a450c
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xd048]
movsd qword [ebp - 0xd050], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a46ac
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a46ac
mov dword [ebp - 0x2d68], 0
jmp 0x4a458b
cmp dword [ebp - 0x2d68], 9
jae 0x4a46a7
cvtsi2sd xmm0, dword [ebp - 0x2d68]
movsd xmm1, qword [ebp - 0xd050]
addsd xmm1, xmm0
movsd qword [ebp - 0xd058], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd058]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a45fa
mov ecx, dword [ebp - 0x2d68]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd050]
addsd xmm1, xmm0
movsd qword [ebp - 0xd050], xmm1
jmp 0x4a44f6
cvtsi2sd xmm0, dword [ebp - 0x2d68]
movsd xmm1, qword [ebp - 0xd050]
addsd xmm1, xmm0
movsd qword [ebp - 0xd060], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd060]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4657
jmp 0x4a44f6
mov ecx, 6
test ecx, ecx
je 0x4a4729
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d70], eax
cvtsi2sd xmm0, dword [ebp - 0x2d70]
mov eax, dword [ebp - 0x2d70]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd050]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d6c], ecx
jmp 0x4a4733
mov dword [ebp - 0x2d6c], 2
mov edx, dword [ebp - 0x2d40]
add edx, 0xffffffcd
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd068], xmm0
xor eax, eax
je 0x4a474d
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a4789
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xd068]
movsd qword [ebp - 0xd070], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a4929
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a4929
mov dword [ebp - 0x2d74], 0
jmp fcn.004a4808
mov ecx, 6
test ecx, ecx
je 0x4a49a6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d7c], eax
cvtsi2sd xmm0, dword [ebp - 0x2d7c]
mov eax, dword [ebp - 0x2d7c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd070]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d78], ecx
jmp 0x4a49b0
mov dword [ebp - 0x2d78], 2
mov edx, dword [ebp - 0x2d40]
shl edx, 2
add edx, dword [ebp - 0x2d3c]
mov eax, dword [ebp - 0x2d6c]
add eax, dword [edx]
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov edx, dword [ebp - 0x2d78]
and edx, dword [ecx]
shl edx, 1
sub eax, edx
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a4cbb
xor eax, eax
je 0x4a4a30
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a4a6c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd088], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a4c0c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a4c0c
mov dword [ebp - 0x2d80], 0
jmp 0x4a4aeb
cmp dword [ebp - 0x2d80], 9
jae 0x4a4c07
cvtsi2sd xmm0, dword [ebp - 0x2d80]
movsd xmm1, qword [ebp - 0xd088]
addsd xmm1, xmm0
movsd qword [ebp - 0xd090], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd090]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4b5a
mov ecx, dword [ebp - 0x2d80]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd088]
addsd xmm1, xmm0
movsd qword [ebp - 0xd088], xmm1
jmp 0x4a4a56
cvtsi2sd xmm0, dword [ebp - 0x2d80]
movsd xmm1, qword [ebp - 0xd088]
addsd xmm1, xmm0
movsd qword [ebp - 0xd098], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd098]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4bb7
mov eax, dword [ebp - 0x2d80]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd088]
addsd xmm1, xmm0
movsd qword [ebp - 0xd088], xmm1
jmp fcn.004a4bd0
mov ecx, 1
test ecx, ecx
je 0x4a4bcc
jmp 0x4a4a56
mov ecx, 6
test ecx, ecx
je 0x4a4c89
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2d88], eax
cvtsi2sd xmm0, dword [ebp - 0x2d88]
mov eax, dword [ebp - 0x2d88]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd088]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2d84], ecx
jmp 0x4a4c93
mov dword [ebp - 0x2d84], 2
mov edx, dword [ebp - 0x2d40]
shl edx, 2
add edx, dword [ebp - 0x2d3c]
mov eax, dword [ebp - 0x2d84]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2d40]
shl ecx, 2
add ecx, dword [ebp - 0x2d3c]
mov dword [ecx], eax
jmp 0x4a3bfd
mov edx, dword [ebp - 0x2d38]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2d38]
mov dword [ebp - 0x2d8c], eax
mov ecx, dword [ebp - 0x2d8c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2d90], ecx
mov edx, dword [ebp - 0x2d90]
mov dword [ebp - 0x2d94], edx
mov eax, dword [ebp - 0x2d34]
mov dword [ebp - 0x2cd4], eax
cmp dword [ebp - 0x2cd4], 0
je 0x4a5e51
xor ecx, ecx
mov byte [ebp - 0x81], cl
lea ecx, [ebp - 0x81]
call fcn.00423c80
mov dword [ebp - 0x2d98], eax
mov edx, dword [ebp - 0x2d98]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4a5e18
mov ecx, dword [ebp - 0x2d98]
mov dword [ebp - 0x2d9c], ecx
mov dword [ebp - 0x2da0], 0
jmp 0x4a4d64
mov edx, dword [ebp - 0x2da0]
add edx, 1
mov dword [ebp - 0x2da0], edx
cmp dword [ebp - 0x2da0], 1
jae 0x4a5e18
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a5039
xor eax, eax
je 0x4a4dae
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4a4dea
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xd0a0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a4f8a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a4f8a
mov dword [ebp - 0x2da4], 0
jmp 0x4a4e69
cmp dword [ebp - 0x2da4], 9
jae 0x4a4f85
cvtsi2sd xmm0, dword [ebp - 0x2da4]
movsd xmm1, qword [ebp - 0xd0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd0a8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd0a8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4ed8
mov ecx, dword [ebp - 0x2da4]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd0a0], xmm1
jmp 0x4a4dd4
cvtsi2sd xmm0, dword [ebp - 0x2da4]
movsd xmm1, qword [ebp - 0xd0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd0b0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd0b0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a4f35
mov eax, dword [ebp - 0x2da4]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd0a0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd0a0], xmm1
jmp fcn.004a4f4e
mov ecx, 1
test ecx, ecx
je 0x4a4f4a
jmp 0x4a4dd4
mov ecx, 6
test ecx, ecx
je 0x4a5007
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2dac], eax
cvtsi2sd xmm0, dword [ebp - 0x2dac]
mov eax, dword [ebp - 0x2dac]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd0a0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2da8], ecx
jmp 0x4a5011
mov dword [ebp - 0x2da8], 2
mov edx, dword [ebp - 0x2da0]
shl edx, 2
add edx, dword [ebp - 0x2d9c]
mov eax, dword [ebp - 0x2da8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2da0]
shl ecx, 2
add ecx, dword [ebp - 0x2d9c]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a5b4b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a5346
xor eax, eax
je 0x4a50bb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a50f7
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xd0b8], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a5297
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a5297
mov dword [ebp - 0x2db0], 0
jmp 0x4a5176
cmp dword [ebp - 0x2db0], 9
jae 0x4a5292
cvtsi2sd xmm0, dword [ebp - 0x2db0]
movsd xmm1, qword [ebp - 0xd0b8]
addsd xmm1, xmm0
movsd qword [ebp - 0xd0c0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd0c0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a51e5
jmp 0x4a50e1
mov ecx, 6
test ecx, ecx
je 0x4a5314
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2db8], eax
cvtsi2sd xmm0, dword [ebp - 0x2db8]
mov eax, dword [ebp - 0x2db8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd0b8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2db4], ecx
jmp 0x4a531e
mov dword [ebp - 0x2db4], 2
mov edx, dword [ebp - 0x2da0]
shl edx, 2
add edx, dword [ebp - 0x2d9c]
mov eax, dword [ebp - 0x2db4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2da0]
shl ecx, 2
add ecx, dword [ebp - 0x2d9c]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a560e
xor eax, eax
je 0x4a5383
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a53bf
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd0d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a555f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a555f
mov dword [ebp - 0x2dbc], 0
jmp 0x4a543e
cmp dword [ebp - 0x2dbc], 9
jae 0x4a555a
mov ecx, 6
test ecx, ecx
je 0x4a55dc
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2dc4], eax
cvtsi2sd xmm0, dword [ebp - 0x2dc4]
mov eax, dword [ebp - 0x2dc4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd0d0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2dc0], ecx
jmp 0x4a55e6
mov dword [ebp - 0x2dc0], 2
mov edx, dword [ebp - 0x2da0]
shl edx, 2
add edx, dword [ebp - 0x2d9c]
mov eax, dword [ebp - 0x2dc0]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2da0]
shl ecx, 2
add ecx, dword [ebp - 0x2d9c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2da0]
add edx, 0xffffffce
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd0e8], xmm0
xor eax, eax
je 0x4a5628
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a5664
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xd0e8]
movsd qword [ebp - 0xd0f0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a5804
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a5804
mov dword [ebp - 0x2dc8], 0
jmp 0x4a56e3
cmp dword [ebp - 0x2dc8], 9
jae 0x4a57ff
mov ecx, 6
test ecx, ecx
je 0x4a5881
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2dd0], eax
cvtsi2sd xmm0, dword [ebp - 0x2dd0]
mov eax, dword [ebp - 0x2dd0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd0f0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2dcc], ecx
jmp 0x4a588b
mov dword [ebp - 0x2dcc], 2
mov edx, dword [ebp - 0x2da0]
add edx, 0xffffffce
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd108], xmm0
xor eax, eax
je 0x4a58a5
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a58e1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ebp - 0xd108]
movsd qword [ebp - 0xd110], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a5a81
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a5e13
xor eax, eax
je 0x4a5b88
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a5bc4
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a0]
movsd qword [ebp - 0xd128], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a5d64
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a5d64
mov dword [ebp - 0x2de0], 0
jmp 0x4a5c43
cmp dword [ebp - 0x2de0], 9
jae 0x4a5d5f
cvtsi2sd xmm0, dword [ebp - 0x2de0]
movsd xmm1, qword [ebp - 0xd128]
addsd xmm1, xmm0
movsd qword [ebp - 0xd130], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd130]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a5cb2
jmp 0x4a5bae
mov ecx, 6
test ecx, ecx
je 0x4a5de1
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2de8], eax
cvtsi2sd xmm0, dword [ebp - 0x2de8]
mov eax, dword [ebp - 0x2de8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd128]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2de4], ecx
jmp 0x4a5deb
mov dword [ebp - 0x2de4], 2
mov edx, dword [ebp - 0x2da0]
shl edx, 2
add edx, dword [ebp - 0x2d9c]
mov eax, dword [ebp - 0x2de4]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2da0]
shl ecx, 2
add ecx, dword [ebp - 0x2d9c]
mov dword [ecx], eax
jmp 0x4a4d55
mov edx, dword [ebp - 0x2d98]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2d98]
mov dword [ebp - 0x2dec], eax
mov ecx, dword [ebp - 0x2dec]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2df0], ecx
mov edx, dword [ebp - 0x2df0]
mov dword [ebp - 0x2d94], edx
mov eax, dword [ebp - 0x47c]
add eax, 0x18
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x2df4], ecx
mov edx, dword [ebp - 0x47c]
add edx, 0x18
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x2df8], eax
mov ecx, dword [ebp - 0x16620]
mov dword [ebp - 0x2dfc], ecx
push 0x3e8
push 0x35e4f491
push 0xf
push 0
call fcn.005cc4d0
add esp, 0x10
mov dword [ebp - 0x2e00], eax
push 0x40
push 0x3000
mov edx, dword [ebp - 0x2df4]
push edx
mov eax, dword [ebp - 0x2df8]
push eax
mov ecx, dword [ebp - 0x2dfc]
push ecx
call dword [ebp - 0x2e00]
mov dword [ebp - 0x2e04], eax
mov edx, dword [ebp - 0x2e04]
mov dword [ebp - 0x2e08], edx
xor eax, eax
mov byte [ebp - 0x82], al
lea ecx, [ebp - 0x82]
call fcn.00423c50
mov dword [ebp - 0x2e0c], eax
mov ecx, dword [ebp - 0x2e0c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a6fd7
mov eax, dword [ebp - 0x2e0c]
mov dword [ebp - 0x2e10], eax
mov dword [ebp - 0x2e14], 0
jmp 0x4a5f23
mov ecx, dword [ebp - 0x2e14]
add ecx, 1
mov dword [ebp - 0x2e14], ecx
cmp dword [ebp - 0x2e14], 1
jae 0x4a6fd7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a61f8
xor eax, eax
je 0x4a5f6d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a5fa9
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b8]
movsd qword [ebp - 0xd140], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a6149
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a6149
mov dword [ebp - 0x2e18], 0
jmp 0x4a6028
cmp dword [ebp - 0x2e18], 9
jae 0x4a6144
cvtsi2sd xmm0, dword [ebp - 0x2e18]
movsd xmm1, qword [ebp - 0xd140]
addsd xmm1, xmm0
movsd qword [ebp - 0xd148], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd148]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6097
mov ecx, dword [ebp - 0x2e18]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd140]
addsd xmm1, xmm0
movsd qword [ebp - 0xd140], xmm1
jmp 0x4a5f93
cvtsi2sd xmm0, dword [ebp - 0x2e18]
movsd xmm1, qword [ebp - 0xd140]
addsd xmm1, xmm0
movsd qword [ebp - 0xd150], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd150]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a60f4
mov eax, dword [ebp - 0x2e18]
and eax, 1
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd140]
addsd xmm1, xmm0
movsd qword [ebp - 0xd140], xmm1
jmp fcn.004a610d
mov ecx, 1
test ecx, ecx
je 0x4a6109
jmp 0x4a5f93
mov ecx, 6
test ecx, ecx
je 0x4a61c6
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e20], eax
cvtsi2sd xmm0, dword [ebp - 0x2e20]
mov eax, dword [ebp - 0x2e20]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd140]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e1c], ecx
jmp 0x4a61d0
mov dword [ebp - 0x2e1c], 2
mov edx, dword [ebp - 0x2e14]
shl edx, 2
add edx, dword [ebp - 0x2e10]
mov eax, dword [ebp - 0x2e1c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e14]
shl ecx, 2
add ecx, dword [ebp - 0x2e10]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a6d0a
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a6505
xor eax, eax
je 0x4a627a
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a62b6
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xd158], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a6456
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a6456
mov dword [ebp - 0x2e24], 0
jmp 0x4a6335
cmp dword [ebp - 0x2e24], 9
jae 0x4a6451
cvtsi2sd xmm0, dword [ebp - 0x2e24]
movsd xmm1, qword [ebp - 0xd158]
addsd xmm1, xmm0
movsd qword [ebp - 0xd160], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd160]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a63a4
jmp 0x4a62a0
mov ecx, 6
test ecx, ecx
je 0x4a64d3
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e2c], eax
cvtsi2sd xmm0, dword [ebp - 0x2e2c]
mov eax, dword [ebp - 0x2e2c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd158]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e28], ecx
jmp 0x4a64dd
mov dword [ebp - 0x2e28], 2
mov edx, dword [ebp - 0x2e14]
shl edx, 2
add edx, dword [ebp - 0x2e10]
mov eax, dword [ebp - 0x2e28]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e14]
shl ecx, 2
add ecx, dword [ebp - 0x2e10]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a67cd
xor eax, eax
je 0x4a6542
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a657e
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd170], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a671e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a671e
mov dword [ebp - 0x2e30], 0
jmp 0x4a65fd
cmp dword [ebp - 0x2e30], 9
jae 0x4a6719
mov ecx, 6
test ecx, ecx
je 0x4a679b
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e38], eax
cvtsi2sd xmm0, dword [ebp - 0x2e38]
mov eax, dword [ebp - 0x2e38]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd170]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e34], ecx
jmp 0x4a67a5
mov dword [ebp - 0x2e34], 2
mov edx, dword [ebp - 0x2e14]
shl edx, 2
add edx, dword [ebp - 0x2e10]
mov eax, dword [ebp - 0x2e34]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e14]
shl ecx, 2
add ecx, dword [ebp - 0x2e10]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2e14]
add edx, 0xffffffce
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd188], xmm0
xor eax, eax
je 0x4a67e7
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a6823
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xd188]
movsd qword [ebp - 0xd190], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a69c3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a69c3
mov dword [ebp - 0x2e3c], 0
jmp 0x4a68a2
cmp dword [ebp - 0x2e3c], 9
jae 0x4a69be
mov ecx, 6
test ecx, ecx
je 0x4a6a40
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e44], eax
cvtsi2sd xmm0, dword [ebp - 0x2e44]
mov eax, dword [ebp - 0x2e44]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd190]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e40], ecx
jmp 0x4a6a4a
mov dword [ebp - 0x2e40], 2
mov edx, dword [ebp - 0x2e14]
add edx, 0xffffffce
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd1a8], xmm0
xor eax, eax
je 0x4a6a64
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a6aa0
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ebp - 0xd1a8]
movsd qword [ebp - 0xd1b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a6c40
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a6fd2
xor eax, eax
je 0x4a6d47
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a6d83
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a0]
movsd qword [ebp - 0xd1c8], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a6f23
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a6f23
mov dword [ebp - 0x2e54], 0
jmp 0x4a6e02
cmp dword [ebp - 0x2e54], 9
jae 0x4a6f1e
cvtsi2sd xmm0, dword [ebp - 0x2e54]
movsd xmm1, qword [ebp - 0xd1c8]
addsd xmm1, xmm0
movsd qword [ebp - 0xd1d0], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd1d0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a6e71
jmp 0x4a6d6d
mov ecx, 6
test ecx, ecx
je 0x4a6fa0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e5c], eax
cvtsi2sd xmm0, dword [ebp - 0x2e5c]
mov eax, dword [ebp - 0x2e5c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd1c8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e58], ecx
jmp 0x4a6faa
mov dword [ebp - 0x2e58], 2
mov edx, dword [ebp - 0x2e14]
shl edx, 2
add edx, dword [ebp - 0x2e10]
mov eax, dword [ebp - 0x2e58]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e14]
shl ecx, 2
add ecx, dword [ebp - 0x2e10]
mov dword [ecx], eax
jmp 0x4a5f14
mov edx, dword [ebp - 0x2e0c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2e0c]
mov dword [ebp - 0x2e60], eax
mov ecx, dword [ebp - 0x2e60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2e64], ecx
mov edx, dword [ebp - 0x2e64]
mov dword [ebp - 0x2e68], edx
xor eax, eax
mov byte [ebp - 0x83], al
lea ecx, [ebp - 0x83]
call fcn.00423c20
mov dword [ebp - 0x2e6c], eax
mov ecx, dword [ebp - 0x2e6c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a8116
mov eax, dword [ebp - 0x2e6c]
mov dword [ebp - 0x2e70], eax
mov dword [ebp - 0x2e74], 0
jmp 0x4a7062
mov ecx, dword [ebp - 0x2e74]
add ecx, 1
mov dword [ebp - 0x2e74], ecx
cmp dword [ebp - 0x2e74], 1
jae 0x4a8116
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a7337
xor eax, eax
je 0x4a70ac
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a70e8
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xd1e0], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a7288
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a7288
mov dword [ebp - 0x2e78], 0
jmp 0x4a7167
cmp dword [ebp - 0x2e78], 9
jae 0x4a7283
cvtsi2sd xmm0, dword [ebp - 0x2e78]
movsd xmm1, qword [ebp - 0xd1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd1e8], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd1e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a71d6
mov ecx, dword [ebp - 0x2e78]
and ecx, 0
cvtsi2sd xmm0, ecx
movsd xmm1, qword [ebp - 0xd1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd1e0], xmm1
jmp 0x4a70d2
cvtsi2sd xmm0, dword [ebp - 0x2e78]
movsd xmm1, qword [ebp - 0xd1e0]
addsd xmm1, xmm0
movsd qword [ebp - 0xd1f0], xmm1
call fcn.005e1ce0
movsx edx, al
cvtsi2sd xmm0, edx
movsd xmm1, qword [ebp - 0xd1f0]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a7233
jmp 0x4a70d2
mov ecx, 6
test ecx, ecx
je 0x4a7305
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e80], eax
cvtsi2sd xmm0, dword [ebp - 0x2e80]
mov eax, dword [ebp - 0x2e80]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd1e0]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e7c], ecx
jmp 0x4a730f
mov dword [ebp - 0x2e7c], 2
mov edx, dword [ebp - 0x2e74]
shl edx, 2
add edx, dword [ebp - 0x2e70]
mov eax, dword [ebp - 0x2e7c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e74]
shl ecx, 2
add ecx, dword [ebp - 0x2e70]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a7e49
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a7644
xor eax, eax
je 0x4a73b9
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a73f5
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd1f8], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a7595
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a7595
mov dword [ebp - 0x2e84], 0
jmp 0x4a7474
cmp dword [ebp - 0x2e84], 9
jae 0x4a7590
mov ecx, 6
test ecx, ecx
je 0x4a7612
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e8c], eax
cvtsi2sd xmm0, dword [ebp - 0x2e8c]
mov eax, dword [ebp - 0x2e8c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd1f8]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e88], ecx
jmp 0x4a761c
mov dword [ebp - 0x2e88], 2
mov edx, dword [ebp - 0x2e74]
shl edx, 2
add edx, dword [ebp - 0x2e70]
mov eax, dword [ebp - 0x2e88]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e74]
shl ecx, 2
add ecx, dword [ebp - 0x2e70]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a790c
xor eax, eax
je 0x4a7681
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a76bd
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a0]
movsd qword [ebp - 0xd210], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a785d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a785d
mov dword [ebp - 0x2e90], 0
jmp fcn.004a773c
mov ecx, 6
test ecx, ecx
je 0x4a78da
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2e98], eax
cvtsi2sd xmm0, dword [ebp - 0x2e98]
mov eax, dword [ebp - 0x2e98]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd210]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2e94], ecx
jmp 0x4a78e4
mov dword [ebp - 0x2e94], 2
mov edx, dword [ebp - 0x2e74]
shl edx, 2
add edx, dword [ebp - 0x2e70]
mov eax, dword [ebp - 0x2e94]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e74]
shl ecx, 2
add ecx, dword [ebp - 0x2e70]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2e74]
add edx, 0xffffffcf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd228], xmm0
xor eax, eax
je 0x4a7926
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a7962
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xd228]
movsd qword [ebp - 0xd230], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a7b02
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a7b02
mov dword [ebp - 0x2e9c], 0
jmp fcn.004a79e1
mov ecx, 6
test ecx, ecx
je 0x4a7b7f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ea4], eax
cvtsi2sd xmm0, dword [ebp - 0x2ea4]
mov eax, dword [ebp - 0x2ea4]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd230]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ea0], ecx
jmp 0x4a7b89
mov dword [ebp - 0x2ea0], 2
mov edx, dword [ebp - 0x2e74]
add edx, 0xffffffcf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd248], xmm0
xor eax, eax
je 0x4a7ba3
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a8111
xor eax, eax
je 0x4a7e86
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a7ec2
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726298]
movsd qword [ebp - 0xd268], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a8062
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a8062
mov dword [ebp - 0x2eb4], 0
jmp 0x4a7f41
cmp dword [ebp - 0x2eb4], 9
jae 0x4a805d
mov ecx, 6
test ecx, ecx
je 0x4a80df
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ebc], eax
cvtsi2sd xmm0, dword [ebp - 0x2ebc]
mov eax, dword [ebp - 0x2ebc]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd268]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2eb8], ecx
jmp 0x4a80e9
mov dword [ebp - 0x2eb8], 2
mov edx, dword [ebp - 0x2e74]
shl edx, 2
add edx, dword [ebp - 0x2e70]
mov eax, dword [ebp - 0x2eb8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2e74]
shl ecx, 2
add ecx, dword [ebp - 0x2e70]
mov dword [ecx], eax
jmp 0x4a7053
mov edx, dword [ebp - 0x2e6c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2e6c]
mov dword [ebp - 0x2ec0], eax
mov ecx, dword [ebp - 0x2ec0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2ec4], ecx
mov edx, dword [ebp - 0x2ec4]
mov dword [ebp - 0x2ec8], edx
xor eax, eax
mov byte [ebp - 0x84], al
lea ecx, [ebp - 0x84]
call fcn.00423bf0
mov dword [ebp - 0x2ecc], eax
mov ecx, dword [ebp - 0x2ecc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4a9255
mov eax, dword [ebp - 0x2ecc]
mov dword [ebp - 0x2ed0], eax
mov dword [ebp - 0x2ed4], 0
jmp 0x4a81a1
mov ecx, dword [ebp - 0x2ed4]
add ecx, 1
mov dword [ebp - 0x2ed4], ecx
cmp dword [ebp - 0x2ed4], 1
jae 0x4a9255
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a8476
xor eax, eax
je 0x4a81eb
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a8227
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xd280], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a83c7
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a83c7
mov dword [ebp - 0x2ed8], 0
jmp 0x4a82a6
cmp dword [ebp - 0x2ed8], 9
jae 0x4a83c2
cvtsi2sd xmm0, dword [ebp - 0x2ed8]
movsd xmm1, qword [ebp - 0xd280]
addsd xmm1, xmm0
movsd qword [ebp - 0xd288], xmm1
call fcn.005e1cf0
movsx eax, al
cvtsi2sd xmm0, eax
movsd xmm1, qword [ebp - 0xd288]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4a8315
jmp 0x4a8211
mov ecx, 6
test ecx, ecx
je 0x4a8444
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2ee0], eax
cvtsi2sd xmm0, dword [ebp - 0x2ee0]
mov eax, dword [ebp - 0x2ee0]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd280]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2edc], ecx
jmp 0x4a844e
mov dword [ebp - 0x2edc], 2
mov edx, dword [ebp - 0x2ed4]
shl edx, 2
add edx, dword [ebp - 0x2ed0]
mov eax, dword [ebp - 0x2edc]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ed4]
shl ecx, 2
add ecx, dword [ebp - 0x2ed0]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a8f88
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a8783
xor eax, eax
je 0x4a84f8
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a8534
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd298], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a86d4
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a86d4
mov dword [ebp - 0x2ee4], 0
jmp fcn.004a85b3
mov ecx, 6
test ecx, ecx
je 0x4a8751
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2eec], eax
cvtsi2sd xmm0, dword [ebp - 0x2eec]
mov eax, dword [ebp - 0x2eec]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd298]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2ee8], ecx
jmp 0x4a875b
mov dword [ebp - 0x2ee8], 2
mov edx, dword [ebp - 0x2ed4]
shl edx, 2
add edx, dword [ebp - 0x2ed0]
mov eax, dword [ebp - 0x2ee8]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ed4]
shl ecx, 2
add ecx, dword [ebp - 0x2ed0]
mov dword [ecx], eax
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a8a4b
xor eax, eax
je 0x4a87c0
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a87fc
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a0]
movsd qword [ebp - 0xd2b0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a899c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a899c
mov ecx, 6
test ecx, ecx
je 0x4a8a19
mov edx, dword [ebp - 0x2ed4]
add edx, 0xffffffcf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd2c8], xmm0
xor eax, eax
je 0x4a8a65
add byte [edi], cl
mov esi, 0x75ea9205
add byte [edi], cl
mov esi, 0x75ea900d
add cl, dl
loope 0x4a8aa1
movsx eax, byte [0x75ea92]
movsx ecx, byte [0x75ea90]
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm0, eax
sal edx, 0xf
sub al, al
mulsd xmm0, qword [ebp - 0xd2c8]
movsd qword [ebp - 0xd2d0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a8c41
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a8c41
mov ecx, 6
test ecx, ecx
je 0x4a8cbe
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a9250
xor eax, eax
je 0x4a8fc5
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a9001
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726298]
movsd qword [ebp - 0xd308], xmm0
retf 0xff2
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a91a1
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a91a1
mov dword [ebp - 0x2f14], 0
jmp fcn.004a9080
mov ecx, 6
test ecx, ecx
je 0x4a921e
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2f1c], eax
cvtsi2sd xmm0, dword [ebp - 0x2f1c]
mov eax, dword [ebp - 0x2f1c]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd308]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2f18], ecx
jmp 0x4a9228
mov dword [ebp - 0x2f18], 2
mov edx, dword [ebp - 0x2ed4]
shl edx, 2
add edx, dword [ebp - 0x2ed0]
mov eax, dword [ebp - 0x2f18]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2ed4]
shl ecx, 2
add ecx, dword [ebp - 0x2ed0]
mov dword [ecx], eax
jmp 0x4a8192
mov edx, dword [ebp - 0x2ecc]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2ecc]
mov dword [ebp - 0x2f20], eax
mov ecx, dword [ebp - 0x2f20]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2f24], ecx
mov edx, dword [ebp - 0x2f24]
mov dword [ebp - 0x2f28], edx
mov eax, dword [ebp - 0x2ec8]
mov dword [ebp - 0x2e68], eax
cmp dword [ebp - 0x2e68], 0
je 0x4aa3e6
xor ecx, ecx
mov byte [ebp - 0x85], cl
lea ecx, [ebp - 0x85]
call fcn.00423bc0
mov dword [ebp - 0x2f2c], eax
mov edx, dword [ebp - 0x2f2c]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4aa3ad
mov ecx, dword [ebp - 0x2f2c]
mov dword [ebp - 0x2f30], ecx
mov dword [ebp - 0x2f34], 0
jmp 0x4a92f9
mov edx, dword [ebp - 0x2f34]
add edx, 1
mov dword [ebp - 0x2f34], edx
cmp dword [ebp - 0x2f34], 1
jae 0x4aa3ad
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a95ce
xor eax, eax
je 0x4a9343
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4a937f
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x7262b0]
movsd qword [ebp - 0xd320], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a951f
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4a951f
mov dword [ebp - 0x2f38], 0
jmp fcn.004a93fe
mov ecx, 6
test ecx, ecx
je 0x4a959c
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
mov dword [ebp - 0x2f40], eax
cvtsi2sd xmm0, dword [ebp - 0x2f40]
mov eax, dword [ebp - 0x2f40]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x726510]
movsd xmm1, qword [ebp - 0xd320]
mulsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0x2f3c], ecx
jmp 0x4a95a6
mov dword [ebp - 0x2f3c], 2
mov edx, dword [ebp - 0x2f34]
shl edx, 2
add edx, dword [ebp - 0x2f30]
mov eax, dword [ebp - 0x2f3c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x2f34]
shl ecx, 2
add ecx, dword [ebp - 0x2f30]
mov dword [ecx], eax
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4aa0e0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a98db
xor eax, eax
je 0x4a9650
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4a968c
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd338], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4a982c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4a9ba3
xor eax, eax
je 0x4a9918
mov edx, dword [ebp - 0x2f34]
add edx, 0xffffffcf
cvtsi2sd xmm0, edx
movsd qword [ebp - 0xd368], xmm0
xor eax, eax
je 0x4a9bbd
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4aa3a8
xor eax, eax
je 0x4aa11d
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4aa159
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726298]
movsd qword [ebp - 0xd3a8], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4aa2f9
jmp 0x4a92ea
mov edx, dword [ebp - 0x2f2c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2f2c]
mov dword [ebp - 0x2f80], eax
mov ecx, dword [ebp - 0x2f80]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2f84], ecx
mov edx, dword [ebp - 0x2f84]
mov dword [ebp - 0x2f28], edx
cmp dword [ebp - 0x2e08], 0
jne 0x4b7458
xor eax, eax
mov byte [ebp - 0x86], al
lea ecx, [ebp - 0x86]
call fcn.00423b90
mov dword [ebp - 0x2f88], eax
mov ecx, dword [ebp - 0x2f88]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4ab4f9
mov eax, dword [ebp - 0x2f88]
mov dword [ebp - 0x2f8c], eax
mov dword [ebp - 0x2f90], 0
jmp 0x4aa445
cmp dword [ebp - 0x2f90], 1
jae 0x4ab4f9
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4aa71a
xor eax, eax
je 0x4aa48f
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4aa4cb
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd3c0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
retf 0xff2
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4aa66b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4aa66b
mov ecx, 6
test ecx, ecx
je 0x4aa6e8
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4ab22c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4aaa27
xor eax, eax
je 0x4aa79c
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4aacef
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4ab4f4
xor eax, eax
je 0x4ab269
jmp fcn.004aa436
mov edx, dword [ebp - 0x2f88]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2f88]
mov dword [ebp - 0x2fdc], eax
mov ecx, dword [ebp - 0x2fdc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x2fe0], ecx
mov edx, dword [ebp - 0x2fe0]
mov dword [ebp - 0x2fe4], edx
xor eax, eax
mov byte [ebp - 0x87], al
lea ecx, [ebp - 0x87]
call fcn.00423b60
mov dword [ebp - 0x2fe8], eax
mov ecx, dword [ebp - 0x2fe8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4ac638
mov eax, dword [ebp - 0x2fe8]
mov dword [ebp - 0x2fec], eax
mov dword [ebp - 0x2ff0], 0
jmp 0x4ab584
cmp dword [ebp - 0x2ff0], 1
jae 0x4ac638
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4ab859
xor eax, eax
je 0x4ab5ce
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4ab60a
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x7262a8]
movsd qword [ebp - 0xd460], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4ab7aa
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4ac36b
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4abb66
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4ac633
mov edx, dword [ebp - 0x2fe8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x2fe8]
mov dword [ebp - 0x303c], eax
mov ecx, dword [ebp - 0x303c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3040], ecx
mov edx, dword [ebp - 0x3040]
mov dword [ebp - 0x3044], edx
xor eax, eax
mov byte [ebp - 0x88], al
lea ecx, [ebp - 0x88]
call fcn.00423b30
mov dword [ebp - 0x3048], eax
mov ecx, dword [ebp - 0x3048]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4ad777
mov eax, dword [ebp - 0x3048]
mov dword [ebp - 0x304c], eax
mov dword [ebp - 0x3050], 0
jmp 0x4ac6c3
cmp dword [ebp - 0x3050], 1
jae 0x4ad777
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4ac998
xor eax, eax
je 0x4ac70d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4ad4aa
mov edx, dword [ebp - 0x3048]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x3048]
mov dword [ebp - 0x309c], eax
mov ecx, dword [ebp - 0x309c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x30a0], ecx
mov edx, dword [ebp - 0x30a0]
mov dword [ebp - 0x30a4], edx
mov eax, dword [ebp - 0x3044]
mov dword [ebp - 0x2fe4], eax
cmp dword [ebp - 0x2fe4], 0
je 0x4ae908
xor ecx, ecx
mov byte [ebp - 0x89], cl
lea ecx, [ebp - 0x89]
call fcn.00423b00
mov dword [ebp - 0x30a8], eax
mov edx, dword [ebp - 0x30a8]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4ae8cf
mov ecx, dword [ebp - 0x30a8]
mov dword [ebp - 0x30ac], ecx
mov dword [ebp - 0x30b0], 0
jmp 0x4ad81b
cmp dword [ebp - 0x30b0], 1
jae 0x4ae8cf
mov edx, dword [ebp - 0x30a8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x30a8]
mov dword [ebp - 0x30fc], eax
mov ecx, dword [ebp - 0x30fc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3100], ecx
mov edx, dword [ebp - 0x3100]
mov dword [ebp - 0x30a4], edx
mov eax, dword [ebp - 0x16620]
mov dword [ebp - 0x3104], eax
push 0xa
push 0x86c5b0af
push 0xf
push 0
call fcn.005cc4d0
add esp, 0x10
mov dword [ebp - 0x3108], eax
push 0
mov ecx, dword [ebp - 0x3104]
push ecx
call dword [ebp - 0x3108]
nop
xor edx, edx
mov byte [ebp - 0x8a], dl
lea ecx, [ebp - 0x8a]
call fcn.00423ad0
mov dword [ebp - 0x310c], eax
mov eax, dword [ebp - 0x310c]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x4afa43
mov edx, dword [ebp - 0x310c]
mov dword [ebp - 0x3110], edx
mov dword [ebp - 0x3114], 0
jmp 0x4ae98f
cmp dword [ebp - 0x3114], 1
jae 0x4afa43
mov edx, dword [ebp - 0x310c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x310c]
mov dword [ebp - 0x3160], eax
mov ecx, dword [ebp - 0x3160]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3164], ecx
mov edx, dword [ebp - 0x3164]
mov dword [ebp - 0x3168], edx
xor eax, eax
mov byte [ebp - 0x8b], al
lea ecx, [ebp - 0x8b]
call fcn.00423aa0
mov dword [ebp - 0x316c], eax
mov ecx, dword [ebp - 0x316c]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4b0b82
mov eax, dword [ebp - 0x316c]
mov dword [ebp - 0x3170], eax
mov dword [ebp - 0x3174], 0
jmp loc.004aface
mov edx, dword [ebp - 0x316c]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x316c]
mov dword [ebp - 0x31c0], eax
mov ecx, dword [ebp - 0x31c0]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x31c4], ecx
mov edx, dword [ebp - 0x31c4]
mov dword [ebp - 0x31c8], edx
xor eax, eax
mov byte [ebp - 0x8c], al
lea ecx, [ebp - 0x8c]
call fcn.00423a70
mov dword [ebp - 0x31cc], eax
mov ecx, dword [ebp - 0x31cc]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4b1cc1
xor ecx, ecx
mov byte [ebp - 0x92], cl
lea ecx, [ebp - 0x92]
call fcn.00423950
mov dword [ebp - 0x3408], eax
mov edx, dword [ebp - 0x3408]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4b855e
mov ecx, dword [ebp - 0x3408]
mov dword [ebp - 0x340c], ecx
mov dword [ebp - 0x3410], 0
jmp 0x4b74aa
cmp dword [ebp - 0x3410], 1
jae 0x4b855e
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 7
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4b777f
xor eax, eax
je 0x4b74f4
add byte [edi], cl
mov esi, 0x75ea9215
add byte [edi], cl
mov esi, 0x75ea9005
add cl, dl
loopne 0x4b7530
movsx edx, byte [0x75ea92]
movsx eax, byte [0x75ea90]
shl eax, 1
sub edx, eax
cvtsi2sd xmm0, edx
sal dl, 1
cvtpi2ps xmm0, mm2
mulsd xmm0, qword [0x726288]
movsd qword [ebp - 0xdb40], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx ecx, al
add esi, ecx
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx edx, al
imul edi, edx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4b76d0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
imul edx, ecx, 0xa
movsx eax, byte [0x77378c]
imul edx, eax
add esi, edx
call fcn.005e1c90
movsx ecx, al
sub esi, ecx
je 0x4b76d0
mov ecx, 6
test ecx, ecx
je 0x4b774d
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4b8291
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b7a8c
xor eax, eax
je 0x4b7801
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b7d54
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b8559
xor eax, eax
je 0x4b82ce
jmp fcn.004b749b
mov edx, dword [ebp - 0x3408]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x3408]
mov dword [ebp - 0x345c], eax
mov ecx, dword [ebp - 0x345c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3460], ecx
mov edx, dword [ebp - 0x3460]
mov dword [ebp - 0x3464], edx
xor eax, eax
mov byte [ebp - 0x93], al
lea ecx, [ebp - 0x93]
call fcn.00423920
mov dword [ebp - 0x3468], eax
mov ecx, dword [ebp - 0x3468]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4b969d
mov eax, dword [ebp - 0x3468]
mov dword [ebp - 0x346c], eax
mov dword [ebp - 0x3470], 0
jmp 0x4b85e9
cmp dword [ebp - 0x3470], 1
jae 0x4b969d
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b88be
xor eax, eax
je 0x4b8633
add byte [edi], cl
mov esi, 0x75ea920d
add byte [edi], cl
mov esi, 0x75ea9015
add cl, dl
loop 0x4b866f
movsx ecx, byte [0x75ea92]
movsx edx, byte [0x75ea90]
shl edx, 1
sub ecx, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [0x726280]
movsd qword [ebp - 0xdbe0], xmm0
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx eax, al
add esi, eax
call fcn.005e1cd0
movsx edi, al
call fcn.005e1cf0
movsx ecx, al
imul edi, ecx
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4b880f
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4b93d0
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx eax, al
add esi, eax
call fcn.005e1cc0
movsx ecx, al
shl ecx, 3
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b8bcb
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 9
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b9698
mov edx, dword [ebp - 0x3468]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x3468]
mov dword [ebp - 0x34bc], eax
mov ecx, dword [ebp - 0x34bc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x34c0], ecx
mov edx, dword [ebp - 0x34c0]
mov dword [ebp - 0x34c4], edx
xor eax, eax
mov byte [ebp - 0x94], al
lea ecx, [ebp - 0x94]
call fcn.004238f0
mov dword [ebp - 0x34c8], eax
mov ecx, dword [ebp - 0x34c8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4ba7dc
mov eax, dword [ebp - 0x34c8]
mov dword [ebp - 0x34cc], eax
mov dword [ebp - 0x34d0], 0
jmp 0x4b9728
cmp dword [ebp - 0x34d0], 1
jae 0x4ba7dc
movsx esi, byte [0x75ea90]
call fcn.005e1cb0
movsx edx, al
add esi, edx
call fcn.005e1cc0
movsx eax, al
imul ecx, eax, 7
movsx edx, byte [0x77378c]
imul ecx, edx
add esi, ecx
call fcn.005e1c90
movsx eax, al
sub esi, eax
je 0x4b99fd
xor eax, eax
je 0x4b9772
movsx esi, byte [0x75ea93]
call fcn.005e1ca0
movsx edx, al
add esi, edx
call fcn.005e1cd0
movsx edi, al
shl edi, 3
call fcn.005e1cf0
movsx eax, al
imul edi, eax
add esi, edi
movsx ecx, byte [0x75ea94]
mov eax, esi
xor edx, edx
div ecx
movsx edx, byte [0x75ea91]
sub eax, edx
je 0x4ba50f
mov edx, dword [ebp - 0x34c8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x34c8]
mov dword [ebp - 0x351c], eax
mov ecx, dword [ebp - 0x351c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3520], ecx
mov edx, dword [ebp - 0x3520]
mov dword [ebp - 0x3524], edx
mov eax, dword [ebp - 0x34c4]
mov dword [ebp - 0x3464], eax
cmp dword [ebp - 0x3464], 0
je 0x4bb96d
xor ecx, ecx
mov byte [ebp - 0x95], cl
lea ecx, [ebp - 0x95]
call fcn.004238c0
mov dword [ebp - 0x3528], eax
mov edx, dword [ebp - 0x3528]
movzx eax, byte [edx + 4]
test eax, eax
jne 0x4bb934
mov ecx, dword [ebp - 0x3528]
mov dword [ebp - 0x352c], ecx
mov dword [ebp - 0x3530], 0
jmp 0x4ba880
cmp dword [ebp - 0x3530], 1
jae 0x4bb934
mov edx, dword [ebp - 0x3528]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x3528]
mov dword [ebp - 0x357c], eax
mov ecx, dword [ebp - 0x357c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3580], ecx
mov edx, dword [ebp - 0x3580]
mov dword [ebp - 0x3524], edx
mov eax, dword [ebp - 0x2e08]
cdq
mov ecx, dword [ebp - 0x47c]
add ecx, 0x18
sub eax, dword [ecx + 0x1c]
mov dword [ebp - 0x3584], eax
xor edx, edx
mov byte [ebp - 0x96], dl
lea ecx, [ebp - 0x96]
call fcn.00423890
mov dword [ebp - 0x3588], eax
mov eax, dword [ebp - 0x3588]
movzx ecx, byte [eax + 4]
test ecx, ecx
jne 0x4bca8c
mov edx, dword [ebp - 0x3588]
mov dword [ebp - 0x358c], edx
mov dword [ebp - 0x3590], 0
jmp 0x4bb9d8
cmp dword [ebp - 0x3590], 1
jae 0x4bca8c
mov edx, dword [ebp - 0x3588]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x3588]
mov dword [ebp - 0x35dc], eax
mov ecx, dword [ebp - 0x35dc]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x35e0], ecx
mov edx, dword [ebp - 0x35e0]
mov dword [ebp - 0x35e4], edx
xor eax, eax
mov byte [ebp - 0x97], al
lea ecx, [ebp - 0x97]
call fcn.00423860
mov dword [ebp - 0x35e8], eax
mov ecx, dword [ebp - 0x35e8]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4bdbcb
mov eax, dword [ebp - 0x35e8]
mov dword [ebp - 0x35ec], eax
mov dword [ebp - 0x35f0], 0
jmp loc.004bcb17
mov edx, dword [ebp - 0x35e8]
mov byte [edx + 4], 1
mov eax, dword [ebp - 0x35e8]
mov dword [ebp - 0x363c], eax
mov ecx, dword [ebp - 0x363c]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x3640], ecx
mov edx, dword [ebp - 0x3640]
mov dword [ebp - 0x3644], edx
xor eax, eax
mov byte [ebp - 0x98], al
lea ecx, [ebp - 0x98]
call fcn.00423830
mov dword [ebp - 0x3648], eax
mov ecx, dword [ebp - 0x3648]
movzx edx, byte [ecx + 4]
test edx, edx
jne 0x4bed0a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret