Function at 0x414b50
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
movss xmm0, dword [0x4aa1d4]
sub esp, 0x1c
movsd xmm1, qword [0x4aa338]
movsx eax, word [0x4aa444]
dec word [0x4aa444]
movss xmm4, dword [0x49bebc]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
subsd xmm1, qword [0x49dda8]
comisd xmm1, xmm2
jbe 0x414be8
movss xmm0, dword [0x4aa15c]
addss xmm0, xmm4
movss dword [0x4aa15c], xmm0
movss xmm1, dword [0x4aa15c]
movss xmm0, dword [0x4aa178]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x414be8
movss xmm0, dword [0x4aa248]
mov ax, word [0x4aa410]
movss xmm0, dword [0x4aa248]
addss xmm0, xmm4
movss dword [0x4aa248], xmm0
movsx eax, word [0x4aa2dc]
movss xmm0, dword [0x4aa2d0]
movsd xmm3, qword [0x49bec0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa2dc], ax
mov eax, dword [0x4aa3e0]
movss xmm1, dword [0x4aa378]
add eax, 0x59c9f37
subss xmm1, dword [0x4aa304]
movss xmm0, dword [0x4aa304]
subss xmm0, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [0x4aa304], xmm0
comiss xmm1, xmm2
jbe 0x414d0e
movsx eax, word [0x4aa040]
movsd xmm2, qword [0x4aa098]
add eax, 0x6ab30696
movsd xmm1, qword [0x4aa400]
movd xmm0, eax
movsx eax, word [0x4aa2ac]
dec word [0x4aa2ac]
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4aa400]
subsd xmm0, xmm3
movsd qword [0x4aa400], xmm0
dec word [0x4aa040]
comisd xmm2, xmm1
jb 0x414d26
movss xmm0, dword [0x4aa2d4]
addss xmm0, xmm4
movss dword [0x4aa2d4], xmm0
inc dword [0x4aa358]
mov eax, dword [0x4aa358]
movss xmm1, dword [0x4aa2d4]
movss xmm2, dword [0x4aa3f8]
movd xmm0, eax
mov eax, dword [0x4aa3c4]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm2, xmm1
addss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [0x4aa3c4], eax
jmp 0x414d26
movsd xmm0, qword [0x4aa050]
mulsd xmm0, qword [0x49f000]
movsd qword [0x4aa050], xmm0
movsd xmm0, qword [0x4aa420]
subsd xmm0, qword [0x49fb48]
mov dword [ebp - 0xc], 0
cvttsd2si eax, xmm0
mov word [0x4aa434], ax
mov eax, dword [0x4aa0ec]
movss xmm0, dword [0x4aa298]
add eax, 0x704e68df
addss xmm0, dword [0x49e868]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
movss xmm0, dword [0x4aa298]
subss xmm0, xmm4
lahf
movss dword [0x4aa298], xmm0
dec dword [0x4aa0ec]
test ah, 0x44
jnp 0x414db9
movss xmm1, dword [0x4aa0a0]
movss xmm0, dword [0x4aa0d8]
subss xmm0, dword [0x49ff38]
addss xmm0, dword [0x49dfd0]
subss xmm1, xmm0
movss dword [0x4aa0a0], xmm1
jmp 0x414ddf
mov ax, word [0x4aa234]
movsx ecx, ax
mov eax, dword [0x4aa3c4]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x4aa378], xmm0
dec word [0x4aa234]
movsd xmm0, qword [0x4aa2f0]
addsd xmm0, xmm3
push ebx
push esi
push edi
push 0x41
movsd qword [0x4aa2f0], xmm0
mov eax, dword [0x4aa210]
movsd xmm2, qword [0x4aa150]
add eax, 0x1e1dceb5
movsd xmm0, qword [0x4aa2f0]
push 0x2aeb
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
subsd xmm2, xmm0
movsd qword [0x4aa150], xmm2
call fcn.0041b2d0
mov ecx, dword [0x4aa064]
mov ebx, eax
sub ecx, 0x79a71230
mov dword [ebp - 0x10], ebx
push 5
mov dword [0x4aa1e8], ecx
inc dword [0x4aa064]
push 0x11e
call fcn.0041b2d0
movss xmm0, dword [0x4aa15c]
add esp, 0x10
subss xmm0, dword [0x49e6ac]
mov esi, eax
ucomiss xmm0, dword [0x4a0300]
lahf
test ah, 0x44
jp 0x414ea2
mov ecx, dword [0x4aa03c]
movsd xmm0, qword [0x4aa1b0]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4aa03c], eax
movsx eax, byte [ebx + 0x3e]
push eax
push esi
lea eax, [ebp - 0x14]
push 4
push eax
call fcn.0043c580
mov eax, dword [0x4aa110]
push 5
push 0x11e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4aa100], xmm0
call fcn.0041b2d0
push esi
push 5
mov edi, eax
mov dword [0x4aa2a0], 0x7df45189
call fcn.004435b0
mov ecx, dword [0x4aa020]
movss xmm1, dword [0x4aa13c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm1, dword [0x49ec98]
cvttss2si eax, xmm1
mov word [0x4aa138], ax
movss xmm0, dword [0x4aa13c]
addss xmm0, dword [0x49bebc]
movss dword [0x4aa13c], xmm0
movsx eax, byte [ebx + 0x3f]
push eax
push edi
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0043c580
push 5
push 0x11e
mov dword [0x4aa384], 0xce36a852
call fcn.0041b2d0
mov ecx, dword [0x4aa370]
mov esi, eax
movsd xmm0, qword [0x4aa1a0]
push edi
push 5
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4aa1a0], xmm0
call fcn.004435b0
movsd xmm1, qword [0x4aa328]
lea eax, [ebp - 0x1c]
movss xmm0, dword [0x4aa224]
add esp, 0x40
addsd xmm1, qword [0x49c480]
cvtps2pd xmm0, xmm0
push 0x3d
push esi
push 4
push eax
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4aa224], xmm0
call fcn.0043c580
movss xmm0, dword [0x4aa44c]
movsx eax, word [0x4aa23c]
movss xmm1, dword [0x49e658]
subss xmm1, xmm0
push esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 5
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa23c], ax
call fcn.004435b0
movss xmm1, dword [0x4aa1ec]
add esp, 0x18
movss xmm0, dword [0x4a027c]
movss xmm4, dword [0x49bebc]
comiss xmm0, xmm1
jbe 0x41503e
movss xmm0, dword [0x4aa274]
addss xmm0, dword [0x4aa0a0]
movss dword [0x4aa274], xmm0
movss xmm0, dword [0x4aa0a0]
addss xmm0, xmm4
movss dword [0x4aa0a0], xmm0
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
test eax, eax
je 0x415748
movsd xmm3, qword [0x49bec0]
xor ecx, ecx
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
nop dword [eax]
movsd xmm0, qword [0x4aa348]
dec eax
mulsd xmm0, qword [0x49c8f8]
mov dword [ebp + 0xc], eax
movsd qword [0x4aa348], xmm0
movzx eax, word [0x4aa0b4]
imul eax, eax, 0x8af23e52
mov word [0x4aa0b4], ax
mov al, byte [edx]
mov byte [ebp + ecx - 4], al
movsx eax, word [0x4aa444]
sub eax, 0x66ca853e
movd xmm2, eax
movsx eax, word [0x4aa0a4]
movsd xmm0, qword [0x4aa420]
add eax, 0x4b4f78f9
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movsd xmm0, qword [0x4aa420]
addsd xmm0, xmm3
ucomisd xmm2, xmm1
movsd qword [0x4aa420], xmm0
lahf
dec word [0x4aa0a4]
test ah, 0x44
jp 0x415130
movsd xmm0, qword [0x4aa3e8]
subsd xmm0, xmm3
movsd qword [0x4aa3e8], xmm0
movsd xmm1, qword [0x4aa3e8]
subsd xmm1, qword [0x49cfb0]
movsd xmm0, qword [0x4aa2e8]
subsd xmm1, qword [0x49c398]
addsd xmm0, xmm1
movsd qword [0x4aa2e8], xmm0
jmp 0x415178
movss xmm1, dword [0x4aa184]
movsx eax, word [0x4aa06c]
addss xmm1, dword [0x49e824]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, dword [0x4a0124]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa06c], ax
movss xmm0, dword [0x4aa184]
addss xmm0, xmm4
movss dword [0x4aa184], xmm0
movsd xmm2, qword [0x4aa348]
inc ecx
movss xmm0, dword [0x4aa214]
subsd xmm2, qword [0x49c638]
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x4aa214]
comisd xmm2, xmm1
addss xmm0, xmm4
movss dword [0x4aa214], xmm0
movsd xmm0, qword [0x4aa348]
subsd xmm0, xmm3
movsd qword [0x4aa348], xmm0
jbe 0x4151d6
movsd xmm0, qword [0x4aa388]
cvttsd2si eax, xmm0
mov word [0x4aa220], ax
jmp 0x4151ee
movsd xmm0, qword [0x4aa190]
mulsd xmm0, qword [0x4aa368]
movsd qword [0x4aa368], xmm0
inc edx
mov dword [ebp + 8], edx
cmp ecx, 3
jne 0x41572f
movzx eax, word [0x4aa458]
movsx ecx, ax
mov eax, dword [0x4aa090]
sub ecx, eax
movss xmm1, dword [0x49fef8]
add ecx, 0x48ca2795
mov word [0x4aa458], cx
inc dword [0x4aa090]
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
mov eax, dword [0x4aa3c4]
movss xmm0, dword [0x4aa19c]
subss xmm1, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [0x4aa3c4], eax
movss xmm0, dword [0x4aa19c]
mov al, byte [ebp - 4]
subss xmm0, xmm4
and al, 3
shl al, 4
mov byte [ebp - 7], al
movss dword [0x4aa19c], xmm0
movzx eax, word [0x4aa41c]
movsx ecx, ax
mov eax, dword [0x4aa3dc]
sub ecx, eax
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
movd xmm0, ecx
mov ecx, 0x1d8254b8
cvtdq2pd xmm0, xmm0
movsd qword [0x4aa400], xmm0
movss xmm0, dword [0x4aa084]
subss xmm0, dword [0x4a01ec]
subss xmm0, dword [0x4a02b0]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa3d0]
mov al, byte [ebp - 3]
addsd xmm0, xmm1
movss xmm1, dword [0x49e3c4]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
movsd qword [0x4aa3d0], xmm0
mov eax, dword [0x4aa1e8]
sub ecx, eax
movss xmm0, dword [0x4aa0c8]
subss xmm1, xmm0
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x4aa100]
addsd xmm1, xmm0
movss xmm0, dword [0x4aa0c8]
subss xmm0, xmm4
comisd xmm1, xmm2
movss dword [0x4aa0c8], xmm0
jb 0x41534a
movsd xmm1, qword [section..data]
movss xmm0, dword [0x4aa2e0]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [section..data], xmm1
jmp 0x415354
mov dword [0x4aa0ec], 0xde9258f8
mov al, byte [ebp - 2]
mov ecx, 0xffac7f4d
shr al, 6
add byte [ebp - 6], al
movzx eax, word [0x4aa1d0]
add eax, 0x1720916a
mov word [0x4aa1d0], ax
mov al, byte [ebp - 2]
movsd xmm1, qword [0x4aa030]
and al, 0x3f
mov byte [ebp - 5], al
movsx eax, word [0x4aa1d0]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4aa030], xmm1
inc word [0x4aa1d0]
xor esi, esi
nop word [eax + eax]
cmp byte [ebp + 0x10], 0
movss xmm1, dword [0x4aa418]
subss xmm1, dword [0x49e130]
movss xmm0, dword [0x4aa324]
mulss xmm0, xmm1
movss dword [0x4aa324], xmm0
je 0x41554c
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x41554c
mov ax, word [0x4aa390]
movsd xmm1, qword [0x4aa1e0]
movsx ecx, ax
movsx eax, word [0x4aa290]
add eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
inc word [0x4aa390]
dec word [0x4aa290]
movsd xmm0, qword [0x4aa1e0]
subsd xmm0, xmm3
movsd qword [0x4aa1e0], xmm0
test ah, 0x44
jp 0x415459
inc word [0x4aa2dc]
movsx eax, word [0x4aa2dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [0x4aa130], xmm0
jmp 0x415490
movss xmm0, dword [0x4aa3a0]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa268]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4aa3a0], xmm0
movsd xmm0, qword [0x4aa268]
subsd xmm0, xmm3
movsd qword [0x4aa268], xmm0
mov ecx, ebx
cmp dl, 0x3e
jne 0x4154df
inc word [0x4aa284]
movzx eax, word [0x4aa284]
add eax, 0x562f321b
mov word [0x4aa290], ax
lea eax, [ebp - 0x14]
push eax
call fcn.0041b290
movsd xmm0, qword [0x4aa268]
subsd xmm0, qword [0x49ccb0]
addsd xmm0, qword [0x49d340]
cvtpd2ps xmm0, xmm0
movss dword [0x4aa08c], xmm0
jmp 0x415502
movsd xmm0, qword [0x49c1b0]
lea eax, [ebp - 0x18]
push eax
movsd qword [0x4aa050], xmm0
call fcn.0041b290
mov dword [0x4aa300], 0xfed78be9
movss xmm1, dword [0x4aa3a0]
movsx eax, word [0x4aa284]
addss xmm1, dword [0x49ee10]
movss xmm4, dword [0x49bebc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa284], ax
movss xmm0, dword [0x4aa3a0]
subss xmm0, xmm4
movss dword [0x4aa3a0], xmm0
jmp 0x4155a0
dec word [0x4aa448]
mov ecx, ebx
movsx eax, word [0x4aa448]
movss xmm0, dword [0x4aa394]
add eax, 0x23d29b64
movd xmm1, eax
movzx eax, byte [ebp + esi - 8]
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [0x4aa130], xmm0
movzx eax, byte [eax + edi]
push eax
call fcn.00445240
movss xmm4, dword [0x49bebc]
mov dword [0x4aa414], 0x66134c81
mov eax, dword [0x4aa0ec]
movss xmm1, dword [0x4aa15c]
movsd xmm3, qword [0x49bec0]
movd xmm2, eax
mov eax, dword [0x4aa440]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x415610
movsd xmm0, qword [0x4aa190]
subsd xmm0, xmm3
movsd qword [0x4aa190], xmm0
movss xmm0, dword [0x4aa248]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa190]
subsd xmm0, qword [0x49c258]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4aa248], xmm0
movss xmm0, dword [0x4aa15c]
inc esi
addss xmm0, xmm4
movss dword [0x4aa15c], xmm0
movss xmm0, dword [0x4aa15c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa328]
subsd xmm1, xmm0
movsd xmm0, qword [0x4aa2f8]
movsx eax, word [0x4aa23c]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4aa23c], ax
movsd xmm0, qword [0x4aa2f8]
addsd xmm0, xmm3
movsd qword [0x4aa2f8], xmm0
movsd xmm0, qword [0x4aa328]
subsd xmm0, xmm3
movsd qword [0x4aa328], xmm0
cmp esi, 4
jne 0x4153b0
movsd xmm0, qword [0x4aa400]
subsd xmm0, qword [0x49f4a8]
movsd xmm1, qword [0x49c4c8]
comisd xmm1, xmm0
jbe 0x415720
mov ax, word [0x4aa044]
mov ecx, dword [0x4aa064]
movss xmm0, dword [0x4aa08c]
inc word [0x4aa044]
cwde
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movss xmm0, dword [0x49e238]
comiss xmm0, xmm1
jbe 0x415720
movsx eax, word [0x4aa220]
movsd xmm1, qword [0x4aa340]
add eax, 0x7a7d7ce
movss xmm0, dword [0x4aa0e8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm0
cvtps2pd xmm0, xmm2
subsd xmm1, xmm0
movsd qword [0x4aa340], xmm1
mov edx, dword [ebp + 8]
xor ecx, ecx
add dword [0x4aa1ac], 0xd71b03b4
mov eax, dword [0x4aa094]
sub dword [0x4aa364], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x415060
mov dword [ebp - 0xc], ecx
movss xmm0, dword [0x4aa37c]
subss xmm0, dword [0x49ecd0]
mov edx, dword [ebp - 0xc]
movss dword [0x4aa37c], xmm0
test edx, edx
je 0x415eee
mov eax, dword [0x4aa1ac]
movss xmm0, dword [0x4aa324]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4aa1ac], eax
movss xmm0, dword [0x4aa324]
subss xmm0, xmm4
movss dword [0x4aa324], xmm0
movsx ecx, word [0x4aa234]
mov eax, dword [0x4aa1e8]
add ecx, 0xf9d0f28e
dec dword [0x4aa1e8]
inc word [0x4aa234]
cmp ecx, eax
jle 0x415819
movss xmm0, dword [0x4aa08c]
movss xmm1, dword [0x49e570]
subss xmm1, xmm0
movss xmm0, dword [0x49fd90]
comiss xmm0, xmm1
jb 0x4157fc
mov ax, word [0x4aa108]
mov ecx, dword [0x4aa0f4]
cwde
imul ecx, eax
mov dword [0x4aa0f4], ecx
jmp 0x415812
movsx eax, word [0x4aa108]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4aa44c], xmm0
inc word [0x4aa108]
movsd xmm3, qword [0x49bec0]
mov edi, 3
cmp edx, edi
jge 0x4158f3
mov esi, 3
movsd xmm2, qword [0x49ddf0]
sub esi, edx
movsd xmm5, qword [0x49d3b0]
lea edi, [ebp - 4]
movsd xmm6, qword [0x49c2c8]
add edi, edx
movsd xmm7, qword [0x49c6f0]
mov ecx, esi
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
nop dword [eax]
dec dword [str.Y__s]
mov ax, word [0x4aa044]
mov ecx, dword [str.Y__s]
cwde
imul ecx, eax
mov word [0x4aa044], cx
movsd xmm1, qword [0x4aa2c0]
movsx eax, word [0x4aa0e0]
addsd xmm1, xmm2
movd xmm0, eax
subsd xmm1, xmm5
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4aa0e0], ax
movsd xmm0, qword [0x4aa2c0]
subsd xmm0, xmm3
movsd qword [0x4aa2c0], xmm0
movsd xmm0, qword [0x4aa010]
subsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si eax, xmm0
mov word [0x4aa0bc], ax
sub esi, 1
jne 0x415870
mov edx, dword [ebp - 0xc]
lea edi, [esi + 3]
movsd xmm0, qword [0x4aa188]
mov cl, byte [ebp - 4]
movsd qword [0x4aa188], xmm0
mov al, cl
movss xmm0, dword [0x4aa354]
and cl, 3
addss xmm0, dword [0x4aa1ec]
shr al, 2
mov byte [ebp - 8], al
shl cl, 4
mov byte [ebp - 7], cl
movss dword [0x4aa1ec], xmm0
movss xmm0, dword [0x4aa354]
mov al, byte [ebp - 3]
addss xmm0, xmm4
shr al, 4
add byte [ebp - 7], al
movss dword [0x4aa354], xmm0
mov eax, dword [0x4aa0dc]
mov ecx, dword [0x4aa210]
add eax, 0xe7a4f830
imul ecx, eax
mov dword [0x4aa210], ecx
inc dword [0x4aa0dc]
movss xmm1, dword [0x4aa280]
addss xmm1, dword [0x49e240]
movss xmm0, dword [0x4aa280]
mov al, byte [ebp - 3]
subss xmm0, xmm4
and al, 0xf
shl al, 2
subss xmm1, dword [0x4a02ec]
mov byte [ebp - 6], al
movss dword [0x4aa280], xmm0
comiss xmm1, dword [0x49e2a0]
jbe 0x4159f5
movsd xmm0, qword [0x4aa120]
addsd xmm0, xmm3
movsd qword [0x4aa120], xmm0
mov eax, dword [0x4aa168]
movsd xmm1, qword [0x4aa120]
subsd xmm1, qword [0x49c430]
movsd xmm0, qword [0x4aa170]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov dword [0x4aa168], eax
mov al, byte [ebp - 2]
xor esi, esi
shr al, 6
add byte [ebp - 6], al
mov eax, dword [0x4aa200]
movss xmm1, dword [0x4aa1bc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4aa180]
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
addss xmm0, xmm1
movss dword [0x4aa180], xmm0
inc word [0x4aa1c0]
dec word [0x4aa158]
mov ax, word [0x4aa158]
movsx ecx, word [0x4aa1c0]
cwde
sub ecx, eax
lea eax, [ecx - 0x5addb718]
add dword [0x4aa10c], eax
movss xmm1, dword [0x4aa2d4]
mov eax, dword [0x4aa2e4]
sub eax, 0x77ef8764
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4aa2d4], xmm1
inc dword [0x4aa2e4]
movsd xmm0, qword [0x4aa2f0]
mov ecx, 0xffffe4f0
movsd xmm1, qword [0x49f128]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x415ad4
movsd xmm1, qword [0x4aa120]
movss xmm0, dword [0x4aa180]
subss xmm0, dword [0x4a0248]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4aa120], xmm1
jmp 0x415b77
mov eax, dword [0x4aa308]
movss xmm0, dword [0x4aa274]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movss xmm0, dword [0x4aa274]
subss xmm0, xmm4
comiss xmm1, dword [0x49fdd8]
movss dword [0x4aa274], xmm0
jbe 0x415b5f
movsx eax, word [0x4aa0a4]
mov ecx, 0x6dc311e9
movd xmm2, eax
mov eax, dword [0x4aa3e4]
sub ecx, eax
movss xmm0, dword [0x4aa238]
cvtdq2ps xmm2, xmm2
movd xmm1, ecx
mov ecx, 0xffffe4f0
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov word [0x4aa0a4], ax
movss xmm0, dword [0x4aa238]
subss xmm0, xmm4
movss dword [0x4aa238], xmm0
jmp 0x415b77
movss xmm0, dword [0x4aa074]
subss xmm0, dword [0x4a0180]
movss dword [0x4aa074], xmm0
cmp esi, edx
jg 0x415cd9
cmp byte [ebp + 0x10], 0
movsx eax, word [0x4aa270]
mov dword [0x4aa370], eax
je 0x415c2e
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x415c2e
add dword [0x4aa39c], 0x23ce2664
cmp al, 0x3e
jne 0x415bdb
lea eax, [ebp - 0x14]
mov word [0x4aa25c], cx
push eax
mov ecx, ebx
call fcn.0041b290
movss xmm0, dword [0x4aa324]
addss xmm0, dword [0x49e814]
movss dword [0x4aa324], xmm0
jmp 0x415c07
lea eax, [ebp - 0x18]
mov dword [0x4aa370], 0x3e1f613c
push eax
mov ecx, ebx
call fcn.0041b290
mov ax, word [0x4aa25c]
mov ecx, dword [0x4aa094]
cwde
imul ecx, eax
mov word [0x4aa25c], cx
movss xmm0, dword [0x4aa070]
addss xmm0, dword [0x49ea6c]
subss xmm0, dword [0x49e5dc]
cvttss2si eax, xmm0
mov word [0x4aa25c], ax
jmp 0x415cb3
movsx eax, word [0x4aa3fc]
mov ecx, 0x6e77e020
sub ecx, eax
cmp ecx, 0xf38892b7
jle 0x415c79
movss xmm0, dword [0x4aa0f8]
addss xmm0, xmm4
movss dword [0x4aa0f8], xmm0
movss xmm0, dword [0x4aa0f8]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa420]
addsd xmm0, xmm1
movsd qword [0x4aa420], xmm0
jmp 0x415c95
movsd xmm0, qword [0x4aa228]
addsd xmm0, qword [0x49c490]
cvtpd2ps xmm0, xmm0
movss dword [0x4aa394], xmm0
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.00445240
add dword [0x4aa1ac], 0x2de2912c
movss xmm4, dword [0x49bebc]
mov eax, 0xffffeb3f
mov edx, dword [ebp - 0xc]
inc esi
mov word [0x4aa290], ax
mov dword [0x4aa3b4], 0xce085bd8
jmp 0x415a89
movsx eax, word [0x4aa3fc]
mov ecx, 0x2cefa3b1
sub ecx, eax
mov dword [0x4aa3c4], ecx
dec word [0x4aa3fc]
cmp edx, 3
jge 0x415ede
sub edi, edx
nop
movss xmm0, dword [0x4aa074]
movsx eax, word [0x4aa23c]
addss xmm0, dword [0x49e84c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [0x4aa080]
addss xmm0, xmm1
movss dword [0x4aa080], xmm0
movsd xmm0, qword [0x4aa0a8]
comisd xmm0, xmmword [0x49fa58]
jb 0x415d5a
movzx eax, word [0x4aa1c4]
add eax, 0x1f3e6125
mov word [0x4aa1c4], ax
cmp byte [ebp + 0x10], 0
je 0x415dbf
movzx eax, word [0x4aa06c]
mov ecx, ebx
add eax, 0x39ba7bb5
mov word [0x4aa06c], ax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041b290
movsd xmm1, qword [0x4aa310]
movsx eax, word [0x4aa27c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [0x4aa3a0]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4aa3a0], xmm0
dec word [0x4aa27c]
jmp 0x415ea9
mov eax, dword [0x4aa038]
movss xmm1, dword [0x4aa074]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4aa08c]
subss xmm1, xmm0
movss xmm0, dword [0x4aa08c]
subss xmm0, xmm4
movss dword [0x4aa08c], xmm0
dec dword [0x4aa038]
comiss xmm1, dword [0x49e7a4]
jbe 0x415e43
movsd xmm0, qword [0x4aa228]
addsd xmm0, qword [0x49bec0]
movsd qword [0x4aa228], xmm0
movss xmm0, dword [0x4aa1d4]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa228]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4aa1d4], xmm0
jmp 0x415e64
mov ax, word [0x4aa258]
movsx ecx, ax
movsx eax, word [0x4aa27c]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x4aa3c0], xmm0
push 0x3d
mov ecx, ebx
call fcn.00445240
movss xmm0, dword [0x4aa330]
movsd xmm2, qword [0x4aa3e8]
movsd xmm1, qword [0x4aa058]
mov eax, dword [0x4aa0ec]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
subsd xmm1, xmm2
movsd qword [0x4aa058], xmm1
movsx eax, word [0x4aa028]
movss xmm0, dword [0x4aa0b0]
movss xmm4, dword [0x49bebc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa270], ax
sub edi, 1
jne 0x415d00
movsd xmm0, qword [0x49f188]
movsd qword [0x4aa2f0], xmm0
push dword [ebp - 0x10]
push 0x41
call fcn.004435b0
mov eax, dword [0x4aa048]
add esp, 8
sub eax, 0x2021de4a
mov word [0x4aa138], ax
inc dword [0x4aa048]
movss xmm0, dword [0x4aa118]
cvtps2pd xmm1, xmm0
pop edi
pop esi
mov dword [ebp - 0x14], 0
pop ebx
movsd xmm0, qword [0x4aa3e8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x415f43
mov eax, 0xffffec16
mov word [0x4aa158], ax
mov eax, dword [0x4aa210]
mov ecx, 0x7d20fc2c
sub ecx, eax
mov dword [ebp - 0x18], 0
add dword [0x4aa03c], ecx
mov dword [ebp - 0x1c], 0
inc word [0x4aa294]
movsx eax, word [0x4aa294]
movss xmm0, dword [0x4aa1a8]
add eax, 0x792c15f3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4aa1a8], xmm0
mov esp, ebp
pop ebp
ret