Function at 0x101492d0
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 0x1022e293
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1d8
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 ecx, dword [0x107ef970]
add ecx, 0xfb38d7d9
xor ecx, 0xf4dd204d
add ecx, 0xc0
mov dword [ebp - 0x80], ecx
je 0x1014a8a1
mov edi, dword [0x107ef998]
add edi, 0xfaacd160
xor edi, 0x7af747a1
add edi, 0x3cbc40
mov dword [ebp - 0xbc], edi
je 0x1014a8a1
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x88], eax
mov eax, dword [0x1036f6f0]
test al, 1
jne 0x1014952f
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 0x101493fd
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x98], ecx
test ecx, ecx
je 0x101493ef
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101493c6
xor edx, edx
test ecx, ecx
je 0x101493ef
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101493d3
cmp esi, 0x72e242a1
je 0x10149419
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x1036cbb4]
jne 0x101493b0
mov esi, dword [0x1036cbb0]
xor eax, eax
mov ecx, dword [ebp - 0x80]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014953d
mov eax, dword [ebp - 0x98]
xor edi, edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x10149516
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 0x1014947d
cmp dword [ecx + 4], 0
jle 0x1014947d
push 0
mov edx, 0xf3e9a9ed
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10149477
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x94], edi
mov eax, dword [ebp - 0x98]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10149486
xor edx, edx
test ecx, ecx
je 0x101494b2
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10149493
cmp esi, 0xf3e9a9ed
je 0x101494ed
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
inc edx
mov edi, dword [ebp - 0x94]
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x78], ecx
cmp edx, dword [eax + 4]
jl 0x10149440
mov esi, dword [0x1036cbb0]
mov eax, edi
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x7c], esi
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014953d
mov eax, dword [ebp - 0x84]
mov esi, dword [0x1036cbb0]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x7c], esi
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x94]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014953d
mov esi, dword [0x1036cbb0]
mov eax, edi
mov ecx, dword [ebp - 0x80]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014953d
mov esi, dword [0x1036cbb0]
mov eax, dword [0x10370f98]
mov dword [ebp - 0x7c], esi
mov edx, dword [ebp - 0x88]
cmp byte [edx + eax], 0
mov eax, dword [0x10bbb620]
je 0x10149568
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x13c]
movss xmm2, dword [eax + 0x138]
jmp 0x10149580
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x13c]
movss xmm2, dword [eax + 0x134]
movss xmm3, dword [ecx + 0x58]
movss xmm4, dword [ecx + 0x5c]
movaps xmm0, xmm3
movss xmm5, dword [ecx + 0x60]
movaps xmm1, xmm4
mulss xmm0, xmm3
mulss xmm1, xmm4
movups xmmword [ebp - 0x140], xmm3
addss xmm0, xmm1
movss dword [ebp - 0xf0], xmm4
movss dword [ebp - 0xf4], xmm5
call fcn.1000da70
maxss xmm0, dword [0x102ba7b4]
xor eax, eax
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xe4], 0xe
divss xmm0, xmm2
mulss xmm0, dword [0x102ba884]
subss xmm0, dword [0x102ba7b4]
cvttss2si edx, xmm0
test edx, edx
cmovs edx, eax
mov eax, edx
mov dword [ebp - 0xe0], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0xe0]
cmove ecx, eax
cmp edx, 0xe
lea eax, [ebp - 0xe4]
cmovle eax, ecx
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x10149646
mov ecx, dword [ebp - 0xd8]
movq xmm0, qword [edi + 0x24]
movq qword [ecx + 0x24], xmm0
mov eax, dword [edi + 0x2c]
jmp 0x1014a89e
xor ecx, ecx
test eax, eax
jle 0x1014a86d
mov edx, dword [0x10bbb620]
inc ecx
add edx, 0x91761abb
mov dword [ebp - 0xe8], ecx
xor edx, 0xfd410b50
movaps xmm6, xmm3
movaps xmm7, xmm4
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [edx + 0xf0]
mulss xmm0, dword [eax + 0x20]
mulss xmm6, xmm0
mulss xmm7, xmm0
mulss xmm5, xmm0
movaps xmm2, xmm6
addss xmm2, dword [edi + 0x24]
movaps xmm1, xmm7
movss dword [ebp - 0x8c], xmm6
addss xmm1, dword [edi + 0x28]
movaps xmm0, xmm5
movss dword [ebp - 0x94], xmm7
addss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0xd4], xmm2
movss dword [ebp - 0x98], xmm5
movss dword [ebp - 0xd0], xmm1
movss dword [ebp - 0xb8], xmm6
movss dword [ebp - 0xcc], xmm0
mov eax, dword [edx + 0x134]
mov dword [ebp - 0x88], eax
mov eax, dword [0x10370fa8]
movss dword [ebp - 0xb4], xmm7
movss dword [ebp - 0xb0], xmm5
test al, 1
jne 0x1014988d
or eax, 1
mov dword [0x10370fa8], eax
mov dword [ebp - 4], 1
mov ecx, dword [0x1036cbb4]
cmp esi, ecx
je 0x10149780
mov eax, esi
mov dword [ebp - 0x74], esi
cmp eax, ecx
je 0x10149780
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x90], ecx
test ecx, ecx
je 0x1014976f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10149746
xor edx, edx
test ecx, ecx
je 0x1014976f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149753
cmp edi, 0x72e242a1
je 0x10149794
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x74], eax
cmp eax, dword [0x1036cbb4]
jne 0x10149730
mov esi, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6a8], ecx
jmp 0x10149893
mov eax, dword [ebp - 0x90]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
cmp dword [eax + 4], edi
jle 0x10149879
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 0x101497ea
cmp dword [ecx + 4], 0
jle 0x101497ea
push 0
mov edx, 0xa4a37590
call fcn.10138e60
add esp, 4
test eax, eax
je 0x101497e4
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 0x101497f3
xor edx, edx
test ecx, ecx
je 0x1014981f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149800
cmp edi, 0xa4a37590
je 0x10149855
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
inc edx
mov edi, dword [ebp - 0x78]
add ecx, 0x3c
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x7c], ecx
cmp edx, dword [eax + 4]
jl 0x101497b0
mov esi, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x7c], esi
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10149893
mov eax, dword [ebp - 0x84]
mov esi, dword [0x1036cbb0]
mov dword [ebp - 0x7c], esi
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x78]
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10149893
mov esi, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10149893
mov ecx, dword [0x1036f6a8]
mov eax, dword [ebp - 0x88]
mov edx, dword [0x10bbb620]
add edx, 0x91761abb
xor edx, 0xfd410b50
mov al, byte [eax + ecx]
and al, 1
mov byte [ebp - 0x99], al
mov eax, dword [edx + 0x134]
mov dword [ebp - 0x90], eax
mov eax, dword [0x110991c0]
test al, 1
jne 0x101498e1
or eax, 1
mov dword [0x110991c0], eax
mov edi, dword [edx + 0x1ec]
mov dword [0x110991e8], edi
jmp 0x101498e7
mov edi, dword [0x110991e8]
test al, 2
jne 0x10149900
or eax, 2
mov dword [0x110991c0], eax
mov eax, dword [edx + 0x21c]
mov dword [0x110991d4], eax
jmp 0x10149905
mov eax, dword [0x110991d4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x88]
test byte [eax + ecx], 1
jne 0x10149946
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, edi
mov dword [ebp - 0x84], eax
mov eax, dword [edx + 0xf0]
movss xmm0, dword [ebp - 0x84]
mulss xmm0, dword [eax + 0x20]
subss xmm5, xmm0
movss dword [ebp - 0xb0], xmm5
jmp 0x101499fb
mov eax, dword [0x10370fa8]
test al, 1
jne 0x101499cd
or eax, 1
mov dword [0x10370fa8], eax
mov dword [ebp - 4], 2
cmp esi, dword [0x1036cbb4]
je 0x101499be
mov eax, dword [esi]
mov dword [ebp - 0x78], eax
test eax, eax
je 0x101499b0
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10149980
xor edx, edx
test ecx, ecx
je 0x101499ad
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149990
cmp edi, 0x72e242a1
je 0x10149b75
mov esi, dword [ebp - 0x7c]
add esi, 4
mov dword [ebp - 0x7c], esi
cmp esi, dword [0x1036cbb4]
jne 0x10149966
xor ecx, ecx
mov dword [0x1036f6a8], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x90]
test byte [eax + ecx], 1
je 0x10149a03
cmp byte [ebp - 0x99], 0
jne 0x10149a03
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0xb0], eax
movss xmm5, dword [ebp - 0xb0]
movss dword [ebp - 0x98], xmm5
mov eax, dword [ebp - 0xcc]
lea ecx, [ebp - 0x70]
movss xmm3, dword [ebp - 0xd4]
movss xmm4, dword [ebp - 0xd0]
movaps xmm0, xmm3
mov dword [ebp - 0x11c], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
unpcklps xmm0, xmm4
movq qword [ebp - 0xd4], xmm0
xor eax, 0xfd410b50
movq qword [ebp - 0x124], xmm0
mov eax, dword [eax + 0xf0]
movss xmm2, dword [eax + 0x20]
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, xmm6
mulss xmm0, xmm7
mulss xmm2, xmm5
addss xmm1, xmm3
addss xmm0, xmm4
addss xmm2, dword [ebp - 0xcc]
movss dword [ebp - 0xc8], xmm1
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xc0], xmm2
call fcn.1002fa50
push 1
mov dword [ebp - 0x100], 0x102b36e8
call fcn.101f0b48
mov dword [ebp - 0xf8], eax
add esp, 4
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0xf8]
mov dword [ebp - 0xac], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x10149d2e
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 0x10149b5e
mov dword [ebp - 0x80], eax
nop
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
test ecx, ecx
je 0x10149b50
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10149b23
xor edx, edx
test ecx, ecx
je 0x10149b50
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149b30
cmp edi, 0x1eee87cc
je 0x10149c36
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x1036cbb4]
jne 0x10149b10
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10149d3c
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], edi
cmp dword [eax + 4], edi
jle 0x10149c1e
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 0x10149bc8
cmp dword [ecx + 4], 0
jle 0x10149bc8
push 0
mov edx, 0xa4a37590
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10149bc5
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 0x10149bd1
xor edx, edx
test ecx, ecx
je 0x10149bfc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149be0
cmp edi, 0xa4a37590
je 0x10149c25
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 0x10149b91
mov ecx, edi
jmp 0x101499c0
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x7c]
jmp 0x101499c0
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10149d1a
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 0x10149c89
cmp dword [ecx + 4], 0
jle 0x10149c89
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10149c86
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 0x10149c92
xor edx, edx
test ecx, ecx
je 0x10149cbc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149ca0
cmp edi, 0x7d388d3e
je 0x10149cf7
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 0x10149c52
mov eax, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10149d3c
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 0x10149d3c
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10149d3c
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 0x10149ea8
or ecx, 1
mov dword [0x1036f6a0], ecx
mov dword [ebp - 4], 4
cmp eax, dword [0x1036cbb4]
je 0x10149dba
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x10149dac
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10149d83
xor edx, edx
test ecx, ecx
je 0x10149dac
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149d90
cmp edi, 0x1eee87cc
je 0x10149dcd
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x1036cbb4]
jne 0x10149d70
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x10149ead
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x10149e7e
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 0x10149e27
cmp dword [ecx + 4], 0
jle 0x10149e27
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x10149e24
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 0x10149e30
xor edx, edx
test ecx, ecx
je 0x10149e5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10149e40
cmp edi, 0xe57f80c
je 0x10149e8e
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 0x10149df0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x10149ead
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 0x10149ead
mov eax, dword [0x1036f6b8]
push dword [ebp - 0xa4]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x190]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.10052f40
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xac]
push 0x201400b
push eax
call dword [ebp - 0xa0]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x102ba7b4]
lahf
test ah, 0x44
jnp 0x1014a435
mov dword [ebp - 0x84], 0
movss xmm4, dword [ebp - 0x54]
movss xmm5, dword [ebp - 0x58]
movaps xmm2, xmm4
mulss xmm2, dword [ebp - 0x94]
movaps xmm0, xmm5
mulss xmm0, dword [ebp - 0x8c]
movss xmm6, dword [ebp - 0x50]
movss xmm7, dword [ebp - 0x98]
addss xmm2, xmm0
movss xmm3, dword [ebp - 0x8c]
movaps xmm0, xmm6
mulss xmm0, xmm7
addss xmm2, xmm0
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm5
mulss xmm2, xmm6
subss xmm3, xmm0
mulss xmm1, xmm4
subss xmm7, xmm2
movaps xmm2, xmm4
movaps xmm0, xmm3
movss dword [ebp - 0x8c], xmm3
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x94]
subss xmm0, xmm1
movss dword [ebp - 0x98], xmm7
movss dword [ebp - 0xb0], xmm7
mulss xmm2, xmm0
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0xb4], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x44]
addss xmm2, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x1014a037
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 0x1014a03f
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 - 0x110], xmm1
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0xf8]
mov dword [ebp - 0xa4], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x1014a24e
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 0x1014a13e
mov dword [ebp - 0x80], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014a130
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014a107
xor edx, edx
test ecx, ecx
je 0x1014a130
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a114
cmp edi, 0x1eee87cc
je 0x1014a155
mov eax, dword [ebp - 0x80]
add eax, 4
mov dword [ebp - 0x80], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014a0f4
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a25c
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014a23a
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a1a8
cmp dword [ecx + 4], 0
jle 0x1014a1a8
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014a1a5
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 0x1014a1b1
xor edx, edx
test ecx, ecx
je 0x1014a1dc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a1c0
cmp edi, 0x7d388d3e
je 0x1014a217
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 0x1014a171
mov eax, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x7c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a25c
mov eax, dword [ebp - 0xa0]
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 0x1014a25c
mov eax, dword [ebp - 0x7c]
mov ecx, edi
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a25c
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036f6d8]
mov dword [ebp - 0x7c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xac], ecx
mov ecx, dword [0x1036f6a0]
test cl, 1
jne 0x1014a3c8
or ecx, 1
mov dword [0x1036f6a0], ecx
mov dword [ebp - 4], 6
cmp eax, dword [0x1036cbb4]
je 0x1014a2da
nop
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014a2cc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014a2a3
xor edx, edx
test ecx, ecx
je 0x1014a2cc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a2b0
cmp edi, 0x1eee87cc
je 0x1014a2ed
mov eax, dword [ebp - 0x7c]
add eax, 4
mov dword [ebp - 0x7c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014a290
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1014a3cd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], edi
cmp dword [eax + 4], edi
jle 0x1014a39e
xor ecx, ecx
mov dword [ebp - 0x88], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa0], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a347
cmp dword [ecx + 4], 0
jle 0x1014a347
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014a344
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 0x1014a350
xor edx, edx
test ecx, ecx
je 0x1014a37c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a360
cmp edi, 0xe57f80c
je 0x1014a3ae
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 0x1014a310
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1014a3cd
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x1036f6b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a3cd
mov eax, dword [0x1036f6b8]
push dword [ebp - 0xac]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x190]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10052f40
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xa4]
push 0x201400b
push eax
call dword [ebp - 0xa8]
movss xmm3, dword [ebp - 0x44]
ucomiss xmm3, dword [0x102ba7b4]
lahf
test ah, 0x44
jnp 0x1014a435
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, 2
jl 0x10149f10
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 - 0xac], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x10370f14]
test al, 1
jne 0x1014a637
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 0x1014a515
mov dword [ebp - 0x84], eax
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014a504
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014a4d8
xor edx, edx
test ecx, ecx
je 0x1014a504
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a4e5
cmp edi, 0x1eee87cc
je 0x1014a52f
mov eax, dword [ebp - 0x84]
add eax, 4
mov dword [ebp - 0x84], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014a4c5
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a648
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1014a620
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a587
cmp dword [ecx + 4], 0
jle 0x1014a587
push 0
mov edx, 0x7d388d3e
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014a584
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 0x1014a590
xor edx, edx
test ecx, ecx
je 0x1014a5bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a5a0
cmp edi, 0x7d388d3e
je 0x1014a5fa
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 0x1014a550
mov eax, dword [0x1036cbb0]
mov ecx, edi
mov dword [ebp - 0x8c], eax
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a648
mov eax, dword [ebp - 0xa8]
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 0x1014a648
mov eax, dword [ebp - 0x8c]
mov ecx, edi
mov dword [0x1036f6d8], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a648
mov eax, dword [0x1036cbb0]
mov ecx, dword [0x1036f6d8]
mov dword [ebp - 0x8c], eax
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [0x1036f6a0]
test cl, 1
jne 0x1014a7b8
or ecx, 1
mov dword [0x1036f6a0], ecx
mov dword [ebp - 4], 8
cmp eax, dword [0x1036cbb4]
je 0x1014a6d0
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
test ecx, ecx
je 0x1014a6bf
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014a693
xor edx, edx
test ecx, ecx
je 0x1014a6bf
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a6a0
cmp edi, 0x1eee87cc
je 0x1014a6e3
mov eax, dword [ebp - 0x8c]
add eax, 4
mov dword [ebp - 0x8c], eax
cmp eax, dword [0x1036cbb4]
jne 0x1014a680
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1014a7bd
mov eax, dword [ebp - 0x74]
xor edi, edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x84], edi
cmp dword [eax + 4], edi
jle 0x1014a78e
xor ecx, ecx
mov dword [ebp - 0x80], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0xa8], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a737
cmp dword [ecx + 4], 0
jle 0x1014a737
push 0
mov edx, 0xe57f80c
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1014a734
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 0x1014a740
xor edx, edx
test ecx, ecx
je 0x1014a76c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a750
cmp edi, 0xe57f80c
je 0x1014a79e
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 0x1014a700
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1036f6b8], eax
jmp 0x1014a7bd
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x78]
mov dword [0x1036f6b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a7bd
mov eax, dword [0x1036f6b8]
push dword [ebp - 0xa0]
add eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.10052f40
lea ecx, [ebp - 0x70]
push ecx
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xac]
push 0x201400b
push eax
call dword [ebp - 0xa4]
movq xmm0, qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xb0]
movq qword [ebp - 0x10c], xmm0
mov dword [ebp - 0x104], eax
cmp ecx, dword [ebp - 0xec]
jge 0x1014a855
mov esi, dword [0x1036cbb0]
movups xmm3, xmmword [ebp - 0x140]
mov edi, dword [ebp - 0xbc]
movss xmm4, dword [ebp - 0xf0]
movss xmm5, dword [ebp - 0xf4]
mov dword [ebp - 0x7c], esi
jmp 0x10149650
movss xmm5, dword [ebp - 0x104]
movss xmm4, dword [ebp - 0x108]
movss xmm3, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd8]
addss xmm3, dword [eax + 0x24]
addss xmm4, dword [eax + 0x28]
addss xmm5, dword [eax + 0x2c]
unpcklps xmm3, xmm4
movss dword [ebp - 0x110], xmm5
mov eax, dword [ebp - 0x110]
movq qword [ecx + 0x24], xmm3
mov dword [ecx + 0x2c], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101f065f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret