Function at 0x100cbd70
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fa9ff
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x19e8
call fcn.100f1590
mov eax, dword [0x101110c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [0x101af480]
test esi, esi
je 0x100ccf69
xor ecx, ecx
mov dword [ebp - 0x1958], ecx
test esi, esi
je 0x100ccf69
mov edx, dword [0x101af478]
add ecx, dword [0x101af47c]
dec edx
mov eax, dword [0x101af474]
and edx, ecx
mov edi, dword [eax + edx*4]
mov dword [ebp - 0x24], edi
test edi, edi
je 0x100ccf69
cmp byte [edi + 0x14], 0
jne 0x100ccf54
mov eax, dword [edi]
mov ecx, dword [0x101ae9d0]
add ecx, 0xffffffcb
xor ecx, 0xb391df1
mov eax, dword [eax]
cmp dword [ecx + eax], 0
je 0x100cbf5e
mov esi, dword [0x10102f14]
lea ecx, [ebp - 0x1954]
push 0x1f
xorps xmm0, xmm0
mov dword [ebp - 0x1944], 0
push str.missed_shot_due_to_enemy_death_n
movups xmmword [ebp - 0x1954], xmm0
mov dword [ebp - 0x1940], 0
call fcn.1002cd90
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x24], 0x41000000
push eax
lea edx, [ebp - 0x1954]
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x19c8]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 1
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100cbec0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
jmp 0x100cbec7
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x19c4]
test esi, esi
je 0x100cbef6
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100cbef6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100cbef6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x1954]
mov ecx, esp
push eax
call fcn.1002baa0
push 0x10130c20
call fcn.1003adb0
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x1940]
cmp ecx, 0xf
jbe 0x100ccf44
mov edx, dword [ebp - 0x1954]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cbf4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ccf87
push ecx
push edx
call fcn.100f079b
add esp, 8
jmp 0x100ccf44
lea ecx, [ebp - 0x1868]
call fcn.10024ec0
mov eax, dword [edi]
mov ecx, dword [0x101aea68]
add ecx, 0xffffffa5
xor ecx, 0xb391e17
mov esi, dword [eax]
mov eax, dword [ecx + esi + 0xc]
mov dword [ebp - 0x68], eax
lea eax, [eax + eax*2]
shl eax, 4
push eax
push dword [ecx + esi]
lea eax, [ebp - 0x1868]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x101ae990]
add esp, 0xc
add eax, 0xffffffdb
mov ecx, esi
xor eax, 0xb391de1
movss xmm0, dword [eax + esi]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x101ae99c]
add eax, 0xffffffd8
movss dword [ebp - 0x5c], xmm0
xor eax, 0xb391de4
movss xmm0, dword [eax + esi]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [eax + esi + 8]
mov eax, dword [0x101ae9a0]
add eax, 0xffffffd7
movss dword [ebp - 0x44], xmm0
xor eax, 0xb391de5
movss xmm0, dword [eax + esi]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [eax + esi + 4]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [eax + esi + 8]
movss dword [ebp - 0x38], xmm0
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, esi
movss xmm0, dword [eax]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x50], xmm0
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
call eax
mov esi, dword [0x101aea68]
add esi, 0xffffffa5
xor esi, 0xb391e17
movss xmm0, dword [eax]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [edi]
movss dword [ebp - 0x2c], xmm0
mov edi, dword [eax + 4]
mov eax, dword [edi + 0x1bcc]
add esi, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [edi + 0x3cc]
push eax
push dword [esi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 0x1bcc]
add esp, 0xc
mov dword [esi + 0xc], eax
mov ecx, dword [0x101ae990]
lea esi, [edi + 0x20]
mov eax, dword [esi]
add ecx, 0xffffffdb
xor ecx, 0xb391de1
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [0x101ae99c]
mov eax, dword [edi + 0x38]
add ecx, 0xffffffd8
xor ecx, 0xb391de4
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [0x101ae9a0]
mov eax, dword [edi + 0x44]
add ecx, 0xffffffd7
xor ecx, 0xb391de5
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0x48]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x4c]
mov dword [ecx + 8], eax
lea eax, [edi + 0x6c]
mov edx, dword [0x101ae884]
mov ecx, dword [edi]
push eax
call edx
mov eax, dword [0x101ae888]
mov ecx, dword [edi]
push esi
call eax
mov edi, dword [ebp - 0x24]
mov esi, dword [edi]
movss xmm4, dword [edi + 8]
movss xmm3, dword [edi + 0xc]
movss xmm2, dword [edi + 0x10]
movq xmm0, qword [esi + 0x14]
mov eax, dword [esi + 0x1c]
movq qword [ebp - 0x1964], xmm0
subss xmm4, dword [ebp - 0x1964]
subss xmm3, dword [ebp - 0x1960]
mov dword [ebp - 0x195c], eax
subss xmm2, dword [ebp - 0x195c]
movaps xmm0, xmm4
movaps xmm1, xmm3
mulss xmm0, xmm4
mulss xmm1, xmm3
addss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.10023a10
addss xmm0, dword [0x10104674]
movss xmm1, dword [0x1010477c]
lea eax, [ebp - 0x189c]
push 0x30
push 0
divss xmm1, xmm0
movd xmm0, dword [esi + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm1
mulss xmm3, xmm1
mulss xmm2, xmm1
mulss xmm4, xmm0
mulss xmm3, xmm0
addss xmm4, dword [ebp - 0x1964]
mulss xmm2, xmm0
addss xmm3, dword [ebp - 0x1960]
addss xmm2, dword [ebp - 0x195c]
movss dword [ebp - 0x20], xmm4
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x18], xmm2
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm2, dword [ebp - 0x20]
xorps xmm0, xmm0
movss xmm3, dword [ebp - 0x1964]
add esp, 0xc
movss xmm1, dword [ebp - 0x1c]
subss xmm2, xmm3
movss xmm4, dword [ebp - 0x1960]
movss xmm5, dword [ebp - 0x195c]
subss xmm1, xmm4
movups xmmword [ebp - 0x18c0], xmm0
mov dword [ebp - 0x18a0], 0
movups xmmword [ebp - 0x18b0], xmm0
mov edx, dword [esi]
movss xmm0, dword [ebp - 0x18]
subss xmm0, xmm5
movss dword [ebp - 0x19b0], xmm2
movss dword [ebp - 0x19ac], xmm1
mulss xmm2, xmm2
mov dword [ebp - 0x19a4], 0
mulss xmm1, xmm1
mov byte [ebp - 0x197b], 1
movss dword [ebp - 0x19a8], xmm0
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100cc29e
mov byte [ebp - 0x197b], 0
mov ecx, dword [0x101ae788]
lea esi, [ebp - 0x18c0]
push esi
mov dword [ebp - 0x1980], 0
mov byte [ebp - 0x197c], 1
movss dword [ebp - 0x19c0], xmm3
movss dword [ebp - 0x19bc], xmm4
movss dword [ebp - 0x19b8], xmm5
mov dword [ebp - 0x19b4], 0
mov dword [ebp - 0x1998], 0
mov dword [ebp - 0x199c], 0
mov dword [ebp - 0x19a0], 0
mov dword [ebp - 0x1988], 0
mov dword [ebp - 0x198c], 0
mov dword [ebp - 0x1990], 0
mov eax, dword [ecx]
push edx
push 0x4600400b
lea edx, [ebp - 0x19c0]
mov eax, dword [eax + 0xc]
push edx
call eax
mov ecx, dword [ebp - 0x1874]
test ecx, ecx
je 0x100ccd02
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100ccd02
mov eax, dword [edi]
mov edx, dword [eax]
cmp dword [ebp - 0x1874], edx
jne 0x100ccd02
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x84]
cmp eax, 6
je 0x100ccbe0
cmp eax, 7
je 0x100ccbe0
cmp byte [ecx + 0x80], 0
je 0x100cc8e8
mov eax, dword [edx + 8]
lea ecx, [edx + 8]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xe8
mov esi, dword [0x101aea68]
add esi, 0xffffffa5
xor esi, 0xb391e17
mov ecx, dword [eax + 0x10147718]
dec ecx
and ecx, dword [eax + 0x1014771c]
mov eax, dword [eax + 0x10147714]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x1bcc]
add esi, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [edi + 0x3cc]
push eax
push dword [esi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 0x1bcc]
add esp, 0xc
mov dword [esi + 0xc], eax
lea esi, [edi + 0x20]
mov ecx, dword [0x101ae990]
mov eax, dword [esi]
add ecx, 0xffffffdb
xor ecx, 0xb391de1
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [0x101ae99c]
mov eax, dword [edi + 0x38]
add ecx, 0xffffffd8
xor ecx, 0xb391de4
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [0x101ae9a0]
mov eax, dword [edi + 0x44]
add ecx, 0xffffffd7
xor ecx, 0xb391de5
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0x48]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x4c]
mov dword [ecx + 8], eax
lea eax, [edi + 0x6c]
mov edx, dword [0x101ae884]
mov ecx, dword [edi]
push eax
call edx
mov eax, dword [0x101ae888]
mov ecx, dword [edi]
push esi
call eax
mov edi, dword [ebp - 0x24]
mov esi, dword [edi]
movss xmm4, dword [edi + 8]
movss xmm3, dword [edi + 0xc]
movss xmm2, dword [edi + 0x10]
movq xmm0, qword [esi + 0x14]
mov eax, dword [esi + 0x1c]
movq qword [ebp - 0x1970], xmm0
subss xmm4, dword [ebp - 0x1970]
subss xmm3, dword [ebp - 0x196c]
mov dword [ebp - 0x1968], eax
subss xmm2, dword [ebp - 0x1968]
movaps xmm1, xmm4
movaps xmm0, xmm3
mulss xmm1, xmm4
mulss xmm0, xmm3
addss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm0, xmm1
call fcn.10023a10
addss xmm0, dword [0x10104674]
movss xmm1, dword [0x1010477c]
lea eax, [ebp - 0x18f4]
push 0x30
push 0
push eax
divss xmm1, xmm0
movd xmm0, dword [esi + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm1
mulss xmm3, xmm1
mulss xmm4, xmm0
mulss xmm3, xmm0
mulss xmm1, xmm2
mulss xmm1, xmm0
movss xmm0, dword [ebp - 0x1970]
addss xmm0, xmm4
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x196c]
addss xmm0, xmm3
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x1968]
addss xmm0, xmm1
movss dword [ebp - 0x20], xmm0
call sub.VCRUNTIME140.dll_memset
movss xmm2, dword [ebp - 0x18]
xorps xmm0, xmm0
movss xmm3, dword [ebp - 0x1970]
add esp, 0xc
movss xmm4, dword [ebp - 0x196c]
subss xmm2, xmm3
movss xmm1, dword [ebp - 0x20]
movss xmm5, dword [ebp - 0x1968]
movups xmmword [ebp - 0x1918], xmm0
mov dword [ebp - 0x18f8], 0
movups xmmword [ebp - 0x1908], xmm0
mov edx, dword [esi]
movss xmm0, dword [ebp - 0x1c]
subss xmm1, xmm5
subss xmm0, xmm4
movss dword [ebp - 0x19b0], xmm2
mulss xmm2, xmm2
mov dword [ebp - 0x19a4], 0
mov byte [ebp - 0x197b], 1
movss dword [ebp - 0x19a8], xmm1
movss dword [ebp - 0x19ac], xmm0
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100cc5e3
mov byte [ebp - 0x197b], 0
mov ecx, dword [0x101ae788]
lea esi, [ebp - 0x1918]
push esi
mov dword [ebp - 0x1980], 0
mov byte [ebp - 0x197c], 1
movss dword [ebp - 0x19c0], xmm3
movss dword [ebp - 0x19bc], xmm4
movss dword [ebp - 0x19b8], xmm5
mov dword [ebp - 0x19b4], 0
mov dword [ebp - 0x1998], 0
mov dword [ebp - 0x199c], 0
mov dword [ebp - 0x19a0], 0
mov dword [ebp - 0x1988], 0
mov dword [ebp - 0x198c], 0
mov dword [ebp - 0x1990], 0
mov eax, dword [ecx]
push edx
push 0x4600400b
lea edx, [ebp - 0x19c0]
mov eax, dword [eax + 0xc]
push edx
call eax
mov ecx, dword [ebp - 0x18cc]
test ecx, ecx
je 0x100cc7f6
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100cc7f6
mov ecx, dword [edi]
mov eax, dword [ebp - 0x18cc]
cmp eax, dword [ecx]
jne 0x100cc7f6
movaps xmm0, xmmword [0x10105130]
mov eax, 0x10
xorps xmm0, xmmword [0x10104c00]
mov esi, dword [0x10102f14]
mov dword [ebp - 0x1928], 0xdf8dc2d9
mov dword [ebp - 0x1924], 0xc1c2dec8
mov dword [ebp - 0x1920], 0xa7dfc8db
mov byte [ebp - 0x191c], 0xad
movups xmmword [ebp - 0x1938], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x1938], 0xad
inc eax
cmp eax, 0x1d
jb 0x100cc6f0
xorps xmm0, xmm0
mov dword [ebp - 0x1944], 0
lea ecx, [ebp - 0x1938]
mov dword [ebp - 0x1940], 0
movups xmmword [ebp - 0x1954], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc725
sub ecx, edx
lea eax, [ebp - 0x1938]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.1002cd90
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 8
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push eax
lea edx, [ebp - 0x1954]
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x19d0]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 9
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100cc7af
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
jmp 0x100cc7b6
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0x19cc]
test esi, esi
je 0x100cc7e5
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100cc7e5
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100cc7e5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x1954]
mov ecx, esp
push eax
jmp 0x100cce1a
mov eax, dword [edi]
mov edx, str.missed_shot_due_to_extrapolation_n
mov esi, dword [0x10102f14]
xorps xmm0, xmm0
movups xmmword [ebp - 0x1954], xmm0
mov dword [ebp - 0x1944], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x1940], 0
cmp byte [eax + 0x81], 0
mov eax, str.missed_shot_due_to_lag_compensation_n
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x18], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc840
sub ecx, dword [ebp - 0x18]
push ecx
push edx
lea ecx, [ebp - 0x1954]
call fcn.1002cd90
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push eax
lea edx, [ebp - 0x1954]
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x19d8]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 7
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100cc8d2
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x19d4]
jmp 0x100cc7c0
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x19d4]
jmp 0x100cc7c0
mov esi, dword [0x10102f14]
cmp eax, 5
jne 0x100cca32
movaps xmm0, xmmword [0x10104c00]
xor eax, eax
movaps xmm1, xmmword [0x10105130]
movups xmmword [ebp - 0x193c], xmm0
mov word [ebp - 0x191c], 0xa784
movaps xmm0, xmmword [0x10105810]
movups xmmword [ebp - 0x192c], xmm0
mov byte [ebp - 0x191a], 0xad
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x193c]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x193c], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x100cc930
cmp eax, 0x23
jae 0x100cc95e
xor byte [ebp + eax - 0x193c], 0xad
inc eax
cmp eax, 0x23
jb 0x100cc950
xorps xmm0, xmm0
mov dword [ebp - 0x1944], 0
lea ecx, [ebp - 0x193c]
mov dword [ebp - 0x1940], 0
movups xmmword [ebp - 0x1954], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cc985
sub ecx, edx
lea eax, [ebp - 0x193c]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.1002cd90
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push eax
lea edx, [ebp - 0x1954]
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x19e0]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0xb
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100cca1c
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x19dc]
jmp 0x100ccb41
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x19dc]
jmp 0x100ccb41
movaps xmm0, xmmword [0x10105130]
mov eax, 0x10
xorps xmm0, xmmword [0x10104c00]
mov dword [ebp - 0x1928], 0xdf8dc2d9
mov dword [ebp - 0x1924], 0xc1c2dec8
mov dword [ebp - 0x1920], 0xa7dfc8db
mov byte [ebp - 0x191c], 0xad
movups xmmword [ebp - 0x1938], xmm0
xor byte [ebp + eax - 0x1938], 0xad
inc eax
cmp eax, 0x1d
jb 0x100cca71
xorps xmm0, xmm0
mov dword [ebp - 0x1944], 0
lea ecx, [ebp - 0x1938]
mov dword [ebp - 0x1940], 0
movups xmmword [ebp - 0x1954], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ccaa6
sub ecx, edx
lea eax, [ebp - 0x1938]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.1002cd90
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push eax
lea edx, [ebp - 0x1954]
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x19e8]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0xd
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100ccb30
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
jmp 0x100ccb37
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x19e4]
test esi, esi
je 0x100ccb66
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100ccb66
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100ccb66
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x1954]
mov ecx, esp
push eax
call fcn.1002baa0
push 0x10130c20
call fcn.1003adb0
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x1940]
cmp ecx, 0xf
jbe 0x100ccbc5
mov edx, dword [ebp - 0x1954]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ccbbb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ccf87
push ecx
push edx
call fcn.100f079b
add esp, 8
mov eax, dword [edi]
cmp dword [eax + 0x24], 0
jne 0x100cce6d
push 1
push dword [eax + 4]
call fcn.100de480
jmp 0x100cce6d
movaps xmm0, xmmword [0x10105130]
mov eax, 0x10
xorps xmm0, xmmword [0x10104c00]
mov esi, dword [0x10102f14]
mov dword [ebp - 0x1928], 0xd88dc2d9
mov dword [ebp - 0x1924], 0xc2c3c6c3
mov dword [ebp - 0x1920], 0xada7c3da
movups xmmword [ebp - 0x1938], xmm0
nop
xor byte [ebp + eax - 0x1938], 0xad
inc eax
cmp eax, 0x1c
jb 0x100ccc20
xorps xmm0, xmm0
mov dword [ebp - 0x1944], 0
lea ecx, [ebp - 0x1938]
mov dword [ebp - 0x1940], 0
movups xmmword [ebp - 0x1954], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ccc55
sub ecx, edx
lea eax, [ebp - 0x1938]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.1002cd90
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push eax
lea edx, [ebp - 0x1954]
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x19f0]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 5
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100cccec
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x19ec]
jmp 0x100cc7c0
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x19ec]
jmp 0x100cc7c0
movaps xmm0, xmmword [0x10105130]
mov eax, 0x10
xorps xmm0, xmmword [0x10104c00]
mov esi, dword [0x10102f14]
mov dword [ebp - 0x1924], 0xde8dc2d9
mov dword [ebp - 0x1920], 0xccc8dfdd
mov word [ebp - 0x191c], 0xa7c9
mov byte [ebp - 0x191a], 0xad
movups xmmword [ebp - 0x1934], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x1934], 0xad
inc eax
cmp eax, 0x1b
jb 0x100ccd50
lea edx, [ebp - 0x1934]
lea ecx, [ebp - 0x1954]
call fcn.10031b10
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 2
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push ecx
mov edx, eax
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x19f8]
call fcn.1002c390
add esp, 8
mov edx, eax
mov byte [ebp - 4], 3
mov ecx, dword [0x101ae96c]
cmp ecx, dword [0x101ae970]
je 0x100ccddc
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx], 0
mov dword [edx + 4], 0
add dword [0x101ae96c], 8
jmp 0x100ccde3
push edx
push ecx
call fcn.1002dc50
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x19f4]
test esi, esi
je 0x100cce12
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100cce12
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100cce12
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x20]
call fcn.1002baa0
push 0x10130c20
call fcn.1003adb0
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x1940]
cmp ecx, 0xf
jbe 0x100cce6d
mov edx, dword [ebp - 0x1954]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cce63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ccf87
push ecx
push edx
call fcn.100f079b
add esp, 8
mov eax, dword [edi]
mov esi, dword [0x101aea68]
add esi, 0xffffffa5
xor esi, 0xb391e17
mov edi, dword [eax]
mov eax, dword [ebp - 0x68]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [ebp - 0x1868]
push eax
push dword [esi + edi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x34]
mov dword [esi + edi + 0xc], eax
add esp, 0xc
mov eax, dword [0x101ae990]
movss xmm0, dword [ebp - 0x64]
add eax, 0xffffffdb
xor eax, 0xb391de1
push ecx
mov ecx, edi
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x101ae99c]
movss xmm0, dword [ebp - 0x4c]
add eax, 0xffffffd8
xor eax, 0xb391de4
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x48]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x44]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x101ae9a0]
movss xmm0, dword [ebp - 0x40]
add eax, 0xffffffd7
xor eax, 0xb391de5
movss dword [eax + edi], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [eax + edi + 4], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [eax + edi + 8], xmm0
mov eax, dword [0x101ae884]
call eax
mov eax, dword [0x101ae888]
lea ecx, [ebp - 0x64]
push ecx
mov ecx, edi
call eax
mov ecx, 0x101af470
call fcn.100ceea0
mov esi, dword [0x101af480]
mov ecx, dword [ebp - 0x1958]
inc ecx
mov dword [ebp - 0x1958], ecx
cmp ecx, esi
jb 0x100cbdd3
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.100f0320
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3