Function at 0x1013b3a0
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 0x101e1443
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x178
mov eax, dword [0x1021b380]
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 [0x1070006c]
add ecx, 0x38a0adc4
xor ecx, 0x32e2e51c
add ecx, 0xc0
mov dword [ebp - 0x84], ecx
je 0x1013c90a
mov edi, dword [0x10700094]
add edi, 0xc37ae81e
xor edi, 0xd6ff0c58
add edi, 0x3cbc40
mov dword [ebp - 0xb0], edi
je 0x1013c90a
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x7c], eax
mov eax, dword [0x102b57c8]
test al, 1
jne 0x1013b5f1
or eax, 1
mov dword [0x102b57c8], eax
mov dword [ebp - 4], 0
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x74], eax
cmp eax, ecx
je 0x1013b4d3
mov dword [ebp - 0x88], eax
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x94], ecx
test ecx, ecx
je 0x1013b4c2
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013b496
xor edx, edx
test ecx, ecx
je 0x1013b4c2
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013b4a3
cmp esi, 0x72e242a1
je 0x1013b4f8
mov eax, dword [ebp - 0x88]
add eax, 4
mov dword [ebp - 0x88], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013b480
mov esi, dword [0x102b3e88]
xor eax, eax
mov ecx, dword [ebp - 0x84]
mov edi, dword [ebp - 0xb0]
mov dword [0x102b7068], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013b5ff
mov eax, dword [ebp - 0x94]
xor edi, edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edi
cmp dword [eax + 4], edi
jle 0x1013b5e4
xor ecx, ecx
mov dword [ebp - 0x78], ecx
nop word [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xac], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013b55d
cmp dword [ecx + 4], 0
jle 0x1013b55d
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013b557
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x8c], edi
mov eax, dword [ebp - 0x94]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013b566
xor edx, edx
test ecx, ecx
je 0x1013b592
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013b573
cmp esi, 0xf3e9a9ed
je 0x1013b5c7
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
inc edx
mov edi, dword [ebp - 0x8c]
add ecx, 0x3c
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x78], ecx
cmp edx, dword [eax + 4]
jl 0x1013b520
mov esi, dword [0x102b3e88]
mov eax, edi
mov dword [ebp - 0x74], esi
jmp 0x1013b4db
mov eax, dword [ebp - 0xac]
mov esi, dword [0x102b3e88]
mov dword [ebp - 0x74], esi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x8c]
jmp 0x1013b4db
mov esi, dword [0x102b3e88]
mov eax, edi
jmp 0x1013b4db
mov esi, dword [0x102b3e88]
mov eax, dword [0x102b7068]
mov dword [ebp - 0x74], esi
mov edx, dword [ebp - 0x7c]
cmp byte [edx + eax], 0
mov eax, dword [0x107001f0]
je 0x1013b627
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x154]
movss xmm2, dword [eax + 0x138]
jmp 0x1013b63f
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x154]
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 - 0x130], xmm3
addss xmm0, xmm1
movss dword [ebp - 0xec], xmm4
movss dword [ebp - 0xf0], xmm5
call fcn.1000d600
maxss xmm0, dword [0x1020785c]
xor eax, eax
mov dword [ebp - 0xe4], 0xe
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0xdc]
divss xmm0, xmm2
mulss xmm0, dword [0x10207920]
subss xmm0, dword [0x1020785c]
cvttss2si edx, xmm0
test edx, edx
cmovs edx, eax
lea eax, [ebp - 0xe0]
test edx, edx
mov dword [ebp - 0xe0], edx
cmovns ecx, eax
cmp edx, 0xe
lea eax, [ebp - 0xe4]
cmovle eax, ecx
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
test eax, eax
jne 0x1013b6fa
mov ecx, dword [ebp - 0xd8]
movq xmm0, qword [edi + 0x24]
movq qword [ecx + 0x24], xmm0
mov eax, dword [edi + 0x2c]
jmp 0x1013c907
xor edi, edi
mov dword [ebp - 0xac], edi
test eax, eax
jle 0x1013c8d6
nop word [eax + eax]
mov edx, dword [0x107001f0]
lea eax, [edi + 1]
add edx, 0xd5bd03c9
movd xmm0, eax
mov eax, dword [ebp - 0xb0]
xor edx, 0xde9a561b
cvtdq2ps xmm0, xmm0
mov ecx, dword [edx + 0x108]
movaps xmm6, xmm3
movaps xmm7, xmm4
mulss xmm0, dword [ecx + 0x20]
mulss xmm6, xmm0
mulss xmm7, xmm0
mulss xmm5, xmm0
movaps xmm2, xmm6
addss xmm2, dword [eax + 0x24]
movaps xmm1, xmm7
movss dword [ebp - 0x90], xmm6
addss xmm1, dword [eax + 0x28]
movaps xmm0, xmm5
movss dword [ebp - 0x94], xmm7
addss xmm0, dword [eax + 0x2c]
movss dword [ebp - 0xd4], xmm2
movss dword [ebp - 0x88], xmm5
movss dword [ebp - 0xd0], xmm1
movss dword [ebp - 0xbc], xmm6
movss dword [ebp - 0xcc], xmm0
mov eax, dword [edx + 0x14c]
mov dword [ebp - 0x7c], eax
mov eax, dword [0x102b7078]
movss dword [ebp - 0xb8], xmm7
movss dword [ebp - 0xb4], xmm5
test al, 1
jne 0x1013b94a
or eax, 1
mov dword [0x102b7078], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x102b3e8c]
cmp esi, ecx
je 0x1013b840
mov eax, esi
mov dword [ebp - 0x78], esi
cmp eax, ecx
je 0x1013b840
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x8c], ecx
test ecx, ecx
je 0x1013b82f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1013b806
xor edx, edx
test ecx, ecx
je 0x1013b82f
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013b813
cmp edi, 0x72e242a1
je 0x1013b853
mov eax, dword [ebp - 0x78]
add eax, 4
mov dword [ebp - 0x78], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013b7f0
mov esi, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5780], eax
jmp 0x1013b94f
mov eax, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x78], edi
cmp dword [eax + 4], edi
jle 0x1013b937
xor ecx, ecx
mov dword [ebp - 0x74], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013b8aa
cmp dword [ecx + 4], 0
jle 0x1013b8aa
push 0
mov edx, 0xa4a37590
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013b8a4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x80], edi
mov eax, dword [ebp - 0x8c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1013b8b3
xor edx, edx
test ecx, ecx
je 0x1013b8df
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013b8c0
cmp edi, 0xa4a37590
je 0x1013b914
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
inc edx
mov edi, dword [ebp - 0x80]
add ecx, 0x3c
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], ecx
cmp edx, dword [eax + 4]
jl 0x1013b870
mov esi, dword [0x102b3e88]
mov eax, edi
mov dword [ebp - 0x74], esi
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013b94f
mov eax, dword [ebp - 0x84]
mov esi, dword [0x102b3e88]
mov dword [ebp - 0x74], esi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x80]
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013b94f
mov esi, dword [ebp - 0x74]
mov eax, edi
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013b94f
mov eax, dword [0x102b5780]
mov ecx, dword [ebp - 0x7c]
mov al, byte [ecx + eax]
mov ecx, dword [0x107001f0]
and al, 1
add ecx, 0xd5bd03c9
mov byte [ebp - 0x95], al
xor ecx, 0xde9a561b
mov eax, dword [ecx + 0x14c]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x10bddd78]
test al, 1
jne 0x1013b99a
or eax, 1
mov dword [0x10bddd78], eax
mov edx, dword [ecx + 0x204]
mov dword [0x10bddda0], edx
jmp 0x1013b9a0
mov edx, dword [0x10bddda0]
test al, 2
jne 0x1013b9b7
or eax, 2
mov dword [0x10bddd78], eax
mov eax, dword [ecx + 0x234]
mov dword [0x10bddd8c], eax
cmp byte [ebp - 0x95], 0
jne 0x1013b9fa
mov eax, dword [edx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 0x108]
movss xmm0, dword [ebp - 0x84]
mulss xmm0, dword [eax + 0x20]
subss xmm5, xmm0
movss dword [ebp - 0x88], xmm5
movss dword [ebp - 0xb4], xmm5
jmp 0x1013ba7c
mov eax, dword [0x102b7078]
test al, 1
jne 0x1013ba7c
or eax, 1
mov dword [0x102b7078], eax
mov dword [ebp - 4], 2
cmp esi, dword [0x102b3e8c]
je 0x1013ba6e
nop word [eax + eax]
mov eax, dword [esi]
mov dword [ebp - 0x80], eax
test eax, eax
je 0x1013ba60
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013ba33
xor edx, edx
test ecx, ecx
je 0x1013ba5d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013ba40
cmp edi, 0x72e242a1
je 0x1013bbf5
mov esi, dword [ebp - 0x74]
add esi, 4
mov dword [ebp - 0x74], esi
cmp esi, dword [0x102b3e8c]
jne 0x1013ba20
xor eax, eax
mov dword [0x102b5780], eax
mov dword [ebp - 4], 0xffffffff
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 - 0x118], eax
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
unpcklps xmm0, xmm4
movq qword [ebp - 0xd4], xmm0
xor eax, 0xde9a561b
movq qword [ebp - 0x120], xmm0
mov eax, dword [eax + 0x108]
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.1002d660
push 1
mov dword [ebp - 0xfc], 0x10201878
call fcn.101d08e6
mov dword [ebp - 0xf4], eax
add esp, 4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xf8], eax
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x110]
mov dword [ebp - 0xa0], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x102b6fe4]
test al, 1
jne 0x1013bda8
or eax, 1
mov dword [0x102b6fe4], eax
mov dword [ebp - 4], 3
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x74], eax
cmp eax, ecx
je 0x1013bbde
mov dword [ebp - 0x7c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x80], ecx
test ecx, ecx
je 0x1013bbd0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013bba0
xor edx, edx
test ecx, ecx
je 0x1013bbd0
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013bbb0
cmp edi, 0x1eee87cc
je 0x1013bcb0
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013bb87
mov eax, dword [ebp - 0x74]
xor ecx, ecx
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013bdb6
mov eax, dword [ebp - 0x80]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], edi
cmp dword [eax + 4], edi
jle 0x1013bc98
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013bc47
cmp dword [ecx + 4], 0
jle 0x1013bc47
push 0
mov edx, 0xa4a37590
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013bc44
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x74], edi
mov eax, dword [ebp - 0x80]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013bc50
xor edx, edx
test ecx, ecx
je 0x1013bc7c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013bc60
cmp edi, 0xa4a37590
je 0x1013bc9f
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x74]
add ecx, 0x3c
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jl 0x1013bc10
mov eax, edi
jmp 0x1013ba70
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x74]
jmp 0x1013ba70
mov eax, dword [ebp - 0x80]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1013bd94
xor ecx, ecx
mov dword [ebp - 0x74], 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 0x1013bd07
cmp dword [ecx + 4], 0
jle 0x1013bd07
push 0
mov edx, 0x7d388d3e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013bd04
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x80]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013bd10
xor edx, edx
test ecx, ecx
je 0x1013bd3c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013bd20
cmp edi, 0x7d388d3e
je 0x1013bd71
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x74]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x74], ecx
cmp edx, dword [eax + 4]
jl 0x1013bcd0
mov eax, dword [0x102b3e88]
mov ecx, edi
mov dword [ebp - 0x74], eax
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013bdb6
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x74], eax
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013bdb6
mov eax, dword [ebp - 0x74]
mov ecx, edi
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013bdb6
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b57b0]
mov dword [ebp - 0x74], eax
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [0x102b5778]
test cl, 1
jne 0x1013bf15
or ecx, 1
mov dword [0x102b5778], ecx
mov dword [ebp - 4], 4
cmp eax, dword [0x102b3e8c]
je 0x1013be3a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x1013be2c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013be03
xor edx, edx
test ecx, ecx
je 0x1013be2c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013be10
cmp edi, 0x1eee87cc
je 0x1013be4d
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013bdf0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5790], eax
jmp 0x1013bf1a
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1013beeb
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 0x1013be9d
cmp dword [ecx + 4], 0
jle 0x1013be9d
push 0
mov edx, 0xe57f80c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013be9a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x80], edi
mov eax, dword [ebp - 0x78]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013bea6
xor edx, edx
test ecx, ecx
je 0x1013becf
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013beb3
cmp edi, 0xe57f80c
je 0x1013befb
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x74]
inc edx
mov edi, dword [ebp - 0x80]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x74], ecx
cmp edx, dword [eax + 4]
jl 0x1013be66
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5790], eax
jmp 0x1013bf1a
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x80]
mov dword [0x102b5790], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013bf1a
mov eax, dword [0x102b5790]
push dword [ebp - 0xa8]
add eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x180]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.1004c190
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0xa0]
push 0x201400b
push eax
call dword [ebp - 0x9c]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x1020785c]
lahf
test ah, 0x44
jnp 0x1013c492
mov dword [ebp - 0x84], 0
nop dword [eax]
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 - 0x90]
movss xmm6, dword [ebp - 0x50]
movss xmm7, dword [ebp - 0x88]
addss xmm2, xmm0
movss xmm3, dword [ebp - 0x90]
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 - 0x90], xmm3
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
movss dword [ebp - 0x88], xmm7
movss dword [ebp - 0xb4], xmm7
mulss xmm2, xmm0
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0xb8], 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 0x1013c0a7
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm5
mulss xmm1, xmm4
movss xmm4, dword [ebp - 0x90]
subss xmm4, xmm0
mulss xmm2, xmm6
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
subss xmm7, xmm2
movss dword [ebp - 0x90], xmm4
movss dword [ebp - 0xbc], xmm4
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0xb8], xmm0
movss dword [ebp - 0x88], xmm7
movss dword [ebp - 0xb4], xmm7
jmp 0x1013c0af
movss xmm4, dword [ebp - 0x90]
mov ecx, dword [0x107001f0]
movss xmm1, dword [0x1020785c]
add ecx, 0xd5bd03c9
xor ecx, 0xde9a561b
subss xmm1, xmm3
mov eax, dword [ecx + 0x108]
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 - 0x10c], xmm1
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x110]
mov dword [ebp - 0xa8], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x102b6fe4]
test al, 1
jne 0x1013c2b8
or eax, 1
mov dword [0x102b6fe4], eax
mov dword [ebp - 4], 5
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x74], eax
cmp eax, ecx
je 0x1013c1ae
mov dword [ebp - 0x7c], eax
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x1013c1a0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c177
xor edx, edx
test ecx, ecx
je 0x1013c1a0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c184
cmp edi, 0x1eee87cc
je 0x1013c1c5
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013c164
mov eax, dword [ebp - 0x74]
xor ecx, ecx
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c2c6
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1013c2a4
xor ecx, ecx
mov dword [ebp - 0x74], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x9c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013c217
cmp dword [ecx + 4], 0
jle 0x1013c217
push 0
mov edx, 0x7d388d3e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013c214
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x80], edi
mov eax, dword [ebp - 0x78]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c220
xor edx, edx
test ecx, ecx
je 0x1013c24c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c230
cmp edi, 0x7d388d3e
je 0x1013c281
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x74]
inc edx
mov edi, dword [ebp - 0x80]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x74], ecx
cmp edx, dword [eax + 4]
jl 0x1013c1e0
mov eax, dword [0x102b3e88]
mov ecx, edi
mov dword [ebp - 0x74], eax
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c2c6
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x80]
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x74], eax
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c2c6
mov eax, dword [ebp - 0x74]
mov ecx, edi
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c2c6
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b57b0]
mov dword [ebp - 0x74], eax
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [0x102b5778]
test cl, 1
jne 0x1013c425
or ecx, 1
mov dword [0x102b5778], ecx
mov dword [ebp - 4], 6
cmp eax, dword [0x102b3e8c]
je 0x1013c34a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x1013c33c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c313
xor edx, edx
test ecx, ecx
je 0x1013c33c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c320
cmp edi, 0x1eee87cc
je 0x1013c35d
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013c300
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5790], eax
jmp 0x1013c42a
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
cmp dword [eax + 4], edi
jle 0x1013c3fb
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x9c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013c3ad
cmp dword [ecx + 4], 0
jle 0x1013c3ad
push 0
mov edx, 0xe57f80c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013c3aa
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x80], edi
mov eax, dword [ebp - 0x78]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c3b6
xor edx, edx
test ecx, ecx
je 0x1013c3df
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c3c3
cmp edi, 0xe57f80c
je 0x1013c40b
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x74]
inc edx
mov edi, dword [ebp - 0x80]
add ecx, 0x3c
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x74], ecx
cmp edx, dword [eax + 4]
jl 0x1013c376
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5790], eax
jmp 0x1013c42a
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x80]
mov dword [0x102b5790], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c42a
mov eax, dword [0x102b5790]
push dword [ebp - 0xa0]
add eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x180]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.1004c190
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0xa8]
push 0x201400b
push eax
call dword [ebp - 0xa4]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x1020785c]
lahf
test ah, 0x44
jnp 0x1013c492
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jl 0x1013bf80
movq xmm0, qword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xcc], eax
mov eax, dword [0x107001f0]
movq qword [ebp - 0xc8], xmm0
add eax, 0xd5bd03c9
movq qword [ebp - 0xd4], xmm0
xor eax, 0xde9a561b
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [0x102078a8]
movss dword [ebp - 0xc0], xmm0
mov eax, dword [eax + 0x110]
mov dword [ebp - 0xa0], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x102b6fe4]
test al, 1
jne 0x1013c69a
or eax, 1
mov dword [0x102b6fe4], eax
mov dword [ebp - 4], 7
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b3e8c]
mov dword [ebp - 0x90], eax
cmp eax, ecx
je 0x1013c575
mov dword [ebp - 0x84], eax
mov ecx, dword [eax]
mov dword [ebp - 0x88], ecx
test ecx, ecx
je 0x1013c564
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c538
xor edx, edx
test ecx, ecx
je 0x1013c564
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c545
cmp edi, 0x1eee87cc
je 0x1013c58f
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013c522
mov eax, dword [ebp - 0x90]
xor ecx, ecx
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c6ab
mov eax, dword [ebp - 0x88]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1013c683
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013c5ea
cmp dword [ecx + 4], 0
jle 0x1013c5ea
push 0
mov edx, 0x7d388d3e
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013c5e4
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x88]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c5f3
xor edx, edx
test ecx, ecx
je 0x1013c61f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c600
cmp edi, 0x7d388d3e
je 0x1013c65d
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jl 0x1013c5b0
mov eax, dword [0x102b3e88]
mov ecx, edi
mov dword [ebp - 0x90], eax
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c6ab
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x90], eax
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c6ab
mov eax, dword [ebp - 0x90]
mov ecx, edi
mov dword [0x102b57b0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c6ab
mov eax, dword [0x102b3e88]
mov ecx, dword [0x102b57b0]
mov dword [ebp - 0x90], eax
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [0x102b5778]
test cl, 1
jne 0x1013c820
or ecx, 1
mov dword [0x102b5778], ecx
mov dword [ebp - 4], 8
cmp eax, dword [0x102b3e8c]
je 0x1013c733
nop
mov ecx, dword [eax]
mov dword [ebp - 0x88], ecx
test ecx, ecx
je 0x1013c722
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1013c6f6
xor edx, edx
test ecx, ecx
je 0x1013c722
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c703
cmp edi, 0x1eee87cc
je 0x1013c746
mov eax, dword [ebp - 0x90]
add eax, 4
mov dword [ebp - 0x90], eax
cmp eax, dword [0x102b3e8c]
jne 0x1013c6e0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5790], eax
jmp 0x1013c825
mov eax, dword [ebp - 0x88]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1013c7f6
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa4], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013c79f
cmp dword [ecx + 4], 0
jle 0x1013c79f
push 0
mov edx, 0xe57f80c
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013c799
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x88]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1013c7a8
xor edx, edx
test ecx, ecx
je 0x1013c7d4
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1013c7b5
cmp edi, 0xe57f80c
je 0x1013c806
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jl 0x1013c765
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b5790], eax
jmp 0x1013c825
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x102b5790], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013c825
mov eax, dword [0x102b5790]
push dword [ebp - 0x9c]
add eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x180]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.1004c190
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0xa0]
push 0x201400b
push eax
call dword [ebp - 0xa8]
mov edi, dword [ebp - 0xac]
movq xmm0, qword [ebp - 0xbc]
inc edi
mov eax, dword [ebp - 0xb4]
movq qword [ebp - 0x108], xmm0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xac], edi
cmp edi, dword [ebp - 0xe8]
jge 0x1013c8be
mov esi, dword [0x102b3e88]
movups xmm3, xmmword [ebp - 0x130]
mov dword [ebp - 0x74], esi
movss xmm4, dword [ebp - 0xec]
movss xmm5, dword [ebp - 0xf0]
jmp 0x1013b710
movss xmm5, dword [ebp - 0x100]
movss xmm4, dword [ebp - 0x104]
movss xmm3, dword [ebp - 0x108]
mov eax, dword [ebp - 0xb0]
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 - 0x10c], xmm5
mov eax, dword [ebp - 0x10c]
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.101d03f8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret