Function at 0x426700
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov ecx, dword [0x693740]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], ecx
mov edx, dword [edi + 0xc]
mov dword [ebp - 0x48], edx
test dl, 0x42
jne 0x427570
cmp byte [edi + 0xcc], 0
jg 0x427570
cmp byte [edi + 0xcd], 0
jg 0x427570
cmp byte [edi + 0xaf], 0
je 0x427570
movss xmm2, dword [ecx + 0xfb4]
xor eax, eax
cmp byte [ecx + 0x4a], 0
movaps xmm1, xmm2
movss xmm0, dword [edi + 0x50]
addss xmm0, dword [0x545fc4]
mulss xmm2, dword [0x5472b4]
mov dword [ebp - 0x4c], eax
mulss xmm1, dword [0x5472e8]
push esi
addss xmm0, xmm2
maxss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5472d4]
cvttss2si esi, xmm0
mov dword [ebp - 0x70], esi
je 0x4267ac
movss xmm0, dword [0x5472fc]
jmp 0x4267af
xorps xmm0, xmm0
cmp byte [ecx + 0x4b], 0
mov eax, dword [ebp + 0x20]
movss dword [ebp - 0xc], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x6c], xmm0
je 0x4267dc
test dl, 1
jne 0x4267dc
mov ecx, edi
mov byte [ebp - 0xd], 1
call fcn.00424ce0
fsubr dword [ebp - 0x68]
fstp dword [ebp - 0x68]
jmp 0x4267e0
mov byte [ebp - 0xd], 0
movss xmm0, dword [0x54732c]
movaps xmm4, xmm0
movss dword [ebp - 0x14], xmm0
movaps xmm1, xmm0
movss dword [ebp - 0x18], xmm4
movaps xmm3, xmm0
movss dword [ebp - 0x2c], xmm1
push str.RESIZE
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x3c], xmm4
movss dword [ebp - 0x38], xmm0
mov dword [edi + 0x150], 1
call fcn.0041fc60
xor eax, eax
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp + 0x18], eax
jle 0x426c6a
nop dword [eax]
nop dword [eax + eax]
movss xmm0, dword [edi + 0x18]
lea ecx, [eax + eax*2]
movss xmm1, dword [edi + 0x1c]
movaps xmm3, xmm0
addss xmm3, dword [edi + 0x20]
movaps xmm2, xmm1
mov dword [ebp - 0x24], ecx
addss xmm2, dword [edi + 0x24]
xorps xmm6, xmm6
cvtsi2ss xmm6, esi
subss xmm3, xmm0
subss xmm2, xmm1
mulss xmm3, dword [ecx*8 + 0x546190]
mulss xmm2, dword [ecx*8 + 0x546194]
addss xmm3, xmm0
movss xmm0, dword [ecx*8 + 0x546198]
movaps xmm5, xmm0
mulss xmm0, dword [ebp - 0xc]
addss xmm2, xmm1
mulss xmm5, xmm6
movss xmm1, dword [ecx*8 + 0x54619c]
movaps xmm4, xmm1
mulss xmm1, dword [ebp - 0xc]
mulss xmm4, xmm6
addss xmm5, xmm3
subss xmm3, xmm0
addss xmm4, xmm2
subss xmm2, xmm1
movss dword [ebp - 0x78], xmm5
comiss xmm3, xmm5
movss dword [ebp - 0x80], xmm3
movss dword [ebp - 0x7c], xmm2
movss dword [ebp - 0x74], xmm4
jbe 0x4268e6
movss dword [ebp - 0x80], xmm5
movss dword [ebp - 0x78], xmm3
comiss xmm2, xmm4
jbe 0x4268f5
movss dword [ebp - 0x7c], xmm4
movss dword [ebp - 0x74], xmm2
mov ecx, dword [edi + 0xec]
mov esi, 4
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0xf4]
lea edi, [ebp - 0x20]
mov edx, dword [eax + ecx*4 - 4]
not edx
movzx eax, byte [edi]
lea edi, [edi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x546268]
sub esi, 1
jne 0x426912
push 8
not edx
lea eax, [ebp - 0x80]
push esi
push edx
push eax
mov dword [ebp - 0x20], edx
call fcn.00419e10
push 0x40800
lea eax, [ebp - 2]
push eax
lea eax, [ebp - 1]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x80]
push eax
call fcn.00441080
mov ch, byte [ebp - 1]
add esp, 0x24
mov cl, byte [ebp - 2]
mov esi, dword [ebp - 0x70]
test ch, ch
jne 0x42696f
test cl, cl
je 0x426c25
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
not eax
and eax, 1
add eax, 5
mov dword [edx + 0x1fcc], eax
test cl, cl
je 0x426c25
cmp byte [edx + 0xae5], 0
je 0x4269df
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x5c]
push edi
push eax
call fcn.00413fb0
push 0
push 0
mov dword [ebp - 0x4c], 3
movss xmm0, dword [eax]
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0x38], xmm0
call fcn.00422eb0
mov cl, byte [ebp - 2]
add esp, 0x14
mov ch, byte [ebp - 1]
jmp 0x426c28
mov ecx, dword [ebp - 0x24]
xorps xmm3, xmm3
movss xmm2, dword [0x545fc4]
movss xmm0, dword [ecx*8 + 0x546194]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x426a1b
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x426a0e
cmp byte [ebp - 0xd], 0
jne 0x426a1b
movss xmm4, dword [0x54733c]
movaps xmm7, xmm4
jmp 0x426a28
movss xmm7, dword [ebp - 0x68]
movss xmm4, dword [0x54733c]
movss xmm1, dword [ecx*8 + 0x546190]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x426a41
movss xmm5, dword [ebp - 0x6c]
jmp 0x426a44
movaps xmm5, xmm4
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x426a61
movss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0x54732c]
jmp 0x426a6e
movss xmm0, dword [0x54732c]
movss dword [ebp - 0x20], xmm0
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jp 0x426a7c
movss xmm0, dword [ebp - 0x64]
movss xmm1, dword [ecx*8 + 0x546198]
xorps xmm4, xmm4
movss xmm3, dword [ecx*8 + 0x54619c]
cvtsi2ss xmm4, esi
movss dword [ebp - 0x34], xmm0
movaps xmm2, xmm3
xorps xmm4, xmmword [0x5473a0]
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0xc]
movaps xmm6, xmm4
mulss xmm2, dword [ebp - 0xc]
mulss xmm6, xmm1
movss xmm1, dword [ecx*8 + 0x546190]
mulss xmm4, xmm3
movss xmm3, dword [ecx*8 + 0x546194]
subss xmm6, xmm0
subss xmm4, xmm2
mulss xmm6, xmm1
mulss xmm4, xmm3
addss xmm6, xmm0
movss xmm0, dword [edx + 0xbc]
subss xmm0, dword [edx + 0x12ac]
addss xmm4, xmm2
addss xmm6, xmm0
movss xmm0, dword [edx + 0xc0]
subss xmm0, dword [edx + 0x12b0]
addss xmm0, xmm4
comiss xmm7, xmm0
ja 0x426b1c
movss xmm7, dword [ebp - 0x20]
minss xmm7, xmm0
comiss xmm5, xmm6
ja 0x426b2a
movss xmm5, dword [ebp - 0x34]
minss xmm5, xmm6
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x54]
push edi
movss xmm0, dword [edi + 0x18]
movaps xmm4, xmm0
addss xmm0, dword [edi + 0x20]
subss xmm4, xmm5
push eax
mulss xmm4, xmm1
movss xmm1, dword [edi + 0x1c]
movaps xmm2, xmm1
addss xmm1, dword [edi + 0x24]
subss xmm2, xmm7
addss xmm4, xmm5
subss xmm5, xmm0
mulss xmm2, xmm3
mulss xmm5, dword [ecx*8 + 0x546190]
addss xmm2, xmm7
movss dword [ebp - 0x2c], xmm4
subss xmm7, xmm1
addss xmm5, xmm0
movss dword [ebp - 0x30], xmm2
mulss xmm7, xmm3
subss xmm5, xmm4
addss xmm7, xmm1
movss dword [ebp - 0x44], xmm5
subss xmm7, xmm2
movss dword [ebp - 0x40], xmm7
call fcn.00413fb0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
movss xmm2, dword [ebp - 0x54]
xorps xmm3, xmm3
movss dword [ebp - 0x18], xmm2
movss xmm0, dword [ecx*8 + 0x546190]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x426be1
movss xmm1, dword [ebp - 0x2c]
movaps xmm0, xmm2
subss xmm0, dword [ebp - 0x44]
subss xmm1, xmm0
movss dword [ebp - 0x2c], xmm1
movss xmm0, dword [ecx*8 + 0x546194]
movss xmm1, dword [ebp - 0x50]
ucomiss xmm0, xmm3
movss dword [ebp - 0x14], xmm1
lahf
test ah, 0x44
jp 0x426c13
movss xmm3, dword [ebp - 0x30]
movaps xmm0, xmm1
subss xmm0, dword [ebp - 0x40]
subss xmm3, xmm0
movss dword [ebp - 0x30], xmm3
mov cl, byte [ebp - 2]
mov ch, byte [ebp - 1]
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0x38], xmm1
jmp 0x426c28
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x426c87
test cl, cl
jne 0x426c8b
test ch, ch
je 0x426c5d
xor eax, eax
test ch, ch
setne al
add eax, 0x1e
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.00416a50
mov edx, dword [ebp - 8]
add esp, 8
mov ecx, dword [ebp + 0x1c]
mov dword [ecx + edx*4], eax
mov eax, edx
inc eax
mov dword [ebp - 8], eax
cmp eax, dword [ebp + 0x18]
jl 0x426840
mov edx, dword [ebp + 8]
test dword [edx + 0xc], 0x1000000
je 0x426c92
mov eax, dword [edx + 0x10]
mov ecx, eax
shr ecx, 1
and eax, 8
and ecx, 2
or ecx, eax
jmp 0x426ca2
test cl, cl
je 0x426c37
mov eax, 0x20
jmp 0x426c41
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edi, 0xf
cmp byte [eax + 0x4a], cl
cmovne ecx, edi
xor edi, edi
mov dword [ebp - 0x34], ecx
mov eax, 1
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], eax
test ecx, eax
je 0x426e4c
lea eax, [edi*8]
sub eax, edi
shl eax, 2
mov dword [ebp - 0x50], eax
test edi, edi
je 0x426cd9
mov dword [ebp - 0xc], 1
cmp edi, 1
jne 0x426ce0
mov dword [ebp - 0xc], 0
sub esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
lea eax, [ebp - 0xa0]
mov dword [esp + 4], 0x40800000
movss dword [esp], xmm0
push edi
push edx
push eax
call fcn.00417220
mov ecx, dword [edx + 0xec]
lea eax, [edi + 4]
mov dword [ebp - 0x24], eax
lea edi, [ebp - 0x24]
mov eax, dword [edx + 0xf4]
add esp, 0x14
mov esi, 4
mov edx, dword [eax + ecx*4 - 4]
not edx
nop dword [eax + eax]
movzx eax, byte [edi]
lea edi, [edi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x546268]
sub esi, 1
jne 0x426d30
push 8
not edx
lea eax, [ebp - 0xa0]
push esi
push edx
push eax
mov dword [ebp - 0x24], edx
call fcn.00419e10
push 0x40800
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 2]
push eax
push dword [ebp - 0x24]
lea eax, [ebp - 0xa0]
push eax
call fcn.00441080
mov esi, dword [ebp - 0x70]
add esp, 0x24
cmp byte [ebp - 2], 0
mov edi, dword [ebp - 0x1c]
je 0x426d9f
movss xmm0, dword [0x5472a0]
comiss xmm0, dword [edi + 0x1290]
jb 0x426daa
mov byte [ebp - 2], 0
mov al, byte [ebp - 1]
test al, al
je 0x4272a3
mov eax, dword [ebp - 0xc]
xor eax, 1
add eax, 3
mov dword [edi + 0x1fcc], eax
mov al, byte [ebp - 1]
test al, al
je 0x4272a3
cmp byte [edi + 0xae5], 0
je 0x426edc
mov edi, dword [ebp - 8]
cmp edi, 1
je 0x426dde
cmp edi, 3
jne 0x426e20
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00413fb0
mov ecx, dword [ebp - 0xc]
add esp, 0xc
mov eax, dword [eax + ecx*4]
mov dword [ebp + ecx*4 - 0x3c], eax
movss xmm0, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
movss dword [ebp - 0x14], xmm0
bts eax, ecx
movss xmm0, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 1], 0
mov byte [ebp - 2], 0
movss dword [ebp - 0x18], xmm0
push 0
push 0
call fcn.00422eb0
add esp, 8
mov edx, dword [ebp + 8]
mov al, byte [ebp - 1]
cmp byte [ebp - 2], 0
je 0x426e3d
mov ecx, dword [ebp + 0x10]
mov dword [ecx], edi
mov ecx, dword [ebp - 0x34]
test al, al
je 0x426e49
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
mov eax, dword [ebp - 0x20]
inc edi
rol eax, 1
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], eax
cmp edi, 4
jl 0x426cb2
mov eax, dword [0x693740]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1248]
dec dword [eax + 0xec]
mov dword [edx + 0x150], 0
mov eax, dword [ecx + 0x1e60]
test eax, eax
je 0x42746c
cmp dword [eax + 0x308], edx
jne 0x42746c
mov eax, dword [ecx + 0x1ce0]
cmp eax, 2
jne 0x4272ae
cmp byte [ecx + 0xd9], 0
je 0x42745d
mov eax, dword [0x693740]
movss xmm2, dword [eax + 0x10c]
movss xmm3, dword [eax + 0x12c]
subss xmm2, dword [eax + 0xfc]
subss xmm3, dword [eax + 0x11c]
jmp 0x4272dc
cmp dword [edi + 0x1258], 0
je 0x426f28
mov eax, dword [edi + 0x1268]
cmp eax, dword [edi + 0x11c8]
jne 0x426f28
mov edx, dword [ebp + 8]
mov ecx, edx
nop dword [eax + eax]
mov eax, ecx
mov ecx, dword [ecx + 0x308]
cmp eax, ecx
jne 0x426f00
mov eax, dword [edi + 0x1258]
cmp ecx, eax
je 0x426f3f
cmp edx, eax
je 0x426f3f
cmp edx, ecx
je 0x426f28
mov edx, dword [edx + 0x300]
test edx, edx
jne 0x426f16
xor al, al
cmp byte [edi + 0x12a4], 0
jne 0x426f43
test al, al
jne 0x426f43
lea ecx, [edi + 0x2f20]
jmp 0x426f5a
mov al, 1
jmp 0x426f2a
movups xmm0, xmmword [ebp - 0xa0]
lea ecx, [edi + 0x2f20]
mov byte [edi + 0x2f30], 0
movups xmmword [ecx], xmm0
mov edx, dword [ebp + 8]
test dword [edx + 0xc], 0x1000000
je 0x426f94
lea edx, [ebp - 0xa0]
mov edi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x426f87
add ecx, 4
add edx, 4
sub edi, 4
jae 0x426f71
mov edi, dword [ebp - 0x1c]
jmp 0x426f91
mov edi, dword [ebp - 0x1c]
mov byte [edi + 0x2f30], 1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
xor cl, cl
mov byte [ebp - 0x25], cl
movss xmm6, dword [eax + 0x5461f8]
minss xmm6, dword [eax + 0x546200]
movss xmm5, dword [eax + 0x5461fc]
minss xmm5, dword [eax + 0x546204]
mov eax, dword [ebp - 0xc]
movaps xmm0, xmm6
movss dword [ebp - 0x50], xmm6
mulss xmm0, dword [edx + 0x20]
movss xmm1, dword [edi + eax*4 + 0xbc]
subss xmm1, dword [edi + eax*4 + 0x12ac]
addss xmm0, dword [edx + 0x18]
movss xmm3, dword [edi + eax*4 + 0xac]
movaps xmm2, xmm3
movss dword [ebp - 0x24], xmm5
addss xmm1, dword [0x5472fc]
movss dword [ebp - 0x88], xmm0
movaps xmm0, xmm5
mulss xmm0, dword [edx + 0x24]
addss xmm0, dword [edx + 0x1c]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [edx + 0x18]
addss xmm2, dword [ebp + eax*4 - 0x88]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [edx + 0x1c]
movss dword [ebp - 0x40], xmm0
movss dword [ebp + eax*4 - 0x44], xmm1
cmp byte [edi + 0x2f30], cl
je 0x427071
xorps xmm0, xmm0
movss dword [ebp + eax*4 - 0x44], xmm2
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jnp 0x42706a
xor ecx, ecx
comiss xmm2, xmm1
seta cl
xor eax, eax
comiss xmm3, xmm0
seta al
cmp eax, ecx
jne 0x42706e
mov cl, 1
jmp 0x427071
mov cl, byte [ebp - 0x25]
mov edi, dword [ebp - 8]
cmp edi, 3
je 0x427091
cmp edi, 2
jne 0x427084
cmp byte [ebp - 0xd], 0
jne 0x427091
movss xmm0, dword [0x54733c]
movaps xmm2, xmm0
jmp 0x42709e
movss xmm2, dword [ebp - 0x68]
movss xmm0, dword [0x54733c]
movss dword [ebp - 8], xmm2
cmp edi, 1
jne 0x42712f
movss xmm1, dword [ebp - 0x6c]
movss xmm0, dword [0x54732c]
movss dword [ebp - 0xc], xmm1
movss xmm4, dword [0x54732c]
movss xmm3, dword [ebp - 0x40]
comiss xmm2, xmm3
ja 0x4270dc
movaps xmm2, xmm0
minss xmm2, xmm3
movss dword [ebp - 8], xmm2
movss xmm0, dword [ebp - 0x44]
comiss xmm1, xmm0
ja 0x4270f2
movaps xmm1, xmm4
minss xmm1, xmm0
movss dword [ebp - 0xc], xmm1
mov eax, dword [ebp - 0x48]
test eax, 0x1000000
je 0x427199
test eax, 0x8800
je 0x42710f
test al, 8
je 0x427199
mov eax, dword [edx + 0x300]
movss xmm3, dword [eax + 0x1e8]
comiss xmm3, xmm1
movss xmm0, dword [eax + 0x1f0]
jbe 0x427160
movaps xmm1, xmm3
jmp 0x427168
movaps xmm1, xmm0
movss dword [ebp - 0xc], xmm1
cmp edi, 2
jne 0x427146
movss xmm0, dword [ebp - 0x60]
jmp 0x4270be
movss xmm0, dword [0x54732c]
test edi, edi
jne 0x4270be
movss xmm4, dword [ebp - 0x64]
jmp 0x4270c6
comiss xmm1, xmm0
jbe 0x42716d
movaps xmm1, xmm0
movss dword [ebp - 0xc], xmm1
mov eax, dword [ebp - 0x48]
test al, 8
je 0x427199
mov eax, dword [edx + 0x300]
movss xmm0, dword [eax + 0x1ec]
comiss xmm0, xmm2
movss xmm3, dword [eax + 0x1f4]
jbe 0x427194
movaps xmm3, xmm0
jmp 0x42719e
comiss xmm2, xmm3
ja 0x42719e
movss xmm3, dword [ebp - 8]
test cl, cl
jne 0x426e2f
movss xmm0, dword [edx + 0x18]
lea eax, [ebp - 0x90]
movss xmm2, dword [ebp - 0xc]
movaps xmm7, xmm0
movss xmm1, dword [edx + 0x1c]
subss xmm7, xmm2
addss xmm0, dword [edx + 0x20]
movaps xmm4, xmm1
addss xmm1, dword [edx + 0x24]
subss xmm4, xmm3
mulss xmm7, xmm6
push eax
push edx
lea eax, [ebp - 0x5c]
mulss xmm4, xmm5
addss xmm7, xmm2
push eax
subss xmm2, xmm0
addss xmm4, xmm3
subss xmm3, xmm1
movss dword [ebp - 0x2c], xmm7
mulss xmm2, xmm6
movss dword [ebp - 0x30], xmm4
mulss xmm3, xmm5
addss xmm2, xmm0
addss xmm3, xmm1
subss xmm2, xmm7
subss xmm3, xmm4
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 0x90], xmm2
movss dword [ebp - 8], xmm3
movss dword [ebp - 0x8c], xmm3
call fcn.00413fb0
movss xmm0, dword [ebp - 0x50]
add esp, 0xc
movss xmm3, dword [ebp - 0x5c]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
movss dword [ebp - 0x18], xmm3
lahf
test ah, 0x44
jp 0x427266
movss xmm1, dword [ebp - 0x2c]
movaps xmm0, xmm3
subss xmm0, dword [ebp - 0xc]
subss xmm1, xmm0
movss dword [ebp - 0x2c], xmm1
movss xmm0, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x58]
ucomiss xmm0, xmm2
movss dword [ebp - 0x14], xmm1
lahf
test ah, 0x44
jp 0x427294
movss xmm2, dword [ebp - 0x30]
movaps xmm0, xmm1
subss xmm0, dword [ebp - 8]
subss xmm2, xmm0
movss dword [ebp - 0x30], xmm2
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x38], xmm1
jmp 0x426e2c
mov edi, dword [ebp - 8]
mov edx, dword [ebp + 8]
jmp 0x426e32
cmp eax, 3
jne 0x42746c
mov eax, dword [0x693740]
movss xmm2, dword [eax + 0x8cc]
movss xmm3, dword [eax + 0x8ec]
subss xmm2, dword [eax + 0x8bc]
subss xmm3, dword [eax + 0x8dc]
xorps xmm5, xmm5
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x4272f5
ucomiss xmm3, xmm5
lahf
test ah, 0x44
jnp 0x427442
movss xmm1, dword [ecx + 0x3c]
minss xmm1, dword [ecx + 0x40]
movss xmm0, dword [ecx + 0x18]
mulss xmm0, dword [0x54731c]
push ecx
mov dword [esp], 0x3f800000
push 0x20
mulss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm1, dword [ecx + 0x1e84]
movss xmm2, dword [ebp - 0x6c]
addss xmm0, dword [ecx + 0x1e80]
movss dword [ecx + 0x1e84], xmm1
movss dword [ecx + 0x1e80], xmm0
subss xmm2, dword [edx + 0x18]
subss xmm2, dword [edx + 0x20]
maxss xmm0, xmm2
movss xmm2, dword [ebp - 0x68]
subss xmm2, dword [edx + 0x1c]
subss xmm2, dword [edx + 0x24]
movss dword [ecx + 0x1e80], xmm0
mov byte [ecx + 0x1e74], 0
mov byte [ecx + 0x1cf3], 1
maxss xmm1, xmm2
movss dword [ecx + 0x1e84], xmm1
call fcn.00416a50
mov ecx, dword [ebp + 0x1c]
add esp, 8
xorps xmm5, xmm5
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cvttss2si edi, dword [eax + 0x1e80]
cvttss2si eax, dword [eax + 0x1e84]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x50], eax
movd xmm1, eax
ucomiss xmm0, xmm5
cvtdq2ps xmm1, xmm1
lahf
test ah, 0x44
jp 0x4273cf
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x42744e
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x5c]
push ecx
push eax
addss xmm0, dword [eax + 0x28]
movss dword [ebp - 0x5c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [eax + 0x2c]
lea eax, [ebp - 0x78]
push eax
movss dword [ebp - 0x58], xmm0
call fcn.00413fb0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
movd xmm1, edi
movss xmm4, dword [eax]
movss xmm0, dword [ecx + 0x1e80]
movss xmm2, dword [eax + 4]
cvtdq2ps xmm1, xmm1
subss xmm0, xmm1
movd xmm1, dword [ebp - 0x50]
cvtdq2ps xmm1, xmm1
movss dword [ecx + 0x1e80], xmm0
movss xmm0, dword [ecx + 0x1e84]
subss xmm0, xmm1
movss dword [ecx + 0x1e84], xmm0
jmp 0x427476
movss xmm2, dword [ebp - 0x14]
movss xmm4, dword [ebp - 0x18]
jmp 0x427479
mov edx, dword [ebp + 8]
movss xmm4, dword [ebp - 0x18]
movss xmm2, dword [ebp - 0x14]
jmp 0x427479
movss xmm4, dword [ebp - 0x18]
xorps xmm5, xmm5
movss xmm2, dword [ebp - 0x14]
jmp 0x427479
movss xmm2, dword [ebp - 0x14]
movss xmm4, dword [ebp - 0x18]
xorps xmm5, xmm5
movss xmm6, dword [0x54732c]
ucomiss xmm4, xmm6
lahf
test ah, 0x44
jnp 0x427494
movss dword [edx + 0x28], xmm4
movss dword [edx + 0x20], xmm4
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jnp 0x4274a7
movss dword [edx + 0x2c], xmm2
movss dword [edx + 0x24], xmm2
movss xmm1, dword [ebp - 0x2c]
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jnp 0x4274c5
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x18], xmm0
movss xmm3, dword [ebp - 0x30]
ucomiss xmm3, xmm6
lahf
test ah, 0x44
jnp 0x4274e3
cvttss2si eax, xmm3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x1c], xmm0
ucomiss xmm4, xmm6
lahf
test ah, 0x44
jp 0x427507
ucomiss xmm2, xmm6
lahf
test ah, 0x44
jp 0x427507
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jp 0x427507
ucomiss xmm3, xmm6
lahf
test ah, 0x44
jnp 0x427528
test dword [edx + 0xc], 0x100
mov ecx, dword [0x693740]
jne 0x427528
comiss xmm5, dword [ecx + 0x2ff4]
jb 0x427528
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x2ff4], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x427567
sub esp, 8
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x40800000
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0xa0]
push edx
push eax
call fcn.00417220
add esp, 0x14
movups xmm0, xmmword [eax]
mov eax, dword [ebp - 0x1c]
movups xmmword [eax + 0x2f20], xmm0
mov eax, dword [ebp - 0x4c]
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret