Function at 0x1007af70
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 0x100e6191
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3f8
mov eax, dword [0x10104040]
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 - 0x2ec], 0
push str.players
lea ecx, [ebp - 0x2ec]
mov dword [ebp - 0x2d8], 0
movups xmmword [ebp - 0x2e8], xmm0
mov dword [ebp - 0x2d4], 0
call fcn.10035da0
lea eax, [ebp - 0x2ec]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1007b023
cmp dword [ebp - 0x2d4], 0xf
lea eax, [ebp - 0x2e8]
push dword [ebp - 0x2d8]
cmova eax, dword [ebp - 0x2e8]
mov ecx, edi
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x2ec]
mov dword [ebp - 4], 0xffffffff
call fcn.10034e10
mov eax, dword [ebp - 0x2ec]
push 8
push eax
mov dword [ebp - 0x2ec], 0
call fcn.100ddfc0
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 3
push 0x100f34dc
call fcn.10035da0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xa4]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0xa4], 0
push str.model
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.10035da0
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x88]
call fcn.100a2320
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x308]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x308], 0
push 0x100f1c54
movups xmmword [ebp - 0x304], xmm0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2f0], 0
call fcn.10035da0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe0]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0xe0], 0
push 0x100ef619
movups xmmword [ebp - 0xdc], xmm0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
call fcn.10035da0
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 5
lea eax, [ebp - 0x308]
cmp ecx, eax
je 0x1007b199
cmp dword [ebp - 0x2f0], 0xf
lea eax, [ebp - 0x304]
push dword [ebp - 0x2f4]
cmova eax, dword [ebp - 0x304]
push eax
call fcn.10034ef0
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x84]
mov byte [edi + 0xad], 0
mov dword [edi + 0xe8], 0
mov dword [edi + 0x48], 0x14
mov dword [edi + 0x4c], 0x14
mov dword [ebp - 0x3c], eax
cmp esi, eax
je 0x1007b216
lea ecx, [edi + 0xd0]
nop
mov eax, dword [edi + 0xd8]
push esi
cmp eax, dword [edi + 0xdc]
je 0x1007b202
mov ecx, eax
call fcn.10034540
mov eax, dword [edi + 0xd8]
lea ecx, [edi + 0xd0]
push eax
push eax
call fcn.10037f50
add dword [edi + 0xd8], 0x1c
jmp 0x1007b208
push eax
call fcn.10060b90
add esi, 0x1c
lea ecx, [edi + 0xd0]
cmp esi, dword [ebp - 0x3c]
jne 0x1007b1d0
mov ecx, dword [edi + 0xd8]
mov eax, 0x92492493
sub ecx, dword [edi + 0xd4]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1007b241
mov dword [edi + 0xe4], 0
lea ecx, [ebp - 0xe0]
call fcn.10034e10
mov eax, dword [ebp - 0xe0]
push 8
push eax
mov dword [ebp - 0xe0], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x308]
call fcn.10034e10
mov eax, dword [ebp - 0x308]
push 8
push eax
mov dword [ebp - 0x308], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x88]
call fcn.10034870
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10034450
push 2
push 0x1c
push eax
call fcn.100dd7b0
mov dword [edi + 0x50], 0
lea eax, [edi + 0x38]
mov dword [edi + 0x3c], 0x14
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x44], 0xaf
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x34]
push ecx
lea ecx, [edi + 0x1c]
mov dword [edi + 0x54], eax
call fcn.100a2280
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.10035da0
mov dword [ebp - 4], 6
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.10035da0
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 7
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x148]
xorps xmm0, xmm0
mov dword [ebp - 0x148], 0
push 3
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
push 0x100f3504
call fcn.10035da0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x12c]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
push str.boxes
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
call fcn.10035da0
xorps xmm0, xmm0
mov byte [ebp - 4], 0xb
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100dd760
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x128]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x148]
cmp ecx, eax
je 0x1007b472
cmp dword [ebp - 0x130], 0xf
lea eax, [ebp - 0x144]
push dword [ebp - 0x134]
cmova eax, dword [ebp - 0x144]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x168]
mov byte [edi + 0x161], 1
lea eax, [ebp - 0x12c]
cmp ecx, eax
je 0x1007b4a9
cmp dword [ebp - 0x114], 0xf
lea eax, [ebp - 0x128]
push dword [ebp - 0x118]
cmova eax, dword [ebp - 0x128]
push eax
call fcn.10034ef0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x161], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1a8], eax
add eax, 0x14
mov dword [edi + 0xfc], eax
mov dword [edi + 0x100], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x3c], eax
cmp esi, eax
je 0x1007b52d
lea eax, [edi + 0x184]
mov ecx, dword [edi + 0x18c]
push esi
cmp ecx, dword [edi + 0x190]
je 0x1007b517
call fcn.10034540
mov eax, dword [edi + 0x18c]
lea ecx, [edi + 0x184]
push eax
push eax
call fcn.10037f50
add dword [edi + 0x18c], 0x1c
lea eax, [edi + 0x184]
jmp 0x1007b525
push ecx
mov ecx, eax
call fcn.10060b90
lea eax, [edi + 0x184]
add esi, 0x1c
cmp esi, dword [ebp - 0x3c]
jne 0x1007b4e1
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x18], eax
cmp ecx, eax
je 0x1007b8e6
lea esi, [edi + 0x198]
nop word [eax + eax]
mov eax, dword [ecx]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x48], 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 - 0x48]
mov edx, dword [esi]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1007b5a3
test eax, eax
je 0x1007b598
call fcn.10027090
mov ecx, dword [ebp - 0x48]
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 - 0x48], 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 - 0x48]
mov edx, dword [esi]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1007b5fa
test eax, eax
je 0x1007b5ef
call fcn.10027090
mov ecx, dword [ebp - 0x48]
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 - 0xec]
call fcn.10035850
mov ecx, dword [esi + 8]
add esp, 0x18
mov dword [ebp - 0xf0], ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xf8], 0
push 3
mov dword [ebp - 0xf4], 0
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
test esi, esi
jne 0x1007b6d7
mov esi, dword [ebp - 0xf8]
test esi, esi
je 0x1007b78d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1007b67a
nop
lea ecx, [ebp - 0xf8]
cmp eax, ecx
je 0x1007b675
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007b660
cmp dword [esi], 0
jne 0x1007b6c0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007b6a1
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0xf4]
mov dword [esi], eax
mov dword [ebp - 0xf8], 0
jmp 0x1007b78d
mov ecx, dword [esi]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x20], ecx
cmp esi, ecx
je 0x1007b78d
test esi, esi
je 0x1007b775
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1007b71a
nop dword [eax]
lea edx, [ebp - 0xf8]
cmp eax, edx
je 0x1007b715
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007b700
cmp dword [esi], 0
jne 0x1007b763
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007b741
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
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 - 0xf4]
mov dword [esi], eax
mov dword [ebp - 0xf8], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0xf8]
mov dword [ecx + 4], eax
mov dword [ebp - 0xf8], 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 - 0x48]
lea eax, [ebp - 0xf8]
push eax
call fcn.10032fd0
push 3
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x3d], al
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x1007b848
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1007b7ea
nop dword [eax]
lea ecx, [ebp - 0xf8]
cmp eax, ecx
je 0x1007b7e5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007b7d0
cmp dword [esi], 0
jne 0x1007b830
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007b811
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0xf4]
mov dword [esi], eax
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 0xf8], 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 - 0xec]
call fcn.10027090
lea ecx, [ebp - 0x24]
call esi
mov ecx, dword [edi + 0x18c]
lea esi, [edi + 0x198]
sub ecx, dword [edi + 0x188]
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 0x1007b8c2
mov eax, dword [edi + 0x1a0]
cmp eax, dword [edi + 0x1a4]
je 0x1007b8b6
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10037f50
add dword [esi + 8], 4
jmp 0x1007b8c2
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10036fa0
cmp byte [ebp - 0x3d], 0
je 0x1007b8d4
mov eax, dword [edi + 0x15c]
test eax, eax
je 0x1007b8d4
call eax
mov ecx, dword [ebp - 0x3c]
add ecx, 4
mov dword [ebp - 0x3c], ecx
cmp ecx, dword [ebp - 0x18]
jne 0x1007b550
lea ecx, [ebp - 0x88]
call fcn.100347f0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x12c]
call fcn.10034e10
mov eax, dword [ebp - 0x12c]
push 8
push eax
mov dword [ebp - 0x12c], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x148]
call fcn.10034e10
mov eax, dword [ebp - 0x148]
push 8
push eax
mov dword [ebp - 0x148], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.10034870
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10034450
push 2
push 0x1c
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1003a2a0
lea esi, [edi + 0xec]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x104], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0xf0], 0x14
mov dword [edi + 0xf8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x108], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100a2280
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
push str.box_enemy
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x16c], 0
lea esi, [edi + 0x1ac]
mov dword [ebp - 0x168], 0
movups xmmword [ebp - 0x17c], xmm0
call fcn.10035da0
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x164]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
push str.box_enemy_color
movups xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
call fcn.10035da0
lea ecx, [edi + 0x234]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x164]
cmp ecx, eax
je 0x1007ba95
cmp dword [ebp - 0x14c], 0xf
lea eax, [ebp - 0x160]
push dword [ebp - 0x150]
cmova eax, dword [ebp - 0x160]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x1e8]
lea eax, [ebp - 0x180]
cmp ecx, eax
je 0x1007bac5
cmp dword [ebp - 0x168], 0xf
lea eax, [ebp - 0x17c]
push dword [ebp - 0x16c]
cmova eax, dword [ebp - 0x17c]
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x164]
mov dword [edi + 0x250], 0xff3cc896
mov dword [edi + 0x254], 0
mov dword [edi + 0x22c], 0x3f800000
mov byte [edi + 0x224], 0
call fcn.10034e10
mov eax, dword [ebp - 0x164]
push 8
push eax
mov dword [ebp - 0x164], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x180]
call fcn.10034e10
mov eax, dword [ebp - 0x180]
push 8
push eax
mov dword [ebp - 0x180], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 0x18], 0x1003a2a0
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x1c4], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1b0], 0x14
mov dword [edi + 0x1b8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1c8], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100a2280
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x1b8], 0
push str.box_friendly
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1a4], 0
lea esi, [edi + 0x258]
mov dword [ebp - 0x1a0], 0
movups xmmword [ebp - 0x1b4], xmm0
call fcn.10035da0
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x19c]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x19c], 0
push str.box_friendly_color
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
call fcn.10035da0
lea ecx, [edi + 0x2e0]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x19c]
cmp ecx, eax
je 0x1007bc3b
cmp dword [ebp - 0x184], 0xf
lea eax, [ebp - 0x198]
push dword [ebp - 0x188]
cmova eax, dword [ebp - 0x198]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x294]
lea eax, [ebp - 0x1b8]
cmp ecx, eax
je 0x1007bc6b
cmp dword [ebp - 0x1a0], 0xf
lea eax, [ebp - 0x1b4]
push dword [ebp - 0x1a4]
cmova eax, dword [ebp - 0x1b4]
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x19c]
mov dword [edi + 0x2fc], 0xff00c8ff
mov dword [edi + 0x300], 0
mov dword [edi + 0x2d8], 0x3f800000
mov byte [edi + 0x2d0], 0
call fcn.10034e10
mov eax, dword [ebp - 0x19c]
push 8
push eax
mov dword [ebp - 0x19c], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b8]
call fcn.10034e10
mov eax, dword [ebp - 0x1b8]
push 8
push eax
mov dword [ebp - 0x1b8], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 0x18], 0x1003a2a0
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x270], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x25c], 0x14
mov dword [edi + 0x264], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x274], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100a2280
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
push str.dormant
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1dc], 0
lea esi, [edi + 0x304]
mov dword [ebp - 0x1d8], 0
movups xmmword [ebp - 0x1ec], xmm0
call fcn.10035da0
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x1d4]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x1d4], 0
push str.dormant_enemies
movups xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
call fcn.10035da0
lea ecx, [edi + 0x340]
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x1f0]
cmp ecx, eax
je 0x1007bde1
cmp dword [ebp - 0x1d8], 0xf
lea eax, [ebp - 0x1ec]
push dword [ebp - 0x1dc]
cmova eax, dword [ebp - 0x1ec]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x380]
mov byte [edi + 0x379], 1
lea eax, [ebp - 0x1d4]
cmp ecx, eax
je 0x1007be18
cmp dword [ebp - 0x1bc], 0xf
lea eax, [ebp - 0x1d0]
push dword [ebp - 0x1c0]
cmova eax, dword [ebp - 0x1d0]
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x1d4]
mov byte [edi + 0x37c], 0
call fcn.10034e10
mov eax, dword [ebp - 0x1d4]
push 8
push eax
mov dword [ebp - 0x1d4], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.10034e10
mov eax, dword [ebp - 0x1f0]
push 8
push eax
mov dword [ebp - 0x1f0], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 0x18], 0x1003a2a0
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x31c], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x308], 0x14
mov dword [edi + 0x310], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x320], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100a2280
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
push str.offscreen
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x214], 0
lea esi, [edi + 0x39c]
mov dword [ebp - 0x210], 0
movups xmmword [ebp - 0x224], xmm0
call fcn.10035da0
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x20c]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x20c], 0
push str.enemy_offscreen_esp
movups xmmword [ebp - 0x208], xmm0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
call fcn.10035da0
lea ecx, [edi + 0x3d8]
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x228]
cmp ecx, eax
je 0x1007bf70
cmp dword [ebp - 0x210], 0xf
lea eax, [ebp - 0x224]
push dword [ebp - 0x214]
cmova eax, dword [ebp - 0x224]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x418]
mov byte [edi + 0x411], 1
lea eax, [ebp - 0x20c]
cmp ecx, eax
je 0x1007bfa7
cmp dword [ebp - 0x1f4], 0xf
lea eax, [ebp - 0x208]
push dword [ebp - 0x1f8]
cmova eax, dword [ebp - 0x208]
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x20c]
mov byte [edi + 0x414], 0
call fcn.10034e10
mov eax, dword [ebp - 0x20c]
push 8
push eax
mov dword [ebp - 0x20c], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.10034e10
mov eax, dword [ebp - 0x228]
push 8
push eax
mov dword [ebp - 0x228], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 0x18], 0x1003a2a0
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x3b4], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x3a0], 0x14
mov dword [edi + 0x3a8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x3b8], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100a2280
mov esi, dword [0x100eed7c]
lea ecx, [ebp - 0x260]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x260], 0
push str.offscreen_color
movups xmmword [ebp - 0x25c], xmm0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
call fcn.10035da0
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x244]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x244], 0
push str.offscreen_esp_color
movups xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0
call fcn.10035da0
lea ecx, [edi + 0x4bc]
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x244]
cmp ecx, eax
je 0x1007c0ff
cmp dword [ebp - 0x22c], 0xf
lea eax, [ebp - 0x240]
push dword [ebp - 0x230]
cmova eax, dword [ebp - 0x240]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x470]
lea eax, [ebp - 0x260]
cmp ecx, eax
je 0x1007c12f
cmp dword [ebp - 0x248], 0xf
lea eax, [ebp - 0x25c]
push dword [ebp - 0x24c]
cmova eax, dword [ebp - 0x25c]
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x244]
mov dword [edi + 0x4d8], esi
mov dword [edi + 0x4dc], 0
mov dword [edi + 0x4b4], 0x3f800000
mov byte [edi + 0x4ac], 0
call fcn.10034e10
mov eax, dword [ebp - 0x244]
push 8
push eax
mov dword [ebp - 0x244], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x260]
call fcn.10034e10
mov eax, dword [ebp - 0x260]
push 8
push eax
mov dword [ebp - 0x260], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 0x18], 0x1003a2a0
lea eax, [ebp - 0x18]
lea esi, [edi + 0x434]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x44c], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x438], 0x14
mov dword [edi + 0x440], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x450], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100a2280
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.10035da0
mov dword [ebp - 4], 0x17
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.10035da0
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x298]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x298], 0
push str.name
movups xmmword [ebp - 0x294], xmm0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
call fcn.10035da0
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
mov dword [ebp - 0x27c], 0
push 4
push str.name
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x268], 0
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x264], 0
call fcn.10035da0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1c
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100dd760
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x51c]
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x298]
cmp ecx, eax
je 0x1007c368
cmp dword [ebp - 0x280], 0xf
lea eax, [ebp - 0x294]
push dword [ebp - 0x284]
cmova eax, dword [ebp - 0x294]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x55c]
mov byte [edi + 0x555], 1
lea eax, [ebp - 0x27c]
cmp ecx, eax
je 0x1007c39f
cmp dword [ebp - 0x264], 0xf
lea eax, [ebp - 0x278]
push dword [ebp - 0x268]
cmova eax, dword [ebp - 0x278]
push eax
call fcn.10034ef0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x555], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x59c], eax
add eax, 0x14
mov dword [edi + 0x4f0], eax
mov dword [edi + 0x4f4], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007c42c
lea eax, [edi + 0x578]
nop word [eax + eax]
mov ecx, dword [edi + 0x580]
push esi
cmp ecx, dword [edi + 0x584]
je 0x1007c416
call fcn.10034540
mov eax, dword [edi + 0x580]
lea ecx, [edi + 0x578]
push eax
push eax
call fcn.10037f50
add dword [edi + 0x580], 0x1c
lea eax, [edi + 0x578]
jmp 0x1007c424
push ecx
mov ecx, eax
call fcn.10060b90
lea eax, [edi + 0x578]
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007c3e0
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007c7e6
lea esi, [edi + 0x58c]
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 - 0x3c], 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 - 0x3c]
mov edx, dword [esi]
mov dword [ebp - 0x18], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1007c4a3
test eax, eax
je 0x1007c498
call fcn.10027090
mov ecx, dword [ebp - 0x3c]
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 - 0x3c], 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 - 0x3c]
mov edx, dword [esi]
mov dword [ebp - 0x18], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1007c4fa
test eax, eax
je 0x1007c4ef
call fcn.10027090
mov ecx, dword [ebp - 0x3c]
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 - 0xec]
call fcn.10035850
mov ecx, dword [esi + 8]
add esp, 0x18
mov dword [ebp - 0xfc], ecx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x104], 0
push 3
mov dword [ebp - 0x100], 0
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
test esi, esi
jne 0x1007c5d7
mov esi, dword [ebp - 0x104]
test esi, esi
je 0x1007c68d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1007c57a
nop
lea ecx, [ebp - 0x104]
cmp eax, ecx
je 0x1007c575
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007c560
cmp dword [esi], 0
jne 0x1007c5c0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007c5a1
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x100]
mov dword [esi], eax
mov dword [ebp - 0x104], 0
jmp 0x1007c68d
mov ecx, dword [esi]
mov esi, dword [ebp - 0x104]
mov dword [ebp - 0x18], ecx
cmp esi, ecx
je 0x1007c68d
test esi, esi
je 0x1007c675
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1007c61a
nop dword [eax]
lea edx, [ebp - 0x104]
cmp eax, edx
je 0x1007c615
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007c600
cmp dword [esi], 0
jne 0x1007c663
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007c641
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
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 - 0x100]
mov dword [esi], eax
mov dword [ebp - 0x104], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x104]
mov dword [ecx + 4], eax
mov dword [ebp - 0x104], 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 - 0x104]
push eax
call fcn.10032fd0
push 3
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x3d], al
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x1007c748
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1007c6ea
nop dword [eax]
lea ecx, [ebp - 0x104]
cmp eax, ecx
je 0x1007c6e5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007c6d0
cmp dword [esi], 0
jne 0x1007c730
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007c711
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x100]
mov dword [esi], eax
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 0x104], 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 - 0xec]
call fcn.10027090
lea ecx, [ebp - 0x20]
call esi
mov ecx, dword [edi + 0x580]
lea esi, [edi + 0x58c]
sub ecx, dword [edi + 0x57c]
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 0x1007c7c2
mov eax, dword [edi + 0x594]
cmp eax, dword [edi + 0x598]
je 0x1007c7b6
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10037f50
add dword [esi + 8], 4
jmp 0x1007c7c2
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10036fa0
cmp byte [ebp - 0x3d], 0
je 0x1007c7d4
mov eax, dword [edi + 0x550]
test eax, eax
je 0x1007c7d4
call eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007c450
lea ecx, [ebp - 0x88]
call fcn.100347f0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x27c]
call fcn.10034e10
mov eax, dword [ebp - 0x27c]
push 8
push eax
mov dword [ebp - 0x27c], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x298]
call fcn.10034e10
mov eax, dword [ebp - 0x298]
push 8
push eax
mov dword [ebp - 0x298], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x78]
call fcn.10034870
mov eax, dword [ebp - 0x78]
push 8
push eax
mov dword [ebp - 0x78], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc0]
push fcn.10034450
push 2
push 0x1c
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea esi, [edi + 0x4e0]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x4f8], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x4e4], 0x14
mov dword [edi + 0x4ec], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x4fc], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
mov esi, dword [0x100eed7c]
lea ecx, [ebp - 0x2d0]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2d0], 0
push str.name_color
movups xmmword [ebp - 0x2cc], xmm0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2b8], 0
call fcn.10035da0
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x2b4]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2b4], 0
push 0x100f3590
movups xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0
call fcn.10035da0
lea ecx, [edi + 0x628]
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x2b4]
cmp ecx, eax
je 0x1007c995
cmp dword [ebp - 0x29c], 0xf
lea eax, [ebp - 0x2b0]
push dword [ebp - 0x2a0]
cmova eax, dword [ebp - 0x2b0]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x5dc]
lea eax, [ebp - 0x2d0]
cmp ecx, eax
je 0x1007c9c5
cmp dword [ebp - 0x2b8], 0xf
lea eax, [ebp - 0x2cc]
push dword [ebp - 0x2bc]
cmova eax, dword [ebp - 0x2cc]
push eax
call fcn.10034ef0
lea ecx, [ebp - 0x2b4]
mov dword [edi + 0x644], esi
mov dword [edi + 0x648], 0
mov dword [edi + 0x620], 0x3f800000
mov byte [edi + 0x618], 0
call fcn.10034e10
mov eax, dword [ebp - 0x2b4]
push 8
push eax
mov dword [ebp - 0x2b4], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call fcn.10034e10
mov eax, dword [ebp - 0x2d0]
push 8
push eax
mov dword [ebp - 0x2d0], 0
call fcn.100ddfc0
add esp, 8
mov dword [ebp - 0x38], 0x1003a2a0
lea eax, [ebp - 0x38]
lea esi, [edi + 0x5a0]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x5b8], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x5a4], 0x14
mov dword [edi + 0x5ac], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x5bc], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
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.10035da0
mov dword [ebp - 4], 0x20
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.10035da0
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0xc0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x340]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x340], 0
push str.health
movups xmmword [ebp - 0x33c], xmm0
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0
call fcn.10035da0
mov byte [ebp - 4], 0x23
xorps xmm0, xmm0
mov dword [ebp - 0x324], 0
push 6
push str.health
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x310], 0
movups xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0x30c], 0
call fcn.10035da0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x25
push 8
movups xmmword [ebp - 0x88], xmm0
call fcn.100dd760
lea ecx, [ebp - 0x88]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x88], eax
mov dword [eax], ecx
lea ecx, [edi + 0x688]
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x340]
cmp ecx, eax
je 0x1007cbfe
cmp dword [ebp - 0x328], 0xf
lea eax, [ebp - 0x33c]
push dword [ebp - 0x32c]
cmova eax, dword [ebp - 0x33c]
push eax
call fcn.10034ef0
lea ecx, [edi + 0x6c8]
mov byte [edi + 0x6c1], 1
lea eax, [ebp - 0x324]
cmp ecx, eax
je 0x1007cc35
cmp dword [ebp - 0x30c], 0xf
lea eax, [ebp - 0x320]
push dword [ebp - 0x310]
cmova eax, dword [ebp - 0x320]
push eax
call fcn.10034ef0
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x6c1], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x708], eax
add eax, 0x14
mov dword [edi + 0x65c], eax
mov dword [edi + 0x660], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007ccbc
lea eax, [edi + 0x6e4]
nop dword [eax]
mov ecx, dword [edi + 0x6ec]
push esi
cmp ecx, dword [edi + 0x6f0]
je 0x1007cca6
call fcn.10034540
mov eax, dword [edi + 0x6ec]
lea ecx, [edi + 0x6e4]
push eax
push eax
call fcn.10037f50
add dword [edi + 0x6ec], 0x1c
lea eax, [edi + 0x6e4]
jmp 0x1007ccb4
push ecx
mov ecx, eax
call fcn.10060b90
lea eax, [edi + 0x6e4]
add esi, 0x1c
cmp esi, dword [ebp - 0x38]
jne 0x1007cc70
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x1007d076
lea esi, [edi + 0x6f8]
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 - 0x3c], 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 - 0x3c]
mov edx, dword [esi]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1007cd33
test eax, eax
je 0x1007cd28
call fcn.10027090
mov ecx, dword [ebp - 0x3c]
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 - 0x3c], 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 - 0x3c]
mov edx, dword [esi]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx]
cmp eax, edx
je 0x1007cd8a
test eax, eax
je 0x1007cd7f
call fcn.10027090
mov ecx, dword [ebp - 0x3c]
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 - 0xec]
call fcn.10035850
mov ecx, dword [esi + 8]
add esp, 0x18
mov dword [ebp - 0x108], ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x110], 0
push 3
mov dword [ebp - 0x10c], 0
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
test esi, esi
jne 0x1007ce67
mov esi, dword [ebp - 0x110]
test esi, esi
je 0x1007cf1d
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1007ce0a
nop
lea ecx, [ebp - 0x110]
cmp eax, ecx
je 0x1007ce05
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007cdf0
cmp dword [esi], 0
jne 0x1007ce50
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007ce31
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x10c]
mov dword [esi], eax
mov dword [ebp - 0x110], 0
jmp 0x1007cf1d
mov ecx, dword [esi]
mov esi, dword [ebp - 0x110]
mov dword [ebp - 0x38], ecx
cmp esi, ecx
je 0x1007cf1d
test esi, esi
je 0x1007cf05
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x1007ceaa
nop dword [eax]
lea edx, [ebp - 0x110]
cmp eax, edx
je 0x1007cea5
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007ce90
cmp dword [esi], 0
jne 0x1007cef3
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007ced1
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
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 - 0x10c]
mov dword [esi], eax
mov dword [ebp - 0x110], 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x110]
mov dword [ecx + 4], eax
mov dword [ebp - 0x110], 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 - 0x110]
push eax
call fcn.10032fd0
push 3
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x3d], al
call dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::constructor_int_]
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x1007cfd8
mov eax, dword [ecx + 4]
lea esi, [ecx + 4]
test eax, eax
je 0x1007cf7a
nop dword [eax]
lea ecx, [ebp - 0x110]
cmp eax, ecx
je 0x1007cf75
mov esi, dword [esi]
add esi, 4
mov eax, dword [esi]
test eax, eax
jne 0x1007cf60
cmp dword [esi], 0
jne 0x1007cfc0
push str.ITERATOR_LIST_CORRUPTED_
push 0x100ec5a8
push 0
push 0x536
push 0x100ec5b0
push 2
call dword [sym.imp.ucrtbased.dll__CrtDbgReport]
add esp, 0x18
cmp eax, 1
jne 0x1007cfa1
int3
push 0
push 0x536
push str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.40.33807includexmemory
push 0x100ec6dc
push str._ITERATOR_LIST_CORRUPTED__
call dword [sym.imp.ucrtbased.dll__invalid_parameter]
add esp, 0x14
mov eax, dword [ebp - 0x10c]
mov dword [esi], eax
mov esi, dword [sym.imp.MSVCP140D.dll_public:_void___thiscall_std::_Lockit::destructor_void_]
mov dword [ebp - 0x110], 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 - 0xec]
call fcn.10027090
lea ecx, [ebp - 0x28]
call esi
mov ecx, dword [edi + 0x6ec]
lea esi, [edi + 0x6f8]
sub ecx, dword [edi + 0x6e8]
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 0x1007d052
mov eax, dword [edi + 0x700]
cmp eax, dword [edi + 0x704]
je 0x1007d046
mov dword [eax], ecx
mov ecx, esi
mov eax, dword [esi + 8]
push eax
push eax
call fcn.10037f50
add dword [esi + 8], 4
jmp 0x1007d052
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10036fa0
cmp byte [ebp - 0x3d], 0
je 0x1007d064
mov eax, dword [edi + 0x6bc]
test eax, eax
je 0x1007d064
call eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
cmp eax, dword [ebp - 0x20]
jne 0x1007cce0
lea ecx, [ebp - 0x88]
call fcn.100347f0
mov eax, dword [ebp - 0x88]
push 8
push eax
mov dword [ebp - 0x88], 0
call fcn.100ddfc0
add esp, 8
lea ecx, [ebp - 0x324]
call fcn.10034450
lea ecx, [ebp - 0x340]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 2
push 0x1c
lea eax, [ebp - 0xc0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea esi, [edi + 0x64c]
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x664], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x650], 0x14
mov dword [edi + 0x658], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x668], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.enemy
lea ecx, [ebp - 0x37c]
call fcn.100344f0
push str.friendly
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], 0x27
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x28
lea ecx, [ebp - 0x37c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xd4]
call fcn.100a2320
push str.custom_health
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x29
call fcn.100344f0
push str.custom_health_color
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x2a
call fcn.100344f0
lea ecx, [ebp - 0x78]
call fcn.10033330
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [edi + 0x1bb8]
call fcn.10034420
lea eax, [ebp - 0x64]
mov byte [edi + 0x1bf1], 1
push eax
lea ecx, [edi + 0x1bf8]
call fcn.10034420
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1bf1], al
mov esi, dword [ebp - 0xd0]
cmovne eax, ecx
mov dword [edi + 0x1c38], eax
add eax, 0x14
mov dword [edi + 0x1b8c], eax
mov dword [edi + 0x1b90], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007d225
lea eax, [edi + 0x1c14]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
nop word [eax + eax]
push esi
mov ecx, eax
call fcn.1005fca0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1007d210
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007d2e6
lea esi, [edi + 0x1c28]
nop
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x84]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0x1c28]
mov esi, eax
lea eax, [ebp - 0xec]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0xec]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0x84]
call fcn.10027b20
lea ecx, [edi + 0x1c14]
call fcn.1003cf20
lea esi, [edi + 0x1c28]
cmp dword [ebp - 0x1c], eax
jae 0x1007d2c2
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007d2d4
mov eax, dword [edi + 0x1bec]
test eax, eax
je 0x1007d2d4
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007d240
lea ecx, [ebp - 0x78]
call fcn.10033150
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0xd4]
call fcn.100333a0
push fcn.10034450
push 2
push 0x1c
lea eax, [ebp - 0x37c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2c0
push eax
lea ecx, [edi + 0x1bdc]
call fcn.100a2280
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
push eax
lea ecx, [edi + 0x1bdc]
call fcn.100a2280
mov dword [edi + 0x1b94], 0
lea eax, [edi + 0x1b7c]
mov dword [edi + 0x1b80], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1b88], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1b98], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
mov esi, dword [0x100eed9c]
lea ecx, [ebp - 0x64]
push str.custom_health_enemy
add edi, 0x1c3c
call fcn.100344f0
push str.enemy_health_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x2d
call fcn.100344f0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0x1cc4
mov byte [ebp - 4], 0x2e
call fcn.10034420
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ecx + 0x1c78]
call fcn.10034420
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0x1ce0], esi
mov dword [eax + 0x1ce4], 0
mov dword [eax + 0x1cbc], 0x3f800000
mov byte [eax + 0x1cb4], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2c0
push eax
lea ecx, [edi + 0x60]
call fcn.100a2280
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a770
push eax
lea ecx, [edi + 0x60]
call fcn.100a2280
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
push eax
lea ecx, [edi + 0x60]
call fcn.100a2280
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x38], edi
mov dword [esi + 0x1c54], 0
lea ecx, [esi + 0x1c]
mov dword [esi + 0x1c40], 0x14
mov dword [esi + 0x1c48], 0xaf
mov eax, dword [esi + 0x34]
mov dword [esi + 0x1c58], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
lea edi, [esi + 0x1ce8]
mov esi, dword [0x100eed9c]
push str.custom_health_friendly
lea ecx, [ebp - 0x64]
call fcn.100344f0
push str.friendly_health_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x2f
call fcn.100344f0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x30
lea ecx, [ecx + 0x1d70]
call fcn.10034420
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ecx + 0x1d24]
call fcn.10034420
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0x1d8c], esi
mov dword [eax + 0x1d90], 0
mov dword [eax + 0x1d68], 0x3f800000
mov byte [eax + 0x1d60], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2c0
push eax
lea ecx, [edi + 0x60]
call fcn.100a2280
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a9d0
push eax
lea ecx, [edi + 0x60]
call fcn.100a2280
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
push eax
lea ecx, [edi + 0x60]
call fcn.100a2280
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x44]
mov dword [edi + 0x1d00], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1cec], 0x14
mov dword [edi + 0x1cf4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1d04], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.money
lea ecx, [ebp - 0x408]
call fcn.100344f0
push str.armor
lea ecx, [ebp - 0x3ec]
mov dword [ebp - 4], 0x31
call fcn.100344f0
mov byte [ebp - 4], 0x32
push str.scoped
lea ecx, [ebp - 0x3d0]
call fcn.100344f0
push str.flashed
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x33
call fcn.100344f0
push str.reloading
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x34
call fcn.100344f0
push str.bomb
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x35
call fcn.100344f0
push str.resolver
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x36
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x37
lea ecx, [ebp - 0x408]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push 0x100f364c
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x38
call fcn.100344f0
push str.flags_enemy
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x39
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [edi + 0x748]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x781], 1
push eax
lea ecx, [edi + 0x788]
call fcn.10034420
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x781], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x7c8], eax
add eax, 0x14
mov dword [edi + 0x71c], eax
mov dword [edi + 0x720], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007d6f8
lea eax, [edi + 0x7a4]
mov edi, eax
push esi
mov ecx, edi
call fcn.1005fca0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007d6e5
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007d7be
lea esi, [edi + 0x7b8]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0x7b8]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0x7a4]
call fcn.1003cf20
lea esi, [edi + 0x7b8]
cmp dword [ebp - 0x1c], eax
jae 0x1007d79a
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007d7ac
mov eax, dword [edi + 0x77c]
test eax, eax
je 0x1007d7ac
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007d718
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 7
push 0x1c
lea eax, [ebp - 0x408]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0x76c]
push eax
call fcn.100a2280
mov dword [edi + 0x724], 1
lea eax, [edi + 0x70c]
mov dword [edi + 0x710], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x718], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x728], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.money
lea ecx, [ebp - 0x3f0]
call fcn.100344f0
push str.armor
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 4], 0x3c
call fcn.100344f0
push str.scoped
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x3d
call fcn.100344f0
push str.flashed
lea ecx, [ebp - 0x39c]
mov byte [ebp - 4], 0x3e
call fcn.100344f0
push str.reloading
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 0x3f
call fcn.100344f0
push str.bomb
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0x40
call fcn.100344f0
lea eax, [ebp - 0x348]
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x3f0]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push str.flags_friendly
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x42
call fcn.100344f0
push 0x100f366c
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x43
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x808]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x841], 1
push eax
lea ecx, [edi + 0x848]
call fcn.10034420
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x841], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x888], eax
add eax, 0x14
mov dword [edi + 0x7dc], eax
mov dword [edi + 0x7e0], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007d996
lea eax, [edi + 0x864]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1005fca0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1007d981
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007da5c
lea esi, [edi + 0x878]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0x878]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0x864]
call fcn.1003cf20
lea esi, [edi + 0x878]
cmp dword [ebp - 0x1c], eax
jae 0x1007da38
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007da4a
mov eax, dword [edi + 0x83c]
test eax, eax
je 0x1007da4a
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007d9b6
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 6
push 0x1c
lea eax, [ebp - 0x3f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0x82c]
push eax
call fcn.100a2280
mov dword [edi + 0x7e4], 1
lea eax, [edi + 0x7cc]
mov dword [edi + 0x7d0], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x7d8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x7e8], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.enemy
lea ecx, [ebp - 0x37c]
call fcn.100344f0
push str.friendly
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], 0x46
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x47
lea ecx, [ebp - 0x37c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push str.weapon
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x48
call fcn.100344f0
push str.weapon
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x49
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0x8c8]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x901], 1
push eax
lea ecx, [edi + 0x908]
call fcn.10034420
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x901], al
cmovne eax, ecx
mov dword [edi + 0x948], eax
add eax, 0x14
mov dword [edi + 0x89c], eax
mov dword [edi + 0x8a0], eax
mov eax, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007dbe5
lea eax, [edi + 0x924]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
nop
push esi
mov ecx, eax
call fcn.1005fca0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1007dbd0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007dcab
lea esi, [edi + 0x938]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0x938]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0x924]
call fcn.1003cf20
lea esi, [edi + 0x938]
cmp dword [ebp - 0x1c], eax
jae 0x1007dc87
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007dc99
mov eax, dword [edi + 0x8fc]
test eax, eax
je 0x1007dc99
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007dc05
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 2
push 0x1c
lea eax, [ebp - 0x37c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0x8ec]
push eax
call fcn.100a2280
mov dword [edi + 0x8a4], 1
lea eax, [edi + 0x88c]
mov dword [edi + 0x890], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x898], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x8a8], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.text
lea ecx, [ebp - 0x37c]
call fcn.100344f0
push str.icon
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], 0x4c
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x4d
lea ecx, [ebp - 0x37c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xd4]
call fcn.100a2320
push str.weapon_mode
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x4e
call fcn.100344f0
push 0x100ef619
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x4f
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x50
push eax
lea ecx, [edi + 0x988]
call fcn.10034420
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
mov byte [edi + 0x9c1], 0
mov dword [edi + 0x9fc], 0
mov dword [edi + 0x95c], 0x14
mov dword [edi + 0x960], 0x14
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007de1b
lea eax, [edi + 0x9e4]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1005fca0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1007de06
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x9e4]
call fcn.1003cf20
test eax, eax
je 0x1007de34
mov dword [edi + 0x9f8], 0
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0xd4]
call fcn.100333a0
push fcn.10034450
push 2
push 0x1c
lea eax, [ebp - 0x37c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0x9ac]
push eax
call fcn.100a2280
mov dword [edi + 0x964], 1
lea eax, [edi + 0x94c]
mov dword [edi + 0x950], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x958], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x968], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.ammo
lea ecx, [ebp - 0x64]
lea esi, [edi + 0xa00]
call fcn.100344f0
push str.ammo
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x51
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [edi + 0xa3c]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0xa75], 1
push eax
lea ecx, [edi + 0xa7c]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov byte [edi + 0xa78], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0xa18], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xa04], 0xff
mov dword [edi + 0xa0c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xa1c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
mov esi, dword [0x100eed9c]
lea ecx, [ebp - 0x64]
push str.ammo_color
add edi, 0xa98
call fcn.100344f0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x53
call fcn.100344f0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x54
lea ecx, [ecx + 0xb20]
call fcn.10034420
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ecx + 0xad4]
call fcn.10034420
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0xb3c], esi
mov dword [eax + 0xb40], 0
mov dword [eax + 0xb18], 0x3f800000
mov byte [eax + 0xb10], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0x60]
push eax
call fcn.100a2280
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x44]
mov dword [edi + 0xab0], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xa9c], 0xff
mov dword [edi + 0xaa4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xab4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.lby_update
lea ecx, [ebp - 0x64]
lea esi, [edi + 0xb44]
call fcn.100344f0
push 0x100f36c8
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x55
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [edi + 0xb80]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0xbb9], 1
push eax
lea ecx, [edi + 0xbc0]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov byte [edi + 0xbbc], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0xb5c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xb48], 0xff
mov dword [edi + 0xb50], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xb60], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
mov esi, dword [0x100eed94]
add edi, 0xbdc
push str.lby_update_color
lea ecx, [ebp - 0x64]
call fcn.100344f0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x57
call fcn.100344f0
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0xa4]
push eax
mov byte [ebp - 4], 0x58
lea ecx, [ecx + 0xc64]
call fcn.10034420
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ecx + 0xc18]
call fcn.10034420
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0xc80], esi
mov dword [eax + 0xc84], 0
mov dword [eax + 0xc5c], 0x3f800000
mov byte [eax + 0xc54], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0x60]
push eax
call fcn.100a2280
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x44]
mov dword [edi + 0xbf4], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xbe0], 0xff
mov dword [edi + 0xbe8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xbf8], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.enemy
lea ecx, [ebp - 0x398]
call fcn.100344f0
push str.friendly
lea ecx, [ebp - 0x37c]
mov dword [ebp - 4], 0x59
call fcn.100344f0
push str.local
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x5a
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x5b
lea ecx, [ebp - 0x398]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push str.skeleton
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x5c
call fcn.100344f0
push str.skeleton
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x5d
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [edi + 0xcc4]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0xcfd], 1
push eax
lea ecx, [edi + 0xd04]
call fcn.10034420
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xcfd], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd44], eax
add eax, 0x14
mov dword [edi + 0xc98], eax
mov dword [edi + 0xc9c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007e313
lea eax, [edi + 0xd20]
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.1005fca0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007e300
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007e3d9
lea esi, [edi + 0xd34]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0xd34]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0xd20]
call fcn.1003cf20
lea esi, [edi + 0xd34]
cmp dword [ebp - 0x1c], eax
jae 0x1007e3b5
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007e3c7
mov eax, dword [edi + 0xcf8]
test eax, eax
je 0x1007e3c7
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007e333
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 3
push 0x1c
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [edi + 0xce8]
push eax
call fcn.100a2280
mov dword [edi + 0xca0], 1
lea eax, [edi + 0xc88]
mov dword [edi + 0xc8c], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xc94], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xca4], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.skeleton_enemy
lea ecx, [ebp - 0x64]
lea esi, [edi + 0xd48]
call fcn.100344f0
push str.enemy_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x60
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x61
push eax
lea ecx, [edi + 0xdd0]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0xd84]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xdec], 0xffffffff
mov dword [edi + 0xdf0], 0
mov dword [edi + 0xdc8], 0x3f800000
mov byte [edi + 0xdc0], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0xd60], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xd4c], 0xff
mov dword [edi + 0xd54], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xd64], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.skeleton_friendly
lea ecx, [ebp - 0x64]
lea esi, [edi + 0xdf4]
call fcn.100344f0
mov dword [ebp - 4], 0x62
push str.friendly_color
lea ecx, [ebp - 0xa4]
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x63
push eax
lea ecx, [edi + 0xe7c]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0xe30]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xe98], 0xffffffff
mov dword [edi + 0xe9c], 0
mov dword [edi + 0xe74], 0x3f800000
mov byte [edi + 0xe6c], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0xe0c], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xdf8], 0xff
mov dword [edi + 0xe00], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xe10], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.skeleton_local
lea ecx, [ebp - 0x64]
lea esi, [edi + 0xea0]
call fcn.100344f0
push str.local_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x64
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x65
push eax
lea ecx, [edi + 0xf28]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0xedc]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0xf44], 0xffffffff
mov dword [edi + 0xf48], 0
mov dword [edi + 0xf20], 0x3f800000
mov byte [edi + 0xf18], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2a0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0xeb8], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0xea4], 0xff
mov dword [edi + 0xeac], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xebc], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.enemy
lea ecx, [ebp - 0x398]
call fcn.100344f0
push str.friendly
lea ecx, [ebp - 0x37c]
mov dword [ebp - 4], 0x66
call fcn.100344f0
push str.local
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x67
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x68
lea ecx, [ebp - 0x398]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push str.glow
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x69
call fcn.100344f0
push str.glow
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x6a
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [edi + 0xf88]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0xfc1], 1
push eax
lea ecx, [edi + 0xfc8]
call fcn.10034420
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0xfc1], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1008], eax
add eax, 0x14
mov dword [edi + 0xf5c], eax
mov dword [edi + 0xf60], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007e7f7
lea eax, [edi + 0xfe4]
mov dword [ebp - 0x38], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.1005fca0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007e7e4
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007e8bd
lea esi, [edi + 0xff8]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0xff8]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0xfe4]
call fcn.1003cf20
lea esi, [edi + 0xff8]
cmp dword [ebp - 0x1c], eax
jae 0x1007e899
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007e8ab
mov eax, dword [edi + 0xfbc]
test eax, eax
je 0x1007e8ab
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007e817
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 3
push 0x1c
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [edi + 0xfac]
push eax
call fcn.100a2280
mov dword [edi + 0xf64], 0
lea eax, [edi + 0xf4c]
mov dword [edi + 0xf50], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0xf58], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0xf68], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.glow_enemy
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x100c]
call fcn.100344f0
push str.enemy_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x6d
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x6e
push eax
lea ecx, [edi + 0x1094]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x1048]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x10b0], 0xffffffff
mov dword [edi + 0x10b4], 0
mov dword [edi + 0x108c], 0x3f800000
mov byte [edi + 0x1084], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x1024], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1010], 0x14
mov dword [edi + 0x1018], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1028], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.glow_friendly
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x10b8]
call fcn.100344f0
mov dword [ebp - 4], 0x6f
push str.friendly_color
lea ecx, [ebp - 0xa4]
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x70
push eax
lea ecx, [edi + 0x1140]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x10f4]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x115c], 0xffffffff
mov dword [edi + 0x1160], 0
mov dword [edi + 0x1138], 0x3f800000
mov byte [edi + 0x1130], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x10d0], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x10bc], 0x14
mov dword [edi + 0x10c4], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x10d4], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.glow_local
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1164]
call fcn.100344f0
push str.local_color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x71
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x72
push eax
lea ecx, [edi + 0x11ec]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x11a0]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1208], 0xffffffff
mov dword [edi + 0x120c], 0
mov dword [edi + 0x11e4], 0x3f800000
mov byte [edi + 0x11dc], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x117c], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1168], 0x14
mov dword [edi + 0x1170], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1180], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.visible
lea ecx, [ebp - 0x37c]
call fcn.100344f0
push str.invisible
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], 0x73
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x74
lea ecx, [ebp - 0x37c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push 0x100f379c
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x75
call fcn.100344f0
push str.chams_enemy
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x76
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x78
push eax
lea ecx, [edi + 0x124c]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1285], 1
push eax
lea ecx, [edi + 0x128c]
call fcn.10034420
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x1285], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x12cc], eax
add eax, 0x14
mov dword [edi + 0x1220], eax
mov dword [edi + 0x1224], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007ecc7
lea eax, [edi + 0x12a8]
mov dword [ebp - 0x38], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.1005fca0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007ecb4
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007ed8d
lea esi, [edi + 0x12bc]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0x12bc]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0x12a8]
call fcn.1003cf20
lea esi, [edi + 0x12bc]
cmp dword [ebp - 0x1c], eax
jae 0x1007ed69
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007ed7b
mov eax, dword [edi + 0x1280]
test eax, eax
je 0x1007ed7b
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007ece7
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 2
push 0x1c
lea eax, [ebp - 0x37c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [edi + 0x1270]
push eax
call fcn.100a2280
mov dword [edi + 0x1228], 0
lea eax, [edi + 0x1210]
mov dword [edi + 0x1214], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x121c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x122c], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.normal
lea ecx, [ebp - 0x398]
call fcn.100344f0
push str.flat
lea ecx, [ebp - 0x37c]
mov dword [ebp - 4], 0x79
call fcn.100344f0
push str.metallic
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x7a
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x7b
lea ecx, [ebp - 0x398]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xd4]
call fcn.100a2320
push str.chams_enemy_mat
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x7c
call fcn.100344f0
push str.chams_material
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x7d
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [edi + 0x130c]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1345], 1
push eax
lea ecx, [edi + 0x134c]
call fcn.10034420
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1345], al
cmovne eax, ecx
mov dword [edi + 0x1380], eax
add eax, 0x14
mov dword [edi + 0x12e0], eax
mov esi, dword [ebp - 0xd0]
mov dword [edi + 0x12e4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007ef27
lea eax, [edi + 0x1368]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.1005fca0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1007ef12
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x1368]
call fcn.1003cf20
test eax, eax
je 0x1007ef40
mov dword [edi + 0x137c], 0
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0xd4]
call fcn.100333a0
push fcn.10034450
push 3
push 0x1c
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [edi + 0x1330]
push eax
call fcn.100a2280
mov dword [edi + 0x12e8], 0
lea eax, [edi + 0x12d0]
mov dword [edi + 0x12d4], 0x14
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x12dc], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x12ec], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.chams_enemy_vis
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1384]
call fcn.100344f0
push str.color_visible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x7f
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x80
push eax
lea ecx, [edi + 0x140c]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x13c0]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1428], 0xffffffff
mov dword [edi + 0x142c], 0
mov dword [edi + 0x1404], 0x3f800000
mov byte [edi + 0x13fc], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x139c], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1388], 0x14
mov dword [edi + 0x1390], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x13a0], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.chams_enemy_invis
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1430]
call fcn.100344f0
push str.color_invisible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x81
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x82
push eax
lea ecx, [edi + 0x14b8]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x146c]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x14d4], 0xffffffff
mov dword [edi + 0x14d8], 0
mov dword [edi + 0x14b0], 0x3f800000
mov byte [edi + 0x14a8], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x1448], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1434], 0x14
mov dword [edi + 0x143c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x144c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push 0x100f3864
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x14dc]
call fcn.100344f0
push str.chams_history
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x83
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [edi + 0x1518]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1551], 1
push eax
lea ecx, [edi + 0x1558]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x1554], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x14f4], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x14e0], 0x14
mov dword [edi + 0x14e8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x14f8], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.chams_history_col
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1574]
call fcn.100344f0
mov dword [ebp - 4], 0x85
push str.color
lea ecx, [ebp - 0xa4]
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x86
push eax
lea ecx, [edi + 0x15fc]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x15b0]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1618], 0xffffffff
mov dword [edi + 0x161c], 0
mov dword [edi + 0x15f4], 0x3f800000
mov byte [edi + 0x15ec], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x158c], 0
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1578], 0x14
mov dword [edi + 0x1580], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1590], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.visible
lea ecx, [ebp - 0x37c]
call fcn.100344f0
push str.invisible
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], 0x87
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x88
lea ecx, [ebp - 0x37c]
push eax
push ecx
push ecx
lea ecx, [ebp - 0x78]
call fcn.100a2320
push 0x100f3854
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x89
call fcn.100344f0
push str.chams_friendly
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x8a
call fcn.100344f0
lea ecx, [ebp - 0xd8]
call fcn.10033330
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [edi + 0x165c]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1695], 1
push eax
lea ecx, [edi + 0x169c]
call fcn.10034420
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1695], al
mov esi, dword [ebp - 0x74]
cmovne eax, ecx
mov dword [edi + 0x16dc], eax
add eax, 0x14
mov dword [edi + 0x1630], eax
mov dword [edi + 0x1634], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007f403
lea eax, [edi + 0x16b8]
mov dword [ebp - 0x38], eax
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.1005fca0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007f3f0
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
je 0x1007f4c9
lea esi, [edi + 0x16cc]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esi
mov dword [ebp - 0x1c], eax
push esp
call fcn.10033070
sub esp, 0xc
mov ecx, esi
push esp
call fcn.100330e0
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xec]
call fcn.10035850
add esp, 0x18
lea ecx, [edi + 0x16cc]
mov esi, eax
lea eax, [ebp - 0x84]
push eax
call fcn.10033070
push eax
mov ecx, esi
call fcn.10032fd0
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x3d], al
call fcn.10027b20
lea ecx, [ebp - 0xec]
call fcn.10027b20
lea ecx, [edi + 0x16b8]
call fcn.1003cf20
lea esi, [edi + 0x16cc]
cmp dword [ebp - 0x1c], eax
jae 0x1007f4a5
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1004dc70
cmp byte [ebp - 0x3d], 0
je 0x1007f4b7
mov eax, dword [edi + 0x1690]
test eax, eax
je 0x1007f4b7
call eax
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x38]
jne 0x1007f423
lea ecx, [ebp - 0xd8]
call fcn.10033150
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0x78]
call fcn.100333a0
push fcn.10034450
push 2
push 0x1c
lea eax, [ebp - 0x37c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [edi + 0x1680]
push eax
call fcn.100a2280
mov dword [edi + 0x1638], 1
lea eax, [edi + 0x1620]
mov dword [edi + 0x1624], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x162c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x163c], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.normal
lea ecx, [ebp - 0x398]
call fcn.100344f0
push str.flat
lea ecx, [ebp - 0x37c]
mov dword [ebp - 4], 0x8d
call fcn.100344f0
push str.metallic
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x8e
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x8f
lea ecx, [ebp - 0x398]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xd4]
call fcn.100a2320
push str.chams_friendly_mat
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x90
call fcn.100344f0
push str.chams_friendly_material
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x91
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0x171c]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1755], 1
push eax
lea ecx, [edi + 0x175c]
call fcn.10034420
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1755], al
cmovne eax, ecx
mov dword [edi + 0x1790], eax
add eax, 0x14
mov dword [edi + 0x16f0], eax
mov esi, dword [ebp - 0xd0]
mov dword [edi + 0x16f4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x1007f665
lea eax, [edi + 0x1778]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
nop
push esi
mov ecx, eax
call fcn.1005fca0
mov eax, dword [ebp - 0x18]
add esi, 0x1c
cmp esi, edi
jne 0x1007f650
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x1778]
call fcn.1003cf20
test eax, eax
je 0x1007f67e
mov dword [edi + 0x178c], 0
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0xd4]
call fcn.100333a0
push fcn.10034450
push 3
push 0x1c
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [edi + 0x1740]
push eax
call fcn.100a2280
mov dword [edi + 0x16f8], 1
lea eax, [edi + 0x16e0]
mov dword [edi + 0x16e4], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x16ec], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x16fc], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.chams_friendly_vis
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1794]
call fcn.100344f0
push str.color_visible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x93
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x94
push eax
lea ecx, [edi + 0x181c]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x17d0]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1838], 0xffffffff
mov dword [edi + 0x183c], 0
mov dword [edi + 0x1814], 0x3f800000
mov byte [edi + 0x180c], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x17ac], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1798], 0xff
mov dword [edi + 0x17a0], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x17b0], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.chams_friendly_invis
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1840]
call fcn.100344f0
push str.color_invisible
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x95
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0x96
push eax
lea ecx, [edi + 0x18c8]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x187c]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x18e4], 0xffffffff
mov dword [edi + 0x18e8], 0
mov dword [edi + 0x18c0], 0x3f800000
mov byte [edi + 0x18b8], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x1858], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1844], 0xff
mov dword [edi + 0x184c], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x185c], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.chams_local
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x18ec]
call fcn.100344f0
push 0x100f38d4
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x97
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x98
push eax
lea ecx, [edi + 0x1928]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1961], 1
push eax
lea ecx, [edi + 0x1968]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x1964], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x1904], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x18f0], 0xff
mov dword [edi + 0x18f8], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1908], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.normal
lea ecx, [ebp - 0x398]
call fcn.100344f0
mov dword [ebp - 4], 0x99
push str.flat
lea ecx, [ebp - 0x37c]
call fcn.100344f0
push str.metallic
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 0x9a
call fcn.100344f0
lea eax, [ebp - 0x344]
mov dword [ebp - 4], 0x9b
lea ecx, [ebp - 0x398]
push eax
push ecx
push ecx
lea ecx, [ebp - 0xd4]
call fcn.100a2320
push str.chams_local_mat
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x9c
call fcn.100344f0
push str.chams_local_material
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x9d
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x9e
push eax
lea ecx, [edi + 0x19c0]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x19f9], 1
push eax
lea ecx, [edi + 0x1a00]
call fcn.10034420
mov esi, dword [ebp - 0xd0]
xor eax, eax
cmp byte [edi + 0x19f9], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1a34], eax
add eax, 0x14
mov dword [edi + 0x1994], eax
mov dword [edi + 0x1998], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1007fa7b
lea eax, [edi + 0x1a1c]
mov dword [ebp - 0x38], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.1005fca0
add esi, 0x1c
cmp esi, dword [ebp - 0x18]
jne 0x1007fa68
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x1a1c]
call fcn.1003cf20
test eax, eax
je 0x1007fa94
mov dword [edi + 0x1a30], 0
lea ecx, [ebp - 0xa4]
call fcn.10034450
lea ecx, [ebp - 0x64]
call fcn.10034450
lea ecx, [ebp - 0xd4]
call fcn.100333a0
push fcn.10034450
push 3
push 0x1c
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100dd7b0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [edi + 0x19e4]
push eax
call fcn.100a2280
mov dword [edi + 0x199c], 1
lea eax, [edi + 0x1984]
mov dword [edi + 0x1988], 0xff
lea ecx, [edi + 0x1c]
mov dword [ebp - 0x38], eax
mov dword [edi + 0x1990], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x19a0], eax
lea eax, [ebp - 0x38]
push eax
call fcn.100a2280
push str.chams_local_col
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1a38]
call fcn.100344f0
push str.color
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0x9f
call fcn.100344f0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 0xa0
push eax
lea ecx, [edi + 0x1ac0]
call fcn.10034420
lea eax, [ebp - 0x64]
push eax
lea ecx, [edi + 0x1a74]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov dword [edi + 0x1adc], 0xffffffff
mov dword [edi + 0x1ae0], 0
mov dword [edi + 0x1ab8], 0x3f800000
mov byte [edi + 0x1ab0], 1
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
lea ecx, [esi + 0x60]
push eax
call fcn.100a2280
mov dword [edi + 0x1a50], 1
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1a3c], 0xff
mov dword [edi + 0x1a44], 0xaf
mov eax, dword [edi + 0x34]
mov dword [edi + 0x1a54], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.100a2280
push str.chams_local_scope
lea ecx, [ebp - 0x64]
lea esi, [edi + 0x1ae4]
call fcn.100344f0
push str.blend_when_scoped
lea ecx, [ebp - 0xa4]
mov dword [ebp - 4], 0xa1
call fcn.100344f0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xa2
push eax
lea ecx, [edi + 0x1b20]
call fcn.10034420
lea eax, [ebp - 0xa4]
mov byte [edi + 0x1b59], 1
push eax
lea ecx, [edi + 0x1b60]
call fcn.10034420
lea ecx, [ebp - 0xa4]
mov byte [edi + 0x1b5c], 0
call fcn.10034450
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xffffffff
call fcn.10034450
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1003a2b0
push eax
lea ecx, [edi + 0x1b44]
call fcn.100a2280
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.100a2280
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.100dd730
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret