Function at 0x10020630
Capabilities:
Check for peb beingdebugged flag

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 0x100775ac
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x178
mov eax, dword [0x1008f040]
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 - 0x138], ecx
mov esi, dword [ebx + 8]
mov dword [ebp - 0x140], esi
test esi, esi
je 0x10021ca8
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [ebp - 0x13c], ecx
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x10021ca8
mov ecx, dword [0x100900d8]
mov eax, dword fs:[0x2c]
mov edi, dword [eax + ecx*4]
mov ecx, dword [0x100900fc]
cmp ecx, dword [edi + 4]
jle 0x1002070b
push 0x100900fc
call fcn.10074b0a
mov ecx, dword [0x100900fc]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1002070b
push str.m_vecOrigin
push str.CBaseEntity
mov dword [ebp - 4], 0
call fcn.10070660
push 0x100900fc
mov dword [0x10090124], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
mov ecx, dword [0x100900fc]
add esp, 4
mov eax, dword [0x100917dc]
add esi, dword [0x10090124]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x78], eax
cmp ecx, dword [edi + 4]
jle 0x10020769
push 0x100900fc
call fcn.10074b0a
add esp, 4
cmp dword [0x100900fc], 0xffffffff
jne 0x10020769
push str.m_vecOrigin
push str.CBaseEntity
mov dword [ebp - 4], 1
call fcn.10070660
push 0x100900fc
mov dword [0x10090124], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov eax, dword [0x10090124]
lea ecx, [ebp - 0x84]
mov edx, dword [ebp - 0x78]
push esi
lea edx, [edx + eax]
call fcn.1000f550
mov eax, dword [0x100917dc]
lea edx, [ebp - 0x188]
add esp, 4
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x4c]
call eax
movss xmm0, dword [ebp - 0x188]
lea eax, [ebp - 0x150]
movss xmm1, dword [0x100855f4]
mulss xmm0, xmm1
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x128], eax
movss dword [ebp - 0x78], xmm0
fld dword [ebp - 0x78]
fsincos
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ebp - 0x184]
lea eax, [ebp - 0x154]
mulss xmm0, xmm1
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x128], eax
movss dword [ebp - 0x78], xmm0
fld dword [ebp - 0x78]
fsincos
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ebp - 0x84]
lea eax, [ebp - 0x150]
movss xmm6, dword [ebp - 0x154]
movss xmm5, dword [ebp - 0x14c]
mulss xmm6, dword [ebp - 0x150]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x15c]
mulss xmm5, dword [ebp - 0x150]
mov dword [ebp - 0x128], eax
mulss xmm0, xmm1
movss dword [ebp - 0x78], xmm0
fld dword [ebp - 0x78]
fsincos
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
fstp dword [edx]
fstp dword [eax]
movss xmm0, dword [ebp - 0x80]
lea eax, [ebp - 0x154]
mulss xmm0, xmm1
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x128], eax
movss dword [ebp - 0x78], xmm0
fld dword [ebp - 0x78]
fsincos
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
fstp dword [edx]
fstp dword [eax]
movss xmm3, dword [ebp - 0x14c]
mulss xmm3, dword [ebp - 0x150]
movss xmm4, dword [ebp - 0x154]
mulss xmm4, dword [ebp - 0x150]
movaps xmm1, xmm3
mulss xmm3, xmm6
mulss xmm1, xmm5
movaps xmm2, xmm4
mulss xmm5, xmm4
mulss xmm2, xmm6
subss xmm3, xmm5
addss xmm1, xmm2
movaps xmm0, xmm3
call fcn.1001b8e0
mov eax, dword [0x100917fc]
movaps xmm2, xmm0
xorps xmm2, xmmword [0x10085870]
movss xmm0, dword [0x10085654]
mov esi, dword [0x100917dc]
mov edi, dword [eax + 0xb4]
test edi, edi
je 0x10020965
movd xmm1, dword [esi + 0x1d0]
movd xmm0, dword [esi + 0x1d4]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x144], xmm1
jmp 0x1002096d
movss dword [ebp - 0x144], xmm0
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, dword [esi + 0x1d0]
cvtss2sd xmm1, xmm2
mulss xmm0, dword [eax + 0xb0]
subsd xmm1, qword [0x10085670]
movss dword [ebp - 0x12c], xmm0
movaps xmm0, xmm1
movsd qword [ebp - 0x160], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm1, dword [ebp - 0x12c]
mulss xmm1, dword [ebp - 0x144]
addss xmm1, dword [0x100856bc]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x160]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x12c]
addss xmm1, dword [0x100856bc]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x124], xmm0
test edi, edi
je 0x10020a27
movd xmm0, dword [esi + 0x1d4]
movd xmm1, dword [esi + 0x1d0]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
movss dword [ebp - 0x144], xmm1
jmp 0x10020a37
movss xmm0, dword [0x10085654]
movss dword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x160]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
movss xmm1, dword [ebp - 0x12c]
mulss xmm1, dword [ebp - 0x144]
addss xmm1, dword [0x100856d4]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x160]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [ebp - 0x12c]
sub esp, 8
addss xmm1, dword [0x100856d4]
movss xmm2, dword [ebp - 0x130]
subss xmm2, dword [ebp - 0x78]
cvtps2pd xmm1, xmm1
movss dword [ebp - 0x128], xmm2
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x134], xmm0
subss xmm0, dword [ebp - 0x124]
movaps xmm1, xmm0
movss dword [ebp - 0x124], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.1000f4f0
movss xmm0, dword [0x10085660]
fstp dword [ebp - 0x78]
call fcn.1000ece0
movss xmm1, dword [ebp - 0x78]
movss xmm2, dword [0x100856e8]
mulss xmm0, xmm1
movaps xmm5, xmm2
mov edi, dword [0x100917dc]
movss xmm4, dword [ebp - 0x128]
addss xmm1, xmm1
movss xmm3, dword [ebp - 0x124]
divss xmm5, xmm0
divss xmm2, xmm1
movaps xmm6, xmm5
mulss xmm5, xmm3
xorps xmm3, xmmword [0x10085870]
movaps xmm0, xmm2
mulss xmm6, xmm4
mulss xmm5, dword [0x100857e0]
mulss xmm6, dword [0x100857e0]
addss xmm5, dword [ebp - 0x134]
mulss xmm0, xmm3
addss xmm6, dword [ebp - 0x130]
mulss xmm4, xmm2
movd xmm2, dword [edi + 0x1d0]
movaps xmm3, xmm0
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm6
movss dword [ebp - 0x16c], xmm6
subss xmm1, xmm0
mulss xmm2, dword [0x10085644]
movaps xmm7, xmm4
movss dword [ebp - 0x178], xmm5
addss xmm7, xmm5
movaps xmm0, xmm5
addss xmm3, xmm6
movss dword [ebp - 0x148], xmm2
movss dword [ebp - 0x168], xmm1
subss xmm0, xmm4
movd xmm1, dword [edi + 0x1d4]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x144], xmm0
addss xmm3, xmm2
mulss xmm1, dword [0x10085644]
addss xmm7, xmm1
movss dword [ebp - 0x12c], xmm1
cvttss2si eax, xmm7
movss dword [ebp - 0x15c], xmm7
mov dword [ebp - 0x14c], eax
mov edi, dword [edi + 0x68]
cvttss2si eax, xmm3
movss dword [ebp - 0x164], xmm3
mov dword [ebp - 0x150], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov edx, eax
shr ecx, 0x18
shr edx, 0x10
push ecx
movzx edx, dl
mov ecx, edi
push edx
mov edx, eax
movzx eax, al
shr edx, 8
movzx edx, dl
push edx
push eax
call esi
movss xmm0, dword [ebp - 0x12c]
addss xmm0, dword [ebp - 0x134]
mov eax, dword [0x100917dc]
mov ecx, dword [eax + 0x68]
cvttss2si esi, xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x148]
addss xmm0, dword [ebp - 0x130]
push esi
mov dword [ebp - 0x170], esi
cvttss2si edx, xmm0
movss dword [ebp - 0x124], xmm0
push edx
push dword [ebp - 0x14c]
mov dword [ebp - 0x174], edx
push dword [ebp - 0x150]
call eax
movss xmm0, dword [ebp - 0x144]
addss xmm0, dword [ebp - 0x12c]
cvttss2si eax, xmm0
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x148]
mov dword [ebp - 0x154], eax
cvttss2si eax, xmm0
movss dword [ebp - 0x168], xmm0
mov dword [ebp - 0x128], eax
mov eax, dword [0x100917dc]
mov edi, dword [eax + 0x68]
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov edx, eax
shr ecx, 0x18
shr edx, 0x10
push ecx
movzx edx, dl
mov ecx, edi
push edx
mov edx, eax
movzx eax, al
shr edx, 8
movzx edx, dl
push edx
push eax
call esi
mov eax, dword [0x100917dc]
push dword [ebp - 0x170]
push dword [ebp - 0x174]
mov ecx, dword [eax + 0x68]
push dword [ebp - 0x154]
push dword [ebp - 0x128]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
movss xmm2, dword [ebp - 0x134]
subss xmm2, dword [ebp - 0x178]
mulss xmm2, dword [0x1008563c]
addss xmm2, dword [ebp - 0x178]
addss xmm2, dword [ebp - 0x12c]
cvttss2si eax, xmm2
movss dword [ebp - 0x134], xmm2
movss xmm2, dword [ebp - 0x130]
subss xmm2, dword [ebp - 0x16c]
mov dword [ebp - 0x12c], eax
mulss xmm2, dword [0x1008563c]
addss xmm2, dword [ebp - 0x16c]
addss xmm2, dword [ebp - 0x148]
cvttss2si eax, xmm2
movss dword [ebp - 0x130], xmm2
mov dword [ebp - 0x148], eax
mov eax, dword [0x100917dc]
mov edi, dword [eax + 0x68]
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov edx, eax
shr ecx, 0x18
shr edx, 0x10
push ecx
movzx edx, dl
mov ecx, edi
push edx
mov edx, eax
movzx eax, al
shr edx, 8
movzx edx, dl
push edx
push eax
call esi
mov eax, dword [0x100917dc]
push dword [ebp - 0x12c]
push dword [ebp - 0x148]
mov ecx, dword [eax + 0x68]
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
mov eax, dword [0x100917dc]
mov edi, dword [eax + 0x68]
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
mov eax, dword [ebx + 0xc]
mov ecx, eax
mov edx, eax
shr ecx, 0x18
shr edx, 0x10
push ecx
movzx edx, dl
mov ecx, edi
push edx
mov edx, eax
movzx eax, al
shr edx, 8
movzx edx, dl
push edx
push eax
call esi
mov eax, dword [0x100917dc]
push dword [ebp - 0x12c]
push dword [ebp - 0x148]
mov ecx, dword [eax + 0x68]
push dword [ebp - 0x154]
push dword [ebp - 0x128]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
mov ecx, 3
lea eax, [ebp - 0x40]
nop dword [eax]
mov dword [eax - 4], 0
lea eax, [eax + 0x10]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
mov dword [eax - 8], 0
sub ecx, 1
jne 0x10020e60
movss xmm0, dword [ebp - 0x124]
mov eax, dword [ebx + 0xc]
movzx edx, byte [ebx + 0xe]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x164]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
movzx ecx, ah
movzx eax, al
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x15c]
mov byte [ebp - 0x12c], al
lea eax, [ebp - 0x12c]
push eax
movss dword [ebp - 0x30], xmm0
lea eax, [ebp - 0x44]
movss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x134]
push eax
push ecx
movss dword [ebp - 0x20], xmm0
mov byte [ebp - 0x12b], cl
mov byte [ebp - 0x12a], dl
mov byte [ebp - 0x129], 0x3c
call fcn.1001bc40
mov ecx, 3
lea eax, [ebp - 0x70]
mov dword [eax - 4], 0
lea eax, [eax + 0x10]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
mov dword [eax - 8], 0
sub ecx, 1
jne 0x10020f20
movss xmm0, dword [ebp - 0x124]
mov eax, dword [ebx + 0xc]
movzx edx, byte [ebx + 0xe]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x168]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ecx
movzx ecx, ah
movzx eax, al
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x144]
mov byte [ebp - 0x12c], al
lea eax, [ebp - 0x12c]
push eax
movss dword [ebp - 0x60], xmm0
lea eax, [ebp - 0x74]
movss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0x134]
push eax
push ecx
movss dword [ebp - 0x50], xmm0
mov byte [ebp - 0x12b], cl
mov byte [ebp - 0x12a], dl
mov byte [ebp - 0x129], 0x3c
call fcn.1001bc40
mov eax, dword [0x100917fc]
cmp byte [eax + 0xb8], 0
je 0x10021ca8
cmp byte [eax + 0x9b], 0
je 0x10021572
push 0x84
lea eax, [ebp - 0x120]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x100917dc]
add esp, 0xc
mov ecx, dword [ebp - 0x13c]
mov esi, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [esi]
lea ecx, [ebp - 0x120]
push ecx
push eax
mov ecx, esi
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x10021572
mov edx, dword fs:[0x2c]
mov esi, dword [0x100900d8]
mov eax, dword [0x10091ac4]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x1002109d
push 0x10091ac4
call fcn.10074b0a
add esp, 4
cmp dword [0x10091ac4], 0xffffffff
jne 0x1002109d
mov edx, str.55_8B_EC_81_EC_________E8_________85_C0_74_7E_8B_4D_08_85_C9_74_77_A1_________83_78_08_00_74_6C_83_78_0C_00_74_66_A1_________83_C1_08_56_8B_30_8D_85_________50_8B_01
mov dword [ebp - 4], 2
mov ecx, str.client.dll
call fcn.1001b3d0
push 0x10091ac4
mov dword [0x10091ad0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov edi, dword [ebp - 0x140]
push edi
call dword [0x10091ad0]
test al, al
je 0x100210bf
mov dword [ebp - 0x12c], 0xffffc800
push str.Friend
jmp 0x10021109
mov ecx, dword [ebp - 0xd8]
call fcn.10074090
test al, al
je 0x100210df
mov dword [ebp - 0x12c], 0xff3232ff
push str.Cheater
jmp 0x10021109
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, dword [0x1009180c]
mov eax, dword [eax + 0x24]
call eax
imul eax, eax, 0x4c
cmp byte [eax + esi + 0x10], 0
je 0x10021155
mov dword [ebp - 0x12c], 0xff3278c8
push str.Suspicious
movss xmm0, dword [ebp - 0x134]
lea ecx, [ebp - 0x12c]
subss xmm0, dword [0x10085710]
mov eax, dword [0x100917dc]
push ecx
push dword [eax + 0xd8]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
add esp, 0x1c
mov eax, dword [ebp - 0xd8]
movss xmm1, dword [0x100856ec]
cmp eax, 0x42552608
jne 0x100211cf
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
push str._GH__AscendedSION
push eax
mov eax, dword [0x100917dc]
subss xmm0, xmm1
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
movss xmm1, dword [0x100856ec]
cmp eax, 0x1191559f
jne 0x10021233
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
push str.Recon
push eax
mov eax, dword [0x100917dc]
subss xmm0, xmm1
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
cmp eax, 0x1a5a8094
jne 0x1002129b
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
subss xmm0, dword [0x100856ec]
push str._GH__South
push eax
mov eax, dword [0x100917dc]
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
cmp eax, 0x1113db42
jne 0x10021303
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
subss xmm0, dword [0x100856ec]
push str._GH__Dust
push eax
mov eax, dword [0x100917dc]
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
cmp eax, 0x468f7eab
jne 0x1002136b
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
subss xmm0, dword [0x100856ec]
push str.N1kolas
push eax
mov eax, dword [0x100917dc]
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
cmp eax, 0x46c69406
jne 0x100213d3
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
subss xmm0, dword [0x100856ec]
push str.Bo_Willy
push eax
mov eax, dword [0x100917dc]
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
mov eax, dword [ebp - 0xd8]
add esp, 0x1c
cmp eax, 0x439286cb
jne 0x1002143a
movss xmm0, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
subss xmm0, dword [0x100856ec]
push str.Ghostly
push eax
mov eax, dword [0x100917dc]
mov dword [ebp - 0x12c], 0xffffffff
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.100109e0
add esp, 0x1c
jmp 0x10021578
lea ecx, [ebp - 0x120]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10021443
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x120]
push 0
push 0
sub ecx, edx
push ecx
push eax
push 0
push 0xfde9
mov dword [ebp - 0x13c], ecx
call edi
mov esi, eax
mov dword [ebp - 0x80], 0
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
push ecx
lea ecx, [ebp - 0x90]
movups xmmword [ebp - 0x90], xmm0
call fcn.10021f50
cmp dword [ebp - 0x7c], 7
lea eax, [ebp - 0x90]
push esi
cmova eax, dword [ebp - 0x90]
push eax
push dword [ebp - 0x13c]
lea eax, [ebp - 0x120]
push eax
push 0
push 0xfde9
call edi
movss xmm0, dword [ebp - 0x134]
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 3
cmp dword [ebp - 0x7c], 7
subss xmm0, dword [0x100856ec]
cmova ecx, dword [ebp - 0x90]
mov eax, dword [0x100917dc]
push ecx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0xffffffff
push ecx
push dword [eax + 0x128]
cvttss2si eax, xmm0
push 2
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [0x10085654]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.10010e00
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x7c]
cmp ecx, 7
jbe 0x10021572
mov edx, dword [ebp - 0x90]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10021568
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10021568
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10074fd2
add esp, 8
mov edi, dword [ebp - 0x140]
mov eax, dword [0x100917fc]
cmp byte [eax + 0x9e], 0
je 0x10021c3d
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [ebp - 0x138]
xorps xmm0, xmm0
comiss xmm0, dword [esi + eax*4]
ja 0x100215da
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [edi]
mov esi, eax
mov edx, dword [ecx + 0x1ac]
mov ecx, edi
call edx
mov ecx, dword [ebp - 0x138]
movd xmm1, eax
movss xmm0, dword [ecx + esi*4]
mov esi, ecx
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x10021668
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100900d8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10090160]
cmp eax, dword [ecx + 4]
jle 0x1002163b
push 0x10090160
call fcn.10074b0a
add esp, 4
cmp dword [0x10090160], 0xffffffff
jne 0x1002163b
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 4
call fcn.10070660
push 0x10090160
mov dword [0x10090144], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov eax, dword [0x10090144]
lea ecx, [edi + 8]
movd xmm0, dword [edi + eax]
mov eax, dword [edi + 8]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x24]
movss dword [ebp - 0x13c], xmm0
call eax
movss xmm0, dword [ebp - 0x13c]
movss dword [esi + eax*4], xmm0
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x100900d8]
mov edx, dword [0x10090160]
mov dword [ebp - 0x12c], eax
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
cmp edx, dword [eax + 4]
jle 0x100216e3
push 0x10090160
call fcn.10074b0a
mov edx, dword [0x10090160]
add esp, 4
cmp edx, 0xffffffff
jne 0x100216e3
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 5
call fcn.10070660
push 0x10090160
mov dword [0x10090144], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
mov edx, dword [0x10090160]
add esp, 4
mov eax, dword [0x10090144]
mov ecx, dword [ebp - 0x12c]
movd xmm1, dword [edi + eax]
movss xmm0, dword [esi + ecx*4]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1002179f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x1ac]
call eax
mov ecx, dword [edi]
mov edx, dword [ecx + 0x1ac]
mov ecx, edi
cmp eax, 0x1c3
jge 0x1002174d
call edx
add eax, eax
movd xmm1, eax
mov eax, dword [0x100917dc]
cvtdq2ps xmm1, xmm1
mov eax, dword [eax + 0x2c]
mulss xmm1, dword [eax + 0x10]
mov eax, dword [ebp - 0x12c]
movss xmm0, dword [esi + eax*4]
subss xmm0, xmm1
jmp 0x10021815
call edx
mov ecx, dword [edi]
mov esi, eax
mov edx, dword [ecx + 0x1ac]
mov ecx, edi
call edx
lea ecx, [esi + esi]
mov esi, dword [ebp - 0x138]
movd xmm1, ecx
mov ecx, dword [0x100917dc]
cvtdq2ps xmm1, xmm1
mov ecx, dword [ecx + 0x2c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x12c]
mulss xmm1, dword [ecx + 0x10]
mulss xmm1, xmm0
movss xmm0, dword [esi + eax*4]
divss xmm1, dword [0x1008576c]
subss xmm0, xmm1
jmp 0x10021815
mov edi, dword [0x100900d8]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + edi*4]
mov edi, dword [ebp - 0x140]
cmp edx, dword [eax + 4]
jle 0x10021802
push 0x10090160
call fcn.10074b0a
add esp, 4
cmp dword [0x10090160], 0xffffffff
jne 0x10021802
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 6
call fcn.10070660
push 0x10090160
mov dword [0x10090144], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov eax, dword [0x10090144]
movd xmm0, dword [edi + eax]
mov eax, dword [ebp - 0x12c]
cvtdq2ps xmm0, xmm0
movss dword [esi + eax*4], xmm0
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x1ac]
call eax
xorps xmm2, xmm2
mov dword [ebp - 0x164], 0x3f800000
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x13c], 0
lea edx, [ebp - 0x13c]
movd xmm0, eax
mov eax, dword [ebp - 0x12c]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [esi + eax*4]
subss xmm1, xmm2
subss xmm0, xmm2
divss xmm1, xmm0
comiss xmm2, xmm1
movss dword [ebp - 0x15c], xmm1
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x164]
comiss xmm1, dword [0x10085654]
seta al
test al, al
mov eax, dword [edi]
cmove ecx, edx
mov eax, dword [eax + 0x1ac]
movss xmm1, dword [ecx]
mov ecx, edi
mulss xmm1, dword [0x100856f8]
movss dword [ebp - 0x78], xmm1
call eax
mov ecx, dword [ebp - 0x12c]
movss xmm1, dword [ebp - 0x134]
subss xmm1, dword [0x100856d0]
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
push 0xb4
push 0
push 0
push 0
comiss xmm0, dword [esi + ecx*4]
movss xmm0, dword [0x100856f8]
subss xmm0, dword [ebp - 0x78]
seta al
movd xmm2, eax
addss xmm0, xmm1
mov eax, dword [0x100917dc]
subss xmm1, dword [0x10085654]
cvtdq2ps xmm2, xmm2
mov ecx, dword [eax + 0x68]
cvttss2si edi, xmm1
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [0x100856d8]
movss dword [ebp - 0x124], xmm2
subss xmm0, dword [0x1008567c]
movss dword [ebp - 0x164], xmm0
subss xmm0, dword [0x10085654]
cvttss2si esi, xmm0
call eax
mov eax, dword [0x100917dc]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
lea eax, [edi + 0x1f]
push eax
lea eax, [esi + 4]
push eax
push edi
push esi
call edx
mov esi, dword [ebp - 0x140]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x1ac]
call eax
mov esi, dword [0x100900d8]
mov edi, eax
mov edx, dword fs:[0x2c]
mov ecx, dword [0x10090160]
mov eax, dword [edx + esi*4]
mov esi, dword [ebp - 0x140]
cmp ecx, dword [eax + 4]
jle 0x100219de
push 0x10090160
call fcn.10074b0a
add esp, 4
cmp dword [0x10090160], 0xffffffff
jne 0x100219de
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 7
call fcn.10070660
push 0x10090160
mov dword [0x10090144], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov eax, dword [0x10090144]
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x13c], 0xff
mov eax, dword [esi + eax]
cmp edi, eax
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x17c]
cmovge ecx, edx
push 0xb4
push 0x28
cmp dword [ecx], 0
cmovg eax, ecx
lea ecx, [ebp - 0x13c]
mov esi, dword [eax]
mov eax, edi
sub eax, esi
imul eax, eax, 0x1fe
cdq
idiv edi
lea edx, [ebp - 0x15c]
add eax, 0x82
cmp eax, 0xff
mov dword [ebp - 0x15c], eax
cmovle ecx, edx
mov eax, dword [ecx]
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x16c], eax
imul eax, esi, 0x1fe
cvttss2si esi, dword [ebp - 0x164]
mov dword [ebp - 0x13c], 0xff
cdq
idiv edi
lea edx, [ebp - 0x15c]
cmp eax, 0xff
mov dword [ebp - 0x15c], eax
cvttss2si edi, dword [ebp - 0x124]
cmovle ecx, edx
mov eax, dword [ecx]
mov dword [ebp - 0x13c], eax
mov eax, dword [0x100917dc]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x13c]
movzx eax, al
push eax
mov eax, dword [ebp - 0x16c]
movzx eax, al
push eax
call edx
mov eax, dword [0x100917dc]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
cvttss2si eax, dword [ebp - 0x78]
add eax, edi
push eax
lea eax, [esi + 2]
push eax
push edi
push esi
call edx
mov edx, dword fs:[0x2c]
mov esi, dword [0x100900d8]
mov eax, dword [0x10090160]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x10021b47
push 0x10090160
call fcn.10074b0a
add esp, 4
cmp dword [0x10090160], 0xffffffff
jne 0x10021b47
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 8
call fcn.10070660
push 0x10090160
mov dword [0x10090144], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov edi, dword [ebp - 0x140]
mov ecx, edi
mov esi, dword [0x10090144]
mov eax, dword [edi]
mov eax, dword [eax + 0x1ac]
call eax
cmp dword [edi + esi], eax
jge 0x10021c3d
mov edx, dword fs:[0x2c]
mov esi, dword [0x100900d8]
mov eax, dword [0x10090160]
mov ecx, dword [edx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x10021bca
push 0x10090160
call fcn.10074b0a
add esp, 4
cmp dword [0x10090160], 0xffffffff
jne 0x10021bca
push str.m_iHealth
push str.CBasePlayer
mov dword [ebp - 4], 9
call fcn.10070660
push 0x10090160
mov dword [0x10090144], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10074ab9
add esp, 4
mov eax, dword [0x10090144]
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [0x10085698]
mov dword [ebp - 0x138], 0xffffffff
push dword [edi + eax]
lea eax, [ebp - 0x138]
push 0x1007eb60
push eax
mov eax, dword [0x100917dc]
push dword [eax + 0xd8]
cvttss2si eax, xmm0
push 4
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [0x100856d8]
push eax
subss xmm0, dword [0x1008567c]
subss xmm0, dword [0x10085654]
cvttss2si eax, xmm0
push eax
push dword [0x10091804]
call fcn.10010e00
add esp, 0x20
mov eax, dword [0x100917fc]
cmp byte [eax + 0xa4], 0
je 0x10021ca8
mov ecx, edi
call fcn.10060e80
test eax, eax
je 0x10021ca8
mov ecx, edi
call fcn.100613e0
movss xmm0, dword [ebp - 0x134]
addss xmm0, dword [0x100856d8]
push eax
lea eax, [ebp - 0x138]
mov dword [ebp - 0x138], 0xffffffff
push eax
mov eax, dword [0x100917dc]
push dword [eax + 0x13c]
cvttss2si eax, xmm0
push 2
push eax
cvttss2si eax, dword [ebp - 0x130]
push eax
push dword [0x10091804]
call fcn.100109e0
add esp, 0x1c
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.10074a80
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8