Function at 0x10035140
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 0x10220093
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1b8
mov eax, dword [0x102d2084]
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 eax, dword [0x107ef998]
mov edx, dword [0x107ef970]
add eax, 0xfaacd160
xor eax, 0x7af747a1
mov dword [ebp - 0xe4], 0x11
mov dword [ebp - 0xfc], eax
add edx, 0xfb38d7d9
mov eax, dword [0x10bbb620]
xor edx, 0xf4dd204d
add eax, 0x91761abb
add edx, 0x1a8
xor eax, 0xfd410b50
mov dword [ebp - 0xbc], edx
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x80], eax
mov eax, dword [0x1036f6f0]
test al, 1
jne 0x100353a3
or eax, 1
mov dword [0x1036f6f0], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x1003525d
mov dword [ebp - 0x74], eax
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
test ecx, ecx
je 0x1003524f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10035226
xor edx, edx
test ecx, ecx
je 0x1003524f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10035233
cmp esi, 0x72e242a1
je 0x1003527c
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x1036cbb4]
jne 0x10035210
mov edi, dword [0x1036cbb0]
xor eax, eax
mov edx, dword [ebp - 0xbc]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100353b1
mov eax, dword [ebp - 0x98]
xor edi, edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x10035383
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 0x100352df
cmp dword [ecx + 4], 0
jle 0x100352df
push 0
mov edx, 0xf3e9a9ed
call fcn.10138e60
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100352d9
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 0x100352e8
xor edx, edx
test ecx, ecx
je 0x10035314
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100352f5
cmp esi, 0xf3e9a9ed
je 0x10035334
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 0x10035360
mov edi, dword [ebp - 0x94]
jmp 0x100352a0
mov eax, dword [ebp - 0x84]
mov edi, dword [0x1036cbb0]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], edi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x94]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100353b1
mov edi, dword [0x1036cbb0]
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], edi
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100353b1
mov eax, dword [ebp - 0x94]
mov edi, dword [0x1036cbb0]
mov edx, dword [ebp - 0xbc]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100353b1
mov edi, dword [0x1036cbb0]
mov eax, dword [0x10370f98]
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp - 0x80]
cmp byte [ecx + eax], 0
mov eax, dword [0x10bbb620]
je 0x100353d9
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x138]
jmp 0x100353f1
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x134]
movss xmm3, dword [edx + 4]
movss xmm2, dword [edx]
movaps xmm1, xmm3
movaps xmm0, xmm2
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm0, xmm1
call fcn.1000da70
maxss xmm0, dword [0x102ba7b4]
xor ecx, ecx
lea edx, [ebp - 0xdc]
mov esi, 0x11
mov dword [ebp - 0xdc], ecx
divss xmm0, xmm4
mulss xmm0, dword [0x102ba884]
subss xmm0, dword [0x102ba7b4]
cvttss2si eax, xmm0
test eax, eax
cmovs eax, ecx
lea ecx, [ebp - 0xe0]
sub esi, eax
mov eax, esi
mov dword [ebp - 0xe0], esi
shr eax, 0x1f
test al, al
cmove edx, ecx
cmp esi, 0x11
lea ecx, [ebp - 0xe4]
cmovle ecx, edx
mov eax, dword [ecx]
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x10035498
mov eax, dword [ebp - 0xd8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x100366ea
mov esi, dword [ebp - 0xbc]
xor ecx, ecx
movss xmm0, dword [esi + 8]
test eax, eax
jle 0x100366d6
nop dword [eax]
mov edx, dword [0x10bbb620]
inc ecx
add edx, 0x91761abb
mov dword [ebp - 0xe8], ecx
xor edx, 0xfd410b50
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
mov eax, dword [edx + 0xf0]
mulss xmm5, dword [eax + 0x20]
mov eax, dword [ebp - 0xfc]
movaps xmm6, xmm5
movaps xmm7, xmm5
mulss xmm6, dword [esi]
mulss xmm7, dword [esi + 4]
mulss xmm5, dword [esi + 8]
movaps xmm2, xmm6
addss xmm2, dword [eax + 0x3cbc64]
movaps xmm1, xmm7
movss dword [ebp - 0x8c], xmm6
addss xmm1, dword [eax + 0x3cbc68]
movaps xmm0, xmm5
movss dword [ebp - 0x94], xmm7
addss xmm0, dword [eax + 0x3cbc6c]
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 [0x10370fa8]
movss dword [ebp - 0xb4], xmm7
movss dword [ebp - 0xb0], xmm5
test al, 1
jne 0x10035700
or eax, 1
mov dword [0x10370fa8], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x1036cbb4]
cmp edi, ecx
je 0x100355f0
mov eax, edi
mov dword [ebp - 0x74], edi
cmp eax, ecx
je 0x100355f0
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x100355df
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100355b6
xor edx, edx
test ecx, ecx
je 0x100355df
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100355c3
cmp edi, 0x72e242a1
je 0x10035604
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x1036cbb4]
jne 0x100355a0
mov edi, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6a8], ecx
jmp 0x10035706
mov eax, dword [ebp - 0x90]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x100356eb
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 0x1003565a
cmp dword [ecx + 4], 0
jle 0x1003565a
push 0
mov edx, 0xa4a37590
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10035654
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 0x10035663
xor edx, edx
test ecx, ecx
je 0x1003568f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035670
cmp edi, 0xa4a37590
je 0x100356ac
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 0x100356d0
mov edi, dword [ebp - 0x78]
jmp 0x10035620
mov eax, dword [ebp - 0x84]
mov edi, dword [0x1036cbb0]
mov dword [ebp - 0x7c], edi
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035706
mov edi, dword [0x1036cbb0]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], edi
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035706
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035706
mov ecx, dword [0x1036f6a8]
mov eax, dword [ebp - 0x88]
mov edx, dword [0x10bbb620]
add edx, 0x91761abb
xor edx, 0xfd410b50
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 [0x110991c0]
test al, 1
jne 0x10035754
or eax, 1
mov dword [0x110991c0], eax
mov esi, dword [edx + 0x1ec]
mov dword [0x110991e8], esi
jmp 0x1003575a
mov esi, dword [0x110991e8]
test al, 2
jne 0x10035773
or eax, 2
mov dword [0x110991c0], eax
mov eax, dword [edx + 0x21c]
mov dword [0x110991d4], eax
jmp 0x10035778
mov eax, dword [0x110991d4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x88]
test byte [ecx + eax], 1
jne 0x100357b9
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 - 0xb0], xmm5
jmp 0x1003586b
mov eax, dword [0x10370fa8]
test al, 1
jne 0x1003583d
or eax, 1
mov dword [0x10370fa8], eax
mov dword [ebp - 4], 2
cmp edi, dword [0x1036cbb4]
je 0x1003582e
nop dword [eax]
mov eax, dword [edi]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x10035820
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100357f3
xor edx, edx
test ecx, ecx
je 0x1003581d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035800
cmp edi, 0x72e242a1
je 0x100359e5
mov edi, dword [ebp - 0x7c]
add edi, 4
mov dword [ebp - 0x7c], edi
cmp edi, dword [0x1036cbb4]
jne 0x100357e0
xor ecx, ecx
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
test byte [eax + ecx], 1
je 0x10035873
cmp byte [ebp - 0x9d], 0
jne 0x10035873
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 - 0x10c], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
unpcklps xmm0, xmm4
movq qword [ebp - 0xd4], xmm0
xor eax, 0xfd410b50
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 - 0xcc]
movss dword [ebp - 0xc8], xmm1
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xc0], xmm2
call fcn.1002fa50
push 1
mov dword [ebp - 0xf8], 0x102b36e8
call fcn.101f0b48
mov dword [ebp - 0xf0], eax
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xf4], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xa4], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x10035b9e
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x100359ce
mov dword [ebp - 0x80], eax
nop
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x100359c0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035993
xor edx, edx
test ecx, ecx
je 0x100359c0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100359a0
cmp edi, 0x1eee87cc
je 0x10035aa6
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x1036cbb4]
jne 0x10035980
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035bac
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], edi
cmp dword [eax + 4], edi
jle 0x10035a8e
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 0x10035a38
cmp dword [ecx + 4], 0
jle 0x10035a38
push 0
mov edx, 0xa4a37590
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10035a35
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 0x10035a41
xor edx, edx
test ecx, ecx
je 0x10035a6c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035a50
cmp edi, 0xa4a37590
je 0x10035a95
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 0x10035a01
mov ecx, edi
jmp 0x10035830
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x7c]
jmp 0x10035830
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10035b8a
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 0x10035af9
cmp dword [ecx + 4], 0
jle 0x10035af9
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10035af6
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 0x10035b02
xor edx, edx
test ecx, ecx
je 0x10035b2c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035b10
cmp edi, 0x7d388d3e
je 0x10035b67
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 0x10035ac2
mov eax, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035bac
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x74]
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x7c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035bac
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035bac
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036f6d8]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [0x1036f6a0]
test cl, 1
jne 0x10035d18
or ecx, 1
mov dword [0x1036f6a0], ecx
mov dword [ebp - 4], 4
cmp eax, dword [0x1036cbb4]
je 0x10035c2a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035c1c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035bf3
xor edx, edx
test ecx, ecx
je 0x10035c1c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035c00
cmp edi, 0x1eee87cc
je 0x10035c3d
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x1036cbb4]
jne 0x10035be0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x10035d1d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10035cee
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 0x10035c97
cmp dword [ecx + 4], 0
jle 0x10035c97
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10035c94
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 0x10035ca0
xor edx, edx
test ecx, ecx
je 0x10035ccc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035cb0
cmp edi, 0xe57f80c
je 0x10035cfe
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 0x10035c60
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x10035d1d
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x1036f6b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10035d1d
mov eax, dword [0x1036f6b8]
push dword [ebp - 0xa8]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x170]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.10052f40
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa4]
push 0x201400b
push eax
call dword [ebp - 0x9c]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x102ba7b4]
lahf
test ah, 0x44
jnp 0x100362b5
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, xmm5
movaps xmm0, xmm3
movss dword [ebp - 0x8c], xmm3
movss xmm3, dword [ebp - 0x94]
subss xmm3, xmm1
mulss xmm2, xmm0
movss dword [ebp - 0xb8], xmm0
movss dword [ebp - 0x98], xmm7
movss dword [ebp - 0xb0], xmm7
movaps xmm0, xmm3
movss dword [ebp - 0x94], xmm3
mulss xmm0, xmm4
movss dword [ebp - 0xb4], 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 0x10035eab
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 0x10035eb3
movss xmm4, dword [ebp - 0x8c]
mov ecx, dword [0x10bbb620]
movss xmm1, dword [0x102ba7b4]
add ecx, 0x91761abb
xor ecx, 0xfd410b50
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 - 0x118], xmm1
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0xf8]
mov dword [ebp - 0xa8], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xac], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x100360ce
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 5
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x7c], eax
cmp eax, ecx
je 0x10035fba
mov dword [ebp - 0x80], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035fac
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035f80
xor edx, edx
test ecx, ecx
je 0x10035fac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035f90
cmp edi, 0x1eee87cc
je 0x10035fd1
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x1036cbb4]
jne 0x10035f68
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100360dc
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x100360ba
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 0x10036027
cmp dword [ecx + 4], 0
jle 0x10036027
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10036024
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 0x10036030
xor edx, edx
test ecx, ecx
je 0x1003605c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10036040
cmp edi, 0x7d388d3e
je 0x10036097
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 0x10035ff0
mov eax, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100360dc
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x7c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100360dc
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100360dc
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036f6d8]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [0x1036f6a0]
test cl, 1
jne 0x10036248
or ecx, 1
mov dword [0x1036f6a0], ecx
mov dword [ebp - 4], 6
cmp eax, dword [0x1036cbb4]
je 0x1003615a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1003614c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10036123
xor edx, edx
test ecx, ecx
je 0x1003614c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10036130
cmp edi, 0x1eee87cc
je 0x1003616d
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x1036cbb4]
jne 0x10036110
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1003624d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1003621e
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 0x100361c7
cmp dword [ecx + 4], 0
jle 0x100361c7
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x100361c4
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 0x100361d0
xor edx, edx
test ecx, ecx
je 0x100361fc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100361e0
cmp edi, 0xe57f80c
je 0x1003622e
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 0x10036190
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1003624d
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x1036f6b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1003624d
mov eax, dword [0x1036f6b8]
push dword [ebp - 0xa4]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x170]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10052f40
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa8]
push 0x201400b
push eax
call dword [ebp - 0xac]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x102ba7b4]
lahf
test ah, 0x44
jnp 0x100362b5
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jl 0x10035d80
movq xmm0, qword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xcc], eax
mov eax, dword [0x10bbb620]
movq qword [ebp - 0xc8], xmm0
add eax, 0x91761abb
movq qword [ebp - 0xd4], xmm0
xor eax, 0xfd410b50
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [0x102ba808]
movss dword [ebp - 0xc0], xmm0
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xa4], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x100364b7
or eax, 1
mov dword [0x10370f14], eax
mov dword [ebp - 4], 7
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036cbb4]
mov dword [ebp - 0x8c], eax
cmp eax, ecx
je 0x10036395
mov dword [ebp - 0x84], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10036384
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10036358
xor edx, edx
test ecx, ecx
je 0x10036384
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10036365
cmp edi, 0x1eee87cc
je 0x100363af
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x1036cbb4]
jne 0x10036345
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100364c8
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x100364a0
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 0x10036407
cmp dword [ecx + 4], 0
jle 0x10036407
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10036404
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 0x10036410
xor edx, edx
test ecx, ecx
je 0x1003643c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10036420
cmp edi, 0x7d388d3e
je 0x1003647a
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 0x100363d0
mov eax, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x8c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100364c8
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov eax, dword [0x1036cbb0]
mov dword [ebp - 0x8c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100364c8
mov eax, dword [ebp - 0x8c]
mov ecx, edi
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x100364c8
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036f6d8]
mov dword [ebp - 0x8c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [0x1036f6a0]
test cl, 1
jne 0x10036638
or ecx, 1
mov dword [0x1036f6a0], ecx
mov dword [ebp - 4], 8
cmp eax, dword [0x1036cbb4]
je 0x10036550
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1003653f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10036513
xor edx, edx
test ecx, ecx
je 0x1003653f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10036520
cmp edi, 0x1eee87cc
je 0x10036563
mov eax, dword [ebp - 0x8c]
add eax, 4
mov dword [ebp - 0x8c], eax
cmp eax, dword [0x1036cbb4]
jne 0x10036500
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1003663d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1003660e
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 0x100365b7
cmp dword [ecx + 4], 0
jle 0x100365b7
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x100365b4
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 0x100365c0
xor edx, edx
test ecx, ecx
je 0x100365ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100365d0
cmp edi, 0xe57f80c
je 0x1003661e
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 0x10036580
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1003663d
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x1036f6b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1003663d
mov eax, dword [0x1036f6b8]
push dword [ebp - 0x9c]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.10052f40
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa4]
push 0x201400b
push eax
call dword [ebp - 0xa8]
movq xmm0, qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xb0]
movq qword [ebp - 0x108], xmm0
mov dword [ebp - 0x100], eax
cmp ecx, dword [ebp - 0xec]
jge 0x100366be
mov edi, dword [0x1036cbb0]
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], edi
jmp 0x100354b0
movss xmm0, dword [ebp - 0x100]
movss xmm3, dword [ebp - 0x104]
movss xmm2, dword [ebp - 0x108]
mov eax, dword [ebp - 0xd8]
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.101f065f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret