Function at 0x414cc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
movss xmm0, dword [0x4ac3a8]
mov ecx, 0xfc9b1de8
subss xmm0, dword [0x4a063c]
movsd xmm2, qword [0x49de18]
push ebx
push esi
push edi
movss dword [0x4ac148], xmm0
movsd xmm1, qword [0x4ac1f0]
movsx eax, word [0x4ac390]
subsd xmm1, qword [0x49fe18]
push 0x41
push 0x1399
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
movsd xmm1, qword [0x49f2a0]
cvttsd2si eax, xmm0
mov word [0x4ac390], ax
movsd xmm0, qword [0x4ac1f0]
subsd xmm0, xmm2
movsd qword [0x4ac1f0], xmm0
movsd xmm0, qword [0x4a1140]
movsd qword [0x4ac528], xmm0
dec dword [0x4ac504]
mov eax, dword [0x4ac504]
sub ecx, eax
mov dword [0x4ac104], ecx
xor eax, eax
movsd xmm0, qword [0x4ac528]
subsd xmm1, xmm0
mov dword [ebp - 0xc], eax
movsd qword [0x4ac028], xmm1
movsd xmm0, qword [0x4ac528]
subsd xmm0, xmm2
movsd qword [0x4ac528], xmm0
movsd xmm0, qword [0x4ac4c0]
addsd xmm0, xmm2
movsd qword [0x4ac4c0], xmm0
movsd xmm1, qword [0x4ac260]
movsd xmm0, qword [0x4ac568]
subsd xmm0, qword [0x4ac4c0]
subsd xmm1, xmm0
movsd qword [0x4ac260], xmm1
movsd xmm0, qword [0x4ac568]
addsd xmm0, xmm2
movsd qword [0x4ac568], xmm0
call fcn.004280a0
movsd xmm1, qword [0x4ac468]
mov ebx, eax
subsd xmm1, qword [0x49f9e0]
movsd xmm0, qword [0x4ac2b0]
push 5
push 0x343
mov dword [ebp - 0x10], ebx
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [0x4ac504], ecx
call fcn.004280a0
movsd xmm1, qword [0x4ac5c0]
mov esi, eax
movss xmm0, dword [0x4ac3c8]
addsd xmm1, qword [0x49f5f0]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ac3c8], xmm0
movsd xmm0, qword [0x4ac5c0]
addsd xmm0, qword [0x49de18]
movsd qword [0x4ac5c0], xmm0
movsx eax, byte [ebx + 0x3e]
push eax
push esi
lea eax, [ebp - 0x14]
push 4
push eax
call fcn.0041b7f0
movsx eax, word [0x4ac2a4]
add esp, 0x20
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [0x4ac290]
addsd xmm2, xmm0
movss xmm0, dword [0x4ac198]
movsx eax, word [0x4ac190]
movsd xmm1, qword [0x4ac2b0]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [0x4ac198]
addss xmm0, dword [0x49de14]
comisd xmm2, xmm1
movss dword [0x4ac198], xmm0
jb 0x414f0c
movsx eax, word [0x4ac340]
movss xmm1, dword [0x4ac09c]
movd xmm0, eax
mov eax, dword [0x4ac298]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ac298], eax
dec word [0x4ac340]
push 5
push 0x343
call fcn.004280a0
movss xmm1, dword [0x4ac240]
mov edi, eax
movsx ecx, word [0x4ac170]
push esi
push 5
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ac240], xmm1
call fcn.00448990
movsd xmm0, qword [section..data]
mulsd xmm0, qword [0x4a18a8]
movsd qword [section..data], xmm0
movsx eax, byte [ebx + 0x3f]
push eax
push edi
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0041b7f0
movsd xmm1, qword [0x4ac510]
movss xmm0, dword [0x4ac37c]
subsd xmm1, qword [0x49f3c0]
cvtps2pd xmm0, xmm0
push 5
push 0x343
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ac37c], xmm0
call fcn.004280a0
movsd xmm0, qword [0x4a1630]
mov esi, eax
push edi
push 5
movsd qword [0x4ac468], xmm0
call fcn.00448990
push 0x3d
push esi
lea eax, [ebp - 0x1c]
mov dword [0x4ac0d4], 0x5538c3ef
push 4
push eax
call fcn.0041b7f0
dec word [0x4ac230]
add esp, 0x40
movsx eax, word [0x4ac230]
movsd xmm0, qword [0x4ac158]
sub eax, 0x2f7c704a
push esi
push 5
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ac158], xmm0
call fcn.00448990
movsd xmm0, qword [0x4ac2f0]
add esp, 8
movsd xmm1, qword [0x49e180]
subsd xmm1, xmm0
movsd xmm0, qword [0x4a1890]
subsd xmm1, qword [0x4a0eb0]
comisd xmm0, xmm1
jbe 0x41540d
mov eax, dword [0x4ac12c]
add eax, dword [0x4ac1bc]
mov dword [0x4ac1bc], eax
dec dword [0x4ac12c]
movsd xmm3, qword [0x49de18]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
test edi, edi
je 0x4157ab
movss xmm4, dword [0x49de14]
xor edx, edx
nop word [eax + eax]
dec word [0x4ac230]
dec edi
movsx eax, word [0x4ac230]
movsd xmm0, qword [0x4ac4c0]
mov ecx, dword [ebp + 8]
mov dword [ebp + 0xc], edi
movd xmm1, eax
movsx eax, word [0x4ac4e4]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movd xmm0, eax
mov eax, dword [0x4ac278]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ac278], eax
movss xmm0, dword [0x4ac1c0]
subss xmm0, xmm4
movss dword [0x4ac1c0], xmm0
mov eax, dword [0x4ac538]
movss xmm0, dword [0x4ac1c0]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ac538], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp + edx - 4], al
inc edx
movsx eax, word [0x4ac5b8]
movss xmm0, dword [0x4ac060]
sub eax, 0x3aad69f7
mov dword [ebp + 8], ecx
mov ecx, 0xcc3a0bb0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ac4b8], ax
mov eax, dword [0x4ac1c4]
add eax, 0x60c304ce
mov dword [0x4ac47c], eax
movss xmm1, dword [0x4ac418]
movsx eax, word [0x4ac034]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ac418], xmm1
cmp edx, 3
jne 0x415761
mov eax, dword [0x4ac29c]
movss xmm0, dword [0x4ac36c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss xmm1, dword [0x4a06c4]
cvttss2si eax, xmm0
mov dword [0x4ac29c], eax
movss xmm0, dword [0x4ac240]
mov al, byte [ebp - 4]
subss xmm1, xmm0
movss xmm0, dword [0x4ac200]
shr al, 2
mov byte [ebp - 8], al
subss xmm1, dword [0x4a0a04]
addss xmm0, xmm1
movss dword [0x4ac200], xmm0
movss xmm0, dword [0x4ac240]
mov cl, byte [ebp - 4]
addss xmm0, xmm4
mov al, byte [ebp - 3]
and cl, dl
shl cl, 4
mov byte [ebp - 7], cl
shr al, 4
add cl, al
movss dword [0x4ac240], xmm0
mov dword [0x4ac574], 0xd584b06b
mov ax, word [0x4ac4e4]
mov byte [ebp - 7], cl
movsx ecx, ax
mov eax, dword [0x4ac47c]
sub ecx, eax
inc dword [0x4ac47c]
sub ecx, 0x326e2a3d
cmp ecx, 0x59e02ef
jle 0x41524c
mov ax, word [0x4ac4bc]
movsx ecx, ax
mov eax, dword [0x4ac1bc]
add eax, 0x54eaaaf7
add eax, ecx
mov dword [0x4ac1bc], eax
mov al, byte [ebp - 3]
xor esi, esi
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
add dword [0x4ac350], 0x9ee70cfe
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
movsx eax, word [0x4ac250]
movsd xmm0, qword [0x4ac4d8]
subsd xmm0, qword [0x49dfa0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, qword [0x49f3d0]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
movss xmm1, dword [0x4a05d4]
mov word [0x4ac250], ax
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
inc dword [0x4ac47c]
mov eax, dword [0x4ac47c]
add eax, 0x6a5e5861
mov word [0x4ac08c], ax
movss xmm0, dword [0x4ac1cc]
subss xmm1, xmm0
comiss xmm1, dword [0x4a0d90]
jb 0x4152f4
movss xmm0, dword [0x4ac3e0]
mulss xmm0, dword [0x4a08ac]
movss dword [0x4ac3e0], xmm0
mov edi, dword [ebp - 0x10]
cmp byte [ebp + 0x10], 0
mov eax, dword [0x4ac0c8]
movss xmm2, dword [0x4ac4b0]
movss xmm0, dword [0x4ac2ac]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
subss xmm2, xmm0
movss dword [0x4ac4b0], xmm2
je 0x415566
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x415566
movsd xmm0, qword [0x4ac160]
addsd xmm0, xmm3
movsd qword [0x4ac160], xmm0
movsd xmm1, qword [0x4ac160]
movsd xmm0, qword [0x4ac110]
addsd xmm1, qword [0x49e038]
mulsd xmm0, xmm1
movsd qword [0x4ac110], xmm0
cmp al, 0x3e
jne 0x4154e3
inc word [0x4ac180]
mov ecx, 0xb51765bd
movsx eax, word [0x4ac180]
movss xmm0, dword [0x4ac240]
sub ecx, eax
subss xmm0, dword [0x4a0dd0]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x4a0624]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x415482
inc word [0x4ac390]
movsx eax, word [0x4ac390]
movss xmm1, dword [0x4ac03c]
movd xmm0, eax
mov eax, dword [0x4ac1ec]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ac1ec], eax
movss xmm0, dword [0x4ac03c]
subss xmm0, xmm4
movss dword [0x4ac03c], xmm0
jmp 0x4154a7
inc word [0x4ac354]
movsd xmm1, qword [0x4ac138]
movsx eax, word [0x4ac354]
addsd xmm1, qword [0x49eb68]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x415057
movsd xmm0, qword [0x4ac118]
movsd xmm0, qword [0x4ac408]
movsd xmm0, qword [0x4ac118]
movsd xmm3, qword [0x49de18]
addsd xmm0, xmm3
movsd qword [0x4ac118], xmm0
movsd xmm0, qword [0x4ac408]
subsd xmm0, xmm3
movsd qword [0x4ac408], xmm0
jmp 0x41505f
movsx eax, word [0x4ac188]
movsd xmm0, qword [0x4ac040]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ac188], ax
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.00424d20
movsx eax, word [0x4ac53c]
movss xmm0, dword [0x4ac1c0]
sub eax, 0x4d7f5830
movsd xmm3, qword [0x49de18]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ac1c0], xmm0
jmp 0x415551
lea eax, [ebp - 0x18]
mov dword [0x4ac4b0], 0x4e9cdc07
push eax
mov ecx, ebx
call fcn.00424d20
movsd xmm0, qword [0x4ac568]
movsd xmm3, qword [0x49de18]
movsd xmm1, qword [0x4a1008]
subsd xmm0, xmm3
movsd qword [0x4ac568], xmm0
movsd xmm0, qword [0x4ac568]
comisd xmm1, xmm0
jb 0x415551
mov eax, dword [0x4ac078]
movsd xmm0, qword [0x4ac3c0]
add eax, 0x4ef53b96
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ac01c], eax
dec dword [0x4ac278]
mov eax, dword [0x4ac278]
mov dword [0x4ac574], eax
jmp 0x41560e
movsd xmm0, qword [0x4ac208]
mov ecx, ebx
mulsd xmm0, qword [0x49f788]
movzx eax, byte [ebp + esi - 8]
movsd qword [0x4ac208], xmm0
movzx eax, byte [eax + edi]
push eax
call fcn.00429b30
movsd xmm2, qword [0x4ac130]
movsd xmm0, qword [0x4ac408]
mov eax, dword [0x4ac074]
subsd xmm0, qword [0x49df48]
movsd xmm3, qword [0x49de18]
subsd xmm2, qword [0x49dfe8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm0
movsd xmm0, qword [0x4ac130]
subsd xmm0, xmm3
comisd xmm1, xmm2
movsd qword [0x4ac130], xmm0
jbe 0x41560e
movss xmm1, dword [0x4ac384]
movsx eax, word [0x4ac4d4]
subss xmm1, dword [0x4a096c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ac4d4], ax
movss xmm0, dword [0x4ac2a8]
mov ecx, 0x6fc8d314
cvtps2pd xmm1, xmm0
inc esi
movsd xmm0, qword [0x4ac488]
movss xmm4, dword [0x49de14]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ac2a8], xmm0
movsd xmm0, qword [0x4ac488]
subsd xmm0, xmm3
movsd qword [0x4ac488], xmm0
mov eax, dword [0x4ac29c]
sub ecx, eax
mov word [0x4ac420], cx
cmp esi, 4
jne 0x4152f7
movsx eax, word [0x4ac51c]
xor edx, edx
movsd xmm0, qword [0x4ac1f0]
sub eax, 0x1d26f20e
mov edi, dword [ebp + 0xc]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ac1f0], xmm0
inc word [0x4ac0a0]
movsd xmm2, qword [0x4ac058]
movsx eax, word [0x4ac0a0]
movd xmm0, eax
mov eax, dword [0x4ac194]
mov ecx, dword [0x4ac4f0]
cvtdq2pd xmm0, xmm0
sub ecx, eax
mov eax, dword [0x4ac26c]
dec dword [0x4ac194]
sub ecx, eax
movd xmm1, ecx
subsd xmm2, xmm0
movsd xmm0, qword [0x4ac058]
cvtdq2pd xmm1, xmm1
addsd xmm2, qword [0x49f328]
addsd xmm0, xmm3
comisd xmm1, xmm2
movsd qword [0x4ac058], xmm0
jbe 0x415761
inc word [0x4ac51c]
mov ecx, 0x7000782c
movsx eax, word [0x4ac180]
sub ecx, eax
movsx eax, word [0x4ac51c]
movsd xmm0, qword [0x4ac0e0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm2, ecx
subsd xmm1, xmm0
movsd xmm0, qword [0x4ac0e0]
cvtdq2pd xmm2, xmm2
subsd xmm0, xmm3
movsd qword [0x4ac0e0], xmm0
dec word [0x4ac180]
comisd xmm2, xmm1
jb 0x415761
mov eax, 0x5f86
mov word [0x4ac458], ax
movss xmm1, dword [0x4ac418]
mov eax, dword [0x4ac1c4]
addss xmm1, dword [0x4a0298]
dec dword [0x4ac1c4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x4157a0
movss xmm0, dword [0x4ac018]
mulss xmm0, dword [0x4a0cd0]
movss dword [0x4ac018], xmm0
test edi, edi
jne 0x415080
mov dword [ebp - 0xc], edx
dec dword [0x4ac4f0]
mov eax, dword [0x4ac4f0]
movss xmm0, dword [0x4ac0f0]
mov edi, dword [ebp - 0xc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ac0f0], xmm0
test edi, edi
je 0x416241
movsd xmm0, qword [0x4ac2b0]
subsd xmm0, qword [0x4ac168]
movss xmm4, dword [0x49de14]
movsd qword [0x4ac2b0], xmm0
movzx eax, word [0x4ac23c]
sub eax, 0x3318345c
mov word [0x4ac23c], ax
cmp edi, 3
jge 0x4158b8
lea ecx, [ebp - 4]
movss xmm2, dword [0x4a0ab8]
add edi, ecx
movsd xmm5, qword [0x4a1a20]
mov esi, 3
xor eax, eax
sub esi, dword [ebp - 0xc]
mov ecx, esi
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 word [eax + eax]
movss xmm0, dword [0x4ac1d4]
subss xmm0, xmm2
movss dword [0x4ac240], xmm0
movss xmm0, dword [0x4ac1d4]
subss xmm0, xmm4
movss dword [0x4ac1d4], xmm0
movsx eax, word [0x4ac414]
movss xmm0, dword [0x4ac240]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ac414], ax
movsd xmm0, qword [0x4ac010]
mulsd xmm0, xmm5
movsd qword [0x4ac010], xmm0
sub esi, 1
jne 0x415850
mov edi, dword [ebp - 0xc]
movss xmm0, dword [0x4ac320]
movss xmm1, dword [0x4a0250]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd xmm1, qword [0x4ac008]
addsd xmm1, xmm0
movsd xmm0, qword [0x49e678]
comisd xmm0, xmm1
jb 0x415939
inc dword [0x4ac074]
mov ecx, dword [0x4ac4f0]
mov eax, dword [0x4ac074]
movss xmm0, dword [0x4ac3f4]
add eax, 0x79559841
addss xmm0, dword [0x4a0300]
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x415939
movss xmm0, dword [0x4ac4fc]
movss xmm0, dword [0x4ac4fc]
addss xmm0, xmm4
movss dword [0x4ac4fc], xmm0
mov cl, byte [ebp - 4]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 8], al
shl cl, 4
mov byte [ebp - 7], cl
mov dword [0x4ac4f4], 0x4b7ffe2f
inc dword [0x4ac4a0]
movsx ecx, word [0x4ac3ac]
mov eax, dword [0x4ac4a0]
add ecx, 0xfe78fc35
add eax, ecx
mov ecx, dword [0x4ac210]
imul ecx, eax
mov dword [0x4ac210], ecx
inc word [0x4ac3ac]
mov cl, byte [ebp - 3]
mov al, cl
and cl, 0xf
shr al, 4
add byte [ebp - 7], al
mov dword [0x4ac384], 0xceaf6f01
movss xmm1, dword [0x4ac1cc]
movsx eax, word [0x4ac58c]
subss xmm1, dword [0x4a0278]
shl cl, 2
mov byte [ebp - 6], cl
mov ecx, 0x6b6c3551
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ac58c], ax
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
mov eax, dword [0x4ac1bc]
sub ecx, eax
cmp ecx, 0xd6edcd66
jle 0x415a3e
movsd xmm0, qword [0x4ac460]
addsd xmm0, xmm3
movsd qword [0x4ac460], xmm0
inc word [0x4ac478]
movsx eax, word [0x4ac478]
movsd xmm1, qword [0x4ac460]
movd xmm0, eax
mov eax, dword [0x4ac1e8]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ac1e8], eax
movsd xmm0, qword [0x4ac2f0]
xor esi, esi
subsd xmm0, qword [0x4ac3f8]
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
movsd qword [0x4ac2f0], xmm0
movsd xmm0, qword [0x4ac3f8]
addsd xmm0, xmm3
movsd qword [0x4ac3f8], xmm0
movsd xmm0, qword [0x4ac400]
addsd xmm0, qword [0x49e940]
movsd qword [0x4ac400], xmm0
movzx eax, word [0x4ac53c]
sub eax, 0x13631176
mov word [0x4ac53c], ax
test edi, edi
js 0x415f00
nop word [eax + eax]
dec dword [0x4ac07c]
mov eax, dword [0x4ac07c]
sub eax, 0x3ab2c9f7
cmp eax, 0x3b2698e9
jl 0x415b0c
movsd xmm0, qword [0x4ac5c8]
addsd xmm0, qword [0x49fe10]
comisd xmm0, xmmword [0x49e558]
jbe 0x415b0c
movss xmm0, dword [0x4ac5bc]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ac4e8]
subsd xmm0, qword [0x49e8d8]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ac5bc], xmm0
cmp byte [ebp + 0x10], 0
je 0x415e18
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x415e18
movsx eax, word [0x4ac08c]
movss xmm0, dword [0x4ac09c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov word [0x4ac08c], ax
movss xmm0, dword [0x4ac09c]
addss xmm0, xmm4
movss dword [0x4ac09c], xmm0
cmp cl, 0x3e
jne 0x415cc6
movss xmm0, dword [0x4ac5bc]
subss xmm0, xmm4
movss dword [0x4ac5bc], xmm0
inc word [0x4ac3b4]
movss xmm1, dword [0x4ac588]
subss xmm1, dword [0x4a2078]
movss xmm0, dword [0x4ac5bc]
subss xmm1, xmm0
cvtps2pd xmm2, xmm1
movsd xmm1, qword [0x4ac2f0]
movsx eax, word [0x4ac3b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [0x4ac588]
subss xmm0, xmm4
comisd xmm1, xmm2
movss dword [0x4ac588], xmm0
jbe 0x415c08
movss xmm0, dword [0x4ac4d0]
addss xmm0, dword [0x4a0b04]
movss xmm1, dword [0x4a1f30]
comiss xmm1, xmm0
jb 0x415c08
movss xmm0, dword [0x4ac3f4]
subss xmm0, dword [0x4a2144]
movss dword [0x4ac3f4], xmm0
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.00424d20
movss xmm0, dword [0x4ac3e4]
movss xmm4, dword [0x49de14]
movsd xmm3, qword [0x49de18]
addss xmm0, xmm4
movss dword [0x4ac3e4], xmm0
mov eax, dword [0x4ac2c0]
movss xmm0, dword [0x4ac3e4]
movsd xmm1, qword [0x4ac118]
cvtps2pd xmm0, xmm0
movd xmm2, eax
addsd xmm1, xmm0
movsd xmm0, qword [0x4ac118]
cvtdq2pd xmm2, xmm2
addsd xmm0, xmm3
movsd qword [0x4ac118], xmm0
inc dword [0x4ac2c0]
comisd xmm1, xmm2
jbe 0x415d75
movsd xmm0, qword [0x4ac120]
movsd xmm1, qword [0x49ef38]
subsd xmm0, xmm3
movsd qword [0x4ac120], xmm0
movsd xmm0, qword [0x4ac120]
mov eax, dword [0x4ac064]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ac064], eax
jmp 0x415d75
movzx eax, word [0x4ac58c]
mov ecx, ebx
imul eax, eax, 0x235e8053
mov word [0x4ac58c], ax
lea eax, [ebp - 0x18]
push eax
call fcn.00424d20
mov eax, dword [0x4ac1c4]
mov ecx, 0xf544e5b9
movsd xmm3, qword [0x49de18]
sub ecx, eax
movss xmm4, dword [0x49de14]
cmp ecx, 0x85b6c38d
jge 0x415d37
movsd xmm0, qword [0x4ac228]
subsd xmm0, xmm3
movsd qword [0x4ac228], xmm0
movsd xmm0, qword [0x4ac228]
addsd xmm0, qword [0x49fce0]
cvttsd2si eax, xmm0
mov dword [0x4ac344], eax
jmp 0x415d75
movsx eax, word [0x4ac254]
mov ecx, 0x29d56fd6
sub ecx, eax
mov eax, dword [0x4ac27c]
movsd xmm0, qword [0x4ac3c0]
add eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ac3c0], xmm0
inc word [0x4ac254]
dec dword [0x4ac27c]
movss xmm0, dword [0x4ac200]
movss xmm1, dword [0x4a1e7c]
addss xmm0, xmm4
movss dword [0x4ac200], xmm0
movss xmm0, dword [0x4ac200]
subss xmm0, dword [0x4a0d78]
comiss xmm1, xmm0
jb 0x415de1
mov eax, dword [0x4ac244]
movsd xmm0, qword [0x4ac118]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ac244], eax
movsd xmm0, qword [0x4ac118]
addsd xmm0, xmm3
movsd qword [0x4ac118], xmm0
jmp 0x415e90
movss xmm1, dword [0x4ac570]
mov eax, dword [0x4ac214]
movd xmm0, eax
movsx eax, word [0x4ac230]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [0x4ac140], xmm0
jmp 0x415e90
movss xmm1, dword [0x4ac5b0]
movsx eax, word [0x4ac438]
mov ecx, dword [ebp - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [0x4a07b4]
cvtps2pd xmm0, xmm1
movsd qword [0x4ac5c8], xmm0
dec word [0x4ac438]
movss xmm0, dword [0x4ac5b0]
movzx eax, byte [ebp + esi - 8]
addss xmm0, xmm4
movss dword [0x4ac5b0], xmm0
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.00429b30
movsx eax, word [0x4ac3b4]
mov ecx, 0x60992aff
movss xmm4, dword [0x49de14]
sub ecx, eax
add dword [0x4ac12c], ecx
movss xmm0, dword [0x4ac1cc]
inc esi
addss xmm0, xmm4
movss dword [0x4ac1cc], xmm0
mov eax, dword [0x4ac278]
movss xmm0, dword [0x4ac1cc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ac278], eax
movss xmm0, dword [0x4ac060]
addss xmm0, dword [0x4a0b2c]
movss dword [0x4ac060], xmm0
movzx eax, word [0x4ac53c]
sub eax, 0x13631176
mov word [0x4ac53c], ax
cmp esi, edi
jle 0x415ab0
movsd xmm3, qword [0x49de18]
movsx eax, word [0x4ac45c]
movd xmm2, eax
movsx eax, word [0x4ac560]
movss xmm0, dword [0x4ac018]
addss xmm0, dword [0x4a0b24]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov word [0x4ac45c], ax
inc word [0x4ac560]
movss xmm0, dword [0x4ac018]
addss xmm0, xmm4
movss dword [0x4ac018], xmm0
cmp edi, 3
jge 0x416216
mov esi, 3
sub esi, edi
nop dword [eax]
movss xmm0, dword [0x4ac1dc]
mov ecx, 0xac05de82
subss xmm0, xmm4
movss dword [0x4ac1dc], xmm0
mov eax, dword [0x4ac128]
movss xmm0, dword [0x4ac1dc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ac128], eax
movsd xmm1, qword [0x4ac178]
movsx eax, word [0x4ac558]
addsd xmm1, qword [0x4a00c0]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
dec word [0x4ac558]
movsd xmm0, qword [0x4ac178]
addsd xmm0, xmm3
movsd qword [0x4ac178], xmm0
test ah, 0x44
jnp 0x416034
mov eax, dword [0x4ac214]
inc dword [0x4ac214]
add eax, 0x39496351
cmp eax, 0x29e68b9f
jl 0x416034
inc dword [0x4ac078]
movss xmm0, dword [0x4ac380]
mov ax, word [0x4ac254]
mov eax, dword [0x4ac078]
movss xmm0, dword [0x4ac380]
addss xmm0, xmm4
movss dword [0x4ac380], xmm0
cmp byte [ebp + 0x10], 0
mov ecx, ebx
je 0x4160b8
movss xmm0, dword [0x4ac3e4]
lea eax, [ebp - 0x1c]
movss xmm2, dword [0x4a2110]
movsd xmm1, qword [0x4ac160]
subss xmm2, xmm0
movss xmm0, dword [0x4ac588]
push eax
subss xmm2, xmm0
cvtps2pd xmm0, xmm2
subsd xmm1, xmm0
movsd qword [0x4ac160], xmm1
movss xmm0, dword [0x4ac588]
subss xmm0, xmm4
movss dword [0x4ac588], xmm0
call fcn.00424d20
movsd xmm0, qword [0x4ac2e8]
movsd xmm1, qword [0x49fa88]
subsd xmm1, xmm0
subsd xmm1, qword [0x49e458]
cvttsd2si eax, xmm1
mov word [0x4ac2a4], ax
jmp 0x416123
movss xmm0, dword [0x4ac5a8]
cvtps2pd xmm1, xmm0
push 0x3d
movsd xmm0, qword [0x4ac1a0]
addsd xmm0, xmm1
movsd qword [0x4ac1a0], xmm0
movss xmm0, dword [0x4ac5a8]
subss xmm0, xmm4
movss dword [0x4ac5a8], xmm0
call fcn.00429b30
movsx eax, word [0x4ac414]
movsd xmm0, qword [0x4ac270]
movsd xmm1, qword [0x4a1530]
subsd xmm1, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm1
cvttsd2si eax, xmm2
mov word [0x4ac414], ax
mov eax, dword [0x4ac504]
mov ecx, 0x531a46d3
movss xmm4, dword [0x49de14]
sub ecx, eax
mov eax, dword [0x4ac35c]
add ecx, eax
mov eax, dword [0x4ac080]
inc dword [0x4ac080]
sub eax, 0x35c16067
movsd xmm3, qword [0x49de18]
cmp eax, ecx
jge 0x4161a0
movsx eax, word [0x4ac3b4]
movss xmm0, dword [0x4ac570]
sub eax, 0x137ff3a1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ac558], ax
movss xmm0, dword [0x4ac570]
addss xmm0, xmm4
movss dword [0x4ac570], xmm0
inc word [0x4ac3b4]
jmp 0x41620d
movss xmm0, dword [0x4ac0c4]
subss xmm0, xmm4
movss dword [0x4ac0c4], xmm0
movsd xmm0, qword [0x4ac408]
addsd xmm0, xmm3
movsd qword [0x4ac408], xmm0
movsd xmm2, qword [0x4ac010]
movsd xmm1, qword [0x4ac408]
movss xmm0, dword [0x4ac0c4]
addss xmm0, dword [0x4a0b50]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jnp 0x41620d
dec word [0x4ac414]
mov ax, word [0x4ac414]
cwde
sub dword [0x4ac548], eax
sub esi, 1
jne 0x415f70
mov eax, dword [0x4ac33c]
movss xmm0, dword [0x4ac0b4]
sub eax, 0x9332fab
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ac0b4], xmm0
dec dword [0x4ac33c]
mov eax, dword [0x4ac47c]
movsd xmm0, qword [0x4ac440]
push dword [ebp - 0x10]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push 0x41
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4ac47c], eax
movsd xmm0, qword [0x4ac440]
addsd xmm0, xmm3
movsd qword [0x4ac440], xmm0
call fcn.00448990
imul eax, dword [0x4ac47c], 0x51ae57ce
add esp, 8
movss xmm1, dword [0x4a05f8]
mov dword [ebp - 0x14], 0
pop edi
mov dword [0x4ac47c], eax
add dword [0x4ac348], 0x75d6b046
movss xmm0, dword [0x4ac10c]
subss xmm1, xmm0
mov dword [ebp - 0x18], 0
movsd xmm0, qword [0x4ac580]
pop esi
pop ebx
cvtps2pd xmm1, xmm1
subsd xmm1, xmm0
movss xmm0, dword [0x4ac50c]
cvtps2pd xmm0, xmm0
mov dword [ebp - 0x1c], 0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ac50c], xmm0
movsd xmm1, qword [0x4ac0b8]
movsx eax, word [0x4ac2a4]
addsd xmm1, qword [0x49eeb0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ac2a4], ax
mov esp, ebp
pop ebp
ret