Function at 0x484440
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp + 0x10]
cmp dword [ebp + 0x20], 0
movss xmm0, dword [ebp + 0x18]
push esi
push edi
shufps xmm0, xmm0, 0
lea edi, [eax + 1]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
je 0x48448d
cmp dword [ebp + 0x24], edi
jle 0x48448d
push 0x53d33c
push str.....UtilQntQntitor.cpp
call fcn.0041afb0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x45c
push 1
call fcn.0050c345
mov esi, eax
add esp, 8
mov dword [esp + 0x10], esi
test esi, esi
jne 0x4844be
push 0x53fa54
push str.....UtilQntQntitor.cpp
call fcn.0041afb0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov dword [esi], eax
mov eax, dword [ebp + 0x10]
push 4
push edi
mov dword [esi + 0x404], 2
mov dword [esi + 0x40c], eax
mov dword [esi + 0x410], 0
mov dword [esi + 0x414], 0
mov dword [esi + 0x448], 0
mov dword [esi + 0x408], edi
call fcn.0050c345
lea edi, [esi + 0x418]
mov dword [esp + 0x2c], eax
add esp, 8
mov dword [esp + 0x20], edi
mov dword [edi], eax
test eax, eax
jne 0x484531
push 0x53a970
push str.....UtilQntQntitor.cpp
call fcn.0041afb0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x28]
movss xmm7, dword [0x53d3c4]
test edx, edx
je 0x48454c
cmp edx, 9
jne 0x484ae4
cmp dword [ebp + 0x20], 0
mov edx, dword [esp + 0x14]
jne 0x484567
mov dword [ebp + 0x24], edx
test ecx, ecx
je 0x4847c9
lea eax, [edx - 1]
mov dword [ebp + 0x24], eax
test ecx, ecx
je 0x4847c9
mov eax, dword [esp + 0x18]
xor edx, edx
movss xmm6, dword [ebp + 0x1c]
dec eax
movss xmm1, dword [ebp + 0x18]
mov ecx, dword [esp + 0x14]
subss xmm6, xmm1
movss xmm2, dword [0x5505e0]
dec ecx
movsd xmm3, qword [0x53c9b0]
movss xmm5, dword [ebp + 0x2c]
movd xmm0, eax
mov eax, dword [esp + 0x14]
movaps xmm4, xmm6
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x18], ecx
xor ecx, ecx
cmp dword [esp + 0x18], 8
movss dword [esp + 0x1c], xmm6
divss xmm4, xmm0
jl 0x48473a
mov eax, dword [esp + 0x18]
lea edi, [edx + 2]
nop
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x4845f7
mov edx, ecx
movaps xmm2, xmm0
lea esi, [edi - 1]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x484622
lea edx, [edi - 1]
movaps xmm2, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x484649
mov edx, edi
movaps xmm2, xmm0
lea esi, [edi + 1]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x484673
mov edx, esi
movaps xmm2, xmm0
lea esi, [edi + 2]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x48469d
mov edx, esi
movaps xmm2, xmm0
lea esi, [edi + 3]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x4846c7
mov edx, esi
movaps xmm2, xmm0
lea esi, [edi + 4]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x4846f1
mov edx, esi
movaps xmm2, xmm0
lea esi, [edi + 5]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x48471b
mov edx, esi
movaps xmm2, xmm0
add ecx, 8
lea esi, [eax - 7]
add edi, 8
cmp ecx, esi
jl 0x4845d0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea edi, [esi + 0x418]
cmp ecx, dword [esp + 0x18]
jge 0x48476e
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
subss xmm0, xmm5
cvtps2pd xmm0, xmm0
andps xmm0, xmm3
cvtpd2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x484767
mov edx, ecx
movaps xmm2, xmm0
inc ecx
cmp ecx, dword [esp + 0x18]
jl 0x484740
xor ecx, ecx
mov dword [esi + 0x448], edx
test eax, eax
jle 0x484952
nop
cmp ecx, edx
jle 0x48478d
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
jmp 0x484791
mov dword [esp + 0x18], ecx
cmp ecx, edx
je 0x4847b6
lea eax, [edx + 1]
cmp ecx, eax
je 0x4847b6
movd xmm0, dword [esp + 0x18]
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
addss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
jmp 0x4847bd
mov eax, dword [edi]
movss dword [eax + ecx*4], xmm5
inc ecx
cmp ecx, dword [esp + 0x14]
jl 0x484780
jmp 0x484952
mov eax, dword [esp + 0x18]
xor ecx, ecx
movss xmm2, dword [ebp + 0x1c]
movss xmm1, dword [ebp + 0x18]
subss xmm2, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x1c], xmm2
divss xmm2, xmm0
movaps xmm3, xmm2
shufps xmm3, xmm3, 0
test edx, edx
jle 0x484952
cmp edx, 8
jb 0x484897
mov eax, dword [esp + 0x24]
movaps xmm4, xmmword [0x543e60]
lea esi, [eax - 4]
lea esi, [esi + edx*4]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
cmp eax, edi
ja 0x484829
cmp dword [esp + 0x18], edi
jae 0x484897
mov eax, edx
and eax, 0x80000007
jns 0x484837
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm5, xmmword [esp + 0x30]
mov esi, edx
sub esi, eax
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm3
addps xmm0, xmm5
movups xmmword [esi + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm3
addps xmm0, xmm5
movups xmmword [esi + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edi
jl 0x484850
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp ecx, edx
jge 0x484952
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x484933
lea eax, [edx - 3]
mov dword [esp + 0x24], eax
lea esi, [ecx + 2]
mov edx, eax
nop dword [eax + eax]
mov eax, dword [edi]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
lea eax, [esi - 1]
movd xmm0, eax
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4 + 4], xmm0
mov eax, dword [edi]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4 + 8], xmm0
lea eax, [esi + 1]
movd xmm0, eax
add esi, 4
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4 + 0xc], xmm0
add ecx, 4
cmp ecx, edx
jl 0x4848c0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, edx
jge 0x484952
mov eax, dword [edi]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
inc ecx
cmp ecx, edx
jl 0x484937
cmp dword [ebp + 0x20], 0
mov ecx, dword [esi + 0x408]
mov eax, dword [edi]
movss xmm0, dword [ebp + 0x1c]
movss dword [eax + ecx*4 - 4], xmm0
jne 0x484975
cmp dword [ebp + 0x30], 0
je 0x484ae1
mov edx, dword [ebp + 0x34]
cmp edx, 9
je 0x484a2c
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0x24]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.00476490
movss xmm1, dword [esp + 0x28]
xor ecx, ecx
movss xmm7, dword [0x53d3c4]
movaps xmm0, xmm1
mulss xmm0, xmm7
add esp, 0x10
mov dword [esp + 0x24], ecx
movss dword [esi + 0x458], xmm0
cmp dword [esi + 0x408], ecx
jle 0x484a29
nop word [eax + eax]
movss xmm0, dword [ebp + 0x1c]
sub esp, 0x10
mov eax, dword [edi]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp + 0x18]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + ecx*4]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.00476650
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov eax, dword [edi]
fstp dword [eax + ecx*4]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [esi + 0x408]
jge 0x484a21
movss xmm1, dword [esp + 0x18]
jmp 0x4849d0
movss xmm7, dword [0x53d3c4]
mov edx, dword [ebp + 0x34]
cmp dword [ebp + 0x20], 0
je 0x484ae4
cmp edx, 9
jne 0x484ae4
mov eax, dword [ebp + 0x24]
movss xmm1, dword [esp + 0x1c]
dec eax
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x24], eax
divss xmm1, xmm0
movss dword [esp + 0x1c], xmm1
cmp dword [esi + 0x408], eax
jle 0x48558d
nop dword [eax]
mov esi, dword [edi]
movss xmm0, dword [esi + eax*4]
movss dword [esp + 0x20], xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
call fcn.0051605a
movss xmm1, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
fstp qword [esp + 0x28]
movsd xmm0, qword [esp + 0x28]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [esi + eax*4], xmm1
inc eax
mov esi, dword [esp + 0x10]
movss xmm1, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x408]
jl 0x484a70
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x34]
movss xmm4, dword [0x53ad04]
xorps xmm3, xmm3
cmp edx, 2
je 0x484af9
cmp edx, 1
jne 0x484b6e
movd xmm1, dword [ebp + 0x14]
mov ecx, 1
movd xmm0, dword [ebp + 0x10]
movaps xmm2, xmm4
mov eax, dword [esi + 0x408]
movss xmm5, dword [ebp + 0x1c]
dec eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm2, xmm1
cmp eax, ecx
jle 0x484b56
nop dword [eax]
mov eax, dword [edi]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
mulss xmm0, xmm0
mulss xmm0, xmm5
movss dword [eax + ecx*4], xmm0
inc ecx
mov eax, dword [esi + 0x408]
dec eax
cmp ecx, eax
jl 0x484b30
mov eax, dword [edi]
mov dword [eax], 0
mov ecx, dword [esi + 0x408]
mov eax, dword [edi]
movss dword [eax + ecx*4 - 4], xmm5
jmp 0x484b73
movss xmm5, dword [ebp + 0x1c]
cmp edx, 2
jne 0x484ca2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
call fcn.00516080
mov edx, dword [esp + 0x14]
mov ecx, 1
cvtsd2ss xmm0, xmm0
dec edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edx
lea eax, [edx - 1]
mulss xmm0, dword [0x54bca4]
movss dword [esp + 0x28], xmm0
cmp edx, ecx
jle 0x484c79
cmp eax, 2
jb 0x484c42
mov eax, dword [edi]
lea esi, [edx - 1]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
lea esi, [eax + esi*4]
add eax, 4
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
cmp eax, edi
ja 0x484be5
cmp dword [esp + 0x1c], edi
jae 0x484c42
lea eax, [edx - 1]
and eax, 0x80000001
jns 0x484bf4
dec eax
or eax, 0xfffffffe
inc eax
mov esi, dword [esp + 0x14]
mov ecx, edx
sub ecx, eax
mov edi, 1
mov dword [esp + 0x1c], ecx
movsd xmm0, qword [esi + edi*4]
movaps xmm1, xmm0
cvtps2pd xmm0, xmm1
call fcn.004ffb50
cvtpd2ps xmm0, xmm0
mulps xmm0, xmmword [0x5505f0]
movsd qword [esi + edi*4], xmm0
add edi, 2
cmp edi, dword [esp + 0x1c]
jl 0x484c05
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
jge 0x484c79
mov esi, dword [edi]
movss xmm0, dword [esi + ecx*4]
cvtps2pd xmm0, xmm0
call fcn.00516080
mov ecx, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x54bca4]
movss dword [esi + ecx*4], xmm0
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x24]
jl 0x484c46
mov esi, dword [esp + 0x10]
mov eax, dword [edi]
movss xmm0, dword [esp + 0x28]
mov dword [eax], 0xc4bb8000
mov eax, dword [edi]
mov ecx, dword [esi + 0x408]
movss dword [eax + ecx*4 - 4], xmm0
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 4
jne 0x484f6e
movss xmm0, dword [ebp + 0x18]
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push eax
sub esp, 8
movss dword [esp + 4], xmm5
movss dword [esp], xmm0
call fcn.00476490
movss xmm2, dword [esp + 0x28]
add esp, 0x10
movss xmm4, dword [ebp + 0x1c]
xor ecx, ecx
movaps xmm0, xmm4
mov edx, dword [esp + 0x14]
divss xmm0, xmm2
movss xmm1, dword [ebp + 0x18]
addss xmm0, dword [0x53d3c4]
cvttss2si eax, xmm0
movaps xmm0, xmm2
subss xmm2, xmm1
mulss xmm0, dword [0x53d3c4]
sub edx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
movss dword [esi + 0x458], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm3, xmm2
shufps xmm3, xmm3, 0
test edx, edx
jle 0x484e82
cmp edx, 8
jb 0x484dcc
mov eax, dword [edi]
lea esi, [edx - 1]
movaps xmm4, xmmword [0x543e60]
lea esi, [eax + esi*4]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x10]
cmp eax, edi
ja 0x484d5e
cmp dword [esp + 0x28], edi
jae 0x484dc7
mov eax, edx
and eax, 0x80000007
jns 0x484d6c
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm5, xmmword [esp + 0x30]
mov esi, edx
sub esi, eax
mov dword [esp + 0x28], esi
mov esi, dword [edi]
mov edi, dword [esp + 0x28]
nop
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm3
addps xmm0, xmm5
movups xmmword [esi + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm3
addps xmm0, xmm5
movups xmmword [esi + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edi
jl 0x484d80
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
movss xmm4, dword [ebp + 0x1c]
cmp ecx, edx
jge 0x484e82
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x484e63
lea eax, [edx - 3]
lea esi, [ecx + 2]
mov edx, eax
nop dword [eax]
mov eax, dword [edi]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
lea eax, [esi - 1]
movd xmm0, eax
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4 + 4], xmm0
mov eax, dword [edi]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4 + 8], xmm0
lea eax, [esi + 1]
movd xmm0, eax
add esi, 4
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4 + 0xc], xmm0
add ecx, 4
cmp ecx, edx
jl 0x484df0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, edx
jge 0x484e82
mov eax, dword [edi]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
inc ecx
cmp ecx, edx
jl 0x484e67
mov eax, dword [esp + 0x1c]
mov ecx, 1
cmp eax, ecx
jle 0x484f53
dec eax
cmp eax, 4
jl 0x484f23
mov eax, dword [esp + 0x1c]
lea esi, [ecx + 2]
add eax, 0xfffffffd
lea edx, [edx*4 + 4]
mov dword [esp + 0x28], eax
mov eax, dword [edi]
lea edx, [edx + 0x10]
movd xmm0, ecx
add ecx, 4
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movss dword [edx + eax - 0x14], xmm0
lea eax, [esi - 1]
movd xmm0, eax
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movss dword [edx + eax - 0x10], xmm0
mov eax, dword [edi]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movss dword [edx + eax - 0xc], xmm0
lea eax, [esi + 1]
movd xmm0, eax
add esi, 4
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movss dword [edx + eax - 8], xmm0
cmp ecx, dword [esp + 0x28]
jl 0x484eb2
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge 0x484f53
mov esi, dword [esp + 0x1c]
add edx, ecx
shl edx, 2
mov eax, dword [edi]
lea edx, [edx + 4]
movd xmm0, ecx
inc ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
movss dword [edx + eax - 8], xmm0
cmp ecx, esi
jl 0x484f32
mov esi, dword [esp + 0x10]
mov eax, dword [edi]
mov ecx, dword [esi + 0x408]
movss dword [eax + ecx*4 - 4], xmm4
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 3
jne 0x48507a
movss xmm1, dword [ebp + 0x18]
comiss xmm3, xmm1
jb 0x484f99
push 0x53d37c
push str.....UtilQntQntitor.cpp
call fcn.0041afb0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movd xmm2, dword [ebp + 0x14]
movaps xmm0, xmm5
cvtdq2pd xmm2, xmm2
divss xmm0, xmm1
movsd xmm1, qword [0x547cd8]
divsd xmm1, xmm2
cvtss2sd xmm0, xmm0
call fcn.00514c90
mov eax, dword [edi]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp + 0x18]
movss dword [eax], xmm0
mov ecx, dword [esi + 0x408]
mov eax, dword [edi]
movss xmm0, dword [ebp + 0x1c]
movss dword [eax + ecx*4 - 4], xmm0
mov ecx, 1
mov eax, dword [esi + 0x408]
dec eax
cmp eax, ecx
jle 0x485010
mov eax, dword [edi]
movss xmm0, dword [eax + ecx*4 - 4]
mulss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
inc ecx
mov eax, dword [esi + 0x408]
dec eax
cmp ecx, eax
jl 0x484ff3
cmp dword [ebp + 0x28], 0
je 0x48558d
mov eax, dword [esi + 0x408]
mov ecx, 1
dec eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
jle 0x48558d
mov eax, dword [edi]
sub esp, 8
movss xmm0, dword [ebp + 0x2c]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + ecx*4]
movss dword [esp], xmm0
call fcn.004763a0
mov ecx, dword [esp + 0x2c]
add esp, 8
mov eax, dword [edi]
fstp dword [eax + ecx*4]
mov eax, dword [esi + 0x408]
inc ecx
dec eax
mov dword [esp + 0x24], ecx
cmp ecx, eax
jl 0x485032
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 7
jne 0x48518b
movaps xmm0, xmm5
movsd xmm1, qword [0x5505b0]
divss xmm0, dword [ebp + 0x2c]
cvtss2sd xmm0, xmm0
call fcn.00514c90
cvtsd2ss xmm0, xmm0
movsd xmm1, qword [0x5505b0]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [ebp + 0x18]
divss xmm0, dword [ebp + 0x2c]
cvtps2pd xmm0, xmm0
call fcn.00514c90
mov eax, dword [edi]
mov esi, 0xf8
cvtsd2ss xmm0, xmm0
mov dword [esp + 0x1c], 0x104
movss dword [esp + 0x24], xmm0
movss xmm0, dword [ebp + 0x2c]
movss dword [eax + 0xfc], xmm0
mov eax, dword [edi]
movss dword [eax + 0x100], xmm0
mov eax, 1
mov dword [esp + 0x20], eax
nop dword [eax]
movss xmm0, dword [esp + 0x28]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
call fcn.00514c90
mov eax, dword [edi]
mov ecx, dword [esp + 0x1c]
cvtsd2ss xmm0, xmm0
movss dword [ecx + eax], xmm0
mov eax, dword [esp + 0x20]
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm0, xmm0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
call fcn.00514c90
mov eax, dword [edi]
add dword [esp + 0x1c], 4
cvtsd2ss xmm0, xmm0
movss dword [esi + eax], xmm0
sub esi, 4
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp esi, 0xfffffffc
jg 0x485100
mov eax, dword [edi]
movss xmm0, dword [ebp + 0x18]
mov esi, dword [esp + 0x10]
movss dword [eax], xmm0
mov eax, dword [edi]
movss xmm0, dword [ebp + 0x1c]
movss dword [eax + 0x1fc], xmm0
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 5
jne 0x4851bf
mov eax, dword [esp + 0x14]
push eax
push dword [edi]
call fcn.004f7310
add esp, 8
test eax, eax
je 0x48558d
push 0x53d57c
push str.....UtilQntQntitor.cpp
call fcn.0041afb0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 6
jne 0x48530b
mov ecx, dword [edi]
lea eax, [edx + 0x79]
movsd xmm2, qword [0x5505b8]
xor edx, edx
movsd xmm1, qword [0x548688]
nop
movd xmm0, edx
inc edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx + eax*4], xmm0
dec eax
comiss xmm4, xmm0
jbe 0x485204
test eax, eax
jns 0x4851e0
movsd xmm2, qword [0x547cd8]
xor edx, edx
movsd xmm3, qword [0x5505c0]
movss xmm4, dword [0x5505c8]
nop
movd xmm0, edx
inc edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [ecx + eax*4], xmm0
dec eax
comiss xmm4, xmm0
jbe 0x485244
test eax, eax
jns 0x485220
movsd xmm2, qword [0x548680]
xor edx, edx
movsd xmm3, qword [0x5505d0]
movss xmm4, dword [0x549e84]
nop
movd xmm0, edx
inc edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [ecx + eax*4], xmm0
dec eax
comiss xmm4, xmm0
jbe 0x485284
test eax, eax
jns 0x485260
movsd xmm2, qword [0x54e5f8]
xor edx, edx
movss xmm3, dword [0x53d3c8]
movd xmm0, edx
inc edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [ecx + eax*4], xmm0
dec eax
comiss xmm3, xmm0
jbe 0x4852ba
test eax, eax
jns 0x485296
movss xmm1, dword [0x54bca4]
xor edx, edx
movsd xmm2, qword [0x54f728]
movsd xmm3, qword [0x54e608]
movd xmm0, edx
inc edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [ecx + eax*4], xmm0
dec eax
comiss xmm1, xmm0
jbe 0x4852f8
test eax, eax
jns 0x4852d4
mov eax, dword [ebp + 8]
mov dword [ecx], 0x41a00000
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 8
jne 0x4853ea
movss xmm2, dword [ebp + 0x18]
comiss xmm3, xmm2
ja 0x4853d2
comiss xmm3, xmm5
ja 0x4853d2
mov eax, dword [edi]
movd xmm1, dword [ebp + 0x14]
movd xmm0, dword [ebp + 0x10]
cvtdq2ps xmm1, xmm1
movss dword [eax], xmm2
mov ecx, dword [esi + 0x408]
mov eax, dword [edi]
cvtdq2ps xmm0, xmm0
movss dword [eax + ecx*4 - 4], xmm5
mov ecx, 1
mulss xmm2, xmm2
subss xmm1, xmm0
mov eax, dword [esi + 0x408]
mulss xmm5, xmm5
dec eax
mov dword [esp + 0x24], ecx
movss dword [ebp + 0x18], xmm2
subss xmm5, xmm2
divss xmm5, xmm1
movss dword [ebp + 0x1c], xmm5
cmp eax, ecx
jle 0x48558d
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm5
addss xmm0, xmm2
cvtps2pd xmm0, xmm0
call fcn.0051a1a0
mov ecx, dword [esp + 0x24]
mov eax, dword [edi]
movss xmm2, dword [ebp + 0x18]
movss xmm5, dword [ebp + 0x1c]
cvtsd2ss xmm0, xmm0
movss dword [eax + ecx*4], xmm0
inc ecx
mov eax, dword [esi + 0x408]
dec eax
mov dword [esp + 0x24], ecx
cmp ecx, eax
jl 0x485385
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x540724
push str.....UtilQntQntitor.cpp
call fcn.0041afb0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0xa
je 0x485402
cmp edx, 0xc
je 0x485402
cmp edx, 0xb
je 0x485402
cmp edx, 0xd
jne 0x48558d
mov eax, dword [edi]
movss xmm4, dword [0x5505dc]
movss xmm0, dword [0x542424]
movss xmm2, dword [0x5505d8]
mov dword [eax], 0
mov ecx, dword [esi + 0x408]
mov eax, dword [edi]
mov dword [eax + ecx*4 - 4], 0x41f00000
xor ecx, ecx
mov eax, dword [edi]
movss dword [eax + ecx*4], xmm3
inc ecx
movd xmm3, ecx
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm0
comiss xmm2, xmm3
ja 0x485434
movss xmm3, dword [0x542428]
xor edx, edx
movss xmm1, dword [0x547ddc]
movaps xmm0, xmm2
mov eax, dword [edi]
inc edx
movss dword [eax + ecx*4], xmm0
inc ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm0, xmm2
comiss xmm1, xmm0
ja 0x485461
xor edx, edx
movaps xmm0, xmm1
shl ecx, 2
mov eax, dword [edi]
inc edx
movss dword [ecx + eax], xmm0
add ecx, 4
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x485486
mov ecx, dword [edi]
mov eax, dword [ecx + 0x1fc]
mov dword [ecx + 0x1f8], eax
mov ecx, dword [ebp + 0x34]
cmp ecx, 0xc
je 0x4854c4
cmp ecx, 0xd
jne 0x48552b
mov eax, dword [esi + 0x408]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x48552b
movss xmm2, dword [0x54e980]
xor edx, edx
nop dword [eax]
mov ecx, dword [edi]
mov eax, dword [esi + 0x408]
sub eax, edx
movss xmm1, dword [ecx + edx*4]
xorps xmm1, xmm2
movss xmm0, dword [ecx + eax*4 - 4]
xorps xmm0, xmm2
movss dword [ecx + edx*4], xmm0
mov ecx, dword [esi + 0x408]
mov eax, dword [edi]
sub ecx, edx
inc edx
mov dword [esp + 0x28], edx
movss dword [eax + ecx*4 - 4], xmm1
mov eax, dword [esi + 0x408]
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
cmp edx, eax
jl 0x4854e0
mov ecx, dword [ebp + 0x34]
cmp ecx, 0xb
je 0x485535
cmp ecx, 0xd
jne 0x48558d
xor eax, eax
mov dword [esp + 0x24], eax
cmp dword [esi + 0x408], eax
jle 0x48558d
nop dword [eax]
nop word [eax + eax]
mov esi, dword [edi]
movsd xmm0, qword [0x54e608]
movss xmm1, dword [esi + eax*4]
cvtps2pd xmm1, xmm1
divsd xmm1, qword [0x54e968]
call fcn.00514c90
mov eax, dword [esp + 0x24]
cvtsd2ss xmm0, xmm0
movss dword [esi + eax*4], xmm0
inc eax
mov esi, dword [esp + 0x10]
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x408]
jl 0x485550
mov eax, dword [ebp + 8]
pop edi
mov dword [eax], esi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret