Function at 0x100343c0
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 0x10266153
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1b8
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 eax, dword [0x10842cb8]
mov edx, dword [0x10842c90]
add eax, 0x772b78e1
xor eax, 0xa30d42b2
mov dword [ebp - 0xe4], 0x11
mov dword [ebp - 0xfc], eax
add edx, 0x5e61fcb2
mov eax, dword [0x10c0dd10]
xor edx, 0x4a535352
add eax, 0x72c821ae
add edx, 0x1a8
xor eax, 0x43f50f5d
mov dword [ebp - 0xbc], edx
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x80], eax
mov eax, dword [0x103c2350]
test al, 1
jne 0x10034623
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 0x100344dd
mov dword [ebp - 0x74], eax
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
test ecx, ecx
je 0x100344cf
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100344a6
xor edx, edx
test ecx, ecx
je 0x100344cf
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100344b3
cmp esi, 0x72e242a1
je 0x100344fc
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x103bf634]
jne 0x10034490
mov edi, dword [0x103bf630]
xor eax, eax
mov edx, dword [ebp - 0xbc]
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034631
mov eax, dword [ebp - 0x98]
xor edi, edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x10034603
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 0x1003455f
cmp dword [ecx + 4], 0
jle 0x1003455f
push 0
mov edx, 0xf3e9a9ed
call fcn.1013c990
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10034559
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 0x10034568
xor edx, edx
test ecx, ecx
je 0x10034594
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10034575
cmp esi, 0xf3e9a9ed
je 0x100345b4
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 0x100345e0
mov edi, dword [ebp - 0x94]
jmp 0x10034520
mov eax, dword [ebp - 0x84]
mov edi, dword [0x103bf630]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], edi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x94]
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034631
mov edi, dword [0x103bf630]
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], edi
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034631
mov eax, dword [ebp - 0x94]
mov edi, dword [0x103bf630]
mov edx, dword [ebp - 0xbc]
mov dword [0x103c3bf8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10034631
mov edi, dword [0x103bf630]
mov eax, dword [0x103c3bf8]
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp - 0x80]
cmp byte [ecx + eax], 0
mov eax, dword [0x10c0dd10]
je 0x10034659
add eax, 0x72c821ae
xor eax, 0x43f50f5d
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x138]
jmp 0x10034671
add eax, 0x72c821ae
xor eax, 0x43f50f5d
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.1000e050
maxss xmm0, dword [0x1030b86c]
xor ecx, ecx
lea edx, [ebp - 0xdc]
mov esi, 0x11
mov dword [ebp - 0xdc], ecx
divss xmm0, xmm4
mulss xmm0, dword [0x1030b944]
subss xmm0, dword [0x1030b86c]
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 0x10034718
mov eax, dword [ebp - 0xd8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1003596a
mov esi, dword [ebp - 0xbc]
xor ecx, ecx
movss xmm0, dword [esi + 8]
test eax, eax
jle 0x10035956
nop dword [eax]
mov edx, dword [0x10c0dd10]
inc ecx
add edx, 0x72c821ae
mov dword [ebp - 0xe8], ecx
xor edx, 0x43f50f5d
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 + 0x3cc074]
movaps xmm1, xmm7
movss dword [ebp - 0x8c], xmm6
addss xmm1, dword [eax + 0x3cc078]
movaps xmm0, xmm5
movss dword [ebp - 0x94], xmm7
addss xmm0, dword [eax + 0x3cc07c]
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 0x10034980
or eax, 1
mov dword [0x103c3c08], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x103bf634]
cmp edi, ecx
je 0x10034870
mov eax, edi
mov dword [ebp - 0x74], edi
cmp eax, ecx
je 0x10034870
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x1003485f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10034836
xor edx, edx
test ecx, ecx
je 0x1003485f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034843
cmp edi, 0x72e242a1
je 0x10034884
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x103bf634]
jne 0x10034820
mov edi, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2308], ecx
jmp 0x10034986
mov eax, dword [ebp - 0x90]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x1003496b
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 0x100348da
cmp dword [ecx + 4], 0
jle 0x100348da
push 0
mov edx, 0xa4a37590
call fcn.1013c990
add esp, 4
test eax, eax
je 0x100348d4
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 0x100348e3
xor edx, edx
test ecx, ecx
je 0x1003490f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100348f0
cmp edi, 0xa4a37590
je 0x1003492c
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 0x10034950
mov edi, dword [ebp - 0x78]
jmp 0x100348a0
mov eax, dword [ebp - 0x84]
mov edi, dword [0x103bf630]
mov dword [ebp - 0x7c], edi
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10034986
mov edi, dword [0x103bf630]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], edi
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10034986
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10034986
mov ecx, dword [0x103c2308]
mov eax, dword [ebp - 0x88]
mov edx, dword [0x10c0dd10]
add edx, 0x72c821ae
xor edx, 0x43f50f5d
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 [0x110ef8ec]
test al, 1
jne 0x100349d4
or eax, 1
mov dword [0x110ef8ec], eax
mov esi, dword [edx + 0x1ec]
mov dword [0x110ef914], esi
jmp 0x100349da
mov esi, dword [0x110ef914]
test al, 2
jne 0x100349f3
or eax, 2
mov dword [0x110ef8ec], eax
mov eax, dword [edx + 0x21c]
mov dword [0x110ef900], eax
jmp 0x100349f8
mov eax, dword [0x110ef900]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x88]
test byte [ecx + eax], 1
jne 0x10034a39
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 0x10034aeb
mov eax, dword [0x103c3c08]
test al, 1
jne 0x10034abd
or eax, 1
mov dword [0x103c3c08], eax
mov dword [ebp - 4], 2
cmp edi, dword [0x103bf634]
je 0x10034aae
nop dword [eax]
mov eax, dword [edi]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x10034aa0
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10034a73
xor edx, edx
test ecx, ecx
je 0x10034a9d
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034a80
cmp edi, 0x72e242a1
je 0x10034c65
mov edi, dword [ebp - 0x7c]
add edi, 4
mov dword [ebp - 0x7c], edi
cmp edi, dword [0x103bf634]
jne 0x10034a60
xor ecx, ecx
mov dword [0x103c2308], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
test byte [eax + ecx], 1
je 0x10034af3
cmp byte [ebp - 0x9d], 0
jne 0x10034af3
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 [0x10c0dd10]
add eax, 0x72c821ae
unpcklps xmm0, xmm4
movq qword [ebp - 0xd4], xmm0
xor eax, 0x43f50f5d
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.1002ecd0
push 1
mov dword [ebp - 0xf8], 0x1030473c
call fcn.10235548
mov dword [ebp - 0xf0], eax
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xf4], eax
mov eax, dword [0x10c0dd10]
add eax, 0x72c821ae
xor eax, 0x43f50f5d
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 [0x103c3b74]
test al, 1
jne 0x10034e1e
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 0x10034c4e
mov dword [ebp - 0x80], eax
nop
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x10034c40
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10034c13
xor edx, edx
test ecx, ecx
je 0x10034c40
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034c20
cmp edi, 0x1eee87cc
je 0x10034d26
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x103bf634]
jne 0x10034c00
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e2c
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], edi
cmp dword [eax + 4], edi
jle 0x10034d0e
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 0x10034cb8
cmp dword [ecx + 4], 0
jle 0x10034cb8
push 0
mov edx, 0xa4a37590
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10034cb5
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 0x10034cc1
xor edx, edx
test ecx, ecx
je 0x10034cec
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034cd0
cmp edi, 0xa4a37590
je 0x10034d15
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 0x10034c81
mov ecx, edi
jmp 0x10034ab0
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x7c]
jmp 0x10034ab0
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10034e0a
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 0x10034d79
cmp dword [ecx + 4], 0
jle 0x10034d79
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10034d76
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 0x10034d82
xor edx, edx
test ecx, ecx
je 0x10034dac
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034d90
cmp edi, 0x7d388d3e
je 0x10034de7
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 0x10034d42
mov eax, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e2c
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 0x10034e2c
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10034e2c
mov eax, dword [0x103bf630]
mov ecx, dword [0x103c2338]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [0x103c2300]
test cl, 1
jne 0x10034f98
or ecx, 1
mov dword [0x103c2300], ecx
mov dword [ebp - 4], 4
cmp eax, dword [0x103bf634]
je 0x10034eaa
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10034e9c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10034e73
xor edx, edx
test ecx, ecx
je 0x10034e9c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034e80
cmp edi, 0x1eee87cc
je 0x10034ebd
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x103bf634]
jne 0x10034e60
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x10034f9d
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10034f6e
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 0x10034f17
cmp dword [ecx + 4], 0
jle 0x10034f17
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10034f14
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 0x10034f20
xor edx, edx
test ecx, ecx
je 0x10034f4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10034f30
cmp edi, 0xe57f80c
je 0x10034f7e
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 0x10034ee0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x10034f9d
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 0x10034f9d
mov eax, dword [0x103c2318]
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.100533b0
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 [0x1030b86c]
lahf
test ah, 0x44
jnp 0x10035535
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 0x1003512b
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 0x10035133
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 - 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 [0x103c3b74]
test al, 1
jne 0x1003534e
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 0x1003523a
mov dword [ebp - 0x80], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1003522c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035200
xor edx, edx
test ecx, ecx
je 0x1003522c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035210
cmp edi, 0x1eee87cc
je 0x10035251
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x103bf634]
jne 0x100351e8
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003535c
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1003533a
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 0x100352a7
cmp dword [ecx + 4], 0
jle 0x100352a7
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x100352a4
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 0x100352b0
xor edx, edx
test ecx, ecx
je 0x100352dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100352c0
cmp edi, 0x7d388d3e
je 0x10035317
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 0x10035270
mov eax, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003535c
mov eax, dword [ebp - 0x9c]
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 0x1003535c
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1003535c
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 0x100354c8
or ecx, 1
mov dword [0x103c2300], ecx
mov dword [ebp - 4], 6
cmp eax, dword [0x103bf634]
je 0x100353da
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x100353cc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100353a3
xor edx, edx
test ecx, ecx
je 0x100353cc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100353b0
cmp edi, 0x1eee87cc
je 0x100353ed
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x103bf634]
jne 0x10035390
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x100354cd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1003549e
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 0x10035447
cmp dword [ecx + 4], 0
jle 0x10035447
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10035444
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 0x10035450
xor edx, edx
test ecx, ecx
je 0x1003547c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035460
cmp edi, 0xe57f80c
je 0x100354ae
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 0x10035410
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x100354cd
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100354cd
mov eax, dword [0x103c2318]
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.100533b0
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 [0x1030b86c]
lahf
test ah, 0x44
jnp 0x10035535
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jl 0x10035000
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 - 0xa4], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x10035737
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 0x10035615
mov dword [ebp - 0x84], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10035604
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100355d8
xor edx, edx
test ecx, ecx
je 0x10035604
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100355e5
cmp edi, 0x1eee87cc
je 0x1003562f
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x103bf634]
jne 0x100355c5
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035748
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x10035720
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 0x10035687
cmp dword [ecx + 4], 0
jle 0x10035687
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10035684
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 0x10035690
xor edx, edx
test ecx, ecx
je 0x100356bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100356a0
cmp edi, 0x7d388d3e
je 0x100356fa
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 0x10035650
mov eax, dword [0x103bf630]
mov ecx, edi
mov dword [ebp - 0x8c], eax
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035748
mov eax, dword [ebp - 0xac]
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 0x10035748
mov eax, dword [ebp - 0x8c]
mov ecx, edi
mov dword [0x103c2338], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10035748
mov eax, dword [0x103bf630]
mov ecx, dword [0x103c2338]
mov dword [ebp - 0x8c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [0x103c2300]
test cl, 1
jne 0x100358b8
or ecx, 1
mov dword [0x103c2300], ecx
mov dword [ebp - 4], 8
cmp eax, dword [0x103bf634]
je 0x100357d0
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x100357bf
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10035793
xor edx, edx
test ecx, ecx
je 0x100357bf
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100357a0
cmp edi, 0x1eee87cc
je 0x100357e3
mov eax, dword [ebp - 0x8c]
add eax, 4
mov dword [ebp - 0x8c], eax
cmp eax, dword [0x103bf634]
jne 0x10035780
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x100358bd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1003588e
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 0x10035837
cmp dword [ecx + 4], 0
jle 0x10035837
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10035834
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 0x10035840
xor edx, edx
test ecx, ecx
je 0x1003586c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10035850
cmp edi, 0xe57f80c
je 0x1003589e
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 0x10035800
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103c2318], eax
jmp 0x100358bd
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100358bd
mov eax, dword [0x103c2318]
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.100533b0
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 0x1003593e
mov edi, dword [0x103bf630]
mov esi, dword [ebp - 0xbc]
mov dword [ebp - 0x7c], edi
jmp 0x10034730
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.1023505f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret