Function at 0x41aac5
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
and dword [ebp - 8], 0
mov eax, ecx
push ebx
xor ecx, ecx
mov dword [ebp - 0x14], edx
push esi
push edi
mov dword [ebp - 0x24], eax
cmp cx, word [eax + 6]
jae 0x41c0c0
movsd xmm0, qword [0x720bd0]
movsd qword [ebp - 0x50], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x38], xmm0
movsd xmm0, qword [0x720bc8]
movsd qword [ebp - 0x48], xmm0
movsd xmm0, qword [0x720bc0]
movsd qword [ebp - 0x58], xmm0
movsd xmm0, qword [0x720bd8]
movsd qword [ebp - 0x68], xmm0
movsd xmm0, qword [0x720bb8]
movsd qword [ebp - 0x60], xmm0
mov eax, dword fs:[0x2c]
mov ebx, dword [eax]
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0x214]
test al, 1
jne 0x41ab5e
or eax, 1
mov byte [ebx + 0x9f4], 0
mov dword [ebx + 0x214], eax
mov dword [ebx + 0x9f0], 0xffffff99
cmp byte [ebx + 0x9f4], 0
jne 0x41b59b
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 0xa
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41ace8
xor eax, eax
je 0x41aba8
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41ac3d
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41ac83
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ad89
movsd qword [ebp - 0x20], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41abc9
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x20]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x9f0], eax
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx ecx, al
xor edx, edx
movsx eax, byte [0x758a20]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
je 0x41b3d5
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 5
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41aeee
xor eax, eax
je 0x41ad65
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41ae43
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41ac83
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x20], xmm0
movsd xmm2, qword [ebp - 0x20]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41acdb
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41ae89
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41af4f
movsd qword [ebp - 0x20], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41adcf
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x20]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x9f0], eax
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b0b4
xor eax, eax
je 0x41af2b
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x58]
jmp 0x41b009
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41ae89
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x20], xmm0
movsd xmm2, qword [ebp - 0x20]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41aee1
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b04f
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41b0dd
movsd qword [ebp - 0x20], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41af95
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x20]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x9f0], eax
xor eax, eax
je 0x41b0b9
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41b194
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41b04f
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x20], xmm0
movsd xmm2, qword [ebp - 0x20]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41b0a7
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b1da
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41b262
movsd qword [ebp - 0x20], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41b120
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x20]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0xc], eax
xor eax, eax
je 0x41b23e
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41b319
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41b1da
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x20], xmm0
movsd xmm2, qword [ebp - 0x20]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41b232
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b35f
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41b436
movsd qword [ebp - 0x20], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41b2a5
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x20]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
cvttsd2si eax, xmm2
mov ecx, dword [ebx + 0x9f0]
and eax, ecx
add eax, eax
sub edx, eax
add edx, ecx
mov dword [ebx + 0x9f0], edx
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b59b
xor eax, eax
je 0x41b412
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x60]
jmp 0x41b4f0
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41b35f
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x20], xmm0
movsd xmm2, qword [ebp - 0x20]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41b3b7
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b536
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41b673
movsd qword [ebp - 0x20], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41b47c
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x20]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x9f0], eax
mov esi, str.eDRTVY_
mov byte [ebx + 0x9f4], 1
mov eax, dword [ebx + 0x9f0]
lea edi, [ebp - 0x2c]
xor ecx, ecx
movsd dword es:[edi], dword [esi]
mov eax, dword [eax*4 + 0x76c3c0]
mov dword [ebp - 0x1c], eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ecx
push 0x3a
pop esi
div esi
add dl, 0x35
xor byte [ebp + ecx - 0x2c], dl
inc ecx
cmp ecx, 7
jl 0x41b5c0
mov eax, dword fs:[0x2c]
mov ebx, dword [eax]
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0x48]
test al, 1
jne 0x41b605
or eax, 1
mov byte [ebx + 0x324], 0
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x320], 0xffffff98
cmp byte [ebx + 0x324], 0
jne 0x41c089
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 0xa
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b7d8
xor eax, eax
je 0x41b64f
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41b72d
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41b536
movsd xmm0, qword [ebp - 0x20]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x20], xmm0
movsd xmm2, qword [ebp - 0x20]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41b58e
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b773
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41b879
movsd qword [ebp - 0x10], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41b6b9
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x10]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x320], eax
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx ecx, al
xor edx, edx
movsx eax, byte [0x758a20]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
je 0x41bec3
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 5
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b9de
xor eax, eax
je 0x41b855
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41b933
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41b773
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x10], xmm0
movsd xmm2, qword [ebp - 0x10]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41b7cb
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41b979
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ba3f
movsd qword [ebp - 0x10], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41b8bf
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x10]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x320], eax
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41bba4
xor eax, eax
je 0x41ba1b
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x58]
jmp 0x41baf9
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41b979
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x10], xmm0
movsd xmm2, qword [ebp - 0x10]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41b9d1
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41bb3f
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41bbcd
movsd qword [ebp - 0x10], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41ba85
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x10]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x320], eax
xor eax, eax
je 0x41bba9
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41bc84
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41bb3f
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x10], xmm0
movsd xmm2, qword [ebp - 0x10]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41bb97
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41bcca
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41bd52
movsd qword [ebp - 0x10], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41bc10
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x10]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0xc], eax
xor eax, eax
je 0x41bd2e
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41be09
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x40]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41bcca
movsd xmm0, qword [ebp - 0x10]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x10], xmm0
movsd xmm2, qword [ebp - 0x10]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41bd22
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41be4f
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41bf24
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41bd95
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
mov ecx, dword [ebx + 0x320]
and eax, ecx
add eax, eax
sub ecx, eax
add ecx, dword [ebp - 0xc]
mov dword [ebx + 0x320], ecx
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c089
xor eax, eax
je 0x41bf00
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x60]
jmp 0x41bfde
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41be4f
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41bea7
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c024
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41c0c7
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41bf6a
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x320], eax
mov edi, dword [ebp - 8]
lea eax, [ebp - 0x2c]
push eax
imul eax, edi, 0x28
mov byte [ebx + 0x324], 1
mov esi, dword [ebx + 0x320]
add eax, dword [ebp - 0x14]
push eax
call dword [ebp - 0x1c]
pop ecx
pop ecx
cmp eax, esi
je 0x41c10d
mov eax, dword [ebp - 0x24]
inc edi
mov dword [ebp - 8], edi
movzx eax, word [eax + 6]
cmp edi, eax
jl 0x41ab2f
xor al, al
pop edi
pop esi
pop ebx
leave
ret
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41c024
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41c07c
mov eax, dword fs:[0x2c]
mov ebx, dword [eax]
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0xb04]
test al, 1
jne 0x41c13c
or eax, 1
mov byte [ebx + 0x11bc], 0
mov dword [ebx + 0xb04], eax
mov dword [ebx + 0x11b8], 0xffff5f25
cmp byte [ebx + 0x11bc], 0
movsd xmm0, qword [0x720bb0]
movsd qword [ebp - 0x68], xmm0
jne 0x41cb86
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 0xa
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c2d3
xor eax, eax
je 0x41c193
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41c228
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c26e
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41c374
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41c1b4
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x11b8], eax
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx ecx, al
xor edx, edx
movsx eax, byte [0x758a20]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
je 0x41c9c0
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 5
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c4d9
xor eax, eax
je 0x41c350
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x58]
jmp 0x41c42e
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41c26e
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41c2c6
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c474
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41c53a
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41c3ba
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x11b8], eax
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c69f
xor eax, eax
je 0x41c516
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x60]
jmp 0x41c5f4
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41c474
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41c4cc
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c63a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41c6c8
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41c580
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x11b8], eax
xor eax, eax
je 0x41c6a4
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41c77f
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41c63a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41c692
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c7c5
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41c84d
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41c70b
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0x24], eax
xor eax, eax
je 0x41c829
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41c904
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41c7c5
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41c81d
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41c94a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ca21
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41c890
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
cvttsd2si eax, xmm2
mov ecx, dword [ebx + 0x11b8]
and eax, ecx
add eax, eax
sub edx, eax
add edx, ecx
mov dword [ebx + 0x11b8], edx
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41cb86
xor eax, eax
je 0x41c9fd
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41cadb
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41c94a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41c9a2
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41cb21
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41cc2a
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41ca67
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x11b8], eax
mov eax, dword fs:[0x2c]
mov byte [ebx + 0x11bc], 1
mov ebx, dword [eax]
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0xbec]
test al, 1
jne 0x41cbbc
or eax, 1
mov byte [ebx + 0xbf8], 0
mov dword [ebx + 0xbec], eax
mov dword [ebx + 0xbf4], 0xffff5e58
cmp byte [ebx + 0xbf8], 0
jne 0x41d640
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 0xa
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41cd8f
xor eax, eax
je 0x41cc06
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41cce4
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41cb21
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41cb79
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41cd2a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ce30
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41cc70
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0xbf4], eax
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx ecx, al
xor edx, edx
movsx eax, byte [0x758a20]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
je 0x41d47a
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 5
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41cf95
xor eax, eax
je 0x41ce0c
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x58]
jmp 0x41ceea
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41cd2a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41cd82
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41cf30
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41cff6
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41ce76
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0xbf4], eax
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d15b
xor eax, eax
je 0x41cfd2
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x60]
jmp 0x41d0b0
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41cf30
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41cf88
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d0f6
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41d184
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41d03c
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0xbf4], eax
xor eax, eax
je 0x41d160
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41d23b
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41d0f6
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41d14e
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d281
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41d309
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41d1c7
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0x24], eax
xor eax, eax
je 0x41d2e5
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41d3c0
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41d281
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41d2d9
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d406
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41d4db
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41d34c
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
mov ecx, dword [ebx + 0xbf4]
and eax, ecx
add eax, eax
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov dword [ebx + 0xbf4], ecx
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d640
xor eax, eax
je 0x41d4b7
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41d595
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41d406
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41d45e
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d5db
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41d6fa
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41d521
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0xbf4], eax
mov byte [ebx + 0xbf8], 1
mov eax, dword [ebx + 0xbf4]
mov dword [ebp - 0x1c], eax
mov eax, dword fs:[0x2c]
mov ebx, dword [eax]
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0xe78]
test al, 1
jne 0x41d67f
or eax, 1
mov byte [ebx + 0xa48], 0
mov dword [ebx + 0xe78], eax
mov dword [ebx + 0xa44], 0xffff5af3
cmp byte [ebx + 0xa48], 0
movsd xmm0, qword [0x720ba8]
movsd qword [ebp - 0x50], xmm0
jne 0x41e110
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 0xa
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d85f
xor eax, eax
je 0x41d6d6
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x58]
jmp 0x41d7b4
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41d5db
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41d633
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41d7fa
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41d900
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41d740
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0xa44], eax
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx ecx, al
xor edx, edx
movsx eax, byte [0x758a20]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
je 0x41df4a
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 5
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41da65
xor eax, eax
je 0x41d8dc
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x60]
jmp 0x41d9ba
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41d7fa
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41d852
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41da00
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41dac6
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41d946
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0xa44], eax
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41dc2b
xor eax, eax
je 0x41daa2
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41db80
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41da00
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41da58
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41dbc6
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41dc54
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41db0c
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0xa44], eax
xor eax, eax
je 0x41dc30
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41dd0b
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41dbc6
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41dc1e
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41dd51
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ddd9
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41dc97
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0x24], eax
xor eax, eax
je 0x41ddb5
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41de90
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41dd51
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41dda9
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41ded6
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41dfab
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41de1c
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
mov ecx, dword [ebx + 0xa44]
and eax, ecx
add eax, eax
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov dword [ebx + 0xa44], ecx
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e110
xor eax, eax
je 0x41df87
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41e065
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41ded6
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41df2e
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e0ab
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41e1be
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41dff1
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0xa44], eax
cmp dword [ebp - 0x1c], 0
mov byte [ebx + 0xa48], 1
je 0x41ebdd
mov eax, dword fs:[0x2c]
mov ebx, dword [eax]
mov dword [ebp - 4], ebx
mov eax, dword [ebx + 0xf78]
test al, 1
jne 0x41e150
or eax, 1
mov byte [ebx + 0x540], 0
mov dword [ebx + 0xf78], eax
mov dword [ebx + 0x53c], 0xffffa9e4
cmp byte [ebx + 0x540], 0
jne 0x41ebd6
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 0xa
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e323
xor eax, eax
je 0x41e19a
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x58]
jmp 0x41e278
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41e0ab
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41e103
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e2be
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41e3c4
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41e204
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ebx + 0x53c], eax
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx ecx, al
xor edx, edx
movsx eax, byte [0x758a20]
add ecx, edi
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
je 0x41ea10
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 5
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e529
xor eax, eax
je 0x41e3a0
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x60]
jmp 0x41e47e
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41e2be
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41e316
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e4c4
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41e58a
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41e40a
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x53c], eax
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e6ef
xor eax, eax
je 0x41e566
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x68]
jmp 0x41e644
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41e4c4
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41e51c
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e68a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41e718
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41e5d0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ecx, dword [ebp - 4]
cvttsd2si eax, xmm2
xor dword [ecx + 0x53c], eax
xor eax, eax
je 0x41e6f4
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41e7cf
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41e68a
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41e6e2
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e815
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41e89d
movsd qword [ebp - 0x40], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41e75b
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x40]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [ebp - 0x24], eax
xor eax, eax
je 0x41e879
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x48]
jmp 0x41e954
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41e815
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x40], xmm0
movsd xmm2, qword [ebp - 0x40]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41e86d
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41e99a
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ea71
movsd qword [ebp - 0x48], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41e8e0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x48]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
cvttsd2si eax, xmm2
mov ecx, dword [ebx + 0x53c]
and eax, ecx
add eax, eax
sub edx, eax
add edx, ecx
mov dword [ebx + 0x53c], edx
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 6
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41ebd6
xor eax, eax
je 0x41ea4d
add byte [edi], cl
mov esi, 0x758a220d
add byte [edi], cl
mov esi, 0x758a2805
add byte [ebx], al
leave
movsx ecx, byte [0x758a22]
movsx eax, byte [0x758a28]
add ecx, ecx
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x50]
jmp 0x41eb2b
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41e99a
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x48], xmm0
movsd xmm2, qword [ebp - 0x48]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41e9f2
call fcn.005bf0b4
movsx ecx, byte [0x76d750]
movsx eax, al
imul ecx, eax
imul esi, ecx, 3
call fcn.005bf0bd
movsx eax, al
sub esi, eax
call fcn.005bf0b7
movsx ecx, byte [0x758a22]
movsx eax, al
add eax, esi
add ecx, eax
je 0x41eb71
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ab
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [ebp - 0x38]
lahf
test ah, 0x44
jp 0x41ebe4
movsd qword [ebp - 0x48], xmm0
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*8]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
sub eax, ecx
jne 0x41eab7
call fcn.005bf0b1
movsx esi, al
call fcn.005bf0ab
movsx edi, al
imul edi, esi
call fcn.005bf0ba
movsx eax, al
xor edx, edx
lea ecx, [eax + edi*4]
movsx eax, byte [0x758a20]
add eax, ecx
movsx ecx, byte [0x758a21]
div ecx
movsx ecx, byte [0x758a23]
movsd xmm2, qword [ebp - 0x48]
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x720c70]
mulsd xmm2, xmm0
mov ebx, dword [ebp - 4]
cvttsd2si ecx, xmm2
xor dword [ebx + 0x53c], ecx
mov byte [ebx + 0x540], 1
mov al, 1
jmp 0x41c0c2
movsd qword [ebp - 0x70], xmm0
call fcn.005bf0ae
movsd xmm1, qword [ebp - 0x70]
movsx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x41eb71
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, qword [ebp - 0x38]
movsd qword [ebp - 0x48], xmm0
movsd xmm2, qword [ebp - 0x48]
addsd xmm2, qword [ebp - 0x38]
jmp 0x41ebc9