Function at 0x101499f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10231001
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x60
push esi
push edi
mov eax, dword [0x102d5080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [0x10bbf240]
lea esi, [eax - 0x500c3374]
xor esi, 0x3743f7af
cmp dword [esi + 0x138], 0
je 0x1014aeb0
mov edx, dword [esi + 0xa8]
cmp dword [edx + 0x174], 0xffffffff
je 0x1014aeb0
cmp dword [esi + 0x13c], 0
je 0x1014aeb0
cmp byte [ecx + 0x63d68], 0
je 0x1014aeb0
mov ecx, dword [ecx + 0x6572c]
and ecx, 4
mov dword [ebp - 0x48], ecx
mov ecx, dword [esi + 0x134]
mov dword [ebp - 0x40], ecx
mov ecx, dword [0x10373cb0]
test cl, 1
jne 0x10149be6
or ecx, 1
mov dword [0x10373cb0], ecx
mov dword [ebp - 4], 0
mov ecx, dword [0x10371278]
mov edx, dword [0x1037127c]
mov dword [ebp - 0x38], ecx
cmp ecx, edx
je 0x10149b12
mov ecx, dword [ecx]
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x10149b05
mov ecx, dword [ecx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x44], ecx
xor edx, edx
inc edx
cmp byte [edx + ecx], 0
jne 0x10149ad6
xor esi, esi
test edx, edx
je 0x10149aff
movsx ecx, byte [esi + ecx]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x44]
cmp esi, edx
jb 0x10149ae3
cmp edi, 0x72e242a1
je 0x10149b26
mov edx, dword [0x1037127c]
mov ecx, dword [ebp - 0x38]
add ecx, 4
mov dword [ebp - 0x38], ecx
cmp ecx, edx
jne 0x10149ac0
xor edi, edi
mov dword [0x10375558], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x10149bec
mov ecx, dword [ebp - 0x34]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x38], edi
cmp dword [ecx + 4], edi
jle 0x10149b14
xor eax, eax
mov dword [ebp - 0x14], eax
nop dword [eax + eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x44], esi
test ecx, ecx
je 0x10149b75
cmp dword [ecx + 4], 0
jle 0x10149b75
push 0
mov edx, 0xf3e9a9ed
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10149b72
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x14]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x10149b80
xor edx, edx
test ecx, ecx
je 0x10149bac
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10149b90
cmp esi, 0xf3e9a9ed
je 0x10149bc9
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
add eax, 0x3c
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x14], eax
cmp edx, dword [ecx + 4]
jge 0x10149bd2
jmp 0x10149b40
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
mov eax, dword [0x10bbf240]
mov dword [0x10375558], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x10149bec
mov edi, dword [0x10375558]
mov ecx, dword [ebp - 0x40]
cmp byte [edi + ecx], 0
lea ecx, [eax - 0x500c3374]
je 0x10149c11
xor ecx, 0x3743f7af
mov ecx, dword [ecx + 0x13c]
movss xmm2, dword [ecx + 0x138]
jmp 0x10149c25
xor ecx, 0x3743f7af
mov ecx, dword [ecx + 0x13c]
movss xmm2, dword [ecx + 0x134]
lea ecx, [eax - 0x500c3374]
movss dword [ebp - 0x1c], xmm2
mulss xmm2, dword [0x102bd714]
xor ecx, 0x3743f7af
mov esi, dword [ecx + 0x134]
mov ecx, dword [0x10373c54]
movss dword [ebp - 0x50], xmm2
mov dword [ebp - 0x40], esi
test cl, 1
jne 0x10149da7
or ecx, 1
mov dword [0x10373c54], ecx
mov dword [ebp - 4], 1
mov ecx, dword [0x10371278]
mov dword [ebp - 0x28], ecx
cmp ecx, dword [0x1037127c]
je 0x10149cd0
nop dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x34], edx
test edx, edx
je 0x10149cc2
mov ecx, dword [edx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x44], ecx
xor edx, edx
inc edx
cmp byte [edx + ecx], 0
jne 0x10149c96
xor esi, esi
test edx, edx
je 0x10149cbf
movsx ecx, byte [esi + ecx]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x44]
cmp esi, edx
jb 0x10149ca3
cmp edi, 0x4e9f1122
je 0x10149ce7
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov dword [ebp - 0x28], ecx
cmp ecx, dword [0x1037127c]
jne 0x10149c80
xor edx, edx
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x40]
mov dword [0x1037550c], edx
jmp 0x10149dad
mov ecx, dword [ebp - 0x34]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x38], edi
cmp dword [ecx + 4], edi
jle 0x10149d8d
xor eax, eax
mov dword [ebp - 0x18], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x44], esi
test ecx, ecx
je 0x10149d35
cmp dword [ecx + 4], 0
jle 0x10149d35
push 0
mov edx, 0x53630d14
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x10149d32
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x10149d40
xor edx, edx
test ecx, ecx
je 0x10149d6c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10149d50
cmp esi, 0x53630d14
je 0x10149d94
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x38]
add eax, 0x3c
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10149d00
mov eax, dword [0x10bbf240]
mov edx, edi
jmp 0x10149cd2
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x14]
mov eax, dword [0x10bbf240]
jmp 0x10149cd2
mov edx, dword [0x1037550c]
movss xmm1, dword [esi + edx + 4]
movss xmm3, dword [esi + edx]
movaps xmm0, xmm1
mulss xmm0, xmm1
movss dword [ebp - 0x18], xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
movss dword [ebp - 0x38], xmm3
addss xmm0, xmm1
call fcn.1000ded0
movss xmm1, dword [0x102bd8c0]
comiss xmm1, xmm0
jae 0x1014aeb0
lea ecx, [eax - 0x500c3374]
xor ecx, 0x3743f7af
comiss xmm2, xmm0
jb 0x1014ab8b
mov esi, dword [ecx + 0x140]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov ecx, dword [ecx + 0xac]
push eax
mov dword [ebp - 0x44], esi
call fcn.1002f540
movss xmm2, dword [ebp - 0x5c]
lea edx, [ebp - 0x40]
movss xmm7, dword [0x102bd670]
lea ecx, [ebp - 0x3c]
mulss xmm2, xmm7
call fcn.10136d20
movss xmm2, dword [ebp - 0x60]
lea edx, [ebp - 0x28]
mulss xmm2, xmm7
lea ecx, [ebp - 0x30]
call fcn.10136d20
movss xmm2, dword [ebp - 0x58]
lea edx, [ebp - 0x20]
mulss xmm2, xmm7
lea ecx, [ebp - 0x24]
call fcn.10136d20
movss xmm3, dword [ebp - 0x40]
movss xmm2, dword [ebp - 0x3c]
movaps xmm0, xmm3
mulss xmm0, dword [ebp - 0x28]
movss xmm7, dword [ebp - 0x20]
movss xmm5, dword [ebp - 0x24]
movss dword [ebp - 0x2c], xmm0
movaps xmm1, xmm5
movss xmm0, dword [ebp - 0x28]
mulss xmm1, dword [ebp - 0x30]
mulss xmm0, xmm2
mulss xmm5, dword [0x102bdb48]
movss dword [ebp - 0x34], xmm0
movaps xmm0, xmm7
mulss xmm7, dword [0x102bdb48]
mulss xmm5, dword [ebp - 0x28]
mulss xmm0, xmm2
mulss xmm2, xmm1
movss dword [ebp - 0x14], xmm0
movaps xmm0, xmm3
movss xmm4, dword [ebp - 0x14]
mulss xmm0, xmm1
movss xmm1, dword [esi + 0x24]
movss xmm6, dword [ebp - 0x30]
subss xmm4, xmm0
xorps xmm6, xmmword [0x102bdf90]
movss xmm0, dword [esi + 0x28]
mulss xmm7, xmm3
movss xmm3, dword [esi + 0x2c]
movss dword [ebp - 0x28], xmm0
subss xmm7, xmm2
movss dword [ebp - 0x24], xmm1
movaps xmm2, xmm0
movss dword [ebp - 0x14], xmm4
mulss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm2, xmm0
movss dword [ebp - 0x30], xmm7
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, xmm0
movss dword [ebp - 0x20], xmm3
addss xmm2, xmm1
mulss xmm0, dword [0x102bd6c0]
comiss xmm2, xmm0
jbe 0x10149f82
movaps xmm0, xmm2
call fcn.1000ded0
movss xmm1, dword [ebp - 0x50]
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x24], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x28]
mulss xmm1, xmm3
movss dword [ebp - 0x28], xmm0
movaps xmm3, xmm1
movss dword [ebp - 0x20], xmm1
mov ecx, dword [0x107f41c0]
add ecx, 0x1efd30ca
xor ecx, 0xd7168c7a
add ecx, 0x188
je 0x1014a88a
mov eax, dword [0x1109ce1c]
test al, 1
jne 0x10149fcb
or eax, 1
mov dword [0x1109ce1c], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x280]
mov dword [0x1109ce18], eax
cmp dword [ecx + 0x94], 0x7fffffff
je 0x1014a88a
mov ecx, dword [0x1109ce08]
test cl, 1
jne 0x1014a00c
or ecx, 1
mov dword [0x1109ce08], ecx
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov edx, dword [eax + 0x214]
mov dword [0x1109ce14], edx
jmp 0x1014a012
mov edx, dword [0x1109ce14]
test cl, 2
jne 0x1014a03d
or ecx, 2
mov dword [0x1109ce08], ecx
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov ecx, dword [eax + 0x218]
mov dword [0x1109ce00], ecx
jmp 0x1014a043
mov ecx, dword [0x1109ce00]
movss xmm7, dword [ebp - 0x18]
movss xmm3, dword [ebp - 0x38]
movaps xmm0, xmm7
movaps xmm1, xmm3
mulss xmm0, xmm7
mulss xmm1, xmm3
addss xmm0, xmm1
call fcn.1000ded0
movaps xmm2, xmm0
comiss xmm2, dword [0x102bd7ac]
jb 0x1014a0e7
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 - 0x50], eax
movss xmm0, dword [ebp - 0x50]
comiss xmm0, xmm2
ja 0x1014a096
movss xmm1, xmm2
jmp 0x1014a09a
movss xmm1, xmm0
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mulss xmm1, dword [ebp - 0x40]
xorps xmm4, xmm4
mov eax, dword [eax + 0xf0]
movss xmm0, dword [eax + 0x14]
lea ecx, [eax + 0x14]
add eax, 0x20
comiss xmm0, dword [eax]
cmova eax, ecx
mulss xmm1, dword [eax]
divss xmm1, xmm2
subss xmm2, xmm1
maxss xmm2, xmm4
mulss xmm3, xmm2
mulss xmm7, xmm2
movss dword [ebp - 0x38], xmm3
jmp 0x1014a0ea
xorps xmm4, xmm4
mov eax, dword [0x1109cdf8]
test al, 1
jne 0x1014a115
or eax, 1
mov dword [0x1109cdf8], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x240]
mov dword [0x1109ce20], eax
ucomiss xmm6, xmm4
lahf
test ah, 0x44
jnp 0x1014a172
movss xmm3, dword [ebp - 0x34]
movss xmm2, dword [ebp - 0x2c]
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, xmm2
mulss xmm6, xmm6
addss xmm0, xmm1
addss xmm0, xmm6
call fcn.1000ded0
addss xmm0, dword [0x102bd604]
movss xmm6, dword [0x102bd7ac]
movaps xmm1, xmm6
divss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x34], xmm3
jmp 0x1014a17a
movss xmm6, dword [0x102bd7ac]
ucomiss xmm5, xmm4
lahf
test ah, 0x44
jnp 0x1014a1d3
movss xmm2, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x14]
movaps xmm0, xmm2
mulss xmm0, xmm2
movaps xmm1, xmm3
mulss xmm1, xmm3
mulss xmm5, xmm5
addss xmm0, xmm1
addss xmm0, xmm5
call fcn.1000ded0
movss xmm5, dword [0x102bd604]
movaps xmm1, xmm6
addss xmm0, xmm5
divss xmm1, xmm0
mulss xmm3, xmm1
mulss xmm2, xmm1
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x30], xmm2
jmp 0x1014a1db
movss xmm5, dword [0x102bd604]
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x54], eax
mov eax, dword [0x10373cb0]
test al, 1
jne 0x1014a355
or eax, 1
mov dword [0x10373cb0], eax
mov dword [ebp - 4], 2
mov eax, dword [0x10371278]
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1037127c]
je 0x1014a26a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1014a25c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a233
xor edx, edx
test ecx, ecx
je 0x1014a25c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a240
cmp esi, 0x72e242a1
je 0x1014a280
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x1037127c]
jne 0x1014a220
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov dword [0x10375558], eax
jmp 0x1014a35a
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x1014a328
xor ecx, ecx
mov dword [ebp - 0x40], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x50], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a2d4
cmp dword [ecx + 4], 0
jle 0x1014a2d4
push 0
mov edx, 0xf3e9a9ed
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014a2d1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1014a2e0
xor edx, edx
test ecx, ecx
je 0x1014a30c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a2f0
cmp edi, 0xf3e9a9ed
je 0x1014a33b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], ecx
cmp edx, dword [eax + 4]
jl 0x1014a2a0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov dword [0x10375558], eax
jmp 0x1014a35a
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov dword [0x10375558], eax
jmp 0x1014a35a
mov eax, dword [0x10375558]
mov ecx, dword [ebp - 0x54]
cmp byte [ecx + eax], 0
mov eax, dword [0x10bbf240]
je 0x1014a382
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x138]
jmp 0x1014a39a
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x13c]
movss xmm4, dword [eax + 0x134]
movss xmm2, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x24]
movaps xmm3, xmm2
mulss xmm0, dword [ebp - 0x2c]
mulss xmm3, dword [ebp - 0x14]
mulss xmm2, dword [ebp - 0x30]
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x34]
addss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000ded0
movaps xmm1, xmm0
addss xmm1, xmm5
divss xmm6, xmm1
movaps xmm1, xmm6
mulss xmm6, xmm2
xorps xmm2, xmm2
mulss xmm1, xmm3
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1014a405
minss xmm0, xmm4
mov eax, dword [0x1109ce0c]
test al, 1
jne 0x1014a432
or eax, 1
mov dword [0x1109ce0c], eax
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x27c]
mov dword [0x1109ce04], eax
jmp 0x1014a437
mov eax, dword [0x1109ce04]
movss xmm3, dword [ebp - 0x38]
mulss xmm7, xmm6
mov dword [ebp - 0x34], eax
mulss xmm3, xmm1
addss xmm7, xmm3
subss xmm0, xmm7
comiss xmm2, xmm0
jae 0x1014a885
test byte [esi + 0x30], 4
jne 0x1014a66d
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x50], eax
mov eax, dword [0x103789f4]
test al, 1
jne 0x1014a5cb
or eax, 1
mov dword [0x103789f4], eax
mov dword [ebp - 4], 3
mov eax, dword [0x10371278]
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
je 0x1014a4fa
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014a4ec
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a4c0
xor edx, edx
test ecx, ecx
je 0x1014a4ec
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a4d0
cmp esi, 0x72e242a1
je 0x1014a50d
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
jne 0x1014a4a6
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103789f8], eax
jmp 0x1014a5d0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x40], edi
cmp dword [eax + 4], edi
jle 0x1014a5a4
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a55a
cmp dword [ecx + 4], 0
jle 0x1014a55a
push 0
mov edx, 0x8b221170
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014a557
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a563
xor edx, edx
test ecx, ecx
je 0x1014a58c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a570
cmp esi, 0x8b221170
je 0x1014a5b4
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
cmp edx, dword [eax + 4]
jl 0x1014a526
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103789f8], eax
jmp 0x1014a5d0
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103789f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1014a5d0
mov eax, dword [0x103789f8]
mov ecx, dword [ebp - 0x50]
mov al, byte [ecx + eax]
test al, al
jne 0x1014a66d
mov eax, dword [0x10375568]
test al, 1
jne 0x1014a66d
or eax, 1
mov dword [0x10375568], eax
mov dword [ebp - 4], 4
mov eax, dword [0x10371278]
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
je 0x1014a65e
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014a650
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a623
xor edx, edx
test ecx, ecx
je 0x1014a650
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a630
cmp esi, 0x72e242a1
je 0x1014a8ca
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
jne 0x1014a610
xor edi, edi
mov dword [0x10373c68], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x10373cb0]
test al, 1
jne 0x1014a6fd
or eax, 1
mov dword [0x10373cb0], eax
mov dword [ebp - 4], 5
mov eax, dword [0x10371278]
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
je 0x1014a6ee
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014a6e0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a6b3
xor edx, edx
test ecx, ecx
je 0x1014a6e0
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a6c0
cmp esi, 0x72e242a1
je 0x1014a97b
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
jne 0x1014a6a0
xor edi, edi
mov dword [0x10375558], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [eax + 0x138], 0
je 0x1014a842
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x30]
xor eax, ecx
je 0x1014a842
mov eax, dword [0x10373c90]
test al, 1
jne 0x1014a7bd
or eax, 1
mov dword [0x10373c90], eax
mov dword [ebp - 4], 6
mov eax, dword [0x10371278]
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
je 0x1014a7ae
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014a7a0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a770
xor edx, edx
test ecx, ecx
je 0x1014a7a0
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a780
cmp esi, 0xcd2ed041
je 0x1014aa2b
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
jne 0x1014a756
xor edi, edi
mov dword [0x10375574], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x103789f0]
test al, 1
jne 0x1014a842
or eax, 1
mov dword [0x103789f0], eax
mov dword [ebp - 4], 7
mov eax, dword [0x10371278]
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
je 0x1014a833
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1014a825
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a7f8
xor edx, edx
test ecx, ecx
je 0x1014a825
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a805
cmp esi, 0xea7e6f79
je 0x1014aadb
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [0x1037127c]
jne 0x1014a7e5
xor edi, edi
mov dword [0x103789ec], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov ecx, dword [eax + 0x134]
mov eax, dword [0x103789fc]
test al, 1
jne 0x1014a885
or eax, 1
mov dword [0x103789fc], eax
mov dword [ebp - 4], 8
call fcn.1000e8a0
mov edx, 0x3a5ab60e
mov ecx, eax
call fcn.1013be50
mov dword [0x10378a00], eax
movss xmm3, dword [ebp - 0x20]
cmp dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x44]
movss xmm2, dword [ebp - 0x24]
movss dword [eax + 0x24], xmm2
movss xmm2, dword [ebp - 0x28]
movss dword [eax + 0x28], xmm2
movss dword [eax + 0x2c], xmm3
je 0x1014aeb0
mov eax, dword [ebp - 0x4c]
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 - 0x18], edi
mov dword [ebp - 0x40], edi
cmp dword [eax + 4], edi
jle 0x1014a660
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a917
cmp dword [ecx + 4], 0
jle 0x1014a917
push 0
mov edx, 0xa4a37590
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014a914
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a920
xor edx, edx
test ecx, ecx
je 0x1014a94c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a930
cmp esi, 0xa4a37590
je 0x1014a96d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
cmp edx, dword [eax + 4]
jge 0x1014a660
jmp 0x1014a8e3
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
jmp 0x1014a660
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x40], edi
cmp dword [eax + 4], edi
jle 0x1014a6f0
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014a9c8
cmp dword [ecx + 4], 0
jle 0x1014a9c8
push 0
mov edx, 0xf3e9a9ed
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014a9c5
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014a9d1
xor edx, edx
test ecx, ecx
je 0x1014a9fc
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014a9e0
cmp esi, 0xf3e9a9ed
je 0x1014aa1d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
cmp edx, dword [eax + 4]
jge 0x1014a6f0
jmp 0x1014a994
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
jmp 0x1014a6f0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x40], edi
cmp dword [eax + 4], edi
jle 0x1014a7b0
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014aa78
cmp dword [ecx + 4], 0
jle 0x1014aa78
push 0
mov edx, 0xa2ccb41a
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014aa75
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014aa81
xor edx, edx
test ecx, ecx
je 0x1014aaac
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014aa90
cmp esi, 0xa2ccb41a
je 0x1014aacd
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
cmp edx, dword [eax + 4]
jge 0x1014a7b0
jmp 0x1014aa44
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
jmp 0x1014a7b0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x40], edi
cmp dword [eax + 4], edi
jle 0x1014a835
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1014ab28
cmp dword [ecx + 4], 0
jle 0x1014ab28
push 0
mov edx, 0x444e63a0
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014ab25
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014ab31
xor edx, edx
test ecx, ecx
je 0x1014ab5c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ab40
cmp esi, 0x444e63a0
je 0x1014ab7d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
cmp edx, dword [eax + 4]
jge 0x1014a835
jmp 0x1014aaf4
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
jmp 0x1014a835
mov esi, dword [ecx + 0x134]
mov ecx, dword [0x10373c54]
mov dword [ebp - 0x50], esi
test cl, 1
jne 0x1014ac35
or ecx, 1
mov dword [0x10373c54], ecx
mov dword [ebp - 4], 9
mov ecx, dword [0x10371278]
mov edx, dword [0x1037127c]
mov dword [ebp - 0x44], ecx
cmp ecx, edx
je 0x1014ac23
mov ecx, dword [ecx]
mov dword [ebp - 0x40], ecx
test ecx, ecx
je 0x1014ac16
mov ecx, dword [ecx + 0xc]
mov edi, 0x811c9dc5
mov dword [ebp - 0x54], ecx
xor edx, edx
nop dword [eax]
inc edx
cmp byte [edx + ecx], 0
jne 0x1014abe0
xor esi, esi
test edx, edx
je 0x1014ac10
nop dword [eax]
movsx ecx, byte [esi + ecx]
inc esi
xor ecx, edi
imul edi, ecx, 0x1000193
mov ecx, dword [ebp - 0x54]
cmp esi, edx
jb 0x1014abf0
cmp edi, 0x4e9f1122
je 0x1014acb8
mov edx, dword [0x1037127c]
mov ecx, dword [ebp - 0x44]
add ecx, 4
mov dword [ebp - 0x44], ecx
cmp ecx, edx
jne 0x1014abc6
xor edx, edx
mov esi, dword [ebp - 0x50]
mov dword [0x1037550c], edx
mov dword [ebp - 4], 0xffffffff
movss xmm0, dword [esi + edx]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [esi + edx + 4]
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov ecx, dword [eax + 0xac]
xor eax, eax
test ecx, ecx
movss dword [ebp - 0x34], xmm0
push edx
cmovne eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
call eax
movss xmm2, dword [ebp - 0x34]
xorps xmm4, xmm4
movss xmm1, dword [ebp - 0x28]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1014ad77
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1014ad77
movss xmm0, dword [0x102bd9b4]
xorps xmm3, xmm3
jmp 0x1014ade5
mov ecx, dword [ebp - 0x40]
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], edi
cmp dword [ecx + 4], edi
jle 0x1014ad5d
xor eax, eax
mov dword [ebp - 0x28], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x54], esi
test ecx, ecx
je 0x1014ad06
cmp dword [ecx + 4], 0
jle 0x1014ad06
push 0
mov edx, 0x53630d14
call fcn.1013bb80
add esp, 4
test eax, eax
je 0x1014ad03
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x28]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x1014ad10
xor edx, edx
test ecx, ecx
je 0x1014ad3c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1014ad20
cmp esi, 0x53630d14
je 0x1014ad64
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x44]
add eax, 0x3c
mov ecx, dword [ebp - 0x40]
inc edx
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x28], eax
cmp edx, dword [ecx + 4]
jl 0x1014acd1
mov eax, dword [0x10bbf240]
mov edx, edi
jmp 0x1014ac25
mov eax, dword [ebp - 0x54]
mov edx, dword [eax + 0x2c]
add edx, dword [ebp - 0x24]
mov eax, dword [0x10bbf240]
jmp 0x1014ac25
fld dword [ebp - 0x34]
fld dword [ebp - 0x28]
fpatan
movss xmm6, dword [0x102bd970]
movss xmm5, dword [0x102bda6c]
fstp dword [ebp - 0x54]
movss xmm3, dword [ebp - 0x54]
mulss xmm3, xmm6
comiss xmm4, xmm3
jbe 0x1014ada4
addss xmm3, xmm5
fld dword [0x102bdb18]
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.1000ded0
movss dword [ebp - 0x54], xmm0
fld dword [ebp - 0x54]
fpatan
fstp dword [ebp - 0x54]
movss xmm0, dword [ebp - 0x54]
mulss xmm0, xmm6
comiss xmm4, xmm0
movss dword [ebp - 0x38], xmm0
jbe 0x1014adea
addss xmm0, xmm5
movss dword [ebp - 0x38], xmm0
movss xmm2, dword [ebp - 0x68]
lea edx, [ebp - 0x44]
subss xmm2, xmm3
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mulss xmm2, dword [0x102bd670]
call fcn.10136d20
movss xmm2, dword [ebp - 0x38]
lea edx, [ebp - 0x40]
mulss xmm2, dword [0x102bd670]
lea ecx, [ebp - 0x54]
call fcn.10136d20
movss xmm0, dword [ebp - 0x34]
movss xmm1, dword [ebp - 0x28]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1000ded0
mov eax, dword [0x10bbf240]
movss xmm2, dword [ebp - 0x40]
add eax, 0xaff3cc8c
movss xmm1, dword [ebp - 0x44]
xor eax, 0x3743f7af
xorps xmm0, xmmword [0x102bdf90]
mulss xmm1, xmm2
mov eax, dword [eax + 0x140]
mulss xmm2, dword [ebp - 0x3c]
mulss xmm1, xmm0
mulss xmm2, xmm0
movss dword [eax + 0x24], xmm1
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
cmp dword [ebp - 0x48], 0
mov eax, dword [eax + 0x140]
movss dword [eax + 0x28], xmm2
je 0x1014aeb0
mov eax, dword [ebp - 0x4c]
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