Function at 0x4669b0
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 0x4669fd
cmp dword [ebp + 0x24], edi
jle 0x4669fd
push 0x518130
push str.....UtilQntQntitor.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x45c
push 1
call fcn.004eb623
mov esi, eax
add esp, 8
mov dword [esp + 0x10], esi
test esi, esi
jne 0x466a2e
push 0x51a4a4
push str.....UtilQntQntitor.cpp
call fcn.004688c0
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.004eb623
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 0x466aa1
push 0x5158d8
push str.....UtilQntQntitor.cpp
call fcn.004688c0
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 [0x51abb4]
test edx, edx
je 0x466abc
cmp edx, 9
jne 0x467054
cmp dword [ebp + 0x20], 0
mov edx, dword [esp + 0x14]
jne 0x466ad7
mov dword [ebp + 0x24], edx
test ecx, ecx
je 0x466d39
lea eax, [edx - 1]
mov dword [ebp + 0x24], eax
test ecx, ecx
je 0x466d39
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 [0x528e38]
dec ecx
movsd xmm3, qword [0x517820]
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 0x466caa
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 0x466b67
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 0x466b92
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 0x466bb9
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 0x466be3
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 0x466c0d
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 0x466c37
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 0x466c61
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 0x466c8b
mov edx, esi
movaps xmm2, xmm0
add ecx, 8
lea esi, [eax - 7]
add edi, 8
cmp ecx, esi
jl 0x466b40
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
lea edi, [esi + 0x418]
cmp ecx, dword [esp + 0x18]
jge 0x466cde
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 0x466cd7
mov edx, ecx
movaps xmm2, xmm0
inc ecx
cmp ecx, dword [esp + 0x18]
jl 0x466cb0
xor ecx, ecx
mov dword [esi + 0x448], edx
test eax, eax
jle 0x466ec2
nop
cmp ecx, edx
jle 0x466cfd
lea eax, [ecx - 1]
mov dword [esp + 0x18], eax
jmp 0x466d01
mov dword [esp + 0x18], ecx
cmp ecx, edx
je 0x466d26
lea eax, [edx + 1]
cmp ecx, eax
je 0x466d26
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 0x466d2d
mov eax, dword [edi]
movss dword [eax + ecx*4], xmm5
inc ecx
cmp ecx, dword [esp + 0x14]
jl 0x466cf0
jmp 0x466ec2
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 0x466ec2
cmp edx, 8
jb 0x466e07
mov eax, dword [esp + 0x24]
movaps xmm4, xmmword [0x528e40]
lea esi, [eax - 4]
lea esi, [esi + edx*4]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
cmp eax, edi
ja 0x466d99
cmp dword [esp + 0x18], edi
jae 0x466e07
mov eax, edx
and eax, 0x80000007
jns 0x466da7
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 0x466dc0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp ecx, edx
jge 0x466ec2
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x466ea3
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 0x466e30
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, edx
jge 0x466ec2
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 0x466ea7
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 0x466ee5
cmp dword [ebp + 0x30], 0
je 0x467051
mov edx, dword [ebp + 0x34]
cmp edx, 9
je 0x466f9c
lea eax, [esp + 0x18]
push eax
push dword [ebp + 0x24]
sub esp, 8
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.0045c340
movss xmm1, dword [esp + 0x28]
xor ecx, ecx
movss xmm7, dword [0x51abb4]
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 0x466f99
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.0045c500
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 0x466f91
movss xmm1, dword [esp + 0x18]
jmp 0x466f40
movss xmm7, dword [0x51abb4]
mov edx, dword [ebp + 0x34]
cmp dword [ebp + 0x20], 0
je 0x467054
cmp edx, 9
jne 0x467054
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 0x467afd
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.004f518a
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 0x466fe0
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 [0x518234]
xorps xmm3, xmm3
cmp edx, 2
je 0x467069
cmp edx, 1
jne 0x4670de
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 0x4670c6
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 0x4670a0
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 0x4670e3
movss xmm5, dword [ebp + 0x1c]
cmp edx, 2
jne 0x467212
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
call fcn.004f51b0
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 [0x522dec]
movss dword [esp + 0x28], xmm0
cmp edx, ecx
jle 0x4671e9
cmp eax, 2
jb 0x4671b2
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 0x467155
cmp dword [esp + 0x1c], edi
jae 0x4671b2
lea eax, [edx - 1]
and eax, 0x80000001
jns 0x467164
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.004e2120
cvtpd2ps xmm0, xmm0
mulps xmm0, xmmword [0x528e50]
movsd qword [esi + edi*4], xmm0
add edi, 2
cmp edi, dword [esp + 0x1c]
jl 0x467175
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 0x4671e9
mov esi, dword [edi]
movss xmm0, dword [esi + ecx*4]
cvtps2pd xmm0, xmm0
call fcn.004f51b0
mov ecx, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x522dec]
movss dword [esi + ecx*4], xmm0
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [esp + 0x24]
jl 0x4671b6
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 0x4674de
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.0045c340
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 [0x51abb4]
cvttss2si eax, xmm0
movaps xmm0, xmm2
subss xmm2, xmm1
mulss xmm0, dword [0x51abb4]
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 0x4673f2
cmp edx, 8
jb 0x46733c
mov eax, dword [edi]
lea esi, [edx - 1]
movaps xmm4, xmmword [0x528e40]
lea esi, [eax + esi*4]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x10]
cmp eax, edi
ja 0x4672ce
cmp dword [esp + 0x28], edi
jae 0x467337
mov eax, edx
and eax, 0x80000007
jns 0x4672dc
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 0x4672f0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
movss xmm4, dword [ebp + 0x1c]
cmp ecx, edx
jge 0x4673f2
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x4673d3
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 0x467360
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, edx
jge 0x4673f2
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 0x4673d7
mov eax, dword [esp + 0x1c]
mov ecx, 1
cmp eax, ecx
jle 0x4674c3
dec eax
cmp eax, 4
jl 0x467493
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 0x467422
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge 0x4674c3
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 0x4674a2
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 0x4675ea
movss xmm1, dword [ebp + 0x18]
comiss xmm3, xmm1
jb 0x467509
push 0x515d18
push str.....UtilQntQntitor.cpp
call fcn.004688c0
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 [0x5217b0]
divsd xmm1, xmm2
cvtss2sd xmm0, xmm0
call fcn.004f3ff0
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 0x467580
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 0x467563
cmp dword [ebp + 0x28], 0
je 0x467afd
mov eax, dword [esi + 0x408]
mov ecx, 1
dec eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
jle 0x467afd
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.0045c250
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 0x4675a2
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 0x4676fb
movaps xmm0, xmm5
movsd xmm1, qword [0x528e08]
divss xmm0, dword [ebp + 0x2c]
cvtss2sd xmm0, xmm0
call fcn.004f3ff0
cvtsd2ss xmm0, xmm0
movsd xmm1, qword [0x528e08]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [ebp + 0x18]
divss xmm0, dword [ebp + 0x2c]
cvtps2pd xmm0, xmm0
call fcn.004f3ff0
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.004f3ff0
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.004f3ff0
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 0x467670
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 0x46772f
mov eax, dword [esp + 0x14]
push eax
push dword [edi]
call fcn.004d8930
add esp, 8
test eax, eax
je 0x467afd
push 0x51d830
push str.....UtilQntQntitor.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 6
jne 0x46787b
mov ecx, dword [edi]
lea eax, [edx + 0x79]
movsd xmm2, qword [0x528e10]
xor edx, edx
movsd xmm1, qword [0x526a90]
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 0x467774
test eax, eax
jns 0x467750
movsd xmm2, qword [0x5217b0]
xor edx, edx
movsd xmm3, qword [0x528e18]
movss xmm4, dword [0x528e20]
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 0x4677b4
test eax, eax
jns 0x467790
movsd xmm2, qword [0x526a88]
xor edx, edx
movsd xmm3, qword [0x528e28]
movss xmm4, dword [0x523e64]
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 0x4677f4
test eax, eax
jns 0x4677d0
movsd xmm2, qword [0x527558]
xor edx, edx
movss xmm3, dword [0x5181c0]
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 0x46782a
test eax, eax
jns 0x467806
movss xmm1, dword [0x522dec]
xor edx, edx
movsd xmm2, qword [0x5286d0]
movsd xmm3, qword [0x527568]
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 0x467868
test eax, eax
jns 0x467844
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 0x46795a
movss xmm2, dword [ebp + 0x18]
comiss xmm3, xmm2
ja 0x467942
comiss xmm3, xmm5
ja 0x467942
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 0x467afd
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm5
addss xmm0, xmm2
cvtps2pd xmm0, xmm0
call fcn.004f94e0
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 0x4678f5
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x51b1b4
push str.....UtilQntQntitor.cpp
call fcn.004688c0
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0xa
je 0x467972
cmp edx, 0xc
je 0x467972
cmp edx, 0xb
je 0x467972
cmp edx, 0xd
jne 0x467afd
mov eax, dword [edi]
movss xmm4, dword [0x528e34]
movss xmm0, dword [0x51cab4]
movss xmm2, dword [0x528e30]
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 0x4679a4
movss xmm3, dword [0x51cab8]
xor edx, edx
movss xmm1, dword [0x52184c]
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 0x4679d1
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 0x4679f6
mov ecx, dword [edi]
mov eax, dword [ecx + 0x1fc]
mov dword [ecx + 0x1f8], eax
mov ecx, dword [ebp + 0x34]
cmp ecx, 0xc
je 0x467a34
cmp ecx, 0xd
jne 0x467a9b
mov eax, dword [esi + 0x408]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x467a9b
movss xmm2, dword [0x527910]
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 0x467a50
mov ecx, dword [ebp + 0x34]
cmp ecx, 0xb
je 0x467aa5
cmp ecx, 0xd
jne 0x467afd
xor eax, eax
mov dword [esp + 0x24], eax
cmp dword [esi + 0x408], eax
jle 0x467afd
nop dword [eax]
nop word [eax + eax]
mov esi, dword [edi]
movsd xmm0, qword [0x527568]
movss xmm1, dword [esi + eax*4]
cvtps2pd xmm1, xmm1
divsd xmm1, qword [0x5278f8]
call fcn.004f3ff0
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 0x467ac0
mov eax, dword [ebp + 8]
pop edi
mov dword [eax], esi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret