Function at 0x100cf080
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 0x100fbfcf
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x19e8
call fcn.100f3b70
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 [0x101af310]
test esi, esi
je 0x100d0289
xor ecx, ecx
mov dword [ebp - 0x1964], ecx
test esi, esi
je 0x100d0289
mov edx, dword [0x101af308]
add ecx, dword [0x101af30c]
dec edx
mov eax, dword [0x101af304]
and edx, ecx
mov edi, dword [eax + edx*4]
mov dword [ebp - 0x24], edi
test edi, edi
je 0x100d0289
cmp byte [edi + 0x14], 0
jne 0x100d0274
mov eax, dword [edi]
mov ecx, dword [0x101ae860]
add ecx, 0xffffffcb
xor ecx, 0x2f303c75
mov eax, dword [eax]
cmp dword [ecx + eax], 0
je 0x100cf26e
mov esi, dword [0x10103f54]
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.10033b90
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 1
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100cf1d0
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 [0x101ae7fc], 8
jmp 0x100cf1d7
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 0
mov esi, dword [ebp - 0x19c4]
test esi, esi
je 0x100cf206
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100cf206
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100cf206
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.100327d0
push 0x10130c20
call fcn.10041bb0
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x1940]
cmp ecx, 0xf
jbe 0x100d0264
mov edx, dword [ebp - 0x1954]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cf25f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d02a7
push ecx
push edx
call fcn.100f2c1b
add esp, 8
jmp 0x100d0264
lea ecx, [ebp - 0x1868]
call fcn.1002b8b0
mov eax, dword [edi]
mov ecx, dword [0x101ae8f8]
add ecx, 0xffffffa5
xor ecx, 0x2f303c9b
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 [0x101ae820]
add esp, 0xc
add eax, 0xffffffdb
mov ecx, esi
xor eax, 0x2f303c65
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 [0x101ae82c]
add eax, 0xffffffd8
movss dword [ebp - 0x5c], xmm0
xor eax, 0x2f303c68
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 [0x101ae830]
add eax, 0xffffffd7
movss dword [ebp - 0x44], xmm0
xor eax, 0x2f303c69
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 [0x101ae8f8]
add esi, 0xffffffa5
xor esi, 0x2f303c9b
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 [0x101ae820]
lea esi, [edi + 0x20]
mov eax, dword [esi]
add ecx, 0xffffffdb
xor ecx, 0x2f303c65
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 [0x101ae82c]
mov eax, dword [edi + 0x38]
add ecx, 0xffffffd8
xor ecx, 0x2f303c68
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 [0x101ae830]
mov eax, dword [edi + 0x44]
add ecx, 0xffffffd7
xor ecx, 0x2f303c69
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 [0x101ae714]
mov ecx, dword [edi]
push eax
call edx
mov eax, dword [0x101ae718]
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 - 0x1960], xmm0
subss xmm4, dword [ebp - 0x1960]
subss xmm3, dword [ebp - 0x195c]
mov dword [ebp - 0x1958], eax
subss xmm2, dword [ebp - 0x1958]
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.1002a400
addss xmm0, dword [0x10105cec]
movss xmm6, dword [0x10105df4]
push 0x30
divss xmm6, xmm0
movd xmm0, dword [esi + 0x28]
movaps xmm5, xmm6
movaps xmm1, xmm6
cvtdq2ps xmm0, xmm0
mulss xmm5, xmm4
mulss xmm1, xmm3
mulss xmm6, xmm2
mulss xmm5, xmm0
mulss xmm1, xmm0
addss xmm5, dword [ebp - 0x1960]
mulss xmm6, xmm0
addss xmm1, dword [ebp - 0x195c]
addss xmm6, dword [ebp - 0x1958]
movss dword [ebp - 0x20], xmm5
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x18], xmm6
lea eax, [ebp - 0x189c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movss xmm1, dword [ebp - 0x20]
xorps xmm0, xmm0
movss xmm3, dword [ebp - 0x1960]
add esp, 0xc
movss xmm4, dword [ebp - 0x195c]
subss xmm1, xmm3
movss xmm2, dword [ebp - 0x18]
movss xmm5, dword [ebp - 0x1958]
movups xmmword [ebp - 0x18c0], xmm0
mov dword [ebp - 0x18a0], 0
movups xmmword [ebp - 0x18b0], xmm0
mov edx, dword [esi]
movss xmm0, dword [ebp - 0x1c]
subss xmm2, xmm5
subss xmm0, xmm4
movss dword [ebp - 0x19b0], xmm1
mulss xmm1, xmm1
mov dword [ebp - 0x19a4], 0
mov byte [ebp - 0x197b], 1
movss dword [ebp - 0x19a8], xmm2
movss dword [ebp - 0x19ac], xmm0
mulss xmm0, xmm0
mulss xmm2, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm2
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100cf5b4
mov byte [ebp - 0x197b], 0
mov ecx, dword [0x101ae618]
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 0x100d0022
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100d0022
mov eax, dword [edi]
mov edx, dword [eax]
cmp dword [ebp - 0x1874], edx
jne 0x100d0022
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x84]
cmp eax, 6
je 0x100cff00
cmp eax, 7
je 0x100cff00
cmp byte [ecx + 0x80], 0
je 0x100cfbf8
mov eax, dword [edx + 8]
lea ecx, [edx + 8]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0xe8
mov esi, dword [0x101ae8f8]
add esi, 0xffffffa5
xor esi, 0x2f303c9b
mov ecx, dword [eax + 0x101475a8]
dec ecx
and ecx, dword [eax + 0x101475ac]
mov eax, dword [eax + 0x101475a4]
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 [0x101ae820]
mov eax, dword [esi]
add ecx, 0xffffffdb
xor ecx, 0x2f303c65
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 [0x101ae82c]
mov eax, dword [edi + 0x38]
add ecx, 0xffffffd8
xor ecx, 0x2f303c68
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 [0x101ae830]
mov eax, dword [edi + 0x44]
add ecx, 0xffffffd7
xor ecx, 0x2f303c69
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 [0x101ae714]
mov ecx, dword [edi]
push eax
call edx
mov eax, dword [0x101ae718]
mov ecx, dword [edi]
push esi
call eax
mov edi, dword [ebp - 0x24]
mov esi, dword [edi]
movss xmm3, dword [edi + 8]
movss xmm5, dword [edi + 0xc]
movss xmm4, dword [edi + 0x10]
movq xmm0, qword [esi + 0x14]
mov eax, dword [esi + 0x1c]
movq qword [ebp - 0x1970], xmm0
subss xmm3, dword [ebp - 0x1970]
subss xmm5, dword [ebp - 0x196c]
mov dword [ebp - 0x1968], eax
subss xmm4, dword [ebp - 0x1968]
movaps xmm1, xmm3
movaps xmm0, xmm5
mulss xmm1, xmm3
mulss xmm0, xmm5
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
call fcn.1002a400
addss xmm0, dword [0x10105cec]
movss xmm2, dword [0x10105df4]
lea eax, [ebp - 0x18f4]
push 0x30
push 0
push eax
divss xmm2, xmm0
movd xmm0, dword [esi + 0x28]
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
mulss xmm5, xmm2
mulss xmm1, xmm3
mulss xmm5, xmm0
mulss xmm1, xmm0
mulss xmm4, xmm2
mulss xmm4, xmm0
movss xmm0, dword [ebp - 0x1970]
addss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x196c]
addss xmm0, xmm5
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x1968]
addss xmm0, xmm4
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 0x100cf8fc
mov byte [ebp - 0x197b], 0
mov ecx, dword [0x101ae618]
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 0x100cfb07
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
test al, al
je 0x100cfb07
mov ecx, dword [edi]
mov eax, dword [ebp - 0x18cc]
cmp eax, dword [ecx]
jne 0x100cfb07
movaps xmm0, xmmword [0x10106ba0]
mov eax, 0x10
xorps xmm0, xmmword [0x10106ce0]
mov esi, dword [0x10103f54]
mov dword [ebp - 0x1928], 0xb0e2adb6
mov dword [ebp - 0x1924], 0xaeadb1a7
mov dword [ebp - 0x1920], 0xc8b0a7b4
mov byte [ebp - 0x191c], 0xc2
movups xmmword [ebp - 0x1938], xmm0
xor byte [ebp + eax - 0x1938], 0xc2
inc eax
cmp eax, 0x1d
jb 0x100cfa01
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 0x100cfa36
sub ecx, edx
lea eax, [ebp - 0x1938]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.10033b90
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 9
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100cfac0
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 [0x101ae7fc], 8
jmp 0x100cfac7
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0x19cc]
test esi, esi
je 0x100cfaf6
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100cfaf6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100cfaf6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x1954]
mov ecx, esp
push eax
jmp 0x100d013a
mov eax, dword [edi]
mov edx, str.missed_shot_due_to_extrapolation_n
mov esi, dword [0x10103f54]
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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cfb50
sub ecx, dword [ebp - 0x18]
push ecx
push edx
lea ecx, [ebp - 0x1954]
call fcn.10033b90
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 7
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100cfbe2
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 [0x101ae7fc], 8
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x19d4]
jmp 0x100cfad1
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x19d4]
jmp 0x100cfad1
mov esi, dword [0x10103f54]
cmp eax, 5
jne 0x100cfd52
movaps xmm0, xmmword [0x10106ce0]
xor eax, eax
movups xmmword [ebp - 0x193c], xmm0
mov word [ebp - 0x191c], 0xc8eb
movaps xmm0, xmmword [0x101069f0]
movups xmmword [ebp - 0x192c], xmm0
mov byte [ebp - 0x191a], 0xc2
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x193c]
movaps xmm1, xmmword [0x10106ba0]
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x193c], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100cfc40
cmp eax, 0x23
jae 0x100cfc7e
nop word [eax + eax]
xor byte [ebp + eax - 0x193c], 0xc2
inc eax
cmp eax, 0x23
jb 0x100cfc70
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 0x100cfca5
sub ecx, edx
lea eax, [ebp - 0x193c]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.10033b90
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0xb
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100cfd3c
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 [0x101ae7fc], 8
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x19dc]
jmp 0x100cfe61
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0x19dc]
jmp 0x100cfe61
movaps xmm0, xmmword [0x10106ba0]
mov eax, 0x10
xorps xmm0, xmmword [0x10106ce0]
mov dword [ebp - 0x1928], 0xb0e2adb6
mov dword [ebp - 0x1924], 0xaeadb1a7
mov dword [ebp - 0x1920], 0xc8b0a7b4
mov byte [ebp - 0x191c], 0xc2
movups xmmword [ebp - 0x1938], xmm0
xor byte [ebp + eax - 0x1938], 0xc2
inc eax
cmp eax, 0x1d
jb 0x100cfd91
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 0x100cfdc6
sub ecx, edx
lea eax, [ebp - 0x1938]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.10033b90
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 0xd
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100cfe50
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 [0x101ae7fc], 8
jmp 0x100cfe57
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x19e4]
test esi, esi
je 0x100cfe86
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100cfe86
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100cfe86
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.100327d0
push 0x10130c20
call fcn.10041bb0
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x1940]
cmp ecx, 0xf
jbe 0x100cfee5
mov edx, dword [ebp - 0x1954]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100cfedb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d02a7
push ecx
push edx
call fcn.100f2c1b
add esp, 8
mov eax, dword [edi]
cmp dword [eax + 0x24], 0
jne 0x100d018d
push 1
push dword [eax + 4]
call fcn.100e1350
jmp 0x100d018d
movaps xmm0, xmmword [0x10106ba0]
mov eax, 0x10
xorps xmm0, xmmword [0x10106ce0]
mov esi, dword [0x10103f54]
mov dword [ebp - 0x1928], 0xb7e2adb6
mov dword [ebp - 0x1924], 0xadaca9ac
mov dword [ebp - 0x1920], 0xc2c8acb5
movups xmmword [ebp - 0x1938], xmm0
nop
xor byte [ebp + eax - 0x1938], 0xc2
inc eax
cmp eax, 0x1c
jb 0x100cff40
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 0x100cff75
sub ecx, edx
lea eax, [ebp - 0x1938]
push ecx
push eax
lea ecx, [ebp - 0x1954]
call fcn.10033b90
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 5
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100d000c
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 [0x101ae7fc], 8
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x19ec]
jmp 0x100cfad1
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x19ec]
jmp 0x100cfad1
movaps xmm0, xmmword [0x10106ba0]
mov eax, 0x10
xorps xmm0, xmmword [0x10106ce0]
mov esi, dword [0x10103f54]
mov dword [ebp - 0x1924], 0xb1e2adb6
mov dword [ebp - 0x1920], 0xa3a7b0b2
mov word [ebp - 0x191c], 0xc8a6
mov byte [ebp - 0x191a], 0xc2
movups xmmword [ebp - 0x1934], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x1934], 0xc2
inc eax
cmp eax, 0x1b
jb 0x100d0070
lea edx, [ebp - 0x1934]
lea ecx, [ebp - 0x1954]
call fcn.100388f0
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.100330b0
add esp, 8
mov edx, eax
mov byte [ebp - 4], 3
mov ecx, dword [0x101ae7fc]
cmp ecx, dword [0x101ae800]
je 0x100d00fc
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 [0x101ae7fc], 8
jmp 0x100d0103
push edx
push ecx
call fcn.10034a30
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x19f4]
test esi, esi
je 0x100d0132
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x100d0132
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x100d0132
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
sub esp, 0x18
mov ecx, esp
push dword [ebp - 0x20]
call fcn.100327d0
push 0x10130c20
call fcn.10041bb0
mov dword [ebp - 4], 0xffffffff
add esp, 0x1c
mov ecx, dword [ebp - 0x1940]
cmp ecx, 0xf
jbe 0x100d018d
mov edx, dword [ebp - 0x1954]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d0183
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d02a7
push ecx
push edx
call fcn.100f2c1b
add esp, 8
mov eax, dword [edi]
mov esi, dword [0x101ae8f8]
add esi, 0xffffffa5
xor esi, 0x2f303c9b
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 [0x101ae820]
movss xmm0, dword [ebp - 0x64]
add eax, 0xffffffdb
xor eax, 0x2f303c65
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 [0x101ae82c]
movss xmm0, dword [ebp - 0x4c]
add eax, 0xffffffd8
xor eax, 0x2f303c68
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 [0x101ae830]
movss xmm0, dword [ebp - 0x40]
add eax, 0xffffffd7
xor eax, 0x2f303c69
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 [0x101ae714]
call eax
mov eax, dword [0x101ae718]
lea ecx, [ebp - 0x64]
push ecx
mov ecx, edi
call eax
mov ecx, 0x101af300
call fcn.100d21f0
mov esi, dword [0x101af310]
mov ecx, dword [ebp - 0x1964]
inc ecx
mov dword [ebp - 0x1964], ecx
cmp ecx, esi
jb 0x100cf0e3
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.100f27a0
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