Function at 0x1005d280
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 0x100b2638
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3f8
mov eax, dword [0x100cc040]
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.10027810
lea eax, [ebp - 0x328]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1005d333
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.10026df0
lea ecx, [ebp - 0x328]
mov dword [ebp - 4], 0xffffffff
call fcn.10026d10
mov eax, dword [ebp - 0x328]
push 8
push eax
mov dword [ebp - 0x328], 0
call fcn.100ac3a0
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.10027810
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.10027810
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.1007e220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x360]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x360], 0
push 0x100be64c
movups xmmword [ebp - 0x35c], xmm0
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x348], 0
call fcn.10027810
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.10027810
xorps xmm0, xmm0
mov byte [ebp - 4], 6
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100abb40
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 0x1005d4d3
cmp dword [ebp - 0x348], 0xf
lea eax, [ebp - 0x35c]
push dword [ebp - 0x34c]
cmova eax, dword [ebp - 0x35c]
push eax
call fcn.10026df0
lea ecx, [edi + 0xb4]
mov byte [edi + 0xad], 1
lea eax, [ebp - 0x344]
cmp ecx, eax
je 0x1005d50a
cmp dword [ebp - 0x32c], 0xf
lea eax, [ebp - 0x340]
push dword [ebp - 0x330]
cmova eax, dword [ebp - 0x340]
push eax
call fcn.10026df0
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 0x1005d586
lea ecx, [edi + 0xd0]
nop dword [eax]
mov eax, dword [edi + 0xd8]
push esi
cmp eax, dword [edi + 0xdc]
je 0x1005d572
mov ecx, eax
call fcn.1002bde0
mov eax, dword [edi + 0xd8]
lea ecx, [edi + 0xd0]
push eax
push eax
call fcn.10028910
add dword [edi + 0xd8], 0x1c
jmp 0x1005d578
push eax
call fcn.10050f80
add esi, 0x1c
lea ecx, [edi + 0xd0]
cmp esi, dword [ebp - 0x40]
jne 0x1005d540
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x18], eax
cmp ecx, eax
je 0x1005d936
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 0x1005d5f6
test eax, eax
je 0x1005d5eb
call fcn.1001b290
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 0x1005d64d
test eax, eax
je 0x1005d642
call fcn.1001b290
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.100275b0
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 0x1005d729
mov esi, dword [ebp - 0xfc]
test esi, esi
je 0x1005d7dd
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005d6cc
lea ecx, [ebp - 0xfc]
cmp eax, ecx
je 0x1005d6c7
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005d6b2
cmp dword [esi], 0
jne 0x1005d712
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005d6f3
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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 0x1005d7dd
mov ecx, dword [esi]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0x20], ecx
cmp esi, ecx
je 0x1005d7dd
test esi, esi
je 0x1005d7c5
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005d76a
nop
lea edx, [ebp - 0xfc]
cmp eax, edx
je 0x1005d765
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005d750
cmp dword [esi], 0
jne 0x1005d7b3
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005d791
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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.10025810
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 0x1005d898
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1005d83a
nop dword [eax]
lea ecx, [ebp - 0xfc]
cmp eax, ecx
je 0x1005d835
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005d820
cmp dword [esi], 0
jne 0x1005d880
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005d861
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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.1001b290
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 0x1005d912
mov eax, dword [edi + 0xec]
cmp eax, dword [edi + 0xf0]
je 0x1005d906
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10028910
add dword [esi + 8], 4
jmp 0x1005d912
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100283f0
cmp byte [ebp - 0x39], 0
je 0x1005d924
mov eax, dword [edi + 0xa8]
test eax, eax
je 0x1005d924
call eax
mov ecx, dword [ebp - 0x40]
add ecx, 4
mov dword [ebp - 0x40], ecx
cmp ecx, dword [ebp - 0x18]
jne 0x1005d5a3
lea ecx, [ebp - 0x88]
call fcn.100269d0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x344]
call fcn.10026d10
mov eax, dword [ebp - 0x344]
push 8
push eax
mov dword [ebp - 0x344], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x360]
call fcn.10026d10
mov eax, dword [ebp - 0x360]
push 8
push eax
mov dword [ebp - 0x360], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.10050260
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10026780
push 2
push 0x1c
push eax
call fcn.100abb90
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.1004fe40
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.10027810
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.10027810
lea ecx, [edi + 0x174]
mov byte [ebp - 4], 9
lea eax, [ebp - 0x168]
cmp ecx, eax
je 0x1005dac3
cmp dword [ebp - 0x150], 0xf
lea eax, [ebp - 0x164]
push dword [ebp - 0x154]
cmova eax, dword [ebp - 0x164]
push eax
call fcn.10026df0
lea ecx, [edi + 0x134]
lea eax, [ebp - 0x184]
cmp ecx, eax
je 0x1005daf3
cmp dword [ebp - 0x16c], 0xf
lea eax, [ebp - 0x180]
push dword [ebp - 0x170]
cmova eax, dword [ebp - 0x180]
push eax
call fcn.10026df0
lea ecx, [ebp - 0x168]
mov dword [edi + 0x190], 0xff3cc896
mov dword [edi + 0x1a8], 0
call fcn.10026d10
mov eax, dword [ebp - 0x168]
push 8
push eax
mov dword [ebp - 0x168], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x184]
call fcn.10026d10
mov eax, dword [ebp - 0x184]
push 8
push eax
mov dword [ebp - 0x184], 0
call fcn.100ac3a0
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.1004fe40
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 + 0x1c4]
mov dword [ebp - 0x1a4], 0
movups xmmword [ebp - 0x1b8], xmm0
call fcn.10027810
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.10027810
lea ecx, [edi + 0x240]
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1a0]
cmp ecx, eax
je 0x1005dc45
cmp dword [ebp - 0x188], 0xf
lea eax, [ebp - 0x19c]
push dword [ebp - 0x18c]
cmova eax, dword [ebp - 0x19c]
push eax
call fcn.10026df0
lea ecx, [edi + 0x200]
lea eax, [ebp - 0x1bc]
cmp ecx, eax
je 0x1005dc75
cmp dword [ebp - 0x1a4], 0xf
lea eax, [ebp - 0x1b8]
push dword [ebp - 0x1a8]
cmova eax, dword [ebp - 0x1b8]
push eax
call fcn.10026df0
lea ecx, [ebp - 0x1a0]
mov dword [edi + 0x25c], 0xff00c8ff
mov dword [edi + 0x274], 0
call fcn.10026d10
mov eax, dword [ebp - 0x1a0]
push 8
push eax
mov dword [ebp - 0x1a0], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.10026d10
mov eax, dword [ebp - 0x1bc]
push 8
push eax
mov dword [ebp - 0x1bc], 0
call fcn.100ac3a0
mov dword [edi + 0x1dc], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1c8], 0x14
add esp, 8
mov dword [edi + 0x1d0], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1e0], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004fe40
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 + 0x290]
mov dword [ebp - 0x1dc], 0
movups xmmword [ebp - 0x1f0], xmm0
call fcn.10027810
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.10027810
lea ecx, [edi + 0x2cc]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1f4]
cmp ecx, eax
je 0x1005ddc7
cmp dword [ebp - 0x1dc], 0xf
lea eax, [ebp - 0x1f0]
push dword [ebp - 0x1e0]
cmova eax, dword [ebp - 0x1f0]
push eax
call fcn.10026df0
lea ecx, [edi + 0x30c]
mov byte [edi + 0x305], 1
lea eax, [ebp - 0x1d8]
cmp ecx, eax
je 0x1005ddfe
cmp dword [ebp - 0x1c0], 0xf
lea eax, [ebp - 0x1d4]
push dword [ebp - 0x1c4]
cmova eax, dword [ebp - 0x1d4]
push eax
call fcn.10026df0
lea ecx, [ebp - 0x1d8]
mov byte [edi + 0x308], 0
call fcn.10026d10
mov eax, dword [ebp - 0x1d8]
push 8
push eax
mov dword [ebp - 0x1d8], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f4]
call fcn.10026d10
mov eax, dword [ebp - 0x1f4]
push 8
push eax
mov dword [ebp - 0x1f4], 0
call fcn.100ac3a0
mov dword [edi + 0x2a8], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x294], 0x14
add esp, 8
mov dword [edi + 0x29c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x2ac], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004fe40
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 + 0x328]
mov dword [ebp - 0x214], 0
movups xmmword [ebp - 0x228], xmm0
call fcn.10027810
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.10027810
lea ecx, [edi + 0x364]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x22c]
cmp ecx, eax
je 0x1005df43
cmp dword [ebp - 0x214], 0xf
lea eax, [ebp - 0x228]
push dword [ebp - 0x218]
cmova eax, dword [ebp - 0x228]
push eax
call fcn.10026df0
lea ecx, [edi + 0x3a4]
mov byte [edi + 0x39d], 1
lea eax, [ebp - 0x210]
cmp ecx, eax
je 0x1005df7a
cmp dword [ebp - 0x1f8], 0xf
lea eax, [ebp - 0x20c]
push dword [ebp - 0x1fc]
cmova eax, dword [ebp - 0x20c]
push eax
call fcn.10026df0
lea ecx, [ebp - 0x210]
mov byte [edi + 0x3a0], 0
call fcn.10026d10
mov eax, dword [ebp - 0x210]
push 8
push eax
mov dword [ebp - 0x210], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call fcn.10026d10
mov eax, dword [ebp - 0x22c]
push 8
push eax
mov dword [ebp - 0x22c], 0
call fcn.100ac3a0
mov dword [edi + 0x340], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x32c], 0x14
add esp, 8
mov dword [edi + 0x334], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x344], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1004fe40
mov esi, dword [0x100bcae8]
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.10027810
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.10027810
lea ecx, [edi + 0x43c]
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x248]
cmp ecx, eax
je 0x1005e0bf
cmp dword [ebp - 0x230], 0xf
lea eax, [ebp - 0x244]
push dword [ebp - 0x234]
cmova eax, dword [ebp - 0x244]
push eax
call fcn.10026df0
lea ecx, [edi + 0x3fc]
lea eax, [ebp - 0x264]
cmp ecx, eax
je 0x1005e0ef
cmp dword [ebp - 0x24c], 0xf
lea eax, [ebp - 0x260]
push dword [ebp - 0x250]
cmova eax, dword [ebp - 0x260]
push eax
call fcn.10026df0
lea ecx, [ebp - 0x248]
mov dword [edi + 0x458], esi
mov dword [edi + 0x470], 0
call fcn.10026d10
mov eax, dword [ebp - 0x248]
push 8
push eax
mov dword [ebp - 0x248], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x264]
call fcn.10026d10
mov eax, dword [ebp - 0x264]
push 8
push eax
mov dword [ebp - 0x264], 0
call fcn.100ac3a0
mov dword [edi + 0x3d8], 0
lea eax, [edi + 0x3c0]
mov dword [edi + 0x3c4], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x18], eax
add esp, 8
mov dword [edi + 0x3cc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3dc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1004fe40
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.10027810
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.10027810
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.1007e220
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.10027810
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.10027810
xorps xmm0, xmm0
mov byte [ebp - 4], 0x17
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100abb40
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x4c8]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x29c]
cmp ecx, eax
je 0x1005e304
cmp dword [ebp - 0x284], 0xf
lea eax, [ebp - 0x298]
push dword [ebp - 0x288]
cmova eax, dword [ebp - 0x298]
push eax
call fcn.10026df0
lea ecx, [edi + 0x508]
mov byte [edi + 0x501], 1
lea eax, [ebp - 0x280]
cmp ecx, eax
je 0x1005e33b
cmp dword [ebp - 0x268], 0xf
lea eax, [ebp - 0x27c]
push dword [ebp - 0x26c]
cmova eax, dword [ebp - 0x27c]
push eax
call fcn.10026df0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x501], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x548], eax
add eax, 0x14
mov dword [edi + 0x49c], eax
mov dword [edi + 0x4a0], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005e3bf
lea eax, [edi + 0x524]
mov ecx, dword [edi + 0x52c]
push esi
cmp ecx, dword [edi + 0x530]
je 0x1005e3a9
call fcn.1002bde0
mov eax, dword [edi + 0x52c]
lea ecx, [edi + 0x524]
push eax
push eax
call fcn.10028910
add dword [edi + 0x52c], 0x1c
lea eax, [edi + 0x524]
jmp 0x1005e3b7
push ecx
mov ecx, eax
call fcn.10050f80
lea eax, [edi + 0x524]
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1005e373
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1005e776
lea esi, [edi + 0x538]
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 0x1005e433
test eax, eax
je 0x1005e428
call fcn.1001b290
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 0x1005e48a
test eax, eax
je 0x1005e47f
call fcn.1001b290
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.100275b0
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 0x1005e567
mov esi, dword [ebp - 0x108]
test esi, esi
je 0x1005e61d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005e50a
nop
lea ecx, [ebp - 0x108]
cmp eax, ecx
je 0x1005e505
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005e4f0
cmp dword [esi], 0
jne 0x1005e550
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005e531
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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 0x1005e61d
mov ecx, dword [esi]
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0x18], ecx
cmp esi, ecx
je 0x1005e61d
test esi, esi
je 0x1005e605
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005e5aa
nop dword [eax]
lea edx, [ebp - 0x108]
cmp eax, edx
je 0x1005e5a5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005e590
cmp dword [esi], 0
jne 0x1005e5f3
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005e5d1
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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.10025810
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 0x1005e6d8
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1005e67a
nop dword [eax]
lea ecx, [ebp - 0x108]
cmp eax, ecx
je 0x1005e675
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005e660
cmp dword [esi], 0
jne 0x1005e6c0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005e6a1
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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.1001b290
lea ecx, [ebp - 0x20]
call esi
mov ecx, dword [edi + 0x52c]
lea esi, [edi + 0x538]
sub ecx, dword [edi + 0x528]
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 0x1005e752
mov eax, dword [edi + 0x540]
cmp eax, dword [edi + 0x544]
je 0x1005e746
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10028910
add dword [esi + 8], 4
jmp 0x1005e752
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100283f0
cmp byte [ebp - 0x39], 0
je 0x1005e764
mov eax, dword [edi + 0x4fc]
test eax, eax
je 0x1005e764
call eax
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005e3e0
lea ecx, [ebp - 0x88]
call fcn.100269d0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x280]
call fcn.10026d10
mov eax, dword [ebp - 0x280]
push 8
push eax
mov dword [ebp - 0x280], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x29c]
call fcn.10026d10
mov eax, dword [ebp - 0x29c]
push 8
push eax
mov dword [ebp - 0x29c], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.10050260
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10026780
push 2
push 0x1c
push eax
call fcn.100abb90
mov dword [edi + 0x4a4], 0
lea eax, [edi + 0x48c]
mov dword [edi + 0x490], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x498], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4a8], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
mov esi, dword [0x100bcae8]
lea ecx, [ebp - 0x2d4]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2d4], 0
push str.name_color
movups xmmword [ebp - 0x2d0], xmm0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
call fcn.10027810
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x2b8]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
push 0x100be708
movups xmmword [ebp - 0x2b4], xmm0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0
call fcn.10027810
lea ecx, [edi + 0x5c8]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2b8]
cmp ecx, eax
je 0x1005e912
cmp dword [ebp - 0x2a0], 0xf
lea eax, [ebp - 0x2b4]
push dword [ebp - 0x2a4]
cmova eax, dword [ebp - 0x2b4]
push eax
call fcn.10026df0
lea ecx, [edi + 0x588]
lea eax, [ebp - 0x2d4]
cmp ecx, eax
je 0x1005e942
cmp dword [ebp - 0x2bc], 0xf
lea eax, [ebp - 0x2d0]
push dword [ebp - 0x2c0]
cmova eax, dword [ebp - 0x2d0]
push eax
call fcn.10026df0
lea ecx, [ebp - 0x2b8]
mov dword [edi + 0x5e4], esi
mov dword [edi + 0x5fc], 0
call fcn.10026d10
mov eax, dword [ebp - 0x2b8]
push 8
push eax
mov dword [ebp - 0x2b8], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d4]
call fcn.10026d10
mov eax, dword [ebp - 0x2d4]
push 8
push eax
mov dword [ebp - 0x2d4], 0
call fcn.100ac3a0
mov dword [edi + 0x564], 0
lea eax, [edi + 0x54c]
mov dword [edi + 0x550], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
add esp, 8
mov dword [edi + 0x558], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x568], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
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.10027810
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.10027810
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.1007e220
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.10027810
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.10027810
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100abb40
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x654]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x30c]
cmp ecx, eax
je 0x1005eb57
cmp dword [ebp - 0x2f4], 0xf
lea eax, [ebp - 0x308]
push dword [ebp - 0x2f8]
cmova eax, dword [ebp - 0x308]
push eax
call fcn.10026df0
lea ecx, [edi + 0x694]
mov byte [edi + 0x68d], 1
lea eax, [ebp - 0x2f0]
cmp ecx, eax
je 0x1005eb8e
cmp dword [ebp - 0x2d8], 0xf
lea eax, [ebp - 0x2ec]
push dword [ebp - 0x2dc]
cmova eax, dword [ebp - 0x2ec]
push eax
call fcn.10026df0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x68d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x6d4], eax
add eax, 0x14
mov dword [edi + 0x628], eax
mov dword [edi + 0x62c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005ec1c
lea eax, [edi + 0x6b0]
nop word [eax + eax]
mov ecx, dword [edi + 0x6b8]
push esi
cmp ecx, dword [edi + 0x6bc]
je 0x1005ec06
call fcn.1002bde0
mov eax, dword [edi + 0x6b8]
lea ecx, [edi + 0x6b0]
push eax
push eax
call fcn.10028910
add dword [edi + 0x6b8], 0x1c
lea eax, [edi + 0x6b0]
jmp 0x1005ec14
push ecx
mov ecx, eax
call fcn.10050f80
lea eax, [edi + 0x6b0]
add esi, 0x1c
cmp esi, dword [ebp - 0x38]
jne 0x1005ebd0
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x1005efd6
lea esi, [edi + 0x6c4]
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 0x1005ec93
test eax, eax
je 0x1005ec88
call fcn.1001b290
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 0x1005ecea
test eax, eax
je 0x1005ecdf
call fcn.1001b290
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.100275b0
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 0x1005edc7
mov esi, dword [ebp - 0x114]
test esi, esi
je 0x1005ee7d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005ed6a
nop
lea ecx, [ebp - 0x114]
cmp eax, ecx
je 0x1005ed65
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005ed50
cmp dword [esi], 0
jne 0x1005edb0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005ed91
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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 0x1005ee7d
mov ecx, dword [esi]
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0x38], ecx
cmp esi, ecx
je 0x1005ee7d
test esi, esi
je 0x1005ee65
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1005ee0a
nop dword [eax]
lea edx, [ebp - 0x114]
cmp eax, edx
je 0x1005ee05
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005edf0
cmp dword [esi], 0
jne 0x1005ee53
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005ee31
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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.10025810
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 0x1005ef38
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1005eeda
nop dword [eax]
lea ecx, [ebp - 0x114]
cmp eax, ecx
je 0x1005eed5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1005eec0
cmp dword [esi], 0
jne 0x1005ef20
push str.ITERATOR_LIST_CORRUPTED_
push 0x100b8568
push 0
push 0x536
push 0x100b8570
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1005ef01
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100b869c
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.1001b290
lea ecx, [ebp - 0x28]
call esi
mov ecx, dword [edi + 0x6b8]
lea esi, [edi + 0x6c4]
sub ecx, dword [edi + 0x6b4]
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 0x1005efb2
mov eax, dword [edi + 0x6cc]
cmp eax, dword [edi + 0x6d0]
je 0x1005efa6
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10028910
add dword [esi + 8], 4
jmp 0x1005efb2
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.100283f0
cmp byte [ebp - 0x39], 0
je 0x1005efc4
mov eax, dword [edi + 0x688]
test eax, eax
je 0x1005efc4
call eax
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x64], eax
cmp eax, dword [ebp - 0x20]
jne 0x1005ec40
lea ecx, [ebp - 0x88]
call fcn.100269d0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x2f0]
call fcn.10026d10
mov eax, dword [ebp - 0x2f0]
push 8
push eax
mov dword [ebp - 0x2f0], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x30c]
call fcn.10026d10
mov eax, dword [ebp - 0x30c]
push 8
push eax
mov dword [ebp - 0x30c], 0
call fcn.100ac3a0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.10050260
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100ac3a0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10026780
push 2
push 0x1c
push eax
call fcn.100abb90
mov dword [edi + 0x630], 0
lea eax, [edi + 0x618]
mov dword [edi + 0x61c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x624], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x634], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
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.10027810
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.10027810
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.10027810
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.10027810
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.10027810
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.10027810
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.1007e220
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0xa4]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
push str.flags_enemy
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.10027810
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x60]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push 0x100be754
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
call fcn.10027810
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2b
push 8
movups xmmword [ebp - 0x78], xmm0
call fcn.100abb40
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 + 0x714]
call fcn.10048870
lea eax, [ebp - 0x60]
mov byte [edi + 0x74d], 1
push eax
lea ecx, [edi + 0x754]
call fcn.10048870
mov esi, dword [ebp - 0xe0]
xor eax, eax
cmp byte [edi + 0x74d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x794], eax
add eax, 0x14
mov dword [edi + 0x6e8], eax
mov dword [edi + 0x6ec], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005f367
lea eax, [edi + 0x770]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004fd70
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005f352
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 0x1005f427
lea esi, [edi + 0x784]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x84]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0x784]
mov esi, eax
lea eax, [ebp - 0xcc]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0x84]
call fcn.1001cc70
lea ecx, [edi + 0x770]
call fcn.1002bdc0
lea esi, [edi + 0x784]
cmp dword [ebp - 0x1c], eax
jae 0x1005f403
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x1005f415
mov eax, dword [edi + 0x748]
test eax, eax
je 0x1005f415
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005f381
lea ecx, [ebp - 0x78]
call fcn.10025970
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0xe4]
call fcn.1004fdb0
push fcn.10026780
push 6
push 0x1c
lea eax, [ebp - 0x408]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x6f0], 0
lea eax, [edi + 0x6d8]
mov dword [edi + 0x6dc], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x6e4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x6f4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.money
lea ecx, [ebp - 0x408]
call fcn.100267a0
push str.armor
lea ecx, [ebp - 0x3ec]
mov dword [ebp - 4], 0x2d
call fcn.100267a0
push str.scoped
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0x2e
call fcn.100267a0
push str.flashed
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x2f
call fcn.100267a0
push str.reloading
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x30
call fcn.100267a0
push str.bomb
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x31
call fcn.100267a0
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.1007e220
push str.flags_friendly
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x33
call fcn.100267a0
push 0x100be76c
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x34
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [edi + 0x7d4]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x80d], 1
push eax
lea ecx, [edi + 0x814]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x80d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x854], eax
add eax, 0x14
mov dword [edi + 0x7a8], eax
mov dword [edi + 0x7ac], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005f5e9
lea eax, [edi + 0x830]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004fd70
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005f5d4
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 0x1005f6b6
lea esi, [edi + 0x844]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0x844]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0x830]
call fcn.1002bdc0
lea esi, [edi + 0x844]
cmp dword [ebp - 0x1c], eax
jae 0x1005f692
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x1005f6a4
mov eax, dword [edi + 0x808]
test eax, eax
je 0x1005f6a4
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005f610
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 6
push 0x1c
lea eax, [ebp - 0x408]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x7b0], 0
lea eax, [edi + 0x798]
mov dword [edi + 0x79c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x7a4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x7b4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.friendly
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x37
call fcn.100267a0
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.1007e220
push str.weapon
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x39
call fcn.100267a0
push str.weapon
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x3a
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x894]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x8cd], 1
push eax
lea ecx, [edi + 0x8d4]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x8cd], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x914], eax
add eax, 0x14
mov dword [edi + 0x868], eax
mov dword [edi + 0x86c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005f828
lea eax, [edi + 0x8f0]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004fd70
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005f813
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 0x1005f8ee
lea esi, [edi + 0x904]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0x904]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0x8f0]
call fcn.1002bdc0
lea esi, [edi + 0x904]
cmp dword [ebp - 0x1c], eax
jae 0x1005f8ca
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x1005f8dc
mov eax, dword [edi + 0x8c8]
test eax, eax
je 0x1005f8dc
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005f848
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x870], 0
lea eax, [edi + 0x858]
mov dword [edi + 0x85c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x864], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x874], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.text
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.icon
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x3d
call fcn.100267a0
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.1007e220
push str.weapon_mode
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x3f
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x40
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [edi + 0x954]
call fcn.10048870
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xe0]
mov byte [edi + 0x98d], 0
mov dword [edi + 0x9c8], 0
mov dword [edi + 0x928], 0x14
mov dword [edi + 0x92c], 0x14
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1005fa48
lea eax, [edi + 0x9b0]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004fd70
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1005fa33
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x9b0]
call fcn.1002bdc0
test eax, eax
je 0x1005fa61
mov dword [edi + 0x9c4], 0
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0xe4]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x930], 0
lea eax, [edi + 0x918]
mov dword [edi + 0x91c], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x924], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x934], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.ammo
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x9cc]
call fcn.100267a0
push str.ammo
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x42
call fcn.100267a0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0xa08]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0xa41], 1
push eax
lea ecx, [edi + 0xa48]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov byte [edi + 0xa44], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
mov esi, dword [0x100bcb0c]
lea ecx, [ebp - 0x60]
push str.ammo_color
add edi, 0xa64
call fcn.100267a0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x44
call fcn.100267a0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0xae0
mov byte [ebp - 4], 0x45
call fcn.10048870
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0xaa0]
call fcn.10048870
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0xafc], esi
mov dword [eax + 0xb14], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push 0x100be7c4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xb30]
call fcn.100267a0
push str.lby_update
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x46
call fcn.100267a0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0xb6c]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0xba5], 1
push eax
lea ecx, [edi + 0xbac]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov byte [edi + 0xba8], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
mov esi, dword [0x100bcb00]
lea ecx, [ebp - 0x60]
push str.lby_update_color
add edi, 0xbc8
call fcn.100267a0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x48
call fcn.100267a0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x49
lea ecx, [ecx + 0xc44]
call fcn.10048870
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0xc04]
call fcn.10048870
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xc60], esi
lea ecx, [ebp - 0xa4]
mov dword [eax + 0xc78], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.friendly
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x4a
call fcn.100267a0
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.1007e220
push str.skeleton
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4c
call fcn.100267a0
push str.skeleton
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x4d
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0xcd0]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0xd09], 1
push eax
lea ecx, [edi + 0xd10]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xd09], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd50], eax
add eax, 0x14
mov dword [edi + 0xca4], eax
mov dword [edi + 0xca8], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005fe77
lea eax, [edi + 0xd2c]
mov edi, eax
push esi
mov ecx, edi
call fcn.1004fd70
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1005fe64
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 0x1005ff3d
lea esi, [edi + 0xd40]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0xd40]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0xd2c]
call fcn.1002bdc0
lea esi, [edi + 0xd40]
cmp dword [ebp - 0x1c], eax
jae 0x1005ff19
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x1005ff2b
mov eax, dword [edi + 0xd04]
test eax, eax
je 0x1005ff2b
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x1005fe97
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0xcac], 1
lea eax, [edi + 0xc94]
mov dword [edi + 0xc98], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xca0], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xcb0], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.skeleton_enemy
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xd54]
call fcn.100267a0
push str.enemy_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x50
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0xdd0]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xd90]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xdec], 0xffffffff
mov dword [edi + 0xe04], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.skeleton_friendly
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xe20]
call fcn.100267a0
push str.friendly_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x52
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [edi + 0xe9c]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xe5c]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xeb8], 0xffffffff
mov dword [edi + 0xed0], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.friendly
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x54
call fcn.100267a0
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.1007e220
push str.glow
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x56
call fcn.100267a0
push str.glow
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x57
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [edi + 0xf28]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0xf61], 1
push eax
lea ecx, [edi + 0xf68]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xf61], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xfa8], eax
add eax, 0x14
mov dword [edi + 0xefc], eax
mov dword [edi + 0xf00], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x100601fd
lea eax, [edi + 0xf84]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004fd70
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x100601e8
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 0x100602c6
lea esi, [edi + 0xf98]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0xf98]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0xf84]
call fcn.1002bdc0
lea esi, [edi + 0xf98]
cmp dword [ebp - 0x1c], eax
jae 0x100602a2
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x100602b4
mov eax, dword [edi + 0xf5c]
test eax, eax
je 0x100602b4
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x10060220
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0xf04], 1
lea eax, [edi + 0xeec]
mov dword [edi + 0xef0], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xef8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xf08], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.glow_enemy
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xfac]
call fcn.100267a0
push str.enemy_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x5a
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0x1028]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xfe8]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1044], 0xff3cc896
mov dword [edi + 0x105c], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.glow_friendly
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1078]
call fcn.100267a0
push str.friendly_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x5c
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [edi + 0x10f4]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x10b4]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1110], 0xff3cc896
mov dword [edi + 0x1128], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push 0x100bdef4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1144]
call fcn.1007e910
push str.glow_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x5e
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x5f
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [edi + 0x1180]
call fcn.10048870
lea eax, [ebp - 0x60]
mov byte [edi + 0x11b9], 0
push eax
lea ecx, [edi + 0x11f4]
mov dword [edi + 0x1210], 0
mov dword [edi + 0x1154], 8
mov dword [edi + 0x1158], 8
mov dword [edi + 0x11c4], 0x41200000
mov dword [edi + 0x11c8], 0x42c80000
mov dword [edi + 0x11c0], 0x42700000
mov dword [edi + 0x11d4], 0
mov dword [edi + 0x11cc], 0x3f800000
call fcn.1007e8a0
lea ecx, [ebp - 0xf0]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100501c0
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.1004fe40
push str.visible
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.invisible
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x61
call fcn.100267a0
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.1007e220
push 0x100be87c
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x63
call fcn.100267a0
push str.chams_enemy
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x64
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x66
push eax
lea ecx, [edi + 0x1250]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1289], 1
push eax
lea ecx, [edi + 0x1290]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x1289], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x12d0], eax
add eax, 0x14
mov dword [edi + 0x1224], eax
mov dword [edi + 0x1228], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10060693
lea eax, [edi + 0x12ac]
mov dword [ebp - 0x38], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.1004fd70
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x10060680
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 0x10060759
lea esi, [edi + 0x12c0]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0x12c0]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0x12ac]
call fcn.1002bdc0
lea esi, [edi + 0x12c0]
cmp dword [ebp - 0x1c], eax
jae 0x10060735
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x10060747
mov eax, dword [edi + 0x1284]
test eax, eax
je 0x10060747
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x100606b3
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x122c], 1
lea eax, [edi + 0x1214]
mov dword [edi + 0x1218], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1220], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1230], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.chams_enemy_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x12d4]
call fcn.100267a0
push str.color_visible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x67
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0x1350]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1310]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x136c], 0xff3cc896
mov dword [edi + 0x1384], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.chams_enemy_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x13a0]
call fcn.100267a0
push str.color_invisible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x69
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0x141c]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x13dc]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1438], 0xffe1b43c
mov dword [edi + 0x1450], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push 0x100bdef4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x146c]
call fcn.1007e910
push str.chams_enemy_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x6b
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x6c
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0x14a8]
call fcn.10048870
lea eax, [ebp - 0x60]
mov byte [edi + 0x14e1], 0
push eax
lea ecx, [edi + 0x151c]
mov dword [edi + 0x1538], 0
mov dword [edi + 0x147c], 8
mov dword [edi + 0x1480], 8
mov dword [edi + 0x14ec], 0x41200000
mov dword [edi + 0x14f0], 0x42c80000
mov dword [edi + 0x14e8], 0x42c80000
mov dword [edi + 0x14fc], 0
mov dword [edi + 0x14f4], 0x3f800000
call fcn.1007e8a0
lea ecx, [ebp - 0xf0]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100501c0
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.1004fe40
push str.chams_history
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x153c]
call fcn.100267a0
push 0x100be8f8
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x6e
call fcn.100267a0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [edi + 0x1578]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x15b1], 1
push eax
lea ecx, [edi + 0x15b8]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x15b4], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.chams_history_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x15d4]
call fcn.100267a0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x70
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [edi + 0x1650]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1610]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x166c], 0xffc8ffff
mov dword [edi + 0x1684], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push 0x100bdef4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x16a0]
call fcn.1007e910
push str.chams_history_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x72
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x73
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [edi + 0x16dc]
call fcn.10048870
mov byte [edi + 0x1715], 0
mov dword [edi + 0x176c], 0
mov dword [edi + 0x16b0], 8
lea eax, [ebp - 0x60]
mov dword [edi + 0x16b4], 8
push eax
lea ecx, [edi + 0x1750]
mov dword [edi + 0x1720], 0x41200000
mov dword [edi + 0x1724], 0x42c80000
mov dword [edi + 0x171c], 0x42c80000
mov dword [edi + 0x1730], 0
mov dword [edi + 0x1728], 0x3f800000
call fcn.1007e8a0
lea ecx, [ebp - 0xf0]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100501c0
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.1004fe40
push str.visible
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.invisible
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x75
call fcn.100267a0
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.1007e220
push str.chams_friendly
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x77
call fcn.100267a0
push 0x100be940
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x78
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x7a
push eax
lea ecx, [edi + 0x17ac]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x17e5], 1
push eax
lea ecx, [edi + 0x17ec]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x17e5], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x182c], eax
add eax, 0x14
mov dword [edi + 0x1780], eax
mov dword [edi + 0x1784], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10060d73
lea eax, [edi + 0x1808]
mov dword [ebp - 0x38], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.1004fd70
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x10060d60
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 0x10060e39
lea esi, [edi + 0x181c]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0x181c]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0x1808]
call fcn.1002bdc0
lea esi, [edi + 0x181c]
cmp dword [ebp - 0x1c], eax
jae 0x10060e15
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x10060e27
mov eax, dword [edi + 0x17e0]
test eax, eax
je 0x10060e27
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x10060d93
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x1788], 1
lea eax, [edi + 0x1770]
mov dword [edi + 0x1774], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x177c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x178c], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push str.chams_friendly_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1830]
call fcn.100267a0
push str.color_visible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x7b
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x7c
push eax
lea ecx, [edi + 0x18ac]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x186c]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x18c8], 0xff00c8ff
mov dword [edi + 0x18e0], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.chams_friendly_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x18fc]
call fcn.100267a0
push str.color_invisible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x7d
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [edi + 0x1978]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1938]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1994], 0xff0032ff
mov dword [edi + 0x19ac], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push str.real
lea ecx, [ebp - 0x14c]
call fcn.100267a0
push str.fake
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x7f
call fcn.100267a0
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.1007e220
push 0x100be98c
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x81
call fcn.100267a0
push str.chams_local
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x82
call fcn.100267a0
lea ecx, [ebp - 0xe8]
call fcn.1004fdd0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [edi + 0x1ad4]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1b0d], 1
push eax
lea ecx, [edi + 0x1b14]
call fcn.10048870
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x1b0d], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1b54], eax
add eax, 0x14
mov dword [edi + 0x1aa8], eax
mov dword [edi + 0x1aac], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x100610f9
lea eax, [edi + 0x1b30]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1004fd70
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x100610e4
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 0x100611c6
lea esi, [edi + 0x1b44]
nop dword [eax]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10025890
sub esp, 0xc
mov ecx, esi
push esp
call fcn.10025900
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.100275b0
add esp, 0x18
lea ecx, [edi + 0x1b44]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10025890
push eax
mov ecx, esi
call fcn.10025810
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x39], al
call fcn.1001cc70
lea ecx, [ebp - 0xcc]
call fcn.1001cc70
lea ecx, [edi + 0x1b30]
call fcn.1002bdc0
lea esi, [edi + 0x1b44]
cmp dword [ebp - 0x1c], eax
jae 0x100611a2
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1003cc00
cmp byte [ebp - 0x39], 0
je 0x100611b4
mov eax, dword [edi + 0x1b08]
test eax, eax
je 0x100611b4
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
jne 0x10061120
lea ecx, [ebp - 0xe8]
call fcn.10025970
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
call fcn.10026780
lea ecx, [ebp - 0x78]
call fcn.1004fdb0
push fcn.10026780
push 2
push 0x1c
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100abb90
mov dword [edi + 0x1ab0], 1
lea eax, [edi + 0x1a98]
mov dword [edi + 0x1a9c], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1aa4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1ab4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.1004fe40
push 0x100bdef4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x19c8]
call fcn.1007e910
push str.chams_friendly_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x85
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x86
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x87
push eax
lea ecx, [edi + 0x1a04]
call fcn.10048870
lea eax, [ebp - 0x60]
mov byte [edi + 0x1a3d], 0
push eax
lea ecx, [edi + 0x1a78]
mov dword [edi + 0x1a94], 0
mov dword [edi + 0x19d8], 8
mov dword [edi + 0x19dc], 8
mov dword [edi + 0x1a48], 0x41200000
mov dword [edi + 0x1a4c], 0x42c80000
mov dword [edi + 0x1a44], 0x42c80000
mov dword [edi + 0x1a58], 0
mov dword [edi + 0x1a50], 0x3f800000
call fcn.1007e8a0
lea ecx, [ebp - 0xf0]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100501c0
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.1004fe40
push str.chams_local_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1b58]
call fcn.100267a0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x88
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x89
push eax
lea ecx, [edi + 0x1bd4]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1b94]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1bf0], 0xffc8ffff
mov dword [edi + 0x1c08], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push 0x100bdef4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1c24]
call fcn.1007e910
push str.chams_local_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x8a
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x8b
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [edi + 0x1c60]
call fcn.10048870
lea eax, [ebp - 0x60]
mov byte [edi + 0x1c99], 0
push eax
lea ecx, [edi + 0x1cd4]
mov dword [edi + 0x1cf0], 0
mov dword [edi + 0x1c34], 8
mov dword [edi + 0x1c38], 8
mov dword [edi + 0x1ca4], 0x41200000
mov dword [edi + 0x1ca8], 0x42c80000
mov dword [edi + 0x1ca0], 0x42c80000
mov dword [edi + 0x1cb4], 0
mov dword [edi + 0x1cac], 0x3f800000
call fcn.1007e8a0
lea ecx, [ebp - 0xf0]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100501c0
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.1004fe40
push str.chams_local_ghost_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1cf4]
call fcn.100267a0
push str.fake_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x8d
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [edi + 0x1d70]
call fcn.10048870
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1d30]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1d8c], 0xffc8ffff
mov dword [edi + 0x1da4], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
push 0x100bdef4
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1dc0]
call fcn.1007e910
push str.chams_local_ghost_blend
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x8f
call fcn.100267a0
push 0x100ba875
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x90
call fcn.100267a0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x91
push eax
lea ecx, [edi + 0x1dfc]
call fcn.10048870
lea eax, [ebp - 0x60]
mov byte [edi + 0x1e35], 0
push eax
lea ecx, [edi + 0x1e70]
mov dword [edi + 0x1e8c], 0
mov dword [edi + 0x1dd0], 8
mov dword [edi + 0x1dd4], 8
mov dword [edi + 0x1e40], 0x41200000
mov dword [edi + 0x1e44], 0x42c80000
mov dword [edi + 0x1e3c], 0x42c80000
mov dword [edi + 0x1e50], 0
mov dword [edi + 0x1e48], 0x3f800000
call fcn.1007e8a0
lea ecx, [ebp - 0xf0]
call fcn.10026780
lea ecx, [ebp - 0xa4]
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100501c0
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.1004fe40
push str.chams_local_scope
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1e90]
call fcn.100267a0
push str.blend_when_scoped
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x92
call fcn.100267a0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [edi + 0x1ecc]
call fcn.10048870
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1f05], 1
push eax
lea ecx, [edi + 0x1f0c]
call fcn.10048870
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x1f08], 0
call fcn.10026780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10026780
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.1004fe40
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.100abb10
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret