Function at 0x100742d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10225df6
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x102d5080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss xmm1, dword [0x102bda54]
movss xmm0, dword [0x103599fc]
mov eax, dword [ebp + 0xc]
mulss xmm0, xmm1
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x48], ecx
cvttss2si eax, xmm0
movss xmm0, dword [0x103599f8]
mulss xmm0, xmm1
mov dword [ebp - 0x4c], eax
cvttss2si eax, xmm0
movss xmm0, dword [0x103599f4]
mulss xmm0, xmm1
mov dword [ebp - 0x84], eax
cvttss2si eax, xmm0
movss xmm0, dword [0x103599f0]
mulss xmm0, xmm1
mov dword [ebp - 0x6c], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x70], eax
mov eax, dword [0x1037898c]
test al, 1
jne 0x100744c5
or eax, 1
mov dword [0x1037898c], eax
mov dword [ebp - 4], 0
mov eax, dword [0x10371278]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x1037127c]
je 0x100743da
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x100743cc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100743a3
xor edx, edx
test ecx, ecx
je 0x100743cc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100743b0
cmp esi, 0x46ff3e75
je 0x100743f0
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x1037127c]
jne 0x10074390
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x103789b0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100744ca
mov eax, dword [ebp - 0x34]
xor edi, edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10074498
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x5c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10074444
cmp dword [ecx + 4], 0
jle 0x10074444
push 0
mov edx, 0xe5cd906c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10074441
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x3c], edi
mov eax, dword [ebp - 0x34]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10074450
xor edx, edx
test ecx, ecx
je 0x1007447c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074460
cmp esi, 0xe5cd906c
je 0x100744ab
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x3c]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x10074410
mov ecx, dword [ebp - 0x48]
mov eax, edi
mov dword [0x103789b0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100744ca
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x3c]
mov dword [0x103789b0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100744ca
mov eax, dword [0x103789b0]
add eax, ecx
mov dword [ebp - 0x54], eax
mov eax, dword [0x103789b8]
test al, 1
jne 0x10074635
or eax, 1
mov dword [0x103789b8], eax
mov dword [ebp - 4], 1
mov eax, dword [0x10371278]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
je 0x1007454a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x1007453c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10074513
xor edx, edx
test ecx, ecx
je 0x1007453c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074520
cmp esi, 0x46ff3e75
je 0x10074560
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
jne 0x10074500
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x103789a4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1007463a
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10074608
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x5c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x100745b4
cmp dword [ecx + 4], 0
jle 0x100745b4
push 0
mov edx, 0x4591beb3
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x100745b1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100745c0
xor edx, edx
test ecx, ecx
je 0x100745ec
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100745d0
cmp esi, 0x4591beb3
je 0x1007461b
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x34]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10074580
mov ecx, dword [ebp - 0x48]
mov eax, edi
mov dword [0x103789a4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1007463a
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
mov dword [0x103789a4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1007463a
mov eax, dword [0x103789a4]
add eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [0x103789ac]
test al, 1
jne 0x100747a5
or eax, 1
mov dword [0x103789ac], eax
mov dword [ebp - 4], 2
mov eax, dword [0x10371278]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
je 0x100746ba
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x100746ac
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10074683
xor edx, edx
test ecx, ecx
je 0x100746ac
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074690
cmp esi, 0x46ff3e75
je 0x100746d0
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
jne 0x10074670
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x103789bc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100747aa
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10074778
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x5c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10074724
cmp dword [ecx + 4], 0
jle 0x10074724
push 0
mov edx, 0xb69663a6
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10074721
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10074730
xor edx, edx
test ecx, ecx
je 0x1007475c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074740
cmp esi, 0xb69663a6
je 0x1007478b
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x34]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x100746f0
mov ecx, dword [ebp - 0x48]
mov eax, edi
mov dword [0x103789bc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100747aa
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
mov dword [0x103789bc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100747aa
mov eax, dword [0x103789bc]
add eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [0x103789d8]
test al, 1
jne 0x10074915
or eax, 1
mov dword [0x103789d8], eax
mov dword [ebp - 4], 3
mov eax, dword [0x10371278]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
je 0x1007482a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x1007481c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100747f3
xor edx, edx
test ecx, ecx
je 0x1007481c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074800
cmp esi, 0x46ff3e75
je 0x10074840
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
jne 0x100747e0
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x103789cc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1007491a
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x100748e8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x5c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10074894
cmp dword [ecx + 4], 0
jle 0x10074894
push 0
mov edx, 0xf329170d
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10074891
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100748a0
xor edx, edx
test ecx, ecx
je 0x100748cc
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100748b0
cmp esi, 0xf329170d
je 0x100748fb
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x34]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10074860
mov ecx, dword [ebp - 0x48]
mov eax, edi
mov dword [0x103789cc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1007491a
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
mov dword [0x103789cc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1007491a
mov eax, dword [0x103789cc]
lea esi, [ecx + eax]
mov eax, dword [0x10378994]
mov dword [ebp - 0x78], esi
test al, 1
jne 0x10074a6d
or eax, 1
mov dword [0x10378994], eax
mov dword [ebp - 4], 4
mov eax, dword [0x10371278]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
je 0x1007499a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x1007498c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10074963
xor edx, edx
test ecx, ecx
je 0x1007498c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074970
cmp esi, 0x46ff3e75
je 0x100749b3
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1037127c]
jne 0x10074950
xor eax, eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x78]
mov dword [0x10378974], eax
jmp 0x10074a72
mov eax, dword [ebp - 0x3c]
xor edi, edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10074a58
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x5c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10074a04
cmp dword [ecx + 4], 0
jle 0x10074a04
push 0
mov edx, 0x820942a0
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10074a01
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10074a10
xor edx, edx
test ecx, ecx
je 0x10074a3c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10074a20
cmp esi, 0x820942a0
je 0x10074a5f
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x34]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x100749d0
mov eax, edi
jmp 0x1007499c
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x34]
jmp 0x1007499c
mov eax, dword [0x10378974]
mov edx, dword [ecx + eax]
xorps xmm2, xmm2
movss xmm6, dword [0x102bdb48]
xor eax, eax
mov dword [ebp - 0x78], edx
xorps xmm7, xmm7
movss dword [ebp - 0x30], xmm6
xorps xmm3, xmm3
movss dword [ebp - 0x2c], xmm2
test edx, edx
js 0x10074b12
mov ecx, dword [ebp - 0x74]
sub esi, ecx
mov edi, dword [ebp - 0x64]
sub edi, ecx
mov edx, dword [ebp - 0x54]
cmp byte [eax + edx], 0
mov edx, dword [ebp - 0x78]
je 0x10074b02
xorps xmm5, xmm5
xorps xmm2, xmm2
cvtsi2ss xmm5, dword [ecx]
cvtsi2ss xmm2, dword [edi + ecx]
movaps xmm1, xmm5
xorps xmm4, xmm4
cvtsi2ss xmm4, dword [esi + ecx]
movaps xmm0, xmm2
mulss xmm1, xmm5
mulss xmm0, xmm2
addss xmm0, xmm1
call fcn.1000ded0
addss xmm0, dword [0x102bd8bc]
comiss xmm0, xmm6
jbe 0x10074aed
movaps xmm6, xmm0
addss xmm4, dword [ebp - 0x2c]
addss xmm7, xmm2
addss xmm3, xmm5
movaps xmm2, xmm4
movss dword [ebp - 0x2c], xmm2
inc eax
add ecx, 4
cmp eax, edx
jle 0x10074aa3
mov ecx, dword [ebp - 0x48]
movss dword [ebp - 0x30], xmm6
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
cmp edx, 1
jg 0x10074b2f
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x3c], eax
jmp 0x10074b91
movss xmm1, dword [0x102bd7ac]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm7
movss dword [ebp - 0x54], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm2
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x74], xmm1
call eax
movss xmm1, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x64]
movss xmm2, dword [ebp - 0x74]
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
addss xmm2, dword [eax + 8]
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm2
mov edi, dword [ebp - 0x80]
movss xmm0, dword [0x102bd9c4]
movss xmm1, dword [ebp - 0x30]
comiss xmm1, xmm0
lea esi, [edi + 0xc]
ja 0x10074baf
movss xmm2, xmm0
jmp 0x10074bb3
movss xmm2, xmm1
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x90]
mulss xmm2, dword [esi]
call fcn.10072dd0
mov dword [ebp - 4], 5
mov eax, dword [0x103bfe2c]
movss xmm0, dword [edi + 8]
add eax, 0x9783d53e
mulss xmm0, dword [0x102bd6c8]
xor eax, 0x6794d44c
movss xmm2, dword [eax + 4]
xor eax, eax
comiss xmm0, dword [0x102bd6b4]
mulss xmm2, dword [0x102bd7c8]
movss xmm0, dword [esi]
seta al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.1003d480
xorps xmm1, xmm1
movss dword [esi], xmm0
comiss xmm1, xmm0
lea edx, [ebp - 0x54]
mov dword [ebp - 0x64], 0x3f800000
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x54], 0
push 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
seta al
test al, al
cmove edx, esi
comiss xmm0, dword [0x102bd7ac]
seta al
test al, al
lea eax, [ebp - 0x60]
push eax
cmove ecx, edx
lea eax, [ebp - 0x44]
push eax
movss xmm7, dword [ecx]
movss dword [esi], xmm7
mov ecx, dword [0x103bfe2c]
add ecx, 0x9783d53e
xor ecx, 0x6794d44c
call fcn.1016b850
test al, al
je 0x10075355
movss xmm0, dword [0x102bc1d4]
mulss xmm0, dword [0x102bd73c]
mov esi, dword [ebp + 8]
movss xmm1, dword [ebp - 0x60]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [0x102bc1d8]
mulss xmm7, dword [esi]
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x48], xmm7
movss dword [ebp - 0x2c], xmm0
call fcn.101f9398
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102bd634]
addss xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102bd810]
call fcn.1021fee5
mulsd xmm0, qword [0x102bd820]
movss xmm1, dword [esi]
comiss xmm1, dword [0x102bd774]
movss xmm1, dword [0x102bd644]
movss xmm2, dword [0x102bd800]
movsd qword [ebp - 0x38], xmm0
jbe 0x10074e95
mov eax, dword [0x103bfe2c]
add eax, 0x9783d53e
xor eax, 0x6794d44c
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x74], eax
lea edi, [eax + 0x24]
mov eax, dword [edi]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x3c], eax
or eax, 3
mov byte [ebp - 4], 7
mov dword [edi], eax
lea esi, [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
movzx eax, al
mov dword [ebp - 0x64], 0xff
mov dword [ebp - 0x4c], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebp - 0x48]
cvttss2si edx, xmm0
xorps xmm0, xmm0
mov eax, edx
mov dword [ebp - 0x54], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x64]
cmove ecx, esi
cmp edx, 0xff
mov edx, dword [ebp - 0x70]
cmovle eax, ecx
movzx edx, dl
mov eax, dword [eax]
movzx esi, al
mov eax, dword [ebp - 0x84]
movzx ecx, al
mov eax, dword [ebp - 0x6c]
movzx eax, al
movd xmm6, edx
cvtdq2ps xmm6, xmm6
movd xmm3, eax
movd xmm4, ecx
movd xmm5, esi
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm5, xmm5
mulss xmm6, xmm1
mulss xmm3, xmm1
comiss xmm0, xmm6
mulss xmm4, xmm1
mulss xmm5, xmm1
movss xmm1, dword [0x102bd7ac]
jbe 0x10074de1
xorps xmm6, xmm6
jmp 0x10074de5
minss xmm6, xmm1
movss xmm7, dword [0x102bda54]
movss xmm2, dword [0x102bd73c]
mulss xmm6, xmm7
addss xmm6, xmm2
cvttss2si ecx, xmm6
shl ecx, 0x10
comiss xmm0, xmm3
jbe 0x10074e0e
xorps xmm3, xmm3
jmp 0x10074e12
minss xmm3, xmm1
mulss xmm3, xmm7
addss xmm3, xmm2
cvttss2si eax, xmm3
shl eax, 8
or ecx, eax
comiss xmm0, xmm4
jbe 0x10074e2d
xorps xmm4, xmm4
jmp 0x10074e31
minss xmm4, xmm1
mulss xmm4, xmm7
addss xmm4, xmm2
cvttss2si eax, xmm4
or ecx, eax
comiss xmm0, xmm5
jbe 0x10074e49
xorps xmm5, xmm5
jmp 0x10074e4d
minss xmm5, xmm1
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
sub edx, eax
mulss xmm5, xmm7
push ecx
mov dword [esp], 0x40000000
push 0
addss xmm5, xmm2
sar edx, 3
cvttss2si esi, xmm5
shl esi, 0x18
or esi, ecx
mov ecx, dword [ebp - 0x74]
push esi
push edx
push eax
call fcn.100cb7d0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x78]
movss xmm2, dword [0x102bd800]
mov dword [edi], eax
movss xmm0, dword [ebp - 0x48]
mulss xmm0, dword [0x102bda0c]
mov ecx, dword [0x103bfe2c]
movss xmm1, dword [0x102bd7ac]
add ecx, 0x9783d53e
movss xmm4, dword [0x102bc1d8]
xor ecx, 0x6794d44c
movss xmm5, dword [0x102bc1d4]
addss xmm4, xmm2
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm5, xmm2
movss xmm3, dword [ebp - 0x30]
subss xmm0, xmm1
movzx eax, al
subss xmm3, xmm1
cvtps2pd xmm0, xmm0
movd xmm2, eax
subsd xmm0, qword [ebp - 0x38]
cvtdq2ps xmm2, xmm2
cvtpd2ps xmm6, xmm0
mulss xmm2, dword [0x102bd644]
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x10074f15
xorps xmm2, xmm2
jmp 0x10074f19
minss xmm2, xmm1
mulss xmm2, dword [0x102bda54]
movaps xmm0, xmm3
push 0
addss xmm0, xmm5
movss dword [ebp - 0x58], xmm3
push ecx
addss xmm2, dword [0x102bd73c]
mov ecx, dword [ecx + 0xc]
mov dword [esp], 0
movss dword [ebp - 0x50], xmm0
movaps xmm0, xmm6
addss xmm0, xmm4
movss dword [ebp - 0x54], xmm6
cvttss2si eax, xmm2
movss dword [ebp - 0x4c], xmm0
shl eax, 0x18
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100cd700
movss xmm0, dword [ebp - 0x48]
lea ecx, [ebp - 0x4c]
movss xmm2, dword [0x102bda54]
mov esi, dword [0x103bfe2c]
mov edi, dword [ebp - 0x80]
add esi, 0x9783d53e
mulss xmm0, xmm2
xor esi, 0x6794d44c
mov dword [ebp - 0x4c], 0
movss xmm7, dword [0x102bc1d4]
mulss xmm7, dword [edi + 8]
mov edi, dword [esi + 0xc]
cvttss2si edx, xmm0
mov dword [ebp - 0x64], 0xff
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [ebp - 0x2c]
mov eax, edx
shr eax, 0x1f
test al, al
mulss xmm7, dword [0x102bd6c8]
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], edx
cmove ecx, eax
movss xmm1, dword [0x102bd7ac]
cmp edx, 0xff
lea eax, [ebp - 0x64]
mov edx, dword [ebp - 0x70]
cmovle eax, ecx
movzx edx, dl
cvtps2pd xmm0, xmm0
mov eax, dword [eax]
movzx esi, al
mov eax, dword [ebp - 0x84]
movzx ecx, al
subsd xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x6c]
movzx eax, al
movd xmm5, edx
movd xmm3, ecx
cvtpd2ps xmm0, xmm0
movd xmm4, eax
movd xmm6, esi
cvtdq2ps xmm5, xmm5
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm6, xmm6
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [0x102bd644]
mulss xmm5, xmm0
mulss xmm4, xmm0
mulss xmm3, xmm0
mulss xmm6, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm5
jbe 0x1007505a
xorps xmm5, xmm5
jmp 0x1007505e
minss xmm5, xmm1
mulss xmm5, xmm2
movss xmm2, dword [0x102bd73c]
addss xmm5, xmm2
cvttss2si ecx, xmm5
shl ecx, 0x10
comiss xmm0, xmm4
jbe 0x1007507f
xorps xmm4, xmm4
jmp 0x10075083
minss xmm4, xmm1
movss xmm5, dword [0x102bda54]
mulss xmm4, xmm5
addss xmm4, xmm2
cvttss2si eax, xmm4
shl eax, 8
or ecx, eax
comiss xmm0, xmm3
jbe 0x100750a6
xorps xmm3, xmm3
jmp 0x100750aa
minss xmm3, xmm1
mulss xmm3, xmm5
addss xmm3, xmm2
cvttss2si eax, xmm3
or ecx, eax
comiss xmm0, xmm6
jbe 0x100750c2
xorps xmm6, xmm6
jmp 0x100750c6
minss xmm6, xmm1
movss xmm1, dword [ebp - 0x30]
mulss xmm6, xmm5
addss xmm7, xmm1
push 0
push ecx
mov dword [esp], 0
addss xmm6, xmm2
movss dword [ebp - 0x50], xmm1
movss xmm2, dword [ebp - 0x4c]
movaps xmm0, xmm2
movss dword [ebp - 0x58], xmm7
addss xmm0, dword [0x102bc1d8]
movss dword [ebp - 0x4c], xmm2
cvttss2si eax, xmm6
movss dword [ebp - 0x54], xmm0
shl eax, 0x18
or eax, ecx
mov ecx, edi
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100cd700
mov ax, word [0x102b7904]
xorps xmm0, xmm0
mov edi, dword [0x103bfe2c]
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x28], ax
add edi, 0x9783d53e
mov al, byte [0x102b7906]
xor edi, 0x6794d44c
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x26], al
mov byte [ebp - 0x25], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x28]
movss xmm0, dword [edi + 0xbc]
mov eax, dword [edi + 0xb8]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x6c], xmm0
call fcn.1002af80
mov edx, dword [ebp - 0x3c]
mov esi, dword [edi + 0xc]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x4c]
push eax
mov edx, dword [edx + 0x38]
lea ecx, [esi + 0x4c]
mov edx, dword [edx + 8]
mov dword [ebp - 0x4c], edx
call fcn.100d2530
mov ecx, esi
call fcn.100cb340
cmp dword [ebp - 0x18], 0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [0x102bd920]
mov esi, dword [edi + 0xb8]
cvtps2pd xmm0, xmm0
subsd xmm0, qword [ebp - 0x38]
cvtpd2ps xmm4, xmm0
movss xmm0, dword [edi + 0xbc]
movss dword [ebp - 0x54], xmm4
movss dword [ebp - 0x4c], xmm0
je 0x1007522f
lea ecx, [ebp - 0x28]
call fcn.1002af80
movss xmm3, dword [0x102bdaf8]
movss xmm2, dword [ebp - 0x4c]
push 0
push 0
push eax
push ecx
lea eax, [ebp - 0x68]
mov dword [esp], 0xbf800000
push eax
mov ecx, esi
call fcn.100d1550
movss xmm0, dword [ebp - 0x68]
addss xmm0, dword [0x102bd7a8]
movss xmm4, dword [ebp - 0x54]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x4c], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jmp 0x10075232
xorps xmm1, xmm1
cvttss2si eax, dword [ebp - 0x48]
movss xmm2, dword [0x102bd73c]
movzx esi, al
movss xmm3, dword [ebp - 0x60]
mulss xmm1, xmm2
movd xmm0, esi
cvtdq2ps xmm0, xmm0
subss xmm3, xmm1
movss dword [ebp - 0x78], xmm4
mulss xmm0, dword [0x102bd700]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x7c], xmm3
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x102bd644]
comiss xmm0, xmm1
movss xmm0, dword [0x102bd7ac]
jbe 0x10075293
xorps xmm1, xmm1
jmp 0x10075297
minss xmm1, xmm0
mulss xmm1, dword [0x102bda54]
addss xmm3, xmm0
push 0
push ecx
mov ecx, dword [edi + 0xc]
addss xmm4, xmm0
addss xmm1, xmm2
mov dword [esp], 0
movss xmm2, dword [ebp - 0x6c]
push 0
push dword [ebp - 0x70]
movss dword [ebp - 0x50], xmm3
cvttss2si eax, xmm1
movss dword [ebp - 0x4c], xmm4
shl eax, 0x18
push eax
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x3c]
call fcn.100cdc10
movd xmm2, esi
xorps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x102bd644]
comiss xmm0, xmm2
ja 0x10075302
minss xmm2, dword [0x102bd7ac]
movaps xmm0, xmm2
mulss xmm0, dword [0x102bda54]
push 0
movss xmm2, dword [ebp - 0x6c]
push ecx
addss xmm0, dword [0x102bd73c]
mov ecx, dword [edi + 0xc]
mov dword [esp], 0
push 0
push dword [ebp - 0x70]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xffffff
push eax
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x3c]
call fcn.100cdc10
mov ecx, dword [edi + 0xc]
dec dword [ecx + 0x4c]
call fcn.100cb340
lea ecx, [ebp - 0x28]
call fcn.1002b0f0
lea ecx, [ebp - 0x90]
call fcn.1002ab90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101f36c3
mov esp, ebp
pop ebp
ret 0xc