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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103a999d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x90
push esi
push edi
mov eax, dword [0x1049b0c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], edx
mov eax, ecx
mov dword [ebp - 0x34], eax
mov ecx, dword [edx + 0x9960]
mov dword [ebp - 0x30], ecx
test ecx, ecx
jne 0x10270e17
cmp byte [eax], 0
je 0x1027177b
mov ecx, eax
call fcn.10270a70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [edx + 0x2990], 0
je 0x10270df3
mov eax, dword [0x120772c0]
movss xmm2, dword [0x1046f3d8]
movss xmm1, dword [0x1046f384]
test al, 1
jne 0x10270fdd
or eax, 1
mov dword [0x120772c0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1054161c]
test al, 1
jne 0x10270f9d
or eax, 1
mov dword [0x1054161c], eax
mov byte [ebp - 4], 1
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1053ebbc]
je 0x10270ebf
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10270eb1
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10270e88
xor edx, edx
test ecx, ecx
je 0x10270eb1
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10270e95
cmp esi, 0x72e242a1
je 0x10270ed1
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1053ebbc]
jne 0x10270e75
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov edx, dword [ebp - 0x2c]
mov dword [0x10541678], eax
jmp 0x10270fa2
mov eax, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10270f78
xor ecx, ecx
mov dword [ebp - 0x18], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10270f24
cmp dword [ecx + 4], 0
jle 0x10270f24
push 0
mov edx, 0xf3c2c786
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10270f21
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x24]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10270f30
xor edx, edx
test ecx, ecx
je 0x10270f5c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10270f40
cmp esi, 0xf3c2c786
je 0x10270f87
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
cmp edx, dword [eax + 4]
jl 0x10270ef0
mov ecx, dword [ebp - 0x30]
mov eax, edi
mov edx, dword [ebp - 0x2c]
mov dword [0x10541678], eax
jmp 0x10270fa2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
mov dword [0x10541678], eax
jmp 0x10270fa2
mov eax, dword [0x10541678]
movss xmm0, dword [eax + edx + 4]
movss xmm3, dword [0x1046f504]
comiss xmm3, xmm0
jbe 0x10270fbe
addss xmm0, xmm2
comiss xmm3, xmm0
ja 0x10270fb5
comiss xmm0, xmm1
jbe 0x10270fcc
subss xmm0, xmm2
comiss xmm0, xmm1
ja 0x10270fc3
movss dword [0x120772cc], xmm0
mov dword [ebp - 4], 0xffffffff
jmp 0x10270fed
movss xmm0, dword [0x120772cc]
movss xmm3, dword [0x1046f504]
subss xmm0, dword [ecx + 0x78]
subss xmm0, dword [ecx + 0x80]
comiss xmm3, xmm0
movss dword [ebp - 0x28], xmm0
jbe 0x1027100a
addss xmm0, xmm2
jmp 0x10271013
comiss xmm0, xmm1
jbe 0x10271018
subss xmm0, xmm2
movss dword [ebp - 0x28], xmm0
mov edi, dword [ebx + 8]
mov ecx, edx
lea eax, [edi + 0x6f80]
push eax
push 0
lea eax, [ebp - 0x70]
push eax
call fcn.1007efb0
mov ecx, dword [0x11b92250]
push 0
add ecx, 0xc6c19814
xor ecx, 0x26996288
push 0
push eax
sub esp, 0xc
mov esi, dword [ecx + 0x154]
mov ecx, esp
push ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, esi
mov eax, dword [0x1055d08c]
call eax
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x88]
push eax
mov ecx, esi
call fcn.1023d510
mov ecx, dword [ebp - 0x2c]
add esp, 0x1c
movups xmm0, xmmword [eax]
lea eax, [edi + 0xd6c0]
push eax
push 0
lea eax, [ebp - 0x70]
push eax
movups xmmword [ebp - 0x64], xmm0
call fcn.1007efb0
mov ecx, dword [0x11b92250]
push 0
push 0
add ecx, 0xc6c19814
push eax
xor ecx, 0x26996288
sub esp, 0xc
mov esi, dword [ecx + 0x154]
mov ecx, esi
push esp
call fcn.1007d1c0
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x88]
push eax
mov ecx, esi
call fcn.1023d510
fld dword [edi + 0xcc]
add esp, 0x1c
fld dword [0x1046f3d8]
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
movups xmmword [ebp - 0x50], xmm0
call fcn.103885e0
movss xmm0, dword [0x1046f384]
fstp dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x1c]
comiss xmm1, xmm0
movss dword [ebp - 0x24], xmm1
jbe 0x10271119
addss xmm1, xmm0
jmp 0x1027112a
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm1
jbe 0x1027112f
subss xmm1, xmm0
movss dword [ebp - 0x24], xmm1
mov edx, dword [0x105446a8]
test dl, 1
jne 0x1027127d
or edx, 1
mov dword [0x105446a8], edx
mov dword [ebp - 4], 2
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x102711aa
nop
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1027119c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10271173
xor edx, edx
test ecx, ecx
je 0x1027119c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10271180
cmp esi, 0x1eee87cc
je 0x102711c4
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10271160
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x105446a8]
mov dword [0x105446dc], ecx
jmp 0x10271283
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10271268
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10271214
cmp dword [ecx + 4], 0
jle 0x10271214
push 0
mov edx, 0x559d81af
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10271211
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x20]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10271220
xor edx, edx
test ecx, ecx
je 0x1027124c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10271230
cmp esi, 0x559d81af
je 0x1027126f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x102711e0
mov ecx, edi
jmp 0x102711ac
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x102711ac
mov ecx, dword [0x105446dc]
mov eax, dword [0x11b92250]
mov esi, dword [ebp - 0x2c]
add eax, 0xc6c19814
xor eax, 0x26996288
add esi, ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [eax + 0x154]
mov dword [ebp - 0x14], eax
test dl, 1
jne 0x10271333
or edx, 1
mov dword [0x105446a8], edx
mov dword [ebp - 4], 3
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1053ebbc]
je 0x1027131e
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10271310
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x102712e3
xor edx, edx
test ecx, ecx
je 0x10271310
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x102712f0
cmp esi, 0x1eee87cc
je 0x102713b1
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1053ebbc]
jne 0x102712d0
xor ecx, ecx
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov dword [0x105446dc], ecx
mov dword [ebp - 4], 0xffffffff
movss xmm1, dword [eax + ecx]
movss xmm0, dword [eax + ecx + 4]
subss xmm1, dword [esi]
subss xmm0, dword [esi + 4]
movss dword [ebp - 0x14], xmm1
divss xmm0, xmm1
call fcn.103885fe
mulss xmm0, dword [0x1046f2dc]
xorps xmm2, xmm2
movss xmm1, dword [ebp - 0x14]
comiss xmm1, xmm2
movss dword [ebp - 0x1c], xmm0
jb 0x1027137c
addss xmm0, dword [0x1046f384]
movss dword [ebp - 0x1c], xmm0
fld dword [ebp - 0x1c]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm1, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
jbe 0x1027146d
addss xmm0, xmm1
jmp 0x1027147e
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
cmp dword [eax + 4], edi
jle 0x10271458
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10271404
cmp dword [ecx + 4], 0
jle 0x10271404
push 0
mov edx, 0x559d81af
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10271401
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x18]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10271410
xor edx, edx
test ecx, ecx
je 0x1027143c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10271420
cmp esi, 0x559d81af
je 0x1027145f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x102713d0
mov ecx, edi
jmp 0x10271320
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x20]
jmp 0x10271320
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm0
jbe 0x10271483
subss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
subss xmm0, dword [0x1046f318]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm0, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x14]
comiss xmm1, xmm0
jbe 0x102714b9
addss xmm1, xmm0
jmp 0x102714ca
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm1
jbe 0x102714ca
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x24]
subss xmm0, xmm1
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm1, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jbe 0x10271501
addss xmm0, xmm1
jmp 0x10271512
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm0
jbe 0x10271512
subss xmm0, xmm1
andps xmm0, xmmword [0x1046f8b0]
movss xmm2, dword [0x1046f2ac]
comiss xmm2, xmm0
ja 0x102715d6
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x1046f318]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm0, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x14]
comiss xmm1, xmm0
jbe 0x10271565
addss xmm1, xmm0
jmp 0x10271576
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm1
jbe 0x10271576
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x24]
subss xmm0, xmm1
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm1, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jbe 0x102715ad
addss xmm0, xmm1
jmp 0x102715be
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm0
jbe 0x102715be
subss xmm0, xmm1
andps xmm0, xmmword [0x1046f8b0]
movss xmm2, dword [0x1046f2ac]
comiss xmm2, xmm0
ja 0x102715d6
xor esi, esi
jmp 0x102715db
mov esi, 1
movss xmm0, dword [ebp - 0x18]
subss xmm0, xmm1
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm1, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jbe 0x10271612
addss xmm0, xmm1
jmp 0x10271623
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm0
jbe 0x10271623
subss xmm0, xmm1
movss xmm1, dword [ebp - 0x24]
subss xmm1, xmm0
movss dword [ebp - 0x14], xmm1
fld dword [ebp - 0x14]
fld dword [0x1046f3d8]
call fcn.103885e0
movss xmm1, dword [0x1046f384]
fstp dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jbe 0x1027165a
addss xmm0, xmm1
jmp 0x1027166b
movss xmm2, dword [0x1046f504]
comiss xmm2, xmm0
jbe 0x1027166b
subss xmm0, xmm1
movss xmm2, dword [0x1046f8b0]
movss xmm3, dword [0x1046f2ac]
andps xmm0, xmm2
mov eax, dword [ebp - 0x64]
mov edi, dword [ebp - 0x50]
mov edx, dword [ebx + 8]
movss xmm1, dword [ebp - 0x28]
comiss xmm3, xmm0
seta cl
cmp eax, edi
jle 0x102716bb
movss xmm0, dword [edx + 0xcc]
subss xmm0, xmm1
andps xmm0, xmm2
comiss xmm0, xmm3
jbe 0x102716b9
test cl, cl
mov dword [ebp - 0x14], 1
cmovne esi, dword [ebp - 0x14]
jmp 0x102716de
cmp eax, edi
jge 0x102716ee
movss xmm0, dword [edx + 0xcc]
subss xmm0, xmm1
andps xmm0, xmm2
comiss xmm3, xmm0
jbe 0x102716ee
test cl, cl
mov dword [ebp - 0x14], 0xffffffff
cmovne esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov dword [eax + 0xa0], esi
mov byte [eax + 0x9c], 1
mov ecx, dword [ebp - 0x2c]
lea eax, [edx + 0x20c80]
push eax
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.1007efb0
mov ecx, dword [0x11b92250]
push 0
add ecx, 0xc6c19814
xor ecx, 0x26996288
push 0
push eax
sub esp, 0xc
mov esi, dword [ecx + 0x154]
mov ecx, esp
push ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ecx, esi
mov eax, dword [0x1055d08c]
call eax
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0xa0]
push eax
mov ecx, esi
call fcn.1023d510
add esp, 0x1c
movups xmm0, xmmword [eax]
movd eax, xmm0
cmp eax, dword [ebp - 0x64]
jg 0x10271767
cmp eax, edi
jle 0x1027177b
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x9c], 1
mov dword [eax + 0xa0], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret