Function at 0x10034be0
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 0x10222d93
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1b8
mov eax, dword [0x102d5080]
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 - 0xdc], ecx
mov eax, dword [0x107f41e8]
mov edx, dword [0x107f41c0]
add eax, 0xdee113ef
xor eax, 0xb3e5279a
mov dword [ebp - 0xfc], 0x11
mov dword [ebp - 0xe8], eax
add edx, 0x1efd30ca
mov eax, dword [0x10bbf240]
xor edx, 0xd7168c7a
add eax, 0xaff3cc8c
mov dword [ebp - 0xc0], edx
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x84], eax
mov eax, dword [0x10373cb0]
test al, 1
jne 0x10034e43
or eax, 1
mov dword [0x10373cb0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x10034cfd
mov dword [ebp - 0x74], eax
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
test ecx, ecx
je 0x10034cef
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10034cc6
xor edx, edx
test ecx, ecx
je 0x10034cef
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10034cd3
cmp esi, 0x72e242a1
je 0x10034d1c
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x1037127c]
jne 0x10034cb0
mov edi, dword [0x10371278]
xor eax, eax
mov edx, dword [ebp - 0xc0]
mov dword [0x10375558], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e51
mov eax, dword [ebp - 0x98]
xor edi, edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x10034e23
xor ecx, ecx
mov dword [ebp - 0x78], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10034d7f
cmp dword [ecx + 4], 0
jle 0x10034d7f
push 0
mov edx, 0xf3e9a9ed
call fcn.1013bb80
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10034d79
mov eax, dword [esi + 0x2c]
add eax, ecx
add edi, eax
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 0x10034d88
xor edx, edx
test ecx, ecx
je 0x10034db4
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10034d95
cmp esi, 0xf3e9a9ed
je 0x10034dd4
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
inc edx
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x78], ecx
cmp edx, dword [eax + 4]
jge 0x10034e00
mov edi, dword [ebp - 0x94]
jmp 0x10034d40
mov eax, dword [ebp - 0xb0]
mov edi, dword [0x10371278]
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x7c], edi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x94]
mov dword [0x10375558], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e51
mov edi, dword [0x10371278]
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x7c], edi
mov dword [0x10375558], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e51
mov eax, dword [ebp - 0x94]
mov edi, dword [0x10371278]
mov edx, dword [ebp - 0xc0]
mov dword [0x10375558], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e51
mov edi, dword [0x10371278]
mov eax, dword [0x10375558]
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp - 0x84]
cmp byte [ecx + eax], 0
mov eax, dword [0x10bbf240]
je 0x10034e7c
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x138]
jmp 0x10034e94
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x134]
movss xmm3, dword [edx + 0x1ac]
movss xmm2, dword [edx + 0x1a8]
movaps xmm1, xmm3
movaps xmm0, xmm2
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm0, xmm1
call fcn.1000ded0
maxss xmm0, dword [0x102bd7ac]
xor ecx, ecx
lea edx, [ebp - 0xe0]
mov esi, 0x11
mov dword [ebp - 0xe0], ecx
divss xmm0, xmm4
mulss xmm0, dword [0x102bd87c]
subss xmm0, dword [0x102bd7ac]
cvttss2si eax, xmm0
test eax, eax
cmovs eax, ecx
lea ecx, [ebp - 0xe4]
sub esi, eax
mov eax, esi
mov dword [ebp - 0xe4], esi
shr eax, 0x1f
test al, al
cmove edx, ecx
cmp esi, 0x11
lea ecx, [ebp - 0xfc]
cmovle ecx, edx
mov eax, dword [ecx]
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x10034f42
mov eax, dword [ebp - 0xdc]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1003619b
mov ecx, dword [ebp - 0xc0]
xor esi, esi
mov dword [ebp - 0xb0], esi
movss xmm0, dword [ecx + 0x1b0]
test eax, eax
jle 0x10036187
mov edx, dword [0x10bbf240]
lea eax, [esi + 1]
add edx, 0xaff3cc8c
movd xmm5, eax
mov eax, dword [ebp - 0xc0]
xor edx, 0x3743f7af
cvtdq2ps xmm5, xmm5
mov ecx, dword [edx + 0xf0]
mulss xmm5, dword [ecx + 0x20]
movaps xmm6, xmm5
movaps xmm7, xmm5
mulss xmm6, dword [eax + 0x1a8]
mulss xmm7, dword [eax + 0x1ac]
mulss xmm5, dword [eax + 0x1b0]
movaps xmm2, xmm6
mov eax, dword [ebp - 0xe8]
movaps xmm1, xmm7
movss dword [ebp - 0x8c], xmm6
movss dword [ebp - 0x94], xmm7
movaps xmm0, xmm5
movss dword [ebp - 0x98], xmm5
addss xmm2, dword [eax + 0x3cbe64]
addss xmm1, dword [eax + 0x3cbe68]
addss xmm0, dword [eax + 0x3cbe6c]
movss dword [ebp - 0xbc], xmm6
movss dword [ebp - 0xb8], xmm7
movss dword [ebp - 0xd8], xmm2
movss dword [ebp - 0xd4], xmm1
movss dword [ebp - 0xd0], xmm0
mov eax, dword [edx + 0x134]
mov dword [ebp - 0x88], eax
mov eax, dword [0x10375568]
movss dword [ebp - 0xb4], xmm5
test al, 1
jne 0x100351c0
or eax, 1
mov dword [0x10375568], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x1037127c]
cmp edi, ecx
je 0x100350ad
mov eax, edi
mov dword [ebp - 0x74], edi
cmp eax, ecx
je 0x100350ad
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x1003509c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035070
xor edx, edx
test ecx, ecx
je 0x1003509c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035080
cmp edi, 0x72e242a1
je 0x100350c1
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x1037127c]
jne 0x10035055
mov edi, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c68], ecx
jmp 0x100351c6
mov eax, dword [ebp - 0x90]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x100351ab
xor ecx, ecx
mov dword [ebp - 0x7c], 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 0x1003511a
cmp dword [ecx + 4], 0
jle 0x1003511a
push 0
mov edx, 0xa4a37590
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10035114
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 0x10035123
xor edx, edx
test ecx, ecx
je 0x1003514f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035130
cmp edi, 0xa4a37590
je 0x1003516c
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
inc edx
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jge 0x10035190
mov edi, dword [ebp - 0x78]
jmp 0x100350e0
mov eax, dword [ebp - 0x84]
mov edi, dword [0x10371278]
mov dword [ebp - 0x7c], edi
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov dword [0x10373c68], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100351c6
mov edi, dword [0x10371278]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], edi
mov dword [0x10373c68], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100351c6
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [0x10373c68], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100351c6
mov ecx, dword [0x10373c68]
mov eax, dword [ebp - 0x88]
mov edx, dword [0x10bbf240]
add edx, 0xaff3cc8c
xor edx, 0x3743f7af
mov al, byte [ecx + eax]
and al, 1
mov byte [ebp - 0x9d], al
mov eax, dword [edx + 0x134]
mov dword [ebp - 0x90], eax
mov eax, dword [0x1109cdfc]
test al, 1
jne 0x10035214
or eax, 1
mov dword [0x1109cdfc], eax
mov esi, dword [edx + 0x1ec]
mov dword [0x1109ce24], esi
jmp 0x1003521a
mov esi, dword [0x1109ce24]
test al, 2
jne 0x10035233
or eax, 2
mov dword [0x1109cdfc], eax
mov eax, dword [edx + 0x21c]
mov dword [0x1109ce10], eax
jmp 0x10035238
mov eax, dword [0x1109ce10]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x88]
test byte [ecx + eax], 1
jne 0x10035279
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, esi
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 - 0xb4], xmm5
jmp 0x1003532b
mov eax, dword [0x10375568]
test al, 1
jne 0x100352fd
or eax, 1
mov dword [0x10375568], eax
mov dword [ebp - 4], 2
cmp edi, dword [0x1037127c]
je 0x100352ee
nop dword [eax]
mov eax, dword [edi]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x100352e0
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100352b3
xor edx, edx
test ecx, ecx
je 0x100352dd
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100352c0
cmp edi, 0x72e242a1
je 0x100354a5
mov edi, dword [ebp - 0x7c]
add edi, 4
mov dword [ebp - 0x7c], edi
cmp edi, dword [0x1037127c]
jne 0x100352a0
xor ecx, ecx
mov dword [0x10373c68], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
test byte [eax + ecx], 1
je 0x10035333
cmp byte [ebp - 0x9d], 0
jne 0x10035333
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0xb4], eax
movss xmm5, dword [ebp - 0xb4]
movss dword [ebp - 0x98], xmm5
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0x70]
movss xmm3, dword [ebp - 0xd8]
movss xmm4, dword [ebp - 0xd4]
movaps xmm0, xmm3
mov dword [ebp - 0x10c], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
unpcklps xmm0, xmm4
movq qword [ebp - 0xd8], xmm0
xor eax, 0x3743f7af
movq qword [ebp - 0x114], 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 - 0xd0]
movss dword [ebp - 0xcc], xmm1
movss dword [ebp - 0xc8], xmm0
movss dword [ebp - 0xc4], xmm2
call fcn.1002f4f0
push 1
mov dword [ebp - 0xf8], 0x102b670c
call fcn.101f3bac
mov dword [ebp - 0xf0], eax
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xf4], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xa8], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x1003565e
or eax, 1
mov dword [0x103754d4], eax
mov dword [ebp - 4], 3
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1003548e
mov dword [ebp - 0x80], eax
nop
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x10035480
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035453
xor edx, edx
test ecx, ecx
je 0x10035480
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035460
cmp edi, 0x1eee87cc
je 0x10035566
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x1037127c]
jne 0x10035440
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003566c
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], edi
cmp dword [eax + 4], edi
jle 0x1003554e
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 0x100354f8
cmp dword [ecx + 4], 0
jle 0x100354f8
push 0
mov edx, 0xa4a37590
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x100354f5
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 0x10035501
xor edx, edx
test ecx, ecx
je 0x1003552c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035510
cmp edi, 0xa4a37590
je 0x10035555
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 0x100354c1
mov ecx, edi
jmp 0x100352f0
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x7c]
jmp 0x100352f0
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1003564a
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 0x100355b9
cmp dword [ecx + 4], 0
jle 0x100355b9
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x100355b6
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 0x100355c2
xor edx, edx
test ecx, ecx
je 0x100355ec
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100355d0
cmp edi, 0x7d388d3e
je 0x10035627
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 0x10035582
mov eax, dword [0x10371278]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003566c
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x74]
mov eax, dword [0x10371278]
mov dword [ebp - 0x7c], eax
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003566c
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003566c
mov eax, dword [0x10371278]
mov ecx, dword [0x10373c98]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [0x10373c60]
test cl, 1
jne 0x100357d8
or ecx, 1
mov dword [0x10373c60], ecx
mov dword [ebp - 4], 4
cmp eax, dword [0x1037127c]
je 0x100356ea
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x100356dc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100356b3
xor edx, edx
test ecx, ecx
je 0x100356dc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100356c0
cmp edi, 0x1eee87cc
je 0x100356fd
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x1037127c]
jne 0x100356a0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c78], eax
jmp 0x100357dd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x100357ae
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 0x10035757
cmp dword [ecx + 4], 0
jle 0x10035757
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10035754
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 0x10035760
xor edx, edx
test ecx, ecx
je 0x1003578c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035770
cmp edi, 0xe57f80c
je 0x100357be
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 0x10035720
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c78], eax
jmp 0x100357dd
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x10373c78], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100357dd
mov eax, dword [0x10373c78]
push dword [ebp - 0xa4]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x170]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.10052f30
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa8]
push 0x201400b
push eax
call dword [ebp - 0x9c]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x102bd7ac]
lahf
test ah, 0x44
jnp 0x10035d65
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 - 0xbc], xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
movss dword [ebp - 0x98], 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 0x10035967
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 - 0xbc], xmm4
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0xb8], xmm0
movss dword [ebp - 0x98], xmm7
movss dword [ebp - 0xb4], xmm7
jmp 0x1003596f
movss xmm4, dword [ebp - 0x8c]
mov ecx, dword [0x10bbf240]
movss xmm1, dword [0x102bd7ac]
add ecx, 0xaff3cc8c
xor ecx, 0x3743f7af
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 - 0xcc], xmm2
movss dword [ebp - 0x118], xmm1
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0xf8]
mov dword [ebp - 0xa4], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xac], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x10035b7e
or eax, 1
mov dword [0x103754d4], eax
mov dword [ebp - 4], 5
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x10035a6e
mov dword [ebp - 0x80], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035a60
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035a37
xor edx, edx
test ecx, ecx
je 0x10035a60
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035a44
cmp edi, 0x1eee87cc
je 0x10035a85
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x1037127c]
jne 0x10035a24
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035b8c
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10035b6a
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x9c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10035ad8
cmp dword [ecx + 4], 0
jle 0x10035ad8
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10035ad5
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 0x10035ae1
xor edx, edx
test ecx, ecx
je 0x10035b0c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035af0
cmp edi, 0x7d388d3e
je 0x10035b47
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 0x10035aa1
mov eax, dword [0x10371278]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035b8c
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x10371278]
mov dword [ebp - 0x7c], eax
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035b8c
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035b8c
mov eax, dword [0x10371278]
mov ecx, dword [0x10373c98]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [0x10373c60]
test cl, 1
jne 0x10035cf8
or ecx, 1
mov dword [0x10373c60], ecx
mov dword [ebp - 4], 6
cmp eax, dword [0x1037127c]
je 0x10035c0a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035bfc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035bd3
xor edx, edx
test ecx, ecx
je 0x10035bfc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035be0
cmp edi, 0x1eee87cc
je 0x10035c1d
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x1037127c]
jne 0x10035bc0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c78], eax
jmp 0x10035cfd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10035cce
xor ecx, ecx
mov dword [ebp - 0x88], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x9c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10035c77
cmp dword [ecx + 4], 0
jle 0x10035c77
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10035c74
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 0x10035c80
xor edx, edx
test ecx, ecx
je 0x10035cac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035c90
cmp edi, 0xe57f80c
je 0x10035cde
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 0x10035c40
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c78], eax
jmp 0x10035cfd
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x10373c78], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10035cfd
mov eax, dword [0x10373c78]
push dword [ebp - 0xa8]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x170]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10052f30
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa4]
push 0x201400b
push eax
call dword [ebp - 0xac]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x102bd7ac]
lahf
test ah, 0x44
jnp 0x10035d65
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jl 0x10035840
movq xmm0, qword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xd0], eax
mov eax, dword [0x10bbf240]
movq qword [ebp - 0xcc], xmm0
add eax, 0xaff3cc8c
movq qword [ebp - 0xd8], xmm0
xor eax, 0x3743f7af
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [0x102bd800]
movss dword [ebp - 0xc4], xmm0
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xa8], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x103754d4]
test al, 1
jne 0x10035f67
or eax, 1
mov dword [0x103754d4], eax
mov dword [ebp - 4], 7
mov eax, dword [0x10371278]
mov ecx, dword [0x1037127c]
mov dword [ebp - 0x8c], eax
cmp eax, ecx
je 0x10035e45
mov dword [ebp - 0x84], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035e34
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035e08
xor edx, edx
test ecx, ecx
je 0x10035e34
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035e15
cmp edi, 0x1eee87cc
je 0x10035e5f
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x1037127c]
jne 0x10035df5
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035f78
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x10035f50
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xac], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10035eb7
cmp dword [ecx + 4], 0
jle 0x10035eb7
push 0
mov edx, 0x7d388d3e
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10035eb4
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 0x10035ec0
xor edx, edx
test ecx, ecx
je 0x10035eec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035ed0
cmp edi, 0x7d388d3e
je 0x10035f2a
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 0x10035e80
mov eax, dword [0x10371278]
mov ecx, edi
mov dword [ebp - 0x8c], eax
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035f78
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x10371278]
mov dword [ebp - 0x8c], eax
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035f78
mov eax, dword [ebp - 0x8c]
mov ecx, edi
mov dword [0x10373c98], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035f78
mov eax, dword [0x10371278]
mov ecx, dword [0x10373c98]
mov dword [ebp - 0x8c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [0x10373c60]
test cl, 1
jne 0x100360e8
or ecx, 1
mov dword [0x10373c60], ecx
mov dword [ebp - 4], 8
cmp eax, dword [0x1037127c]
je 0x10036000
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035fef
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035fc3
xor edx, edx
test ecx, ecx
je 0x10035fef
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035fd0
cmp edi, 0x1eee87cc
je 0x10036013
mov eax, dword [ebp - 0x8c]
add eax, 4
mov dword [ebp - 0x8c], eax
cmp eax, dword [0x1037127c]
jne 0x10035fb0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c78], eax
jmp 0x100360ed
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x100360be
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xac], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10036067
cmp dword [ecx + 4], 0
jle 0x10036067
push 0
mov edx, 0xe57f80c
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10036064
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 0x10036070
xor edx, edx
test ecx, ecx
je 0x1003609c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10036080
cmp edi, 0xe57f80c
je 0x100360ce
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 0x10036030
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10373c78], eax
jmp 0x100360ed
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x10373c78], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100360ed
mov eax, dword [0x10373c78]
push dword [ebp - 0x9c]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.10052f30
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa8]
push 0x201400b
push eax
call dword [ebp - 0xa4]
mov esi, dword [ebp - 0xb0]
movq xmm0, qword [ebp - 0xbc]
inc esi
mov eax, dword [ebp - 0xb4]
movq qword [ebp - 0x108], xmm0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xb0], esi
cmp esi, dword [ebp - 0xec]
jge 0x1003616f
mov edi, dword [0x10371278]
mov dword [ebp - 0x7c], edi
jmp 0x10034f60
movss xmm0, dword [ebp - 0x100]
movss xmm3, dword [ebp - 0x104]
movss xmm2, dword [ebp - 0x108]
mov eax, dword [ebp - 0xdc]
movss dword [eax], xmm2
movss dword [eax + 4], xmm3
movss dword [eax + 8], xmm0
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.101f36c3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret