Function at 0x101395f0
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 0x101f1c21
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
push esi
push edi
mov eax, dword [0x10285040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], ecx
mov eax, dword [0x10b33e60]
lea esi, [eax + 0x7a4232c8]
xor esi, 0xfcb4fca8
cmp dword [esi + 0x150], 0
je 0x1013aab0
mov edx, dword [esi + 0xc0]
cmp dword [edx + 0x174], 0xffffffff
je 0x1013aab0
cmp dword [esi + 0x154], 0
je 0x1013aab0
cmp byte [ecx + 0x63d68], 0
je 0x1013aab0
mov ecx, dword [ecx + 0x6572c]
and ecx, 4
mov dword [ebp - 0x44], ecx
mov ecx, dword [esi + 0x14c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x1031e978]
test cl, 1
jne 0x101397e9
or ecx, 1
mov dword [0x1031e978], ecx
mov dword [ebp - 4], 0
mov ecx, dword [0x1031cd80]
mov edx, dword [0x1031cd84]
mov dword [ebp - 0x34], ecx
cmp ecx, edx
je 0x1013971f
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x10139712
mov ecx, dword [ecx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x2c], ecx
xor edx, edx
nop dword [eax]
inc edx
cmp byte [ecx + edx], 0
jne 0x101396e0
xor esi, esi
test edx, edx
je 0x1013970c
nop dword [eax]
movsx ecx, byte [ecx + esi]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x2c]
cmp esi, edx
jb 0x101396f0
cmp edi, 0x72e242a1
je 0x10139733
mov edx, dword [0x1031cd84]
mov ecx, dword [ebp - 0x34]
add ecx, 4
mov dword [ebp - 0x34], ecx
cmp ecx, edx
jne 0x101396c3
xor edi, edi
mov dword [0x10320218], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x101397ef
mov ecx, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], edi
cmp dword [ecx + 4], edi
jle 0x10139721
xor eax, eax
mov dword [ebp - 0x38], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
je 0x1013977d
cmp dword [ecx + 4], 0
jle 0x1013977d
push 0
mov edx, 0xf3e9a9ed
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013977a
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x38]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139786
xor edx, edx
test ecx, ecx
je 0x101397af
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139793
cmp esi, 0xf3e9a9ed
je 0x101397cc
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add eax, 0x3c
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], eax
cmp edx, dword [ecx + 4]
jge 0x101397d5
jmp 0x10139748
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
mov eax, dword [0x10b33e60]
mov dword [0x10320218], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x101397ef
mov edi, dword [0x10320218]
mov ecx, dword [ebp - 0x18]
cmp byte [edi + ecx], 0
lea ecx, [eax + 0x7a4232c8]
je 0x10139814
xor ecx, 0xfcb4fca8
mov ecx, dword [ecx + 0x154]
movss xmm2, dword [ecx + 0x138]
jmp 0x10139828
xor ecx, 0xfcb4fca8
mov ecx, dword [ecx + 0x154]
movss xmm2, dword [ecx + 0x134]
lea ecx, [eax + 0x7a4232c8]
movss dword [ebp - 0x1c], xmm2
mulss xmm2, dword [0x10270f88]
xor ecx, 0xfcb4fca8
mov esi, dword [ecx + 0x14c]
mov ecx, dword [0x1031e91c]
movss dword [ebp - 0x40], xmm2
mov dword [ebp - 0x18], esi
test cl, 1
jne 0x101399a7
or ecx, 1
mov dword [0x1031e91c], ecx
mov dword [ebp - 4], 1
mov ecx, dword [0x1031cd80]
mov dword [ebp - 0x28], ecx
cmp ecx, dword [0x1031cd84]
je 0x101398d0
nop
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
test edx, edx
je 0x101398c2
mov ecx, dword [edx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x2c], ecx
xor edx, edx
inc edx
cmp byte [ecx + edx], 0
jne 0x10139896
xor esi, esi
test edx, edx
je 0x101398bf
movsx ecx, byte [ecx + esi]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x2c]
cmp esi, edx
jb 0x101398a3
cmp edi, 0x4e9f1122
je 0x101398e7
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov dword [ebp - 0x28], ecx
cmp ecx, dword [0x1031cd84]
jne 0x10139880
xor edx, edx
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
mov dword [0x103201cc], edx
jmp 0x101399ad
mov ecx, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
cmp dword [ecx + 4], edi
jle 0x1013998d
xor eax, eax
mov dword [ebp - 0x14], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x2c], esi
test ecx, ecx
je 0x10139935
cmp dword [ecx + 4], 0
jle 0x10139935
push 0
mov edx, 0x53630d14
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10139932
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x14]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139940
xor edx, edx
test ecx, ecx
je 0x1013996c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139950
cmp esi, 0x53630d14
je 0x10139994
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
add eax, 0x3c
mov ecx, dword [ebp - 0x30]
inc edx
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x14], eax
cmp edx, dword [ecx + 4]
jl 0x10139900
mov eax, dword [0x10b33e60]
mov edx, edi
jmp 0x101398d2
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x38]
mov eax, dword [0x10b33e60]
jmp 0x101398d2
mov edx, dword [0x103201cc]
movss xmm1, dword [esi + edx + 4]
movss xmm3, dword [esi + edx]
movaps xmm0, xmm1
mulss xmm0, xmm1
movss dword [ebp - 0x20], xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
movss dword [ebp - 0x34], xmm3
addss xmm0, xmm1
call fcn.1000d460
movss xmm1, dword [0x1027112c]
comiss xmm1, xmm0
jae 0x1013aab0
lea ecx, [eax + 0x7a4232c8]
xor ecx, 0xfcb4fca8
comiss xmm2, xmm0
jb 0x1013a78b
mov esi, dword [ecx + 0x158]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov ecx, dword [ecx + 0xc4]
push eax
mov dword [ebp - 0x2c], esi
call fcn.1002e000
movss xmm2, dword [ebp - 0x5c]
lea edx, [ebp - 0x18]
movss xmm7, dword [0x10270eec]
lea ecx, [ebp - 0x30]
mulss xmm2, xmm7
call fcn.101266a0
movss xmm2, dword [ebp - 0x60]
lea edx, [ebp - 0x24]
mulss xmm2, xmm7
lea ecx, [ebp - 0x3c]
call fcn.101266a0
movss xmm2, dword [ebp - 0x58]
lea edx, [ebp - 0x28]
mulss xmm2, xmm7
lea ecx, [ebp - 0x14]
call fcn.101266a0
movss xmm3, dword [ebp - 0x18]
movss xmm4, dword [ebp - 0x24]
movaps xmm0, xmm3
movss xmm2, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x3c]
movaps xmm7, xmm2
movss xmm5, dword [ebp - 0x14]
movaps xmm6, xmm1
mulss xmm7, dword [ebp - 0x28]
mulss xmm0, xmm4
mulss xmm1, xmm5
movups xmmword [ebp - 0x90], xmm0
movaps xmm0, xmm2
mulss xmm5, dword [0x102713a0]
mulss xmm0, xmm4
mulss xmm2, xmm1
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
xorps xmm6, xmmword [0x10271af0]
mulss xmm5, xmm4
subss xmm7, xmm0
movss xmm4, dword [esi + 0x2c]
movss xmm0, dword [esi + 0x28]
movaps xmm1, xmm4
mulss xmm1, xmm4
movss dword [ebp - 0x3c], xmm4
movaps xmmword [ebp - 0xa0], xmm7
movss xmm7, dword [ebp - 0x28]
mulss xmm7, dword [0x102713a0]
movss dword [ebp - 0x28], xmm0
mulss xmm7, xmm3
movss xmm3, dword [esi + 0x24]
movss dword [ebp - 0x38], xmm3
subss xmm7, xmm2
movaps xmm2, xmm0
mulss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
movss dword [ebp - 0x14], xmm7
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, xmm0
mulss xmm0, dword [0x10270f30]
addss xmm2, xmm1
comiss xmm2, xmm0
jbe 0x10139b76
movaps xmm0, xmm2
call fcn.1000d460
movss xmm1, dword [ebp - 0x40]
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm3, xmm1
mulss xmm0, dword [ebp - 0x28]
mulss xmm4, xmm1
movss dword [ebp - 0x38], xmm3
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x3c], xmm4
mov ecx, dword [0x107691ec]
add ecx, 0xcef01053
xor ecx, 0xa7410cc1
add ecx, 0x188
je 0x1013a48f
mov eax, dword [0x11011a08]
test al, 1
jne 0x10139bbf
or eax, 1
mov dword [0x11011a08], eax
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x298]
mov dword [0x11011a04], eax
cmp dword [ecx + 0x94], 0x7fffffff
je 0x1013a48f
mov ecx, dword [0x110119f4]
test cl, 1
jne 0x10139c00
or ecx, 1
mov dword [0x110119f4], ecx
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov edx, dword [eax + 0x22c]
mov dword [0x11011a00], edx
jmp 0x10139c06
mov edx, dword [0x11011a00]
test cl, 2
jne 0x10139c31
or ecx, 2
mov dword [0x110119f4], ecx
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0x230]
mov dword [0x110119ec], ecx
jmp 0x10139c37
mov ecx, dword [0x110119ec]
movss xmm7, dword [ebp - 0x20]
movss xmm3, dword [ebp - 0x34]
movaps xmm0, xmm7
movaps xmm1, xmm3
mulss xmm0, xmm7
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1000d460
movss xmm4, dword [0x10271024]
movaps xmm2, xmm0
comiss xmm2, xmm4
jb 0x10139cd4
mov eax, dword [edx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x2c]
xor eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [0x10b33e60]
movss xmm1, dword [ebp - 0x20]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
maxss xmm1, xmm2
mov eax, dword [eax + 0x108]
movss xmm0, dword [eax + 0x14]
lea ecx, [eax + 0x14]
mulss xmm1, dword [ebp - 0x40]
add eax, 0x20
comiss xmm0, dword [eax]
xorps xmm0, xmm0
cmova eax, ecx
mulss xmm1, dword [eax]
divss xmm1, xmm2
subss xmm2, xmm1
maxss xmm2, xmm0
mulss xmm3, xmm2
mulss xmm7, xmm2
movss dword [ebp - 0x34], xmm3
jmp 0x10139cd7
xorps xmm0, xmm0
mov eax, dword [0x110119e4]
test al, 1
jne 0x10139d02
or eax, 1
mov dword [0x110119e4], eax
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x258]
mov dword [0x11011a0c], eax
ucomiss xmm6, xmm0
lahf
test ah, 0x44
jnp 0x10139d71
movups xmm2, xmmword [ebp - 0x90]
movss xmm3, dword [ebp - 0x30]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm2
addss xmm0, xmm1
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm0, xmm1
call fcn.1000d460
addss xmm0, dword [0x10270e8c]
movaps xmm1, xmm4
divss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
unpcklps xmm2, xmm3
movq qword [ebp - 0x6c], xmm2
movss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x6c]
movups xmmword [ebp - 0x90], xmm0
xorps xmm0, xmm0
ucomiss xmm5, xmm0
lahf
test ah, 0x44
jnp 0x10139ddb
movss xmm3, dword [ebp - 0x14]
movaps xmm2, xmmword [ebp - 0xa0]
movaps xmm0, xmm3
movaps xmm1, xmm2
mulss xmm0, xmm3
mulss xmm1, xmm2
addss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm0, xmm1
call fcn.1000d460
addss xmm0, dword [0x10270e8c]
movss xmm6, dword [0x10271024]
movaps xmm1, xmm6
divss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
unpcklps xmm2, xmm3
movq qword [ebp - 0x78], xmm2
movss xmm1, dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x78]
jmp 0x10139def
movss xmm6, dword [0x10271024]
movaps xmm0, xmmword [ebp - 0xa0]
movss xmm1, dword [ebp - 0x14]
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x1031e978]
test al, 1
jne 0x10139f65
or eax, 1
mov dword [0x1031e978], eax
mov dword [ebp - 4], 2
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1031cd84]
je 0x10139e7d
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10139e6f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139e46
xor edx, edx
test ecx, ecx
je 0x10139e6f
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139e53
cmp esi, 0x72e242a1
je 0x10139e93
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1031cd84]
jne 0x10139e33
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c]
mov dword [0x10320218], eax
jmp 0x10139f6a
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10139f38
xor ecx, ecx
mov dword [ebp - 0x18], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10139ee4
cmp dword [ecx + 4], 0
jle 0x10139ee4
push 0
mov edx, 0xf3e9a9ed
call fcn.1012b660
add esp, 4
test eax, eax
je 0x10139ee1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10139ef0
xor edx, edx
test ecx, ecx
je 0x10139f1c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10139f00
cmp edi, 0xf3e9a9ed
je 0x10139f4b
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x18], ecx
cmp edx, dword [eax + 4]
jl 0x10139eb0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c]
mov dword [0x10320218], eax
jmp 0x10139f6a
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c]
mov dword [0x10320218], eax
jmp 0x10139f6a
mov eax, dword [0x10320218]
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + eax], 0
mov eax, dword [0x10b33e60]
je 0x10139f92
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x154]
movss xmm4, dword [eax + 0x138]
jmp 0x10139faa
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x154]
movss xmm4, dword [eax + 0x134]
movss xmm2, dword [ebp - 0x28]
movaps xmm3, xmm2
mulss xmm2, xmm1
mulss xmm3, xmm0
movss xmm0, dword [ebp - 0x38]
mulss xmm0, dword [ebp - 0x90]
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x38]
mulss xmm0, dword [ebp - 0x30]
addss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000d460
movaps xmm1, xmm0
addss xmm1, dword [0x10270e8c]
divss xmm6, xmm1
movaps xmm1, xmm6
mulss xmm6, xmm2
xorps xmm2, xmm2
mulss xmm1, xmm3
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1013a01a
minss xmm0, xmm4
mov eax, dword [0x110119f8]
test al, 1
jne 0x1013a047
or eax, 1
mov dword [0x110119f8], eax
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x294]
mov dword [0x110119f0], eax
jmp 0x1013a04c
mov eax, dword [0x110119f0]
movss xmm3, dword [ebp - 0x34]
mulss xmm7, xmm6
mov dword [ebp - 0x30], eax
mulss xmm3, xmm1
addss xmm7, xmm3
subss xmm0, xmm7
comiss xmm2, xmm0
jae 0x1013a485
mov eax, dword [esi + 0x30]
shr eax, 2
test al, 1
jne 0x1013a272
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x10323694]
test al, 1
jne 0x1013a1db
or eax, 1
mov dword [0x10323694], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
je 0x1013a10a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013a0fc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1013a0d3
xor edx, edx
test ecx, ecx
je 0x1013a0fc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a0e0
cmp esi, 0x72e242a1
je 0x1013a11d
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
jne 0x1013a0c0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10323698], eax
jmp 0x1013a1e0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x1013a1b4
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013a16a
cmp dword [ecx + 4], 0
jle 0x1013a16a
push 0
mov edx, 0x8b221170
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013a167
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013a173
xor edx, edx
test ecx, ecx
je 0x1013a19c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a180
cmp esi, 0x8b221170
je 0x1013a1c4
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1013a136
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10323698], eax
jmp 0x1013a1e0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x10323698], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1013a1e0
mov eax, dword [0x10323698]
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + eax], 0
jne 0x1013a272
mov eax, dword [0x10320228]
test al, 1
jne 0x1013a272
or eax, 1
mov dword [0x10320228], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
je 0x1013a263
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013a255
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013a228
xor edx, edx
test ecx, ecx
je 0x1013a255
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a235
cmp esi, 0x72e242a1
je 0x1013a4ca
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
jne 0x1013a215
xor edi, edi
mov dword [0x1031e930], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x1031e978]
test al, 1
jne 0x1013a2fd
or eax, 1
mov dword [0x1031e978], eax
mov dword [ebp - 4], 5
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
je 0x1013a2ee
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013a2e0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1013a2b3
xor edx, edx
test ecx, ecx
je 0x1013a2e0
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a2c0
cmp esi, 0x72e242a1
je 0x1013a57b
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
jne 0x1013a2a0
xor edi, edi
mov dword [0x10320218], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
cmp dword [eax + 0x150], 0
je 0x1013a442
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x30]
xor eax, ecx
je 0x1013a442
mov eax, dword [0x1031e958]
test al, 1
jne 0x1013a3bd
or eax, 1
mov dword [0x1031e958], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
je 0x1013a3ae
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013a3a0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1013a370
xor edx, edx
test ecx, ecx
je 0x1013a3a0
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a380
cmp esi, 0xcd2ed041
je 0x1013a62b
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
jne 0x1013a356
xor edi, edi
mov dword [0x10320234], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x10323690]
test al, 1
jne 0x1013a442
or eax, 1
mov dword [0x10323690], eax
mov dword [ebp - 4], 7
mov eax, dword [0x1031cd80]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
je 0x1013a433
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013a425
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013a3f8
xor edx, edx
test ecx, ecx
je 0x1013a425
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a405
cmp esi, 0xea7e6f79
je 0x1013a6db
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1031cd84]
jne 0x1013a3e5
xor edi, edi
mov dword [0x1032368c], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x1032369c]
test al, 1
jne 0x1013a485
or eax, 1
mov dword [0x1032369c], eax
mov dword [ebp - 4], 8
call fcn.1000dd30
mov edx, 0x3a5ab60e
mov ecx, eax
call fcn.1012b930
mov dword [0x103236a0], eax
movss xmm3, dword [ebp - 0x38]
movss xmm4, dword [ebp - 0x3c]
cmp dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x2c]
movss xmm2, dword [ebp - 0x28]
movss dword [eax + 0x24], xmm3
movss dword [eax + 0x28], xmm2
movss dword [eax + 0x2c], xmm4
je 0x1013aab0
mov eax, dword [ebp - 0x48]
mov byte [eax], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x1013a265
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013a517
cmp dword [ecx + 4], 0
jle 0x1013a517
push 0
mov edx, 0xa4a37590
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013a514
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013a520
xor edx, edx
test ecx, ecx
je 0x1013a54c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a530
cmp esi, 0xa4a37590
je 0x1013a56d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x1013a265
jmp 0x1013a4e3
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x1013a265
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x1013a2f0
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013a5c8
cmp dword [ecx + 4], 0
jle 0x1013a5c8
push 0
mov edx, 0xf3e9a9ed
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013a5c5
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1013a5d1
xor edx, edx
test ecx, ecx
je 0x1013a5fc
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a5e0
cmp esi, 0xf3e9a9ed
je 0x1013a61d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x1013a2f0
jmp 0x1013a594
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x1013a2f0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x1013a3b0
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013a678
cmp dword [ecx + 4], 0
jle 0x1013a678
push 0
mov edx, 0xa2ccb41a
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013a675
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013a681
xor edx, edx
test ecx, ecx
je 0x1013a6ac
nop
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a690
cmp esi, 0xa2ccb41a
je 0x1013a6cd
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x1013a3b0
jmp 0x1013a644
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x1013a3b0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x1013a435
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1013a728
cmp dword [ecx + 4], 0
jle 0x1013a728
push 0
mov edx, 0x444e63a0
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013a725
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1013a731
xor edx, edx
test ecx, ecx
je 0x1013a75c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a740
cmp esi, 0x444e63a0
je 0x1013a77d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x1013a435
jmp 0x1013a6f4
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x1013a435
mov esi, dword [ecx + 0x14c]
mov ecx, dword [0x1031e91c]
mov dword [ebp - 0x40], esi
test cl, 1
jne 0x1013a835
or ecx, 1
mov dword [0x1031e91c], ecx
mov dword [ebp - 4], 9
mov ecx, dword [0x1031cd80]
mov edx, dword [0x1031cd84]
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
je 0x1013a823
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1013a816
mov ecx, dword [ecx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x20], ecx
xor edx, edx
nop dword [eax]
inc edx
cmp byte [edx + ecx], 0
jne 0x1013a7e0
xor esi, esi
test edx, edx
je 0x1013a810
nop dword [eax]
movsx ecx, byte [esi + ecx]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x20]
cmp esi, edx
jb 0x1013a7f0
cmp edi, 0x4e9f1122
je 0x1013a8b8
mov edx, dword [0x1031cd84]
mov ecx, dword [ebp - 0x2c]
add ecx, 4
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
jne 0x1013a7c6
xor edx, edx
mov esi, dword [ebp - 0x40]
mov dword [0x103201cc], edx
mov dword [ebp - 4], 0xffffffff
movss xmm0, dword [esi + edx]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [esi + edx + 4]
lea edx, [ebp - 0x54]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov ecx, dword [eax + 0xc4]
xor eax, eax
test ecx, ecx
movss dword [ebp - 0x30], xmm0
push edx
cmovne eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
call eax
movss xmm2, dword [ebp - 0x30]
xorps xmm4, xmm4
movss xmm1, dword [ebp - 0x28]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1013a977
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1013a977
movss xmm0, dword [0x10271214]
xorps xmm3, xmm3
jmp 0x1013a9e5
mov ecx, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x1013a95d
xor eax, eax
mov dword [ebp - 0x28], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x20], esi
test ecx, ecx
je 0x1013a906
cmp dword [ecx + 4], 0
jle 0x1013a906
push 0
mov edx, 0x53630d14
call fcn.1012b660
add esp, 4
test eax, eax
je 0x1013a903
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x3c], edi
mov eax, dword [ebp - 0x28]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [edi + ecx], 0
jne 0x1013a910
xor edx, edx
test ecx, ecx
je 0x1013a93c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a920
cmp esi, 0x53630d14
je 0x1013a964
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
add eax, 0x3c
mov ecx, dword [ebp - 0x18]
inc edx
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
cmp edx, dword [ecx + 4]
jl 0x1013a8d1
mov eax, dword [0x10b33e60]
mov edx, edi
jmp 0x1013a825
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x3c]
mov eax, dword [0x10b33e60]
jmp 0x1013a825
fld dword [ebp - 0x30]
fld dword [ebp - 0x28]
fpatan
movss xmm6, dword [0x102711d0]
movss xmm5, dword [0x102712cc]
fstp dword [ebp - 0x20]
movss xmm3, dword [ebp - 0x20]
mulss xmm3, xmm6
comiss xmm4, xmm3
jbe 0x1013a9a4
addss xmm3, xmm5
fld dword [0x10271370]
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000d460
movss dword [ebp - 0x20], xmm0
fld dword [ebp - 0x20]
fpatan
fstp dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x20]
mulss xmm0, xmm6
comiss xmm4, xmm0
movss dword [ebp - 0x34], xmm0
jbe 0x1013a9ea
addss xmm0, xmm5
movss dword [ebp - 0x34], xmm0
movss xmm2, dword [ebp - 0x50]
lea edx, [ebp - 0x2c]
subss xmm2, xmm3
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x2c], 0
mulss xmm2, dword [0x10270eec]
call fcn.101266a0
movss xmm2, dword [ebp - 0x34]
lea edx, [ebp - 0x18]
mulss xmm2, dword [0x10270eec]
lea ecx, [ebp - 0x20]
call fcn.101266a0
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x28]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000d460
mov eax, dword [0x10b33e60]
movss xmm2, dword [ebp - 0x18]
add eax, 0x7a4232c8
movss xmm1, dword [ebp - 0x2c]
xor eax, 0xfcb4fca8
xorps xmm0, xmmword [0x10271af0]
mulss xmm1, xmm2
mov eax, dword [eax + 0x158]
mulss xmm2, dword [ebp - 0x24]
mulss xmm1, xmm0
mulss xmm2, xmm0
movss dword [eax + 0x24], xmm1
mov eax, dword [0x10b33e60]
add eax, 0x7a4232c8
xor eax, 0xfcb4fca8
cmp dword [ebp - 0x44], 0
mov eax, dword [eax + 0x158]
movss dword [eax + 0x28], xmm2
je 0x1013aab0
mov eax, dword [ebp - 0x48]
mov byte [eax], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret