Function at 0x100991c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3050
call fcn.10104b80
mov eax, dword [0x10269840]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x3024], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x3018], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x3014], eax
mov eax, dword [ebp + 0x24]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x3010], eax
mov eax, dword [0x102699d4]
push esi
mov esi, dword [ebp + 0x14]
push edi
cmp dword [eax], 0
mov edi, ecx
mov dword [ebp - 0x301c], ebx
mov dword [ebp - 0x3020], esi
je 0x10099d22
mov ecx, dword [0x10269974]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10099d22
mov ecx, dword [ebx + 0x250]
test ecx, ecx
je 0x1009924e
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
cmp dword [eax + 4], 0x776f6c67
jmp 0x10099260
mov eax, dword [ebx + 0x260]
cmp eax, 2
je 0x10099d22
cmp eax, 4
je 0x10099d22
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x10099d22
cmp dword [esi], 0
je 0x10099d22
cmp byte [edi + 0x334], 0
jne 0x10099d22
add ebx, 0xfffffffc
je 0x10099d22
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0x3050], eax
test eax, eax
je 0x10099d22
mov ecx, dword [0x1026a080]
test cl, 1
jne 0x10099346
mov esi, dword [0x10269968]
or ecx, 1
push 0x17
mov dword [0x1026a080], ecx
lea ecx, [ebp - 0x303c]
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__moveparent
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x1026a07c], eax
cmp ecx, 0xf
jbe 0x10099346
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009933c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009984b
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x1026a07c]
mov ecx, dword [0x10269978]
mov eax, dword [eax + 4]
mov edx, dword [ebx + eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov dword [ebp - 0x3044], eax
test eax, eax
je 0x10099390
mov ecx, dword [eax + 8]
lea esi, [eax + 8]
mov edx, dword [ecx + 0x28]
mov ecx, esi
call edx
cmp eax, 1
jl 0x10099390
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
mov byte [ebp - 0x3009], 1
cmp eax, 0x40
jle 0x10099397
mov byte [ebp - 0x3009], 0
cmp byte [edi + 0x210], 0
mov eax, dword [ebp - 0x3020]
mov eax, dword [eax]
mov eax, dword [eax + 0x1a]
mov dword [ebp - 0x304c], eax
je 0x100996c8
cmp eax, 0x79616c70
jne 0x10099537
mov eax, dword [0x10269df0]
test al, 1
jne 0x10099459
or dword [0x10269df0], 1
lea ecx, [ebp - 0x303c]
mov esi, dword [0x10269968]
push 0x17
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x10269dec], eax
cmp ecx, 0xf
jbe 0x10099459
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009944f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009984b
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269dec]
mov eax, dword [eax + 4]
add eax, ebx
mov dword [ebp - 0x3048], eax
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [ebp - 0x3040], eax
mov eax, dword [0x10269df0]
test al, 1
jne 0x1009950f
or dword [0x10269df0], 1
lea ecx, [ebp - 0x303c]
mov esi, dword [0x10269968]
push 0x17
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x10269dec], eax
cmp ecx, 0xf
jbe 0x1009950f
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099505
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009984b
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269dec]
mov edx, dword [ebp - 0x3040]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x3048]
mov eax, dword [eax]
cmp eax, dword [edx + ecx]
jne 0x10099537
mov eax, dword [0x102699d4]
cmp ebx, dword [eax]
jne 0x10099a1b
mov cl, byte [ebp - 0x3009]
test cl, cl
je 0x100996ce
mov eax, dword [0x10269df0]
test al, 1
jne 0x100995de
or dword [0x10269df0], 1
lea ecx, [ebp - 0x303c]
mov esi, dword [0x10269968]
push 0x17
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x10269dec], eax
cmp ecx, 0xf
jbe 0x100995de
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100995d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009984b
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269dec]
mov esi, dword [ebp - 0x3044]
mov eax, dword [eax + 4]
add eax, esi
mov dword [ebp - 0x3040], eax
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [ebp - 0x3048], eax
mov eax, dword [0x10269df0]
test al, 1
jne 0x100996a0
or dword [0x10269df0], 1
lea ecx, [ebp - 0x303c]
mov esi, dword [0x10269968]
push 0x17
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x10269dec], eax
cmp ecx, 0xf
jbe 0x1009969a
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099690
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009984b
push ecx
push edx
call fcn.101042db
add esp, 8
mov esi, dword [ebp - 0x3044]
mov eax, dword [0x10269dec]
mov edx, dword [ebp - 0x3048]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x3040]
mov eax, dword [eax]
cmp eax, dword [edx + ecx]
jne 0x100996c8
mov eax, dword [0x102699d4]
cmp esi, dword [eax]
jne 0x10099a1b
mov cl, byte [ebp - 0x3009]
cmp byte [edi + 0x211], 0
mov eax, dword [ebp - 0x3050]
je 0x100996e7
cmp dword [eax + 0x14], 0x2a
je 0x10099a1b
cmp dword [ebp - 0x304c], 0x79616c70
jne 0x10099c29
cmp byte [edi + 0xb7], 0
jne 0x1009970a
cmp dword [eax + 0x14], 0x2a
je 0x10099d22
mov eax, dword [0x10269df0]
test al, 1
jne 0x100997a3
or dword [0x10269df0], 1
lea ecx, [ebp - 0x303c]
mov esi, dword [0x10269968]
push 0x17
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x10269dec], eax
cmp ecx, 0xf
jbe 0x100997a3
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099799
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009984b
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x10269dec]
mov eax, dword [eax + 4]
add eax, ebx
mov dword [ebp - 0x304c], eax
mov eax, dword [0x102699d4]
mov eax, dword [eax]
mov dword [ebp - 0x3040], eax
mov eax, dword [0x10269df0]
test al, 1
jne 0x1009985b
or dword [0x10269df0], 1
lea ecx, [ebp - 0x303c]
mov esi, dword [0x10269968]
push 0x17
vpxor xmm0, xmm0, xmm0
push str.CBaseEntity__m_iTeamNum
vmovdqu xmmword [ebp - 0x303c], xmm0
mov dword [ebp - 0x302c], 0
mov dword [ebp - 0x3028], 0
call fcn.10002ab0
lea eax, [ebp - 0x303c]
mov ecx, esi
push eax
call fcn.10006660
mov ecx, dword [ebp - 0x3028]
mov dword [0x10269dec], eax
cmp ecx, 0xf
jbe 0x1009985b
mov edx, dword [ebp - 0x303c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099851
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10099851
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101042db
add esp, 8
mov eax, dword [0x102699d4]
mov esi, dword [ebp - 0x3040]
mov edx, dword [eax]
mov eax, dword [0x10269dec]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x304c]
mov eax, dword [eax]
cmp eax, dword [esi + ecx]
je 0x10099a30
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x278]
call eax
mov esi, dword [ebp + 0x28]
test al, al
je 0x1009993a
cmp byte [edi + 0xbd], 0
je 0x1009993a
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x28]
call eax
push eax
lea eax, [ebp - 0x3008]
mov ecx, edi
push eax
call fcn.1009eea0
cmp byte [ebp - 8], 0
je 0x1009993a
vmovups xmm0, xmmword [edi + 0x188]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 1
push dword [edi + 0xd4]
call fcn.1009d560
cmp byte [ebp - 8], 0
mov eax, dword [0x10269a78]
je 0x10099d37
mov ebx, dword [ebp + 0x10]
lea ecx, [ebp - 0x3008]
mov edx, dword [ebp + 0xc]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push ecx
push dword [ebp - 0x3020]
mov ecx, dword [ebp - 0x301c]
push ebx
call eax
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
jmp 0x1009993d
mov ebx, dword [ebp + 0x10]
cmp byte [edi + 0xb1], 0
je 0x100999aa
vmovups xmm0, xmmword [edi + 0xf8]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 1
push dword [edi + 0xc0]
call fcn.1009d560
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x301c]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push dword [ebp - 0x3024]
push dword [ebp - 0x3020]
push ebx
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
cmp byte [edi + 0xb0], 0
je 0x10099d22
vmovups xmm0, xmmword [edi + 0xe8]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xc0]
call fcn.1009d560
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x301c]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push dword [ebp - 0x3024]
push dword [ebp - 0x3020]
push ebx
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10104603
mov esp, ebp
pop ebp
ret 0x24
mov esi, dword [ebp + 0x28]
cmp ebx, edx
mov ebx, dword [ebp + 0x10]
je 0x10099b31
cmp byte [edi + 0xb3], 0
je 0x10099aab
vmovups xmm0, xmmword [edi + 0x118]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 1
push dword [edi + 0xc4]
call fcn.1009d560
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x301c]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push dword [ebp - 0x3024]
push dword [ebp - 0x3020]
push ebx
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
cmp byte [edi + 0xb2], 0
je 0x10099d22
vmovups xmm0, xmmword [edi + 0x108]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xc4]
call fcn.1009d560
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x301c]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push dword [ebp - 0x3024]
push dword [ebp - 0x3020]
push ebx
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10104603
mov esp, ebp
pop ebp
ret 0x24
cmp byte [edi + 0xb5], 0
je 0x10099ba3
vmovups xmm0, xmmword [edi + 0x138]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xcc]
call fcn.1009d560
mov eax, dword [0x10269a3c]
mov edx, dword [ebp + 0xc]
add eax, 0x6014
mov ecx, dword [ebp - 0x301c]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push eax
push dword [ebp - 0x3020]
push ebx
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
cmp byte [edi + 0xb4], 0
je 0x10099d22
vmovups xmm0, xmmword [edi + 0x128]
sub esp, 0x10
mov ecx, edi
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xc8]
call fcn.1009d560
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x301c]
push esi
push dword [ebp - 0x3010]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push dword [ebp - 0x3024]
push dword [ebp - 0x3020]
push ebx
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10104603
mov esp, ebp
pop ebp
ret 0x24
mov ebx, dword [ebp - 0x3020]
mov eax, dword [ebx]
cmp dword [eax + 0x1d], 0x736d7261
jne 0x10099cc3
cmp byte [edi + 0xb8], 0
je 0x10099d22
vmovups xmm0, xmmword [edi + 0x158]
sub esp, 0x10
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xdc]
mov ecx, edi
call fcn.1009d560
push dword [ebp + 0x28]
mov edx, dword [ebp + 0xc]
push dword [ebp - 0x3010]
mov ecx, dword [ebp - 0x301c]
push dword [ebp - 0x3014]
push dword [ebp - 0x3018]
push dword [ebp - 0x3024]
push ebx
push dword [ebp + 0x10]
call dword [0x10269a78]
mov ecx, dword [0x102699a4]
push 0
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10104603
mov esp, ebp
pop ebp
ret 0x24
cmp dword [eax + 0xc], 0x70616577
jne 0x10099cf8
cmp byte [eax + 0x14], 0x76
jne 0x10099cf8
cmp byte [edi + 0xb9], 0
je 0x10099d22
vmovups xmm0, xmmword [edi + 0x168]
sub esp, 0x10
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xe0]
jmp 0x10099c63
test cl, cl
je 0x10099d22
cmp byte [edi + 0xba], 0
je 0x10099d22
vmovups xmm0, xmmword [edi + 0x178]
sub esp, 0x10
vmovups xmmword [esp], xmm0
push 0
push dword [edi + 0xd8]
jmp 0x10099c63
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10104603
mov esp, ebp
pop ebp
ret 0x24
call fcn.100895b0
int3