Function at 0x1002e910
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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 0x10054678
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x168
mov eax, dword [0x100a700c]
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 - 0x114], edx
mov esi, ecx
mov edi, dword [ebx + 8]
lea eax, [ebp - 0x154]
push 0x10062574
push eax
mov dword [ebp - 0x130], edi
call fcn.10031ad0
mov edx, str.m_vecMins
mov ecx, 0x811c9dc5
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x110], eax
mov al, 0x6d
nop word [eax + eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x1002e990
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x110]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.10031880
push 0x10062574
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x164]
push eax
call fcn.10031ad0
mov edx, str.m_vecMaxs
mov ecx, 0x811c9dc5
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x10c], eax
mov al, 0x6d
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x1002e9f6
lea eax, [ebp - 0x110]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x10c]
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.10031880
push 0x10062574
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.10031ad0
mov edx, str.m_iHealth
mov ecx, 0x811c9dc5
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x108], eax
mov al, 0x6d
nop dword [eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x1002ea60
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.10031880
push 0x10062574
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [edi + eax]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x11c]
push eax
call fcn.10031ad0
mov edx, str.m_iMaxHealth
mov ecx, 0x811c9dc5
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x104], eax
mov al, 0x6d
nop dword [eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x1002ead0
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x104]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.10031880
mov ecx, dword [0x100ac5b0]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [edi + eax]
mov dword [ebp - 0x118], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100ac598]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
cmp byte [edi + 0x8f], 0
mov dword [ebp - 0x12c], eax
jne 0x1002fa8c
push 0x10062574
lea eax, [ebp - 0x138]
push eax
call fcn.10031ad0
mov edx, str.m_vecOrigin
mov ecx, 0x811c9dc5
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x104], eax
mov al, 0x6d
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x1002eb67
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x104]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.10031880
mov ecx, dword [ebp - 0x12c]
push 0x10062574
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax + ecx]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [eax + ecx + 4]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [eax + ecx + 8]
lea eax, [ebp - 0x14c]
push eax
movss dword [ebp - 0x134], xmm0
call fcn.10031ad0
mov edx, str.m_vecOrigin
mov ecx, 0x811c9dc5
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x108], eax
mov al, 0x6d
movsx eax, al
lea edx, [edx + 1]
xor eax, ecx
imul ecx, eax, 0x1000193
mov al, byte [edx]
test al, al
jne 0x1002ebf6
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebp - 0x108]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.10031880
movss xmm6, dword [0x1009f4a4]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
movss xmm0, dword [edi + eax]
subss xmm0, dword [ebp - 0x104]
movss xmm1, dword [edi + eax + 4]
subss xmm1, dword [ebp - 0x13c]
movss xmm3, dword [edi + eax + 8]
subss xmm3, dword [ebp - 0x134]
mulss xmm0, xmm0
mulss xmm1, xmm1
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
addsd xmm2, qword [0x1009f458]
mulss xmm3, xmm3
addsd xmm2, xmm0
cvtps2pd xmm0, xmm3
addsd xmm2, xmm0
cvtpd2ps xmm3, xmm2
movaps xmm1, xmm3
movaps xmm2, xmm3
mulss xmm1, xmm6
rsqrtss xmm2, xmm2
movaps xmm0, xmm2
mulss xmm0, xmm1
movss xmm1, dword [0x1009f4e4]
mulss xmm0, xmm2
mulss xmm2, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x100a78f8]
cvtps2pd xmm0, xmm0
mulss xmm1, xmm2
cvtps2pd xmm1, xmm1
comisd xmm1, xmm0
ja 0x1002fa8c
mov eax, dword [ebp - 0x128]
mov ecx, 8
movss xmm0, dword [edi + eax + 8]
movss xmm3, dword [edi + eax]
movss xmm4, dword [edi + eax + 4]
mov eax, dword [ebp - 0x124]
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x58], xmm0
movss xmm1, dword [edi + eax + 4]
movss xmm2, dword [edi + eax]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [edi + eax + 8]
lea eax, [ebp - 0xb8]
movss dword [ebp - 0x78], xmm3
movss dword [ebp - 0x74], xmm4
movss dword [ebp - 0x6c], xmm3
movss dword [ebp - 0x68], xmm1
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x54], xmm2
movss dword [ebp - 0x50], xmm4
movss dword [ebp - 0x48], xmm2
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x2c], xmm4
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x1c], xmm0
nop
mov dword [eax + 4], 0
lea eax, [eax + 8]
mov dword [eax - 8], 0
sub ecx, 1
jne 0x1002ed80
movss xmm7, dword [edi + 0x310]
lea eax, [ebp - 0x70]
mov ecx, 8
nop word [eax + eax]
movss xmm1, dword [edi + 0x30c]
mulss xmm1, dword [eax - 4]
movss xmm0, dword [edi + 0x308]
mulss xmm0, dword [eax - 8]
movss xmm5, dword [eax]
movss xmm4, dword [edi + 0x314]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm5
addss xmm1, xmm0
movss xmm0, dword [edi + 0x31c]
addss xmm4, xmm1
movss xmm1, dword [edi + 0x324]
movss dword [eax - 8], xmm4
movaps xmm2, xmm4
mulss xmm0, dword [eax - 4]
mulss xmm2, dword [edi + 0x318]
mulss xmm4, dword [edi + 0x328]
addss xmm2, xmm0
movss xmm0, dword [edi + 0x320]
mulss xmm0, xmm5
addss xmm2, xmm0
movss xmm0, dword [edi + 0x32c]
addss xmm1, xmm2
mulss xmm0, xmm1
movss dword [eax - 4], xmm1
addss xmm4, xmm0
movss xmm0, dword [edi + 0x330]
mulss xmm0, xmm5
addss xmm4, xmm0
movss xmm0, dword [edi + 0x334]
addss xmm0, xmm4
movss dword [eax], xmm0
add eax, 0xc
sub ecx, 1
jne 0x1002edb0
movss xmm7, dword [esi + 0x3c]
lea eax, [ebp - 0x70]
mov edx, dword [ebp - 0x114]
nop dword [eax]
movss xmm0, dword [esi + 0x34]
movss xmm3, dword [eax - 4]
movss xmm4, dword [eax - 8]
movss xmm2, dword [esi + 0x30]
movss xmm5, dword [eax]
mulss xmm0, xmm3
mulss xmm2, xmm4
addss xmm2, xmm0
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm5
addss xmm2, xmm0
movss xmm0, dword [0x1009f478]
addss xmm2, xmm7
comiss xmm0, xmm2
ja 0x1002fa8c
movss xmm1, dword [0x1009f4d4]
movaps xmm0, xmm4
mulss xmm0, dword [esi]
add eax, 0xc
mulss xmm4, dword [esi + 0x10]
divss xmm1, xmm2
movaps xmm2, xmm3
mulss xmm3, dword [esi + 0x14]
mulss xmm2, dword [esi + 4]
addss xmm3, xmm4
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 8]
mulss xmm5, dword [esi + 0x18]
addss xmm2, xmm0
movss xmm0, dword [edx]
addss xmm3, xmm5
addss xmm2, dword [esi + 0xc]
addss xmm3, dword [esi + 0x1c]
mulss xmm2, xmm1
mulss xmm3, xmm1
movss xmm1, dword [edx + 4]
mulss xmm2, xmm6
mulss xmm3, xmm6
mulss xmm2, xmm0
mulss xmm3, dword [edx + 4]
addss xmm2, xmm6
mulss xmm0, xmm6
addss xmm3, xmm6
mulss xmm1, xmm6
addss xmm2, xmm0
subss xmm1, xmm3
movss dword [ebp + ecx*8 - 0xb8], xmm2
movss dword [ebp + ecx*8 - 0xb4], xmm1
inc ecx
cmp ecx, 8
jb 0x1002ee80
movss xmm1, dword [ebp - 0xb8]
lea eax, [ebp - 0xb8]
movss xmm4, dword [ebp - 0xb4]
movaps xmm5, xmm1
movaps xmm3, xmm4
nop word [eax + eax]
movss xmm2, dword [eax]
lea ecx, [ebp - 0x78]
movaps xmm0, xmm2
maxss xmm2, xmm5
minss xmm0, xmm1
movaps xmm5, xmm2
movaps xmm1, xmm0
movss dword [ebp - 0x104], xmm1
movss xmm1, dword [eax + 4]
add eax, 8
movaps xmm0, xmm1
maxss xmm1, xmm4
minss xmm0, xmm3
movaps xmm4, xmm1
movss xmm1, dword [ebp - 0x104]
movaps xmm3, xmm0
cmp eax, ecx
jne 0x1002ef90
cmp byte [0x100a8c6e], 0
mov edi, dword [ebp - 0x10c]
movss dword [ebp - 0x120], xmm5
movss dword [ebp - 0x110], xmm4
movss dword [ebp - 0x108], xmm3
je 0x1002f173
movd xmm0, dword [ebp - 0x118]
lea eax, [ebp - 0x118]
movd xmm2, edi
lea esi, [ebp - 0x114]
cvtdq2ps xmm2, xmm2
push 0xff000000
mov dword [ebp - 0x114], 0x3f800000
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
mulss xmm2, dword [0x1009f50c]
divss xmm1, xmm0
cvttss2si ecx, xmm2
comiss xmm1, dword [0x1009f4d4]
mov dword [ebp - 0x124], ecx
movss dword [ebp - 0x118], xmm1
cmovbe esi, eax
mov eax, 0xff
sub eax, ecx
mov ecx, dword [0x100ac5b4]
mov dword [ebp - 0x128], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100ac5b4]
movss xmm0, dword [ebp - 0x110]
addss xmm0, dword [0x1009f4d4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [0x1009f504]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [0x1009f4d4]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [0x1009f530]
push eax
cvttss2si eax, xmm0
push eax
call edx
test edi, edi
jle 0x1002f16b
mov ecx, dword [0x100ac5b4]
mov eax, dword [ecx]
mov edi, dword [eax + 0x28]
mov eax, dword [ebp - 0x124]
movzx edx, al
mov eax, dword [ebp - 0x128]
or edx, 0xffff0000
shl edx, 8
movzx eax, al
or edx, eax
push edx
call edi
movss xmm2, dword [ebp - 0x108]
mov ecx, dword [0x100ac5b4]
movaps xmm1, xmm2
subss xmm1, dword [ebp - 0x110]
movaps xmm0, xmm2
mov eax, dword [ecx]
mulss xmm1, dword [esi]
mov edx, dword [eax + 0x30]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [0x1009f51c]
push eax
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [0x1009f528]
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm0
push eax
call edx
mov edi, dword [ebp - 0x10c]
movss xmm3, dword [ebp - 0x108]
cmp byte [0x100a8c6f], 0
je 0x1002f341
mov edx, edi
lea ecx, [ebp - 0xd0]
call fcn.10030b70
movd xmm0, edi
mov eax, 0xff
mov dword [ebp - 4], 0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1009f50c]
cvttss2si ecx, xmm0
sub eax, ecx
mov dword [ebp - 0x114], ecx
cmp dword [ebp - 0xbc], 0x10
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x124], eax
cmovae ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
add eax, ecx
cmp dword [ebp - 0xbc], 0x10
lea ecx, [ebp - 0xd0]
cmovae ecx, dword [ebp - 0xd0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0xe8]
call fcn.10030d10
mov edx, eax
mov byte [ebp - 4], 1
cmp dword [edx + 0x14], 8
jb 0x1002f206
mov edx, dword [edx]
mov ecx, dword [0x100ac5b4]
lea esi, [ebp - 0x128]
push esi
lea esi, [ebp - 0x118]
push esi
mov eax, dword [ecx]
push edx
push dword [0x100a8c60]
mov eax, dword [eax + 0x130]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xd4]
cmp ecx, 8
jb 0x1002f26f
mov edx, dword [ebp - 0xe8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f265
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002faac
push ecx
push edx
call fcn.100329b9
add esp, 8
movd xmm0, dword [ebp - 0x118]
lea eax, [ebp - 0xd0]
movss xmm1, dword [ebp - 0x104]
cmp dword [ebp - 0xbc], 0x10
cvttss2si esi, dword [ebp - 0x108]
cmovae eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0x114]
movzx ecx, al
mov eax, dword [ebp - 0x124]
or ecx, 0xffff0000
movzx eax, al
shl ecx, 8
cvtdq2ps xmm0, xmm0
or ecx, eax
mov dword [ebp - 0x10c], esi
push ecx
push esi
subss xmm1, xmm0
subss xmm1, dword [0x1009f544]
cvttss2si eax, xmm1
push eax
push dword [0x100a8c60]
call fcn.1002e800
mov dword [ebp - 4], 0xffffffff
add esp, 0x14
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x1002f324
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f31a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fab1
push ecx
push edx
call fcn.100329b9
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
jmp 0x1002f34b
cvttss2si eax, xmm3
mov dword [ebp - 0x10c], eax
mov ecx, dword [0x100ac5b0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100ac598]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
mov ecx, eax
call edx
cmp byte [0x100a8c7a], 0
movss xmm1, dword [0x1009f57c]
je 0x1002f475
movss xmm0, dword [0x100a78f0]
mov ecx, dword [0x100ac5b4]
mulss xmm0, xmm1
cvttss2si edi, dword [ebp - 0x110]
cvttss2si edx, xmm0
movss xmm0, dword [0x100a78ec]
mulss xmm0, xmm1
movzx edx, dl
or edx, 0xffffff00
shl edx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x100a78e8]
mov dword [ebp - 0x118], eax
mov eax, dword [ecx]
mulss xmm0, xmm1
mov esi, dword [eax + 0x28]
mov eax, dword [ebp - 0x118]
movzx eax, al
or edx, eax
cvttss2si eax, xmm0
shl edx, 8
movzx eax, al
or edx, eax
push edx
call esi
cvttss2si esi, dword [ebp - 0x120]
mov ecx, dword [0x100ac5b4]
push edi
mov eax, dword [ecx]
cvttss2si edx, dword [ebp - 0x104]
mov eax, dword [eax + 0x38]
push esi
push dword [ebp - 0x10c]
push edx
call eax
mov ecx, dword [0x100ac5b4]
push 0xff000000
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100ac5b4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
lea eax, [edi + 1]
push eax
lea eax, [esi + 1]
push eax
mov eax, dword [ebp - 0x10c]
dec eax
push eax
cvttss2si eax, dword [ebp - 0x104]
dec eax
push eax
call edx
mov ecx, dword [0x100ac5b4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
lea eax, [edi - 1]
push eax
lea eax, [esi - 1]
push eax
mov eax, dword [ebp - 0x10c]
inc eax
push eax
cvttss2si eax, dword [ebp - 0x104]
inc eax
push eax
call edx
cmp byte [0x100a8c79], 0
je 0x1002f801
mov ecx, dword [0x100ac5a4]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
test edi, edi
jne 0x1002f4bf
xorps xmm0, xmm0
xor edx, edx
mov esi, 0xf
mov dword [ebp - 0xc0], edx
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xbc], esi
mov byte [ebp - 0xd0], dl
jmp 0x1002f58e
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x98]
mov eax, dword [edi]
mov ecx, edi
push str.Entity
push 0xffffffffffffffff
call dword [eax + 0x10]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x130]
add ecx, 8
mov esi, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
sub esp, 8
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009f9c0]
movsd qword [esp], xmm0
call esi
mov eax, dword [edi]
mov ecx, edi
push 1
push 1
call dword [eax + 0x28]
mov eax, dword [edi]
mov ecx, edi
push str.Name
push 0xffffffffffffffff
call dword [eax + 0x10]
mov eax, dword [edi]
mov ecx, edi
push 0xfffffffffffffffe
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push 1
push 1
call dword [eax + 0x28]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0xffffffffffffffff
mov eax, dword [eax + 0x5c]
call eax
push eax
lea ecx, [ebp - 0x100]
call fcn.10030930
mov dword [ebp - 4], 2
mov ecx, edi
mov eax, dword [edi]
push 3
call dword [eax + 8]
movups xmm0, xmmword [ebp - 0x100]
movups xmmword [ebp - 0xd0], xmm0
movq xmm0, qword [ebp - 0xf0]
movq qword [ebp - 0xc0], xmm0
mov esi, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
cmp esi, 0x10
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0xd0]
lea eax, [ebp - 0xd0]
cmovae eax, ecx
add eax, edx
lea edx, [ebp - 0xd0]
push ecx
cmp esi, 0x10
push eax
cmovae edx, ecx
lea ecx, [ebp - 0xe8]
push edx
call fcn.10030d10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 0x10
mov eax, dword [ebp - 0xc0]
cmovae ecx, dword [ebp - 0xd0]
add eax, ecx
cmp dword [ebp - 0xbc], 0x10
lea ecx, [ebp - 0xd0]
cmovae ecx, dword [ebp - 0xd0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x100]
call fcn.10030d10
mov edx, eax
mov byte [ebp - 4], 5
cmp dword [edx + 0x14], 8
jb 0x1002f613
mov edx, dword [edx]
mov ecx, dword [0x100ac5b4]
lea esi, [ebp - 0x114]
push esi
lea esi, [ebp - 0x118]
push esi
mov eax, dword [ecx]
push edx
push dword [0x100a8c60]
mov eax, dword [eax + 0x130]
call eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xec]
cmp ecx, 8
jb 0x1002f67c
mov edx, dword [ebp - 0x100]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f672
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fab6
push ecx
push edx
call fcn.100329b9
add esp, 8
movss xmm2, dword [ebp - 0x120]
lea esi, [ebp - 0xd0]
subss xmm2, dword [ebp - 0x104]
movd xmm0, dword [ebp - 0x118]
movss xmm1, dword [ebp - 0x108]
cvtdq2ps xmm0, xmm0
cmp dword [ebp - 0xbc], 0x10
cmovae esi, dword [ebp - 0xd0]
push esi
mulss xmm2, dword [0x1009f4a4]
mulss xmm0, dword [0x1009f4a4]
addss xmm2, dword [ebp - 0x104]
movss xmm3, dword [0x1009f57c]
cvtps2pd xmm1, xmm1
subss xmm2, xmm0
movd xmm0, dword [ebp - 0x114]
cvtdq2pd xmm0, xmm0
subss xmm2, dword [0x1009f4d4]
mulsd xmm0, qword [0x1009f4e8]
subsd xmm1, xmm0
movss xmm0, dword [0x100a78e4]
mulss xmm0, xmm3
cvttss2si ecx, xmm0
movss xmm0, dword [0x100a78e0]
mulss xmm0, xmm3
movzx ecx, cl
or ecx, 0xffffff00
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x100a78dc]
mulss xmm0, xmm3
movzx eax, al
or ecx, eax
cvtpd2ps xmm1, xmm1
shl ecx, 8
cvttss2si edx, xmm0
movzx eax, dl
or ecx, eax
cvttss2si eax, xmm1
push ecx
push eax
cvttss2si eax, xmm2
push eax
push dword [0x100a8c60]
call fcn.1002e800
mov byte [ebp - 4], 3
add esp, 0x14
mov ecx, dword [ebp - 0xd4]
cmp ecx, 8
jb 0x1002f7a5
mov edx, dword [ebp - 0xe8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f79b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fabb
push ecx
push edx
call fcn.100329b9
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x1002f7e6
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f7dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fabb
push ecx
push edx
call fcn.100329b9
add esp, 8
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
cmp byte [0x100a8c78], 0
je 0x1002fa8c
mov ecx, dword [0x100ac5a4]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov edi, eax
test edi, edi
jne 0x1002f84b
xorps xmm0, xmm0
xor edx, edx
mov esi, 0xf
mov dword [ebp - 0xd8], edx
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xd4], esi
mov byte [ebp - 0xe8], dl
jmp 0x1002f91a
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x98]
mov eax, dword [edi]
mov ecx, edi
push str.Entity
push 0xffffffffffffffff
call dword [eax + 0x10]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x130]
add ecx, 8
mov esi, dword [eax + 0x78]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
sub esp, 8
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1009f9c0]
movsd qword [esp], xmm0
call esi
mov eax, dword [edi]
mov ecx, edi
push 1
push 1
call dword [eax + 0x28]
mov eax, dword [edi]
mov ecx, edi
push str.GetUserGroup
push 0xffffffffffffffff
call dword [eax + 0x10]
mov eax, dword [edi]
mov ecx, edi
push 0xfffffffffffffffe
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
push 1
push 1
call dword [eax + 0x28]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0xffffffffffffffff
mov eax, dword [eax + 0x5c]
call eax
push eax
lea ecx, [ebp - 0x100]
call fcn.10030930
mov dword [ebp - 4], 6
mov ecx, edi
mov eax, dword [edi]
push 3
call dword [eax + 8]
movups xmm0, xmmword [ebp - 0x100]
movups xmmword [ebp - 0xe8], xmm0
movq xmm0, qword [ebp - 0xf0]
movq qword [ebp - 0xd8], xmm0
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
cmp esi, 0x10
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0xe8]
cmovae eax, ecx
add eax, edx
lea edx, [ebp - 0xe8]
push ecx
cmp esi, 0x10
push eax
cmovae edx, ecx
lea ecx, [ebp - 0x100]
push edx
call fcn.10030d10
mov edx, eax
mov byte [ebp - 4], 8
cmp dword [edx + 0x14], 8
jb 0x1002f95d
mov edx, dword [edx]
mov ecx, dword [0x100ac5b4]
lea esi, [ebp - 0x140]
push esi
lea esi, [ebp - 0x144]
push esi
mov eax, dword [ecx]
push edx
push dword [0x100a8c60]
mov eax, dword [eax + 0x130]
call eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xec]
cmp ecx, 8
jb 0x1002f9c6
mov edx, dword [ebp - 0x100]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f9bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fac0
push ecx
push edx
call fcn.100329b9
add esp, 8
movss xmm2, dword [0x1009f57c]
lea eax, [ebp - 0xe8]
movss xmm0, dword [0x100a78d8]
cmp dword [ebp - 0xd4], 0x10
mulss xmm0, xmm2
cmovae eax, dword [ebp - 0xe8]
push eax
movss xmm1, dword [ebp - 0x120]
cvttss2si eax, xmm0
movss xmm0, dword [0x100a78d4]
addss xmm1, dword [0x1009f544]
mulss xmm0, xmm2
movzx ecx, al
or ecx, 0xffffff00
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [0x100a78d0]
movzx eax, al
or ecx, eax
mulss xmm0, xmm2
shl ecx, 8
cvttss2si eax, xmm0
movzx eax, al
or ecx, eax
cvttss2si eax, xmm1
push ecx
push dword [ebp - 0x10c]
push eax
push dword [0x100a8c60]
call fcn.1002e800
mov ecx, dword [ebp - 0xd4]
add esp, 0x14
cmp ecx, 0x10
jb 0x1002fa8c
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002fa82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fac5
push ecx
push edx
call fcn.100329b9
add esp, 8
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.10032397
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.10042651
call fcn.10042651
call fcn.10042651
call fcn.10042651
call fcn.10042651
call fcn.10042651
int3