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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10274893
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1d8
mov eax, dword [0x103230ac]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd8], ecx
mov ecx, dword [0x10842c90]
add ecx, 0x5e61fcb2
xor ecx, 0x4a535352
add ecx, 0xc0
mov dword [ebp - 0x80], ecx
je 0x1014e421
mov edi, dword [0x10842cb8]
add edi, 0x772b78e1
xor edi, 0xa30d42b2
add edi, 0x3cc050
mov dword [ebp - 0xbc], edi
je 0x1014e421
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x88], eax
mov eax, dword [0x103c2350]
test al, 1
jne 0x1014d0af
or eax, 1
mov dword [0x103c2350], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103bf630]
mov ecx, dword [0x103bf634]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1014cf7d
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
test ecx, ecx
je 0x1014cf6f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014cf46
xor edx, edx
test ecx, ecx
je 0x1014cf6f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014cf53
cmp esi, 0x72e242a1
je 0x1014cf99
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x103bf634]
jne 0x1014cf30
mov esi, dword [0x103bf630]
xor eax, eax
mov ecx, dword [ebp - 0x80]
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d0bd
mov eax, dword [ebp - 0x98]
xor edi, edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x1014d096
xor ecx, ecx
mov dword [ebp - 0x78], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014cffd
cmp dword [ecx + 4], 0
jle 0x1014cffd
push 0
mov edx, 0xf3e9a9ed
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014cff7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x94], edi
mov eax, dword [ebp - 0x98]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014d006
xor edx, edx
test ecx, ecx
je 0x1014d032
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d013
cmp esi, 0xf3e9a9ed
je 0x1014d06d
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
inc edx
mov edi, dword [ebp - 0x94]
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x78], ecx
cmp edx, dword [eax + 4]
jl 0x1014cfc0
mov esi, dword [0x103bf630]
mov eax, edi
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x7c], esi
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d0bd
mov eax, dword [ebp - 0x84]
mov esi, dword [0x103bf630]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x7c], esi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x94]
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d0bd
mov esi, dword [0x103bf630]
mov eax, edi
mov ecx, dword [ebp - 0x80]
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d0bd
mov esi, dword [0x103bf630]
mov eax, dword [0x103c3bf8]
mov dword [ebp - 0x7c], esi
mov edx, dword [ebp - 0x88]
cmp byte [edx + eax], 0
mov eax, dword [0x10c0dd10]
je 0x1014d0e8
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x13c]
movss xmm2, dword [eax + 0x138]
jmp 0x1014d100
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x13c]
movss xmm2, dword [eax + 0x134]
movss xmm3, dword [ecx + 0x58]
movss xmm4, dword [ecx + 0x5c]
movaps xmm0, xmm3
movss xmm5, dword [ecx + 0x60]
movaps xmm1, xmm4
mulss xmm0, xmm3
mulss xmm1, xmm4
movups xmmword [ebp - 0x140], xmm3
addss xmm0, xmm1
movss dword [ebp - 0xf0], xmm4
movss dword [ebp - 0xf4], xmm5
call fcn.1000e050
maxss xmm0, dword [0x1030b86c]
xor eax, eax
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xe4], 0xe
divss xmm0, xmm2
mulss xmm0, dword [0x1030b944]
subss xmm0, dword [0x1030b86c]
cvttss2si edx, xmm0
test edx, edx
cmovs edx, eax
mov eax, edx
mov dword [ebp - 0xe0], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0xe0]
cmove ecx, eax
cmp edx, 0xe
lea eax, [ebp - 0xe4]
cmovle eax, ecx
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x1014d1c6
mov ecx, dword [ebp - 0xd8]
movq xmm0, qword [edi + 0x24]
movq qword [ecx + 0x24], xmm0
mov eax, dword [edi + 0x2c]
jmp 0x1014e41e
xor ecx, ecx
test eax, eax
jle 0x1014e3ed
mov edx, dword [0x10c0dd10]
inc ecx
add edx, 0x72c821ae
mov dword [ebp - 0xe8], ecx
xor edx, 0x43f50f5d
movaps xmm6, xmm3
movaps xmm7, xmm4
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [edx + 0xf0]
mulss xmm0, dword [eax + 0x20]
mulss xmm6, xmm0
mulss xmm7, xmm0
mulss xmm5, xmm0
movaps xmm2, xmm6
addss xmm2, dword [edi + 0x24]
movaps xmm1, xmm7
movss dword [ebp - 0x8c], xmm6
addss xmm1, dword [edi + 0x28]
movaps xmm0, xmm5
movss dword [ebp - 0x94], xmm7
addss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0xd4], xmm2
movss dword [ebp - 0x98], xmm5
movss dword [ebp - 0xd0], xmm1
movss dword [ebp - 0xb8], xmm6
movss dword [ebp - 0xcc], xmm0
mov eax, dword [edx + 0x134]
mov dword [ebp - 0x88], eax
mov eax, dword [0x103c3c08]
movss dword [ebp - 0xb4], xmm7
movss dword [ebp - 0xb0], xmm5
test al, 1
jne 0x1014d40d
or eax, 1
mov dword [0x103c3c08], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x103bf634]
cmp esi, ecx
je 0x1014d300
mov eax, esi
mov dword [ebp - 0x74], esi
cmp eax, ecx
je 0x1014d300
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x1014d2ef
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d2c6
xor edx, edx
test ecx, ecx
je 0x1014d2ef
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d2d3
cmp edi, 0x72e242a1
je 0x1014d314
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x103bf634]
jne 0x1014d2b0
mov esi, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2308], ecx
jmp 0x1014d413
mov eax, dword [ebp - 0x90]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x1014d3f9
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014d36a
cmp dword [ecx + 4], 0
jle 0x1014d36a
push 0
mov edx, 0xa4a37590
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014d364
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x90]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d373
xor edx, edx
test ecx, ecx
je 0x1014d39f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d380
cmp edi, 0xa4a37590
je 0x1014d3d5
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jl 0x1014d330
mov esi, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x7c], esi
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d413
mov eax, dword [ebp - 0x84]
mov esi, dword [0x103bf630]
mov dword [ebp - 0x7c], esi
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d413
mov esi, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d413
mov ecx, dword [0x103c2308]
mov eax, dword [ebp - 0x88]
mov edx, dword [0x10c0dd10]
add edx, 0x72c821ae
xor edx, 0x43f50f5d
mov al, byte [eax + ecx]
and al, 1
mov byte [ebp - 0x99], al
mov eax, dword [edx + 0x134]
mov dword [ebp - 0x90], eax
mov eax, dword [0x110ef8ec]
test al, 1
jne 0x1014d461
or eax, 1
mov dword [0x110ef8ec], eax
mov edi, dword [edx + 0x1ec]
mov dword [0x110ef914], edi
jmp 0x1014d467
mov edi, dword [0x110ef914]
test al, 2
jne 0x1014d480
or eax, 2
mov dword [0x110ef8ec], eax
mov eax, dword [edx + 0x21c]
mov dword [0x110ef900], eax
jmp 0x1014d485
mov eax, dword [0x110ef900]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x88]
test byte [eax + ecx], 1
jne 0x1014d4c6
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, edi
mov dword [ebp - 0x84], eax
mov eax, dword [edx + 0xf0]
movss xmm0, dword [ebp - 0x84]
mulss xmm0, dword [eax + 0x20]
subss xmm5, xmm0
movss dword [ebp - 0xb0], xmm5
jmp 0x1014d57b
mov eax, dword [0x103c3c08]
test al, 1
jne 0x1014d54d
or eax, 1
mov dword [0x103c3c08], eax
mov dword [ebp - 4], 2
cmp esi, dword [0x103bf634]
je 0x1014d53e
mov eax, dword [esi]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x1014d530
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d500
xor edx, edx
test ecx, ecx
je 0x1014d52d
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d510
cmp edi, 0x72e242a1
je 0x1014d6f5
mov esi, dword [ebp - 0x7c]
add esi, 4
mov dword [ebp - 0x7c], esi
cmp esi, dword [0x103bf634]
jne 0x1014d4e6
xor ecx, ecx
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
test byte [eax + ecx], 1
je 0x1014d583
cmp byte [ebp - 0x99], 0
jne 0x1014d583
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0xb0], eax
movss xmm5, dword [ebp - 0xb0]
movss dword [ebp - 0x98], xmm5
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x70]
movss xmm3, dword [ebp - 0xd4]
movss xmm4, dword [ebp - 0xd0]
movaps xmm0, xmm3
mov dword [ebp - 0x11c], eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
unpcklps xmm0, xmm4
movq qword [ebp - 0xd4], xmm0
xor eax, 0x43f50f5d
movq qword [ebp - 0x124], xmm0
mov eax, dword [eax + 0xf0]
movss xmm2, dword [eax + 0x20]
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, xmm6
mulss xmm0, xmm7
mulss xmm2, xmm5
addss xmm1, xmm3
addss xmm0, xmm4
addss xmm2, dword [ebp - 0xcc]
movss dword [ebp - 0xc8], xmm1
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xc0], xmm2
call fcn.1002ecd0
push 1
mov dword [ebp - 0x100], 0x1030473c
call fcn.10235548
mov dword [ebp - 0xf8], eax
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xac], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x1014d8ae
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 3
mov eax, dword [0x103bf630]
mov ecx, dword [0x103bf634]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1014d6de
mov dword [ebp - 0x80], eax
nop
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x1014d6d0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d6a3
xor edx, edx
test ecx, ecx
je 0x1014d6d0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d6b0
cmp edi, 0x1eee87cc
je 0x1014d7b6
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x103bf634]
jne 0x1014d690
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d8bc
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], edi
cmp dword [eax + 4], edi
jle 0x1014d79e
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014d748
cmp dword [ecx + 4], 0
jle 0x1014d748
push 0
mov edx, 0xa4a37590
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014d745
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x7c], edi
mov eax, dword [ebp - 0x78]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d751
xor edx, edx
test ecx, ecx
je 0x1014d77c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d760
cmp edi, 0xa4a37590
je 0x1014d7a5
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x74]
inc edx
mov edi, dword [ebp - 0x7c]
add ecx, 0x3c
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x74], ecx
cmp edx, dword [eax + 4]
jl 0x1014d711
mov ecx, edi
jmp 0x1014d540
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x7c]
jmp 0x1014d540
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014d89a
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014d809
cmp dword [ecx + 4], 0
jle 0x1014d809
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014d806
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x74], edi
mov eax, dword [ebp - 0x78]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d812
xor edx, edx
test ecx, ecx
je 0x1014d83c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d820
cmp edi, 0x7d388d3e
je 0x1014d877
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
inc edx
mov edi, dword [ebp - 0x74]
add ecx, 0x3c
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x88], ecx
cmp edx, dword [eax + 4]
jl 0x1014d7d2
mov eax, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d8bc
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x74]
mov eax, dword [0x103bf630]
mov dword [ebp - 0x7c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d8bc
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014d8bc
mov eax, dword [0x103bf630]
mov ecx, dword [0x103c2338]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [0x103c2300]
test cl, 1
jne 0x1014da28
or ecx, 1
mov dword [0x103c2300], ecx
mov dword [ebp - 4], 4
cmp eax, dword [0x103bf634]
je 0x1014d93a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014d92c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d903
xor edx, edx
test ecx, ecx
je 0x1014d92c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d910
cmp edi, 0x1eee87cc
je 0x1014d94d
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x103bf634]
jne 0x1014d8f0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x1014da2d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014d9fe
xor ecx, ecx
mov dword [ebp - 0x88], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014d9a7
cmp dword [ecx + 4], 0
jle 0x1014d9a7
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014d9a4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014d9b0
xor edx, edx
test ecx, ecx
je 0x1014d9dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014d9c0
cmp edi, 0xe57f80c
je 0x1014da0e
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x88], ecx
cmp edx, dword [eax + 4]
jl 0x1014d970
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x1014da2d
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014da2d
mov eax, dword [0x103c2318]
push dword [ebp - 0xa4]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x190]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.100533b0
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xac]
push 0x201400b
push eax
call dword [ebp - 0xa0]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x1030b86c]
lahf
test ah, 0x44
jnp 0x1014dfb5
mov dword [ebp - 0x84], 0
movss xmm4, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x58]
movaps xmm2, xmm4
mulss xmm2, dword [ebp - 0x94]
movaps xmm0, xmm5
mulss xmm0, dword [ebp - 0x8c]
movss xmm6, dword [ebp - 0x50]
movss xmm7, dword [ebp - 0x98]
addss xmm2, xmm0
movss xmm3, dword [ebp - 0x8c]
movaps xmm0, xmm6
mulss xmm0, xmm7
addss xmm2, xmm0
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm5
mulss xmm2, xmm6
subss xmm3, xmm0
mulss xmm1, xmm4
subss xmm7, xmm2
movaps xmm2, xmm4
movaps xmm0, xmm3
movss dword [ebp - 0x8c], xmm3
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
movss dword [ebp - 0x98], xmm7
movss dword [ebp - 0xb0], xmm7
mulss xmm2, xmm0
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0xb4], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x44]
addss xmm2, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1014dbb7
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm5
mulss xmm1, xmm4
movss xmm4, dword [ebp - 0x8c]
subss xmm4, xmm0
mulss xmm2, xmm6
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
subss xmm7, xmm2
movss dword [ebp - 0x8c], xmm4
movss dword [ebp - 0xb8], xmm4
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0xb4], xmm0
movss dword [ebp - 0x98], xmm7
movss dword [ebp - 0xb0], xmm7
jmp 0x1014dbbf
movss xmm4, dword [ebp - 0x8c]
mov ecx, dword [0x10c0dd10]
movss xmm1, dword [0x1030b86c]
add ecx, 0x72c821ae
xor ecx, 0x43f50f5d
subss xmm1, xmm3
mov eax, dword [ecx + 0xf0]
mulss xmm1, dword [eax + 0x20]
movaps xmm2, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x94]
mulss xmm2, xmm4
addss xmm0, dword [ebp - 0x60]
mulss xmm1, xmm7
addss xmm2, dword [ebp - 0x64]
addss xmm1, dword [ebp - 0x5c]
unpcklps xmm2, xmm0
movq qword [ebp - 0xc8], xmm2
movss dword [ebp - 0x110], xmm1
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0xf8]
mov dword [ebp - 0xa4], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x1014ddce
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 5
mov eax, dword [0x103bf630]
mov ecx, dword [0x103bf634]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1014dcbe
mov dword [ebp - 0x80], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014dcb0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014dc87
xor edx, edx
test ecx, ecx
je 0x1014dcb0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dc94
cmp edi, 0x1eee87cc
je 0x1014dcd5
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x103bf634]
jne 0x1014dc74
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014dddc
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014ddba
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014dd28
cmp dword [ecx + 4], 0
jle 0x1014dd28
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014dd25
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014dd31
xor edx, edx
test ecx, ecx
je 0x1014dd5c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dd40
cmp edi, 0x7d388d3e
je 0x1014dd97
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x88], ecx
cmp edx, dword [eax + 4]
jl 0x1014dcf1
mov eax, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014dddc
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x103bf630]
mov dword [ebp - 0x7c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014dddc
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014dddc
mov eax, dword [0x103bf630]
mov ecx, dword [0x103c2338]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xac], ecx
mov ecx, dword [0x103c2300]
test cl, 1
jne 0x1014df48
or ecx, 1
mov dword [0x103c2300], ecx
mov dword [ebp - 4], 6
cmp eax, dword [0x103bf634]
je 0x1014de5a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014de4c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014de23
xor edx, edx
test ecx, ecx
je 0x1014de4c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014de30
cmp edi, 0x1eee87cc
je 0x1014de6d
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x103bf634]
jne 0x1014de10
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x1014df4d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014df1e
xor ecx, ecx
mov dword [ebp - 0x88], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014dec7
cmp dword [ecx + 4], 0
jle 0x1014dec7
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014dec4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014ded0
xor edx, edx
test ecx, ecx
je 0x1014defc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014dee0
cmp edi, 0xe57f80c
je 0x1014df2e
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x88], ecx
cmp edx, dword [eax + 4]
jl 0x1014de90
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x1014df4d
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014df4d
mov eax, dword [0x103c2318]
push dword [ebp - 0xac]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x190]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.100533b0
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xa4]
push 0x201400b
push eax
call dword [ebp - 0xa8]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x1030b86c]
lahf
test ah, 0x44
jnp 0x1014dfb5
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jl 0x1014da90
movq xmm0, qword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xcc], eax
mov eax, dword [0x10c0dd10]
movq qword [ebp - 0xc8], xmm0
add eax, 0x72c821ae
movq qword [ebp - 0xd4], xmm0
xor eax, 0x43f50f5d
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [0x1030b8c0]
movss dword [ebp - 0xc0], xmm0
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xac], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x1014e1b7
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 7
mov eax, dword [0x103bf630]
mov ecx, dword [0x103bf634]
mov dword [ebp - 0x8c], eax
cmp eax, ecx
je 0x1014e095
mov dword [ebp - 0x84], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014e084
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014e058
xor edx, edx
test ecx, ecx
je 0x1014e084
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e065
cmp edi, 0x1eee87cc
je 0x1014e0af
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x103bf634]
jne 0x1014e045
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014e1c8
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1014e1a0
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014e107
cmp dword [ecx + 4], 0
jle 0x1014e107
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014e104
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014e110
xor edx, edx
test ecx, ecx
je 0x1014e13c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e120
cmp edi, 0x7d388d3e
je 0x1014e17a
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], ecx
cmp edx, dword [eax + 4]
jl 0x1014e0d0
mov eax, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x8c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014e1c8
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x103bf630]
mov dword [ebp - 0x8c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014e1c8
mov eax, dword [ebp - 0x8c]
mov ecx, edi
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014e1c8
mov eax, dword [0x103bf630]
mov ecx, dword [0x103c2338]
mov dword [ebp - 0x8c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [0x103c2300]
test cl, 1
jne 0x1014e338
or ecx, 1
mov dword [0x103c2300], ecx
mov dword [ebp - 4], 8
cmp eax, dword [0x103bf634]
je 0x1014e250
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014e23f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014e213
xor edx, edx
test ecx, ecx
je 0x1014e23f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e220
cmp edi, 0x1eee87cc
je 0x1014e263
mov eax, dword [ebp - 0x8c]
add eax, 4
mov dword [ebp - 0x8c], eax
cmp eax, dword [0x103bf634]
jne 0x1014e200
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x1014e33d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1014e30e
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014e2b7
cmp dword [ecx + 4], 0
jle 0x1014e2b7
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x1014e2b4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x74]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014e2c0
xor edx, edx
test ecx, ecx
je 0x1014e2ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014e2d0
cmp edi, 0xe57f80c
je 0x1014e31e
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], ecx
cmp edx, dword [eax + 4]
jl 0x1014e280
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x1014e33d
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014e33d
mov eax, dword [0x103c2318]
push dword [ebp - 0xa0]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.100533b0
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xac]
push 0x201400b
push eax
call dword [ebp - 0xa4]
movq xmm0, qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xb0]
movq qword [ebp - 0x10c], xmm0
mov dword [ebp - 0x104], eax
cmp ecx, dword [ebp - 0xec]
jge 0x1014e3d5
mov esi, dword [0x103bf630]
movups xmm3, xmmword [ebp - 0x140]
mov edi, dword [ebp - 0xbc]
movss xmm4, dword [ebp - 0xf0]
movss xmm5, dword [ebp - 0xf4]
mov dword [ebp - 0x7c], esi
jmp 0x1014d1d0
movss xmm5, dword [ebp - 0x104]
movss xmm4, dword [ebp - 0x108]
movss xmm3, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd8]
addss xmm3, dword [eax + 0x24]
addss xmm4, dword [eax + 0x28]
addss xmm5, dword [eax + 0x2c]
unpcklps xmm3, xmm4
movss dword [ebp - 0x110], xmm5
mov eax, dword [ebp - 0x110]
movq qword [ecx + 0x24], xmm3
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1023505f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret