Function at 0x10138d20
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 0x101e1281
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
push esi
push edi
mov eax, dword [0x1021b380]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], ecx
mov eax, dword [0x107001f0]
lea esi, [eax - 0x2a42fc37]
xor esi, 0xde9a561b
cmp dword [esi + 0x150], 0
je 0x1013a1e0
mov edx, dword [esi + 0xc0]
cmp dword [edx + 0x174], 0xffffffff
je 0x1013a1e0
cmp dword [esi + 0x154], 0
je 0x1013a1e0
cmp byte [ecx + 0x63d68], 0
je 0x1013a1e0
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 [0x102b57c8]
test cl, 1
jne 0x10138f19
or ecx, 1
mov dword [0x102b57c8], ecx
mov dword [ebp - 4], 0
mov ecx, dword [0x102b3e88]
mov edx, dword [0x102b3e8c]
mov dword [ebp - 0x34], ecx
cmp ecx, edx
je 0x10138e4f
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x10138e42
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 0x10138e10
xor esi, esi
test edx, edx
je 0x10138e3c
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 0x10138e20
cmp edi, 0x72e242a1
je 0x10138e63
mov edx, dword [0x102b3e8c]
mov ecx, dword [ebp - 0x34]
add ecx, 4
mov dword [ebp - 0x34], ecx
cmp ecx, edx
jne 0x10138df3
xor edi, edi
mov dword [0x102b7068], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x10138f1f
mov ecx, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], edi
cmp dword [ecx + 4], edi
jle 0x10138e51
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 0x10138ead
cmp dword [ecx + 4], 0
jle 0x10138ead
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10138eaa
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 0x10138eb6
xor edx, edx
test ecx, ecx
je 0x10138edf
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10138ec3
cmp esi, 0xf3e9a9ed
je 0x10138efc
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 0x10138f05
jmp 0x10138e78
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
mov eax, dword [0x107001f0]
mov dword [0x102b7068], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x10138f1f
mov edi, dword [0x102b7068]
mov ecx, dword [ebp - 0x18]
cmp byte [edi + ecx], 0
lea ecx, [eax - 0x2a42fc37]
je 0x10138f44
xor ecx, 0xde9a561b
mov ecx, dword [ecx + 0x154]
movss xmm2, dword [ecx + 0x138]
jmp 0x10138f58
xor ecx, 0xde9a561b
mov ecx, dword [ecx + 0x154]
movss xmm2, dword [ecx + 0x134]
lea ecx, [eax - 0x2a42fc37]
movss dword [ebp - 0x1c], xmm2
mulss xmm2, dword [0x102077c4]
xor ecx, 0xde9a561b
mov esi, dword [ecx + 0x14c]
mov ecx, dword [0x102b576c]
movss dword [ebp - 0x40], xmm2
mov dword [ebp - 0x18], esi
test cl, 1
jne 0x101390d7
or ecx, 1
mov dword [0x102b576c], ecx
mov dword [ebp - 4], 1
mov ecx, dword [0x102b3e88]
mov dword [ebp - 0x28], ecx
cmp ecx, dword [0x102b3e8c]
je 0x10139000
nop
mov edx, dword [ecx]
mov dword [ebp - 0x30], edx
test edx, edx
je 0x10138ff2
mov ecx, dword [edx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x2c], ecx
xor edx, edx
inc edx
cmp byte [ecx + edx], 0
jne 0x10138fc6
xor esi, esi
test edx, edx
je 0x10138fef
movsx ecx, byte [ecx + esi]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x2c]
cmp esi, edx
jb 0x10138fd3
cmp edi, 0x4e9f1122
je 0x10139017
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov dword [ebp - 0x28], ecx
cmp ecx, dword [0x102b3e8c]
jne 0x10138fb0
xor edx, edx
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
mov dword [0x102b701c], edx
jmp 0x101390dd
mov ecx, dword [ebp - 0x30]
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
cmp dword [ecx + 4], edi
jle 0x101390bd
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 0x10139065
cmp dword [ecx + 4], 0
jle 0x10139065
push 0
mov edx, 0x53630d14
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139062
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 0x10139070
xor edx, edx
test ecx, ecx
je 0x1013909c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139080
cmp esi, 0x53630d14
je 0x101390c4
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 0x10139030
mov eax, dword [0x107001f0]
mov edx, edi
jmp 0x10139002
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x38]
mov eax, dword [0x107001f0]
jmp 0x10139002
mov edx, dword [0x102b701c]
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.1000d600
movss xmm1, dword [0x10207968]
comiss xmm1, xmm0
jae 0x1013a1e0
lea ecx, [eax - 0x2a42fc37]
xor ecx, 0xde9a561b
comiss xmm2, xmm0
jb 0x10139ebb
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.1002d6b0
movss xmm2, dword [ebp - 0x5c]
lea edx, [ebp - 0x18]
movss xmm7, dword [0x1020772c]
lea ecx, [ebp - 0x30]
mulss xmm2, xmm7
call fcn.10126010
movss xmm2, dword [ebp - 0x60]
lea edx, [ebp - 0x24]
mulss xmm2, xmm7
lea ecx, [ebp - 0x3c]
call fcn.10126010
movss xmm2, dword [ebp - 0x58]
lea edx, [ebp - 0x28]
mulss xmm2, xmm7
lea ecx, [ebp - 0x14]
call fcn.10126010
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 [0x10207bc8]
mulss xmm0, xmm4
mulss xmm2, xmm1
movss dword [ebp - 0x30], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
xorps xmm6, xmmword [0x10208310]
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 [0x10207bc8]
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 [0x10207770]
addss xmm2, xmm1
comiss xmm2, xmm0
jbe 0x101392a6
movaps xmm0, xmm2
call fcn.1000d600
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 [0x1070006c]
add ecx, 0x38a0adc4
xor ecx, 0x32e2e51c
add ecx, 0x188
je 0x10139bbf
mov eax, dword [0x10bddd98]
test al, 1
jne 0x101392ef
or eax, 1
mov dword [0x10bddd98], eax
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x298]
mov dword [0x10bddd94], eax
cmp dword [ecx + 0x94], 0x7fffffff
je 0x10139bbf
mov ecx, dword [0x10bddd84]
test cl, 1
jne 0x10139330
or ecx, 1
mov dword [0x10bddd84], ecx
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov edx, dword [eax + 0x22c]
mov dword [0x10bddd90], edx
jmp 0x10139336
mov edx, dword [0x10bddd90]
test cl, 2
jne 0x10139361
or ecx, 2
mov dword [0x10bddd84], ecx
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x230]
mov dword [0x10bddd7c], ecx
jmp 0x10139367
mov ecx, dword [0x10bddd7c]
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.1000d600
movss xmm4, dword [0x1020785c]
movaps xmm2, xmm0
comiss xmm2, xmm4
jb 0x10139404
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 [0x107001f0]
movss xmm1, dword [ebp - 0x20]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
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 0x10139407
xorps xmm0, xmm0
mov eax, dword [0x10bddd74]
test al, 1
jne 0x10139432
or eax, 1
mov dword [0x10bddd74], eax
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x258]
mov dword [0x10bddd9c], eax
ucomiss xmm6, xmm0
lahf
test ah, 0x44
jnp 0x101394a1
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.1000d600
addss xmm0, dword [0x102076cc]
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 0x1013950b
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.1000d600
addss xmm0, dword [0x102076cc]
movss xmm6, dword [0x1020785c]
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 0x1013951f
movss xmm6, dword [0x1020785c]
movaps xmm0, xmmword [ebp - 0xa0]
movss xmm1, dword [ebp - 0x14]
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102b57c8]
test al, 1
jne 0x10139695
or eax, 1
mov dword [0x102b57c8], eax
mov dword [ebp - 4], 2
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x102b3e8c]
je 0x101395ad
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x1013959f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139576
xor edx, edx
test ecx, ecx
je 0x1013959f
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139583
cmp esi, 0x72e242a1
je 0x101395c3
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x102b3e8c]
jne 0x10139563
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c]
mov dword [0x102b7068], eax
jmp 0x1013969a
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x10139668
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 0x10139614
cmp dword [ecx + 4], 0
jle 0x10139614
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139611
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 0x10139620
xor edx, edx
test ecx, ecx
je 0x1013964c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10139630
cmp edi, 0xf3e9a9ed
je 0x1013967b
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 0x101395e0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x2c]
mov dword [0x102b7068], eax
jmp 0x1013969a
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 [0x102b7068], eax
jmp 0x1013969a
mov eax, dword [0x102b7068]
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + eax], 0
mov eax, dword [0x107001f0]
je 0x101396c2
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x154]
movss xmm4, dword [eax + 0x138]
jmp 0x101396da
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
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.1000d600
movaps xmm1, xmm0
addss xmm1, dword [0x102076cc]
divss xmm6, xmm1
movaps xmm1, xmm6
mulss xmm6, xmm2
xorps xmm2, xmm2
mulss xmm1, xmm3
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1013974a
minss xmm0, xmm4
mov eax, dword [0x10bddd88]
test al, 1
jne 0x10139777
or eax, 1
mov dword [0x10bddd88], eax
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x294]
mov dword [0x10bddd80], eax
jmp 0x1013977c
mov eax, dword [0x10bddd80]
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 0x10139bb5
mov eax, dword [esi + 0x30]
shr eax, 2
test al, 1
jne 0x101399a2
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102ba4e4]
test al, 1
jne 0x1013990b
or eax, 1
mov dword [0x102ba4e4], eax
mov dword [ebp - 4], 3
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
je 0x1013983a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1013982c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10139803
xor edx, edx
test ecx, ecx
je 0x1013982c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139810
cmp esi, 0x72e242a1
je 0x1013984d
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
jne 0x101397f0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba4e8], eax
jmp 0x10139910
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x101398e4
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 0x1013989a
cmp dword [ecx + 4], 0
jle 0x1013989a
push 0
mov edx, 0x8b221170
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139897
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 0x101398a3
xor edx, edx
test ecx, ecx
je 0x101398cc
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101398b0
cmp esi, 0x8b221170
je 0x101398f4
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 0x10139866
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba4e8], eax
jmp 0x10139910
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x102ba4e8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10139910
mov eax, dword [0x102ba4e8]
mov ecx, dword [ebp - 0x40]
cmp byte [ecx + eax], 0
jne 0x101399a2
mov eax, dword [0x102b7078]
test al, 1
jne 0x101399a2
or eax, 1
mov dword [0x102b7078], eax
mov dword [ebp - 4], 4
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
je 0x10139993
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10139985
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139958
xor edx, edx
test ecx, ecx
je 0x10139985
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139965
cmp esi, 0x72e242a1
je 0x10139bfa
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
jne 0x10139945
xor edi, edi
mov dword [0x102b5780], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x102b57c8]
test al, 1
jne 0x10139a2d
or eax, 1
mov dword [0x102b57c8], eax
mov dword [ebp - 4], 5
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
je 0x10139a1e
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10139a10
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101399e3
xor edx, edx
test ecx, ecx
je 0x10139a10
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101399f0
cmp esi, 0x72e242a1
je 0x10139cab
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
jne 0x101399d0
xor edi, edi
mov dword [0x102b7068], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
cmp dword [eax + 0x150], 0
je 0x10139b72
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x30]
xor eax, ecx
je 0x10139b72
mov eax, dword [0x102b57a8]
test al, 1
jne 0x10139aed
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 6
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
je 0x10139ade
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10139ad0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10139aa0
xor edx, edx
test ecx, ecx
je 0x10139ad0
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139ab0
cmp esi, 0xcd2ed041
je 0x10139d5b
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
jne 0x10139a86
xor edi, edi
mov dword [0x102b7084], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x102ba4e0]
test al, 1
jne 0x10139b72
or eax, 1
mov dword [0x102ba4e0], eax
mov dword [ebp - 4], 7
mov eax, dword [0x102b3e88]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
je 0x10139b63
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10139b55
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10139b28
xor edx, edx
test ecx, ecx
je 0x10139b55
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139b35
cmp esi, 0xea7e6f79
je 0x10139e0b
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x102b3e8c]
jne 0x10139b15
xor edi, edi
mov dword [0x102ba4dc], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x102ba4ec]
test al, 1
jne 0x10139bb5
or eax, 1
mov dword [0x102ba4ec], eax
mov dword [ebp - 4], 8
call fcn.1000dd80
mov edx, 0x3a5ab60e
mov ecx, eax
call fcn.1012b190
mov dword [0x102ba4f0], 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 0x1013a1e0
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 0x10139995
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 0x10139c47
cmp dword [ecx + 4], 0
jle 0x10139c47
push 0
mov edx, 0xa4a37590
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139c44
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 0x10139c50
xor edx, edx
test ecx, ecx
je 0x10139c7c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139c60
cmp esi, 0xa4a37590
je 0x10139c9d
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 0x10139995
jmp 0x10139c13
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x10139995
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10139a20
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 0x10139cf8
cmp dword [ecx + 4], 0
jle 0x10139cf8
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139cf5
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 0x10139d01
xor edx, edx
test ecx, ecx
je 0x10139d2c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139d10
cmp esi, 0xf3e9a9ed
je 0x10139d4d
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 0x10139a20
jmp 0x10139cc4
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x10139a20
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10139ae0
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 0x10139da8
cmp dword [ecx + 4], 0
jle 0x10139da8
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139da5
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 0x10139db1
xor edx, edx
test ecx, ecx
je 0x10139ddc
nop
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139dc0
cmp esi, 0xa2ccb41a
je 0x10139dfd
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 0x10139ae0
jmp 0x10139d74
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x10139ae0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10139b65
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 0x10139e58
cmp dword [ecx + 4], 0
jle 0x10139e58
push 0
mov edx, 0x444e63a0
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10139e55
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 0x10139e61
xor edx, edx
test ecx, ecx
je 0x10139e8c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10139e70
cmp esi, 0x444e63a0
je 0x10139ead
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 0x10139b65
jmp 0x10139e24
mov eax, dword [ebp - 0x20]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x14]
jmp 0x10139b65
mov esi, dword [ecx + 0x14c]
mov ecx, dword [0x102b576c]
mov dword [ebp - 0x40], esi
test cl, 1
jne 0x10139f65
or ecx, 1
mov dword [0x102b576c], ecx
mov dword [ebp - 4], 9
mov ecx, dword [0x102b3e88]
mov edx, dword [0x102b3e8c]
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
je 0x10139f53
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10139f46
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 0x10139f10
xor esi, esi
test edx, edx
je 0x10139f40
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 0x10139f20
cmp edi, 0x4e9f1122
je 0x10139fe8
mov edx, dword [0x102b3e8c]
mov ecx, dword [ebp - 0x2c]
add ecx, 4
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
jne 0x10139ef6
xor edx, edx
mov esi, dword [ebp - 0x40]
mov dword [0x102b701c], edx
mov dword [ebp - 4], 0xffffffff
movss xmm0, dword [esi + edx]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
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 0x1013a0a7
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1013a0a7
movss xmm0, dword [0x10207a4c]
xorps xmm3, xmm3
jmp 0x1013a115
mov ecx, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x1013a08d
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 0x1013a036
cmp dword [ecx + 4], 0
jle 0x1013a036
push 0
mov edx, 0x53630d14
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1013a033
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 0x1013a040
xor edx, edx
test ecx, ecx
je 0x1013a06c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1013a050
cmp esi, 0x53630d14
je 0x1013a094
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 0x1013a001
mov eax, dword [0x107001f0]
mov edx, edi
jmp 0x10139f55
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x3c]
mov eax, dword [0x107001f0]
jmp 0x10139f55
fld dword [ebp - 0x30]
fld dword [ebp - 0x28]
fpatan
movss xmm6, dword [0x10207a08]
movss xmm5, dword [0x10207afc]
fstp dword [ebp - 0x20]
movss xmm3, dword [ebp - 0x20]
mulss xmm3, xmm6
comiss xmm4, xmm3
jbe 0x1013a0d4
addss xmm3, xmm5
fld dword [0x10207b98]
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000d600
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 0x1013a11a
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 [0x1020772c]
call fcn.10126010
movss xmm2, dword [ebp - 0x34]
lea edx, [ebp - 0x18]
mulss xmm2, dword [0x1020772c]
lea ecx, [ebp - 0x20]
call fcn.10126010
movss xmm0, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x28]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000d600
mov eax, dword [0x107001f0]
movss xmm2, dword [ebp - 0x18]
add eax, 0xd5bd03c9
movss xmm1, dword [ebp - 0x2c]
xor eax, 0xde9a561b
xorps xmm0, xmmword [0x10208310]
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 [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
cmp dword [ebp - 0x44], 0
mov eax, dword [eax + 0x158]
movss dword [eax + 0x28], xmm2
je 0x1013a1e0
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