Function at 0x100593f0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

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 0x100ad518
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3f8
mov eax, dword [0x100c6040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x44], edi
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x328], 0
push str.players
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x314], 0
movups xmmword [ebp - 0x324], xmm0
mov dword [ebp - 0x310], 0
call fcn.10024b70
lea eax, [ebp - 0x328]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x100594a3
cmp dword [ebp - 0x310], 0xf
lea eax, [ebp - 0x324]
push dword [ebp - 0x314]
cmova eax, dword [ebp - 0x324]
mov ecx, edi
push eax
call fcn.100295f0
lea ecx, [ebp - 0x328]
mov dword [ebp - 4], 0xffffffff
call fcn.10024510
mov eax, dword [ebp - 0x328]
push 8
push eax
mov dword [ebp - 0x328], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 0xc0], 0
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xa8], 0
movups xmmword [ebp - 0xbc], xmm0
push 5
push str.enemy
call fcn.10024b70
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xa4]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
push str.friendly
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.10024b70
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x360]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x360], 0
push 0x100b82e4
movups xmmword [ebp - 0x35c], xmm0
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x348], 0
call fcn.10024b70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x344]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x344], 0
push str.boxes
movups xmmword [ebp - 0x340], xmm0
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x32c], 0
call fcn.10024b70
xorps xmm0, xmm0
mov byte [ebp - 4], 6
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100a6b50
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 7
lea eax, [ebp - 0x360]
cmp ecx, eax
je 0x10059643
cmp dword [ebp - 0x348], 0xf
lea eax, [ebp - 0x35c]
push dword [ebp - 0x34c]
cmova eax, dword [ebp - 0x35c]
push eax
call fcn.100295f0
lea ecx, [edi + 0xb4]
mov byte [edi + 0xad], 1
lea eax, [ebp - 0x344]
cmp ecx, eax
je 0x1005967a
cmp dword [ebp - 0x32c], 0xf
lea eax, [ebp - 0x340]
push dword [ebp - 0x330]
cmova eax, dword [ebp - 0x340]
push eax
call fcn.100295f0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xad], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xf4], eax
add eax, 0x14
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x40], eax
cmp esi, eax
je 0x100596f6
lea ecx, [edi + 0xd0]
nop dword [eax]
mov eax, dword [edi + 0xd8]
push esi
cmp eax, dword [edi + 0xdc]
je 0x100596e2
mov ecx, eax
call fcn.10029260
mov eax, dword [edi + 0xd8]
lea ecx, [edi + 0xd0]
push eax
push eax
call fcn.10025ad0
add dword [edi + 0xd8], 0x1c
jmp 0x100596e8
push eax
call fcn.1004d960
add esi, 0x1c
lea ecx, [edi + 0xd0]
cmp esi, dword [ebp - 0x40]
jne 0x100596b0
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x18], eax
cmp ecx, eax
je 0x10059aa6
lea esi, [edi + 0xe4]
mov eax, dword [ecx]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x64], ecx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x64]
mov edx, dword [esi]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x10059766
test eax, eax
je 0x1005975b
call fcn.10019cd0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov eax, dword [esi + 4]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x64], ecx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x64]
mov edx, dword [esi]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x100597bd
test eax, eax
je 0x100597b2
call fcn.10019cd0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
mov ecx, dword [esi + 8]
add esp, 0x18
mov dword [ebp - 0xf4], ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xfc], 0
push 3
mov dword [ebp - 0xf8], 0
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
test esi, esi
jne 0x10059899
mov esi, dword [ebp - 0xfc]
test esi, esi
je 0x1005994d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005983c
lea ecx, [ebp - 0xfc]
cmp eax, ecx
je 0x10059837
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x10059822
cmp dword [esi], 0
jne 0x10059882
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x10059863
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0xf8]
mov dword [esi], eax
mov dword [ebp - 0xfc], 0
jmp 0x1005994d
mov ecx, dword [esi]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0x20], ecx
cmp esi, ecx
je 0x1005994d
test esi, esi
je 0x10059935
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x100598da
nop
lea edx, [ebp - 0xfc]
cmp eax, edx
je 0x100598d5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x100598c0
cmp dword [esi], 0
jne 0x10059923
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x10059901
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov ecx, dword [ebp - 0x20]
add esp, 0x14
mov eax, dword [ebp - 0xf8]
mov dword [esi], eax
mov dword [ebp - 0xfc], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xfc]
mov dword [ecx + 4], eax
mov dword [ebp - 0xfc], ecx
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x30]
call esi
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0xfc]
push eax
call fcn.10023160
push 3
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x39], al
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x10059a08
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x100599aa
nop dword [eax]
lea ecx, [ebp - 0xfc]
cmp eax, ecx
je 0x100599a5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x10059990
cmp dword [esi], 0
jne 0x100599f0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x100599d1
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0xf8]
mov dword [esi], eax
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 0xfc], 0
lea ecx, [ebp - 0x34]
call esi
push 3
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0xcc]
call fcn.10019cd0
lea ecx, [ebp - 0x24]
call esi
mov ecx, dword [edi + 0xd8]
lea esi, [edi + 0xe4]
sub ecx, dword [edi + 0xd4]
mov eax, 0x92492493
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x10059a82
mov eax, dword [edi + 0xec]
cmp eax, dword [edi + 0xf0]
je 0x10059a76
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10025ad0
add dword [esi + 8], 4
jmp 0x10059a82
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100255b0
cmp byte [ebp - 0x39], 0
je 0x10059a94
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x10059a94
call eax
mov ecx, dword [ebp - 0x40]
add ecx, 4
mov dword [ebp - 0x40], ecx
cmp ecx, dword [ebp - 0x18]
jne 0x10059713
lea ecx, [ebp - 0x88]
call fcn.100242e0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x344]
call fcn.10024510
mov eax, dword [ebp - 0x344]
push 8
push eax
mov dword [ebp - 0x344], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x360]
call fcn.10024510
mov eax, dword [ebp - 0x360]
push 8
push eax
mov dword [ebp - 0x360], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.1004cc50
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10024160
push 2
push 0x1c
push eax
call fcn.100a6ba0
mov dword [edi + 0x50], 0
lea eax, [edi + 0x38]
mov dword [edi + 0x3c], 0x14
lea ecx, [ebp - 0x18]
mov dword [edi + 0x44], 0xaf
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x34]
push ecx
lea ecx, [edi + 0x1c]
mov dword [edi + 0x54], eax
call fcn.1004c6a0
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x184], 0
push str.box_enemy
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x170], 0
lea esi, [edi + 0xf8]
mov dword [ebp - 0x16c], 0
movups xmmword [ebp - 0x180], xmm0
call fcn.10024b70
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x168]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x168], 0
push str.box_enemy_color
movups xmmword [ebp - 0x164], xmm0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
call fcn.10024b70
lea ecx, [edi + 0x174]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x168]
cmp ecx, eax
je 0x10059c33
cmp dword [ebp - 0x150], 0xf
lea eax, [ebp - 0x164]
push dword [ebp - 0x154]
cmova eax, dword [ebp - 0x164]
push eax
call fcn.100295f0
lea ecx, [edi + 0x134]
lea eax, [ebp - 0x184]
cmp ecx, eax
je 0x10059c63
cmp dword [ebp - 0x16c], 0xf
lea eax, [ebp - 0x180]
push dword [ebp - 0x170]
cmova eax, dword [ebp - 0x180]
push eax
call fcn.100295f0
lea ecx, [ebp - 0x168]
mov dword [edi + 0x190], 0xff3cc896
mov dword [edi + 0x194], 0
call fcn.10024510
mov eax, dword [ebp - 0x168]
push 8
push eax
mov dword [ebp - 0x168], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x184]
call fcn.10024510
mov eax, dword [ebp - 0x184]
push 8
push eax
mov dword [ebp - 0x184], 0
call fcn.100a73c0
mov dword [edi + 0x110], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0xfc], 0x14
add esp, 8
mov dword [edi + 0x104], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x114], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004c6a0
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x1bc], 0
push str.box_friendly
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1a8], 0
lea esi, [edi + 0x198]
mov dword [ebp - 0x1a4], 0
movups xmmword [ebp - 0x1b8], xmm0
call fcn.10024b70
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x1a0]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x1a0], 0
push str.box_friendly_color
movups xmmword [ebp - 0x19c], xmm0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
call fcn.10024b70
lea ecx, [edi + 0x214]
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1a0]
cmp ecx, eax
je 0x10059db5
cmp dword [ebp - 0x188], 0xf
lea eax, [ebp - 0x19c]
push dword [ebp - 0x18c]
cmova eax, dword [ebp - 0x19c]
push eax
call fcn.100295f0
lea ecx, [edi + 0x1d4]
lea eax, [ebp - 0x1bc]
cmp ecx, eax
je 0x10059de5
cmp dword [ebp - 0x1a4], 0xf
lea eax, [ebp - 0x1b8]
push dword [ebp - 0x1a8]
cmova eax, dword [ebp - 0x1b8]
push eax
call fcn.100295f0
lea ecx, [ebp - 0x1a0]
mov dword [edi + 0x230], 0xff00c8ff
mov dword [edi + 0x234], 0
call fcn.10024510
mov eax, dword [ebp - 0x1a0]
push 8
push eax
mov dword [ebp - 0x1a0], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.10024510
mov eax, dword [ebp - 0x1bc]
push 8
push eax
mov dword [ebp - 0x1bc], 0
call fcn.100a73c0
mov dword [edi + 0x1b0], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x19c], 0x14
add esp, 8
mov dword [edi + 0x1a4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1b4], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004c6a0
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x1f4], 0
push str.dormant
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1e0], 0
lea esi, [edi + 0x238]
mov dword [ebp - 0x1dc], 0
movups xmmword [ebp - 0x1f0], xmm0
call fcn.10024b70
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x1d8]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x1d8], 0
push str.dormant_enemies
movups xmmword [ebp - 0x1d4], xmm0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0
call fcn.10024b70
lea ecx, [edi + 0x274]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1f4]
cmp ecx, eax
je 0x10059f37
cmp dword [ebp - 0x1dc], 0xf
lea eax, [ebp - 0x1f0]
push dword [ebp - 0x1e0]
cmova eax, dword [ebp - 0x1f0]
push eax
call fcn.100295f0
lea ecx, [edi + 0x2b4]
mov byte [edi + 0x2ad], 1
lea eax, [ebp - 0x1d8]
cmp ecx, eax
je 0x10059f6e
cmp dword [ebp - 0x1c0], 0xf
lea eax, [ebp - 0x1d4]
push dword [ebp - 0x1c4]
cmova eax, dword [ebp - 0x1d4]
push eax
call fcn.100295f0
lea ecx, [ebp - 0x1d8]
mov byte [edi + 0x2b0], 0
call fcn.10024510
mov eax, dword [ebp - 0x1d8]
push 8
push eax
mov dword [ebp - 0x1d8], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f4]
call fcn.10024510
mov eax, dword [ebp - 0x1f4]
push 8
push eax
mov dword [ebp - 0x1f4], 0
call fcn.100a73c0
mov dword [edi + 0x250], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x23c], 0x14
add esp, 8
mov dword [edi + 0x244], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x254], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004c6a0
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x22c], 0
push str.offscreen
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x218], 0
lea esi, [edi + 0x2d0]
mov dword [ebp - 0x214], 0
movups xmmword [ebp - 0x228], xmm0
call fcn.10024b70
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x210]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x210], 0
push str.enemy_offscreen_esp
movups xmmword [ebp - 0x20c], xmm0
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0
call fcn.10024b70
lea ecx, [edi + 0x30c]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x22c]
cmp ecx, eax
je 0x1005a0b3
cmp dword [ebp - 0x214], 0xf
lea eax, [ebp - 0x228]
push dword [ebp - 0x218]
cmova eax, dword [ebp - 0x228]
push eax
call fcn.100295f0
lea ecx, [edi + 0x34c]
mov byte [edi + 0x345], 1
lea eax, [ebp - 0x210]
cmp ecx, eax
je 0x1005a0ea
cmp dword [ebp - 0x1f8], 0xf
lea eax, [ebp - 0x20c]
push dword [ebp - 0x1fc]
cmova eax, dword [ebp - 0x20c]
push eax
call fcn.100295f0
lea ecx, [ebp - 0x210]
mov byte [edi + 0x348], 0
call fcn.10024510
mov eax, dword [ebp - 0x210]
push 8
push eax
mov dword [ebp - 0x210], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call fcn.10024510
mov eax, dword [ebp - 0x22c]
push 8
push eax
mov dword [ebp - 0x22c], 0
call fcn.100a73c0
mov dword [edi + 0x2e8], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x2d4], 0x14
add esp, 8
mov dword [edi + 0x2dc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x2ec], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004c6a0
mov esi, dword [0x100b691c]
lea ecx, [ebp - 0x264]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x264], 0
push str.offscreen_color
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
call fcn.10024b70
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x248]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x248], 0
push str.offscreen_esp_color
movups xmmword [ebp - 0x244], xmm0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
call fcn.10024b70
lea ecx, [edi + 0x3e4]
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x248]
cmp ecx, eax
je 0x1005a22f
cmp dword [ebp - 0x230], 0xf
lea eax, [ebp - 0x244]
push dword [ebp - 0x234]
cmova eax, dword [ebp - 0x244]
push eax
call fcn.100295f0
lea ecx, [edi + 0x3a4]
lea eax, [ebp - 0x264]
cmp ecx, eax
je 0x1005a25f
cmp dword [ebp - 0x24c], 0xf
lea eax, [ebp - 0x260]
push dword [ebp - 0x250]
cmova eax, dword [ebp - 0x260]
push eax
call fcn.100295f0
lea ecx, [ebp - 0x248]
mov dword [edi + 0x400], esi
mov dword [edi + 0x404], 0
call fcn.10024510
mov eax, dword [ebp - 0x248]
push 8
push eax
mov dword [ebp - 0x248], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x264]
call fcn.10024510
mov eax, dword [ebp - 0x264]
push 8
push eax
mov dword [ebp - 0x264], 0
call fcn.100a73c0
mov dword [edi + 0x380], 0
lea eax, [edi + 0x368]
mov dword [edi + 0x36c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x18], eax
add esp, 8
mov dword [edi + 0x374], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x384], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1004c6a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push str.enemy
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xac], 0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xa8], 0
call fcn.10024b70
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0xa4]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
push str.friendly
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.10024b70
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x29c]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x29c], 0
push str.name
movups xmmword [ebp - 0x298], xmm0
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0
call fcn.10024b70
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x280]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x280], 0
push str.name
movups xmmword [ebp - 0x27c], xmm0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
call fcn.10024b70
xorps xmm0, xmm0
mov byte [ebp - 4], 0x17
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100a6b50
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x444]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x29c]
cmp ecx, eax
je 0x1005a474
cmp dword [ebp - 0x284], 0xf
lea eax, [ebp - 0x298]
push dword [ebp - 0x288]
cmova eax, dword [ebp - 0x298]
push eax
call fcn.100295f0
lea ecx, [edi + 0x484]
mov byte [edi + 0x47d], 1
lea eax, [ebp - 0x280]
cmp ecx, eax
je 0x1005a4ab
cmp dword [ebp - 0x268], 0xf
lea eax, [ebp - 0x27c]
push dword [ebp - 0x26c]
cmova eax, dword [ebp - 0x27c]
push eax
call fcn.100295f0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x47d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x4c4], eax
add eax, 0x14
mov dword [edi + 0x418], eax
mov dword [edi + 0x41c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005a52f
lea eax, [edi + 0x4a0]
mov ecx, dword [edi + 0x4a8]
push esi
cmp ecx, dword [edi + 0x4ac]
je 0x1005a519
call fcn.10029260
mov eax, dword [edi + 0x4a8]
lea ecx, [edi + 0x4a0]
push eax
push eax
call fcn.10025ad0
add dword [edi + 0x4a8], 0x1c
lea eax, [edi + 0x4a0]
jmp 0x1005a527
push ecx
mov ecx, eax
call fcn.1004d960
lea eax, [edi + 0x4a0]
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1005a4e3
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005a8e6
lea esi, [edi + 0x4b4]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x40], ecx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x40]
mov edx, dword [esi]
mov dword [ebp - 0x18], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1005a5a3
test eax, eax
je 0x1005a598
call fcn.10019cd0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov eax, dword [esi + 4]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x40], ecx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x40]
mov edx, dword [esi]
mov dword [ebp - 0x18], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1005a5fa
test eax, eax
je 0x1005a5ef
call fcn.10019cd0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
mov ecx, dword [esi + 8]
add esp, 0x18
mov dword [ebp - 0x100], ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x108], 0
push 3
mov dword [ebp - 0x104], 0
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
test esi, esi
jne 0x1005a6d7
mov esi, dword [ebp - 0x108]
test esi, esi
je 0x1005a78d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005a67a
nop
lea ecx, [ebp - 0x108]
cmp eax, ecx
je 0x1005a675
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005a660
cmp dword [esi], 0
jne 0x1005a6c0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005a6a1
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x104]
mov dword [esi], eax
mov dword [ebp - 0x108], 0
jmp 0x1005a78d
mov ecx, dword [esi]
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0x18], ecx
cmp esi, ecx
je 0x1005a78d
test esi, esi
je 0x1005a775
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005a71a
nop dword [eax]
lea edx, [ebp - 0x108]
cmp eax, edx
je 0x1005a715
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005a700
cmp dword [esi], 0
jne 0x1005a763
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005a741
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov ecx, dword [ebp - 0x18]
add esp, 0x14
mov eax, dword [ebp - 0x104]
mov dword [esi], eax
mov dword [ebp - 0x108], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x108]
mov dword [ecx + 4], eax
mov dword [ebp - 0x108], ecx
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x30]
call esi
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x108]
push eax
call fcn.10023160
push 3
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x39], al
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x108]
test ecx, ecx
je 0x1005a848
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1005a7ea
nop dword [eax]
lea ecx, [ebp - 0x108]
cmp eax, ecx
je 0x1005a7e5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005a7d0
cmp dword [esi], 0
jne 0x1005a830
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005a811
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x104]
mov dword [esi], eax
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 0x108], 0
lea ecx, [ebp - 0x28]
call esi
push 3
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0xcc]
call fcn.10019cd0
lea ecx, [ebp - 0x20]
call esi
mov ecx, dword [edi + 0x4a8]
lea esi, [edi + 0x4b4]
sub ecx, dword [edi + 0x4a4]
mov eax, 0x92492493
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x1005a8c2
mov eax, dword [edi + 0x4bc]
cmp eax, dword [edi + 0x4c0]
je 0x1005a8b6
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10025ad0
add dword [esi + 8], 4
jmp 0x1005a8c2
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100255b0
cmp byte [ebp - 0x39], 0
je 0x1005a8d4
mov eax, dword [edi + 0x478]
test eax, eax
je 0x1005a8d4
call eax
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005a550
lea ecx, [ebp - 0x88]
call fcn.100242e0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x280]
call fcn.10024510
mov eax, dword [ebp - 0x280]
push 8
push eax
mov dword [ebp - 0x280], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x29c]
call fcn.10024510
mov eax, dword [ebp - 0x29c]
push 8
push eax
mov dword [ebp - 0x29c], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.1004cc50
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10024160
push 2
push 0x1c
push eax
call fcn.100a6ba0
mov dword [edi + 0x420], 0
lea eax, [edi + 0x408]
mov dword [edi + 0x40c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x414], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x424], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
mov esi, dword [0x100b691c]
lea ecx, [ebp - 0x2d4]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2d4], 0
push 0x100b8384
movups xmmword [ebp - 0x2d0], xmm0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
call fcn.10024b70
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x2b8]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
push str.name_color
movups xmmword [ebp - 0x2b4], xmm0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0
call fcn.10024b70
lea ecx, [edi + 0x544]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2b8]
cmp ecx, eax
je 0x1005aa82
cmp dword [ebp - 0x2a0], 0xf
lea eax, [ebp - 0x2b4]
push dword [ebp - 0x2a4]
cmova eax, dword [ebp - 0x2b4]
push eax
call fcn.100295f0
lea ecx, [edi + 0x504]
lea eax, [ebp - 0x2d4]
cmp ecx, eax
je 0x1005aab2
cmp dword [ebp - 0x2bc], 0xf
lea eax, [ebp - 0x2d0]
push dword [ebp - 0x2c0]
cmova eax, dword [ebp - 0x2d0]
push eax
call fcn.100295f0
lea ecx, [ebp - 0x2b8]
mov dword [edi + 0x560], esi
mov dword [edi + 0x564], 0
call fcn.10024510
mov eax, dword [ebp - 0x2b8]
push 8
push eax
mov dword [ebp - 0x2b8], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d4]
call fcn.10024510
mov eax, dword [ebp - 0x2d4]
push 8
push eax
mov dword [ebp - 0x2d4], 0
call fcn.100a73c0
mov dword [edi + 0x4e0], 0
lea eax, [edi + 0x4c8]
mov dword [edi + 0x4cc], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
add esp, 8
mov dword [edi + 0x4d4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4e4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push str.enemy
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xac], 0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xa8], 0
call fcn.10024b70
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xa4]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
push str.friendly
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.10024b70
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x30c]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x30c], 0
push str.health
movups xmmword [ebp - 0x308], xmm0
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0
call fcn.10024b70
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2f0]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x2f0], 0
push str.health
movups xmmword [ebp - 0x2ec], xmm0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2d8], 0
call fcn.10024b70
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100a6b50
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x5a4]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x30c]
cmp ecx, eax
je 0x1005acc7
cmp dword [ebp - 0x2f4], 0xf
lea eax, [ebp - 0x308]
push dword [ebp - 0x2f8]
cmova eax, dword [ebp - 0x308]
push eax
call fcn.100295f0
lea ecx, [edi + 0x5e4]
mov byte [edi + 0x5dd], 1
lea eax, [ebp - 0x2f0]
cmp ecx, eax
je 0x1005acfe
cmp dword [ebp - 0x2d8], 0xf
lea eax, [ebp - 0x2ec]
push dword [ebp - 0x2dc]
cmova eax, dword [ebp - 0x2ec]
push eax
call fcn.100295f0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x5dd], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x624], eax
add eax, 0x14
mov dword [edi + 0x578], eax
mov dword [edi + 0x57c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005ad8c
lea eax, [edi + 0x600]
nop word [eax + eax]
mov ecx, dword [edi + 0x608]
push esi
cmp ecx, dword [edi + 0x60c]
je 0x1005ad76
call fcn.10029260
mov eax, dword [edi + 0x608]
lea ecx, [edi + 0x600]
push eax
push eax
call fcn.10025ad0
add dword [edi + 0x608], 0x1c
lea eax, [edi + 0x600]
jmp 0x1005ad84
push ecx
mov ecx, eax
call fcn.1004d960
lea eax, [edi + 0x600]
add esi, 0x1c
cmp esi, dword [ebp - 0x38]
jne 0x1005ad40
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x1005b146
lea esi, [edi + 0x614]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x40], ecx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x40]
mov edx, dword [esi]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1005ae03
test eax, eax
je 0x1005adf8
call fcn.10019cd0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
lea ecx, [ebp - 0x18]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov eax, dword [esi + 4]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x40], ecx
push 3
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x40]
mov edx, dword [esi]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1005ae5a
test eax, eax
je 0x1005ae4f
call fcn.10019cd0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov dword [edx + 4], ecx
mov dword [ecx], edx
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
mov ecx, dword [esi + 8]
add esp, 0x18
mov dword [ebp - 0x10c], ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x114], 0
push 3
mov dword [ebp - 0x110], 0
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
test esi, esi
jne 0x1005af37
mov esi, dword [ebp - 0x114]
test esi, esi
je 0x1005afed
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005aeda
nop
lea ecx, [ebp - 0x114]
cmp eax, ecx
je 0x1005aed5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005aec0
cmp dword [esi], 0
jne 0x1005af20
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005af01
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x110]
mov dword [esi], eax
mov dword [ebp - 0x114], 0
jmp 0x1005afed
mov ecx, dword [esi]
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0x38], ecx
cmp esi, ecx
je 0x1005afed
test esi, esi
je 0x1005afd5
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005af7a
nop dword [eax]
lea edx, [ebp - 0x114]
cmp eax, edx
je 0x1005af75
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005af60
cmp dword [esi], 0
jne 0x1005afc3
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005afa1
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
mov ecx, dword [ebp - 0x38]
add esp, 0x14
mov eax, dword [ebp - 0x110]
mov dword [esi], eax
mov dword [ebp - 0x114], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x114]
mov dword [ecx + 4], eax
mov dword [ebp - 0x114], ecx
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
lea ecx, [ebp - 0x34]
call esi
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x114]
push eax
call fcn.10023160
push 3
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x39], al
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x114]
test ecx, ecx
je 0x1005b0a8
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1005b04a
nop dword [eax]
lea ecx, [ebp - 0x114]
cmp eax, ecx
je 0x1005b045
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005b030
cmp dword [esi], 0
jne 0x1005b090
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b25a8
push 0
push 0x535
push 0x100b25b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005b071
int3
push 0
push 0x535
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120includexmemory
push 0x100b26dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x110]
mov dword [esi], eax
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 0x114], 0
lea ecx, [ebp - 0x2c]
call esi
push 3
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
lea ecx, [ebp - 0xcc]
call fcn.10019cd0
lea ecx, [ebp - 0x28]
call esi
mov ecx, dword [edi + 0x608]
lea esi, [edi + 0x614]
sub ecx, dword [edi + 0x604]
mov eax, 0x92492493
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x1005b122
mov eax, dword [edi + 0x61c]
cmp eax, dword [edi + 0x620]
je 0x1005b116
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10025ad0
add dword [esi + 8], 4
jmp 0x1005b122
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100255b0
cmp byte [ebp - 0x39], 0
je 0x1005b134
mov eax, dword [edi + 0x5d8]
test eax, eax
je 0x1005b134
call eax
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x20]
jne 0x1005adb0
lea ecx, [ebp - 0x88]
call fcn.100242e0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x2f0]
call fcn.10024510
mov eax, dword [ebp - 0x2f0]
push 8
push eax
mov dword [ebp - 0x2f0], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x30c]
call fcn.10024510
mov eax, dword [ebp - 0x30c]
push 8
push eax
mov dword [ebp - 0x30c], 0
call fcn.100a73c0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.1004cc50
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100a73c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10024160
push 2
push 0x1c
push eax
call fcn.100a6ba0
mov dword [edi + 0x580], 0
lea eax, [edi + 0x568]
mov dword [edi + 0x56c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x574], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x584], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x408], 0
push str.money
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x3f4], 0
movups xmmword [ebp - 0x404], xmm0
mov dword [ebp - 0x3f0], 0
call fcn.10024b70
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x3ec]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x3ec], 0
push str.armor
movups xmmword [ebp - 0x3e8], xmm0
mov dword [ebp - 0x3d8], 0
mov dword [ebp - 0x3d4], 0
call fcn.10024b70
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3d0]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x3d0], 0
push str.scoped
movups xmmword [ebp - 0x3cc], xmm0
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3b8], 0
call fcn.10024b70
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x3b4]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x3b4], 0
push str.flashed
movups xmmword [ebp - 0x3b0], xmm0
mov dword [ebp - 0x3a0], 0
mov dword [ebp - 0x39c], 0
call fcn.10024b70
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x398]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x398], 0
push str.reloading
movups xmmword [ebp - 0x394], xmm0
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x380], 0
call fcn.10024b70
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x37c]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x37c], 0
push str.bomb
movups xmmword [ebp - 0x378], xmm0
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0
call fcn.10024b70
lea eax, [ebp - 0x360]
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x408]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xe4]
call fcn.100798c0
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xa4]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
push 0x100b83d0
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.10024b70
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x60]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.flags_enemy
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
call fcn.10024b70
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2b
push 8
movups xmmword [ebp - 0x78], xmm0
call fcn.100a6b50
lea ecx, [ebp - 0x78]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x78], eax
mov dword [eax], ecx
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [edi + 0x664]
call fcn.100450e0
lea eax, [ebp - 0x60]
mov byte [edi + 0x69d], 1
push eax
lea ecx, [edi + 0x6a4]
call fcn.100450e0
mov esi, dword [ebp - 0xe0]
xor eax, eax
cmp byte [edi + 0x69d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x6e4], eax
add eax, 0x14
mov dword [edi + 0x638], eax
mov dword [edi + 0x63c], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005b4d7
lea eax, [edi + 0x6c0]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004c5d0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005b4c2
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005b597
lea esi, [edi + 0x6d4]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x84]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0x6d4]
mov esi, eax
lea eax, [ebp - 0xcc]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0x84]
call fcn.1001a850
lea ecx, [edi + 0x6c0]
call fcn.10029180
lea esi, [edi + 0x6d4]
cmp dword [ebp - 0x1c], eax
jae 0x1005b573
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005b585
mov eax, dword [edi + 0x698]
test eax, eax
je 0x1005b585
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005b4f1
lea ecx, [ebp - 0x78]
call fcn.100232c0
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0xe4]
call fcn.1004c610
push fcn.10024160
push 6
push 0x1c
lea eax, [ebp - 0x408]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x640], 0
lea eax, [edi + 0x628]
mov dword [edi + 0x62c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x634], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x644], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.money
lea ecx, [ebp - 0x408]
call fcn.10024180
push str.armor
lea ecx, [ebp - 0x3ec]
mov dword [ebp - 4], 0x2d
call fcn.10024180
push str.scoped
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0x2e
call fcn.10024180
push str.flashed
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x2f
call fcn.10024180
push str.reloading
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x30
call fcn.10024180
push str.bomb
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x31
call fcn.10024180
lea eax, [ebp - 0x360]
mov dword [ebp - 4], 0x32
lea ecx, [ebp - 0x408]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push 0x100b83e4
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x33
call fcn.10024180
push str.flags_friendly
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x34
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [edi + 0x724]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x75d], 1
push eax
lea ecx, [edi + 0x764]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x75d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x7a4], eax
add eax, 0x14
mov dword [edi + 0x6f8], eax
mov dword [edi + 0x6fc], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005b759
lea eax, [edi + 0x780]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004c5d0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005b744
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005b826
lea esi, [edi + 0x794]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0x794]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0x780]
call fcn.10029180
lea esi, [edi + 0x794]
cmp dword [ebp - 0x1c], eax
jae 0x1005b802
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005b814
mov eax, dword [edi + 0x758]
test eax, eax
je 0x1005b814
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005b780
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 6
push 0x1c
lea eax, [ebp - 0x408]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x700], 0
lea eax, [edi + 0x6e8]
mov dword [edi + 0x6ec], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x6f4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x704], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.friendly
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x37
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x38
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push str.weapon
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x39
call fcn.10024180
push str.weapon
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x3a
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x7e4]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x81d], 1
push eax
lea ecx, [edi + 0x824]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x81d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x864], eax
add eax, 0x14
mov dword [edi + 0x7b8], eax
mov dword [edi + 0x7bc], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005b998
lea eax, [edi + 0x840]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004c5d0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005b983
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005ba5e
lea esi, [edi + 0x854]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0x854]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0x840]
call fcn.10029180
lea esi, [edi + 0x854]
cmp dword [ebp - 0x1c], eax
jae 0x1005ba3a
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005ba4c
mov eax, dword [edi + 0x818]
test eax, eax
je 0x1005ba4c
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005b9b8
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x7c0], 0
lea eax, [edi + 0x7a8]
mov dword [edi + 0x7ac], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x7b4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x7c4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.text
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.icon
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x3d
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x3e
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xe4]
call fcn.100798c0
push str.weapon_mode
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x3f
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x40
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [edi + 0x8a4]
call fcn.100450e0
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [edi + 0x8dd], 0
mov dword [edi + 0x918], 0
mov dword [edi + 0x878], 0x14
mov dword [edi + 0x87c], 0x14
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005bbb8
lea eax, [edi + 0x900]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004c5d0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005bba3
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x900]
call fcn.10029180
test eax, eax
je 0x1005bbd1
mov dword [edi + 0x914], 0
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0xe4]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x880], 0
lea eax, [edi + 0x868]
mov dword [edi + 0x86c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x874], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x884], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.ammo
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x91c]
call fcn.10024180
push str.ammo
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x42
call fcn.10024180
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0x958]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x991], 1
push eax
lea ecx, [edi + 0x998]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x994], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 0
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
mov esi, dword [0x100b693c]
lea ecx, [ebp - 0x60]
push str.ammo_color
add edi, 0x9b4
call fcn.10024180
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x44
call fcn.10024180
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0xa30
mov byte [ebp - 4], 0x45
call fcn.100450e0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0x9f0]
call fcn.100450e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0xa4c], esi
mov dword [eax + 0xa50], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0x14
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x34]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x44]
push eax
lea ecx, [edi + 0x1c]
call fcn.1004c6a0
push str.lby_update
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xa54]
call fcn.10024180
push 0x100b8450
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x46
call fcn.10024180
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0xa90]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0xac9], 1
push eax
lea ecx, [edi + 0xad0]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov byte [edi + 0xacc], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 0
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
mov esi, dword [0x100b6934]
lea ecx, [ebp - 0x60]
push str.lby_update_color
add edi, 0xaec
call fcn.10024180
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x48
call fcn.10024180
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x49
lea ecx, [ecx + 0xb68]
call fcn.100450e0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0xb28]
call fcn.100450e0
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xb84], esi
lea ecx, [ebp - 0xa4]
mov dword [eax + 0xb88], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0x14
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x34]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x44]
push eax
lea ecx, [edi + 0x1c]
call fcn.1004c6a0
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.friendly
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x4a
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x4b
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push str.skeleton
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4c
call fcn.10024180
push str.skeleton
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x4d
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0xbc8]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0xc01], 1
push eax
lea ecx, [edi + 0xc08]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xc01], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xc48], eax
add eax, 0x14
mov dword [edi + 0xb9c], eax
mov dword [edi + 0xba0], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005bfe7
lea eax, [edi + 0xc24]
mov edi, eax
push esi
mov ecx, edi
call fcn.1004c5d0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1005bfd4
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005c0ad
lea esi, [edi + 0xc38]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0xc38]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0xc24]
call fcn.10029180
lea esi, [edi + 0xc38]
cmp dword [ebp - 0x1c], eax
jae 0x1005c089
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005c09b
mov eax, dword [edi + 0xbfc]
test eax, eax
je 0x1005c09b
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005c007
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0xba4], 1
lea eax, [edi + 0xb8c]
mov dword [edi + 0xb90], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xb98], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xba8], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.skeleton_enemy
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xc4c]
call fcn.10024180
push str.enemy_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x50
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0xcc8]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xc88]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xce4], 0xffffffff
mov dword [edi + 0xce8], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.skeleton_friendly
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xcec]
call fcn.10024180
push str.friendly_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x52
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [edi + 0xd68]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xd28]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xd84], 0xffffffff
mov dword [edi + 0xd88], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.friendly
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x54
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x55
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push str.glow
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x56
call fcn.10024180
push str.glow
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x57
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [edi + 0xdc8]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0xe01], 1
push eax
lea ecx, [edi + 0xe08]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xe01], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xe48], eax
add eax, 0x14
mov dword [edi + 0xd9c], eax
mov dword [edi + 0xda0], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005c36d
lea eax, [edi + 0xe24]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004c5d0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005c358
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005c436
lea esi, [edi + 0xe38]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0xe38]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0xe24]
call fcn.10029180
lea esi, [edi + 0xe38]
cmp dword [ebp - 0x1c], eax
jae 0x1005c412
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005c424
mov eax, dword [edi + 0xdfc]
test eax, eax
je 0x1005c424
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005c390
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0xda4], 1
lea eax, [edi + 0xd8c]
mov dword [edi + 0xd90], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xd98], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xda8], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.glow_enemy
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xe4c]
call fcn.10024180
push str.enemy_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x5a
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0xec8]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xe88]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xee4], 0xff3cc896
mov dword [edi + 0xee8], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.glow_friendly
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xeec]
call fcn.10024180
push str.friendly_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x5c
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [edi + 0xf68]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xf28]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xf84], 0xff3cc896
mov dword [edi + 0xf88], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push 0x100b7cb0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xf8c]
call fcn.10079fb0
push str.glow_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x5e
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x5f
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [edi + 0xfc8]
call fcn.100450e0
lea eax, [ebp - 0x60]
mov byte [edi + 0x1001], 0
push eax
lea ecx, [edi + 0x103c]
mov dword [edi + 0x1058], 0
mov dword [edi + 0xf9c], 8
mov dword [edi + 0xfa0], 8
mov dword [edi + 0x100c], 0x41200000
mov dword [edi + 0x1010], 0x42c80000
mov dword [edi + 0x1008], 0x42700000
mov dword [edi + 0x101c], 0
mov dword [edi + 0x1014], 0x3f800000
call fcn.10079f40
lea ecx, [ebp - 0xf0]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1004cbb0
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.visible
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.invisible
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x61
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x62
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push str.chams_enemy
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x63
call fcn.10024180
push 0x100b850c
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x64
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x66
push eax
lea ecx, [edi + 0x1098]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x10d1], 1
push eax
lea ecx, [edi + 0x10d8]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x10d1], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1118], eax
add eax, 0x14
mov dword [edi + 0x106c], eax
mov dword [edi + 0x1070], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005c803
lea eax, [edi + 0x10f4]
mov dword [ebp - 0x38], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.1004c5d0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1005c7f0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005c8c9
lea esi, [edi + 0x1108]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0x1108]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0x10f4]
call fcn.10029180
lea esi, [edi + 0x1108]
cmp dword [ebp - 0x1c], eax
jae 0x1005c8a5
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005c8b7
mov eax, dword [edi + 0x10cc]
test eax, eax
je 0x1005c8b7
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005c823
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x1074], 1
lea eax, [edi + 0x105c]
mov dword [edi + 0x1060], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1068], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1078], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.chams_enemy_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x111c]
call fcn.10024180
push str.color_visible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x67
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0x1198]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1158]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x11b4], 0xff3cc896
mov dword [edi + 0x11b8], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.chams_enemy_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x11bc]
call fcn.10024180
push str.color_invisible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x69
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0x1238]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x11f8]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1254], 0xffe1b43c
mov dword [edi + 0x1258], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push 0x100b7cb0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x125c]
call fcn.10079fb0
push str.chams_enemy_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x6b
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x6c
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0x1298]
call fcn.100450e0
lea eax, [ebp - 0x60]
mov byte [edi + 0x12d1], 0
push eax
lea ecx, [edi + 0x130c]
mov dword [edi + 0x1328], 0
mov dword [edi + 0x126c], 8
mov dword [edi + 0x1270], 8
mov dword [edi + 0x12dc], 0x41200000
mov dword [edi + 0x12e0], 0x42c80000
mov dword [edi + 0x12d8], 0x42c80000
mov dword [edi + 0x12ec], 0
mov dword [edi + 0x12e4], 0x3f800000
call fcn.10079f40
lea ecx, [ebp - 0xf0]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1004cbb0
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push 0x100b8568
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x132c]
call fcn.10024180
push str.chams_history
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x6e
call fcn.10024180
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [edi + 0x1368]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x13a1], 1
push eax
lea ecx, [edi + 0x13a8]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x13a4], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.chams_history_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x13c4]
call fcn.10024180
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x70
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [edi + 0x1440]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1400]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x145c], 0xffc8ffff
mov dword [edi + 0x1460], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push 0x100b7cb0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1464]
call fcn.10079fb0
push str.chams_history_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x72
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x73
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [edi + 0x14a0]
call fcn.100450e0
mov byte [edi + 0x14d9], 0
mov dword [edi + 0x1530], 0
mov dword [edi + 0x1474], 8
lea eax, [ebp - 0x60]
mov dword [edi + 0x1478], 8
push eax
lea ecx, [edi + 0x1514]
mov dword [edi + 0x14e4], 0x41200000
mov dword [edi + 0x14e8], 0x42c80000
mov dword [edi + 0x14e0], 0x42c80000
mov dword [edi + 0x14f4], 0
mov dword [edi + 0x14ec], 0x3f800000
call fcn.10079f40
lea ecx, [ebp - 0xf0]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1004cbb0
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.visible
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.invisible
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x75
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x76
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push 0x100b85b0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x77
call fcn.10024180
push str.chams_friendly
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x78
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x7a
push eax
lea ecx, [edi + 0x1570]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x15a9], 1
push eax
lea ecx, [edi + 0x15b0]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x15a9], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x15f0], eax
add eax, 0x14
mov dword [edi + 0x1544], eax
mov dword [edi + 0x1548], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005cee3
lea eax, [edi + 0x15cc]
mov dword [ebp - 0x38], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.1004c5d0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1005ced0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005cfa9
lea esi, [edi + 0x15e0]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0x15e0]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0x15cc]
call fcn.10029180
lea esi, [edi + 0x15e0]
cmp dword [ebp - 0x1c], eax
jae 0x1005cf85
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005cf97
mov eax, dword [edi + 0x15a4]
test eax, eax
je 0x1005cf97
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005cf03
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x154c], 1
lea eax, [edi + 0x1534]
mov dword [edi + 0x1538], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1540], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1550], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.chams_friendly_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x15f4]
call fcn.10024180
push str.color_visible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x7b
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x7c
push eax
lea ecx, [edi + 0x1670]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1630]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x168c], 0xff00c8ff
mov dword [edi + 0x1690], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.chams_friendly_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1694]
call fcn.10024180
push str.color_invisible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x7d
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [edi + 0x1710]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x16d0]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x172c], 0xff0032ff
mov dword [edi + 0x1730], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.real
lea ecx, [ebp - 0x14c]
call fcn.10024180
push str.fake
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x7f
call fcn.10024180
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x80
lea ecx, [ebp - 0x14c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100798c0
push str.chams_local
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x81
call fcn.10024180
push 0x100b8618
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x82
call fcn.10024180
lea ecx, [ebp - 0xe8]
call fcn.1004c630
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [edi + 0x1840]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1879], 1
push eax
lea ecx, [edi + 0x1880]
call fcn.100450e0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x1879], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x18c0], eax
add eax, 0x14
mov dword [edi + 0x1814], eax
mov dword [edi + 0x1818], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005d269
lea eax, [edi + 0x189c]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004c5d0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005d254
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005d336
lea esi, [edi + 0x18b0]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.100231e0
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10023250
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10024920
add esp, 0x18
lea ecx, [edi + 0x18b0]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.100231e0
push eax
mov ecx, esi
call fcn.10023160
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001a850
lea ecx, [ebp - 0xcc]
call fcn.1001a850
lea ecx, [edi + 0x189c]
call fcn.10029180
lea esi, [edi + 0x18b0]
cmp dword [ebp - 0x1c], eax
jae 0x1005d312
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10039470
cmp byte [ebp - 0x39], 0
je 0x1005d324
mov eax, dword [edi + 0x1874]
test eax, eax
je 0x1005d324
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005d290
lea ecx, [ebp - 0xe8]
call fcn.100232c0
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
call fcn.10024160
lea ecx, [ebp - 0x78]
call fcn.1004c610
push fcn.10024160
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a6ba0
mov dword [edi + 0x181c], 1
lea eax, [edi + 0x1804]
mov dword [edi + 0x1808], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1810], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1820], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push 0x100b7cb0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1734]
call fcn.10079fb0
push str.chams_friendly_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x85
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x86
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x87
push eax
lea ecx, [edi + 0x1770]
call fcn.100450e0
lea eax, [ebp - 0x60]
mov byte [edi + 0x17a9], 0
push eax
lea ecx, [edi + 0x17e4]
mov dword [edi + 0x1800], 0
mov dword [edi + 0x1744], 8
mov dword [edi + 0x1748], 8
mov dword [edi + 0x17b4], 0x41200000
mov dword [edi + 0x17b8], 0x42c80000
mov dword [edi + 0x17b0], 0x42c80000
mov dword [edi + 0x17c4], 0
mov dword [edi + 0x17bc], 0x3f800000
call fcn.10079f40
lea ecx, [ebp - 0xf0]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1004cbb0
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.chams_local_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x18c4]
call fcn.10024180
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x88
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x89
push eax
lea ecx, [edi + 0x1940]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1900]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x195c], 0xffc8ffff
mov dword [edi + 0x1960], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push 0x100b7cb0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1964]
call fcn.10079fb0
push str.chams_local_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x8a
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x8b
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [edi + 0x19a0]
call fcn.100450e0
lea eax, [ebp - 0x60]
mov byte [edi + 0x19d9], 0
push eax
lea ecx, [edi + 0x1a14]
mov dword [edi + 0x1a30], 0
mov dword [edi + 0x1974], 8
mov dword [edi + 0x1978], 8
mov dword [edi + 0x19e4], 0x41200000
mov dword [edi + 0x19e8], 0x42c80000
mov dword [edi + 0x19e0], 0x42c80000
mov dword [edi + 0x19f4], 0
mov dword [edi + 0x19ec], 0x3f800000
call fcn.10079f40
lea ecx, [ebp - 0xf0]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1004cbb0
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push str.chams_local_ghost_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1a34]
call fcn.10024180
push str.fake_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x8d
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [edi + 0x1ab0]
call fcn.100450e0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1a70]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1acc], 0xffc8ffff
mov dword [edi + 0x1ad0], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
push 0x100b7cb0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1ad4]
call fcn.10079fb0
push str.chams_local_ghost_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x8f
call fcn.10024180
push 0x100b4706
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x90
call fcn.10024180
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x91
push eax
lea ecx, [edi + 0x1b10]
call fcn.100450e0
lea eax, [ebp - 0x60]
mov byte [edi + 0x1b49], 0
push eax
lea ecx, [edi + 0x1b84]
mov dword [edi + 0x1ba0], 0
mov dword [edi + 0x1ae4], 8
mov dword [edi + 0x1ae8], 8
mov dword [edi + 0x1b54], 0x41200000
mov dword [edi + 0x1b58], 0x42c80000
mov dword [edi + 0x1b50], 0x42c80000
mov dword [edi + 0x1b64], 0
mov dword [edi + 0x1b5c], 0x3f800000
call fcn.10079f40
lea ecx, [ebp - 0xf0]
call fcn.10024160
lea ecx, [ebp - 0xa4]
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1004cbb0
mov dword [esi + 0x18], 1
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x38], esi
mov dword [esi + 0x1c], eax
lea ecx, [edi + 0x1c]
lea eax, [ebp - 0x38]
push eax
call fcn.1004c6a0
push str.chams_local_scope
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1ba4]
call fcn.10024180
push str.blend_when_scoped
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x92
call fcn.10024180
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [edi + 0x1be0]
call fcn.100450e0
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1c19], 1
push eax
lea ecx, [edi + 0x1c20]
call fcn.100450e0
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x1c1c], 0
call fcn.10024160
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10024160
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x1c]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.1004c6a0
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.100a6b20
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret