Function at 0x1006de50
Capabilities:
Contain obfuscated stackstrings

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 0x100c705c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xaf8
mov eax, dword [0x100e2040]
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 - 0xfc], edi
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x224], 0
push str.players
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x220], 0
movups xmmword [ebp - 0x234], xmm0
call fcn.100302c0
lea eax, [ebp - 0x234]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1006def6
cmp dword [ebp - 0x220], 0xf
mov ecx, edi
push dword [ebp - 0x224]
cmova eax, dword [ebp - 0x234]
push eax
call fcn.1002f8c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x220]
cmp ecx, 0xf
jbe 0x1006df37
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006df2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x224], 0
push 0x100d2ba4
lea ecx, [ebp - 0x654]
mov dword [ebp - 0x220], 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ebp - 0x654], xmm0
mov dword [ebp - 0x644], 0
mov dword [ebp - 0x640], 0
call fcn.100302c0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x63c]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x62c], 0
push str.model
movups xmmword [ebp - 0x63c], xmm0
mov dword [ebp - 0x628], 0
call fcn.100302c0
lea ecx, [ebp - 0x654]
mov dword [ebp - 4], 2
push ecx
lea eax, [ebp - 0x624]
push eax
push ecx
lea ecx, [ebp - 0x530]
call fcn.10091740
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x21c]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x20c], 0
push 0x100d14b4
movups xmmword [ebp - 0x21c], xmm0
mov dword [ebp - 0x208], 0
call fcn.100302c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4b8]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x4a8], 0
push 0x100d0266
movups xmmword [ebp - 0x4b8], xmm0
mov dword [ebp - 0x4a4], 0
call fcn.100302c0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 5
lea eax, [ebp - 0x21c]
cmp ecx, eax
je 0x1006e06d
cmp dword [ebp - 0x208], 0xf
push dword [ebp - 0x20c]
cmova eax, dword [ebp - 0x21c]
push eax
call fcn.1002f8c0
mov byte [edi + 0x99], 0
mov dword [edi + 0xcc], 0
mov dword [edi + 0x40], 0x14
mov dword [edi + 0x44], 0x14
mov eax, dword [ebp - 0x52c]
mov esi, dword [ebp - 0x530]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x1006e0e6
lea ecx, [edi + 0xb8]
nop dword [eax + eax]
mov eax, dword [edi + 0xbc]
push esi
cmp eax, dword [edi + 0xc0]
je 0x1006e0cf
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0xbc], 0x18
jmp 0x1006e0d5
push eax
call fcn.10054930
add esi, 0x18
lea ecx, [edi + 0xb8]
cmp esi, dword [ebp - 0xc8]
jne 0x1006e0b0
mov ecx, dword [edi + 0xbc]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0xb8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1006e10f
mov dword [edi + 0xc8], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4a4]
cmp ecx, 0xf
jbe 0x1006e14d
mov edx, dword [ebp - 0x4b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e143
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0xf
mov byte [ebp - 0x4b8], 0
cmp ecx, 0xf
jbe 0x1006e1a6
mov edx, dword [ebp - 0x21c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e19c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0xf
mov byte [ebp - 0x21c], 0
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x654]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [edi + 0x30]
mov dword [ebp - 0x34], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x48], 0
imul eax, dword [edi + 0x48], 0xeb
add eax, 0x14
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006e225
mov eax, dword [ebp - 0x34]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006e22f
lea eax, [ebp - 0x34]
push eax
push edx
call fcn.10031180
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x674], 0
push str.enemy
lea ecx, [ebp - 0x684]
mov dword [ebp - 0x670], 0
movups xmmword [ebp - 0x684], xmm0
call fcn.100302c0
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x66c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x65c], 0
push str.friendly
movups xmmword [ebp - 0x66c], xmm0
mov dword [ebp - 0x658], 0
call fcn.100302c0
lea ecx, [ebp - 0x684]
mov dword [ebp - 4], 7
push ecx
lea eax, [ebp - 0x654]
push eax
push ecx
lea ecx, [ebp - 0x53c]
call fcn.10091740
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1ec]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x1dc], 0
push 0x100d2bd4
movups xmmword [ebp - 0x1ec], xmm0
mov dword [ebp - 0x1d8], 0
call fcn.100302c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x204]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x1f4], 0
push str.boxes
movups xmmword [ebp - 0x204], xmm0
mov dword [ebp - 0x1f0], 0
call fcn.100302c0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0
lea ecx, [edi + 0x108]
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1ec]
cmp ecx, eax
je 0x1006e36b
cmp dword [ebp - 0x1d8], 0xf
push dword [ebp - 0x1dc]
cmova eax, dword [ebp - 0x1ec]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x140]
mov byte [edi + 0x139], 1
lea eax, [ebp - 0x204]
cmp ecx, eax
je 0x1006e39c
cmp dword [ebp - 0x1f0], 0xf
push dword [ebp - 0x1f4]
cmova eax, dword [ebp - 0x204]
push eax
call fcn.1002f8c0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x139], al
cmovne eax, ecx
mov dword [edi + 0x174], eax
add eax, 0x14
mov dword [edi + 0xe0], eax
mov dword [edi + 0xe4], eax
mov eax, dword [ebp - 0x538]
mov esi, dword [ebp - 0x53c]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x1006e41c
lea ecx, [edi + 0x158]
nop dword [eax]
mov eax, dword [edi + 0x15c]
push esi
cmp eax, dword [edi + 0x160]
je 0x1006e405
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0x15c], 0x18
lea ecx, [edi + 0x158]
jmp 0x1006e411
push eax
call fcn.10054930
lea ecx, [edi + 0x158]
add esi, 0x18
cmp esi, dword [ebp - 0xc8]
jne 0x1006e3e0
mov ecx, dword [ebp - 0x42c]
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x1006e4cb
lea esi, [edi + 0x168]
nop
mov eax, dword [eax]
push eax
mov dword [ebp - 0x1c], eax
push dword [esi + 4]
push dword [esi]
call fcn.100bf540
mov ecx, dword [esi + 4]
mov dword [ebp - 0xc4], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x15c]
sub ecx, dword [edi + 0x158]
imul ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x1006e49f
cmp eax, dword [esi + 8]
je 0x1006e490
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1006e49f
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc4], eax
jne 0x1006e4b3
mov eax, dword [edi + 0x134]
test eax, eax
je 0x1006e4b3
call eax
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x2c]
jne 0x1006e440
lea ecx, [ebp - 0x430]
call fcn.1002e700
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x1f0]
cmp ecx, 0xf
jbe 0x1006e514
mov edx, dword [ebp - 0x204]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e50a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0xf
mov byte [ebp - 0x204], 0
cmp ecx, 0xf
jbe 0x1006e56d
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e563
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [ebp - 0x53c]
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x684]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea ecx, [edi + 0x128]
mov dword [ebp - 0x94], 0x10034620
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1006e5d3
mov dword [eax], 0x10034620
add dword [ecx + 4], 4
jmp 0x1006e5e0
lea edx, [ebp - 0x94]
push edx
push eax
call fcn.10031180
lea eax, [edi + 0xd0]
mov dword [ebp - 0x40], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xe8], 0
imul eax, dword [edi + 0xe8], 0xeb
add eax, 0x14
mov dword [edi + 0xd4], eax
mov dword [edi + 0xdc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xec], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006e62f
mov eax, dword [ebp - 0x40]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006e639
lea eax, [ebp - 0x40]
push eax
push edx
call fcn.10031180
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x1ac], 0
push str.box_enemy
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1a8], 0
movups xmmword [ebp - 0x1bc], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x1d4]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x1c4], 0
push str.box_enemy_color
movups xmmword [ebp - 0x1d4], xmm0
mov dword [ebp - 0x1c0], 0
call fcn.100302c0
lea ecx, [edi + 0x1e8]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x100], 0xff3cc896
cmp ecx, eax
je 0x1006e6d8
cmp dword [ebp - 0x1c0], 0xf
push dword [ebp - 0x1c4]
cmova eax, dword [ebp - 0x1d4]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x1b0]
lea eax, [ebp - 0x1bc]
cmp ecx, eax
je 0x1006e702
cmp dword [ebp - 0x1a8], 0xf
push dword [ebp - 0x1ac]
cmova eax, dword [ebp - 0x1bc]
push eax
call fcn.1002f8c0
mov eax, dword [ebp - 0x100]
mov dword [edi + 0x200], eax
mov dword [edi + 0x218], 0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1c0]
cmp ecx, 0xf
jbe 0x1006e756
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e74c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
cmp ecx, 0xf
jbe 0x1006e7b2
mov edx, dword [ebp - 0x1bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e7a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea esi, [edi + 0x1d0]
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0xf
mov byte [ebp - 0x1bc], 0
mov dword [ebp - 0x98], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006e7f1
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x1006e800
lea ecx, [ebp - 0x98]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x9c], 0x100346f0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006e81e
mov dword [eax], 0x100346f0
add dword [esi + 4], 4
jmp 0x1006e82d
lea ecx, [ebp - 0x9c]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x178]
mov dword [ebp - 0x3c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x190], 0
imul eax, dword [edi + 0x190], 0xeb
add eax, 0x14
mov dword [edi + 0x17c], eax
mov dword [edi + 0x184], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x194], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006e87c
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006e886
lea eax, [ebp - 0x3c]
push eax
push edx
call fcn.10031180
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x17c], 0
push str.box_friendly
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x178], 0
movups xmmword [ebp - 0x18c], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x1a4]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x194], 0
push str.box_friendly_color
movups xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x190], 0
call fcn.100302c0
lea ecx, [edi + 0x2a4]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x104], 0xff00c8ff
cmp ecx, eax
je 0x1006e925
cmp dword [ebp - 0x190], 0xf
push dword [ebp - 0x194]
cmova eax, dword [ebp - 0x1a4]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x26c]
lea eax, [ebp - 0x18c]
cmp ecx, eax
je 0x1006e94f
cmp dword [ebp - 0x178], 0xf
push dword [ebp - 0x17c]
cmova eax, dword [ebp - 0x18c]
push eax
call fcn.1002f8c0
mov eax, dword [ebp - 0x104]
mov dword [edi + 0x2bc], eax
mov dword [edi + 0x2d4], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x190]
cmp ecx, 0xf
jbe 0x1006e9a3
mov edx, dword [ebp - 0x1a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e999
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
cmp ecx, 0xf
jbe 0x1006e9ff
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006e9f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea esi, [edi + 0x28c]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0xf
mov byte [ebp - 0x18c], 0
mov dword [ebp - 0x70], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006ea3b
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x1006ea47
lea ecx, [ebp - 0x70]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0xa4], 0x100346c0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006ea65
mov dword [eax], 0x100346c0
add dword [esi + 4], 4
jmp 0x1006ea74
lea ecx, [ebp - 0xa4]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x234]
mov dword [ebp - 0x30], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x24c], 0
imul eax, dword [edi + 0x24c], 0xeb
add eax, 0x14
mov dword [edi + 0x238], eax
mov dword [edi + 0x240], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x250], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006eac3
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006eacd
lea eax, [ebp - 0x30]
push eax
push edx
call fcn.10031180
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x14c], 0
push str.dormant
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x148], 0
lea esi, [edi + 0x2f0]
movups xmmword [ebp - 0x15c], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x174]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
push str.dormant_enemies
movups xmmword [ebp - 0x174], xmm0
mov dword [ebp - 0x160], 0
call fcn.100302c0
lea ecx, [edi + 0x328]
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x15c]
cmp ecx, eax
je 0x1006eb68
cmp dword [ebp - 0x148], 0xf
push dword [ebp - 0x14c]
cmova eax, dword [ebp - 0x15c]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x360]
mov byte [edi + 0x359], 1
lea eax, [ebp - 0x174]
cmp ecx, eax
je 0x1006eb99
cmp dword [ebp - 0x160], 0xf
push dword [ebp - 0x164]
cmova eax, dword [ebp - 0x174]
push eax
call fcn.1002f8c0
mov byte [edi + 0x35c], 0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x160]
cmp ecx, 0xf
jbe 0x1006ebde
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006ebd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
cmp ecx, 0xf
jbe 0x1006ec3a
mov edx, dword [ebp - 0x15c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006ec30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [edi + 0x348]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
mov dword [ebp - 0xa8], 0x10034620
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1006ec79
mov dword [eax], 0x10034620
add dword [ecx + 4], 4
jmp 0x1006ec86
lea edx, [ebp - 0xa8]
push edx
push eax
call fcn.10031180
mov dword [ebp - 0x48], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x308], 0
imul eax, dword [edi + 0x308], 0xeb
add eax, 0x14
mov dword [edi + 0x2f4], eax
mov dword [edi + 0x2fc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x30c], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006eccf
mov eax, dword [ebp - 0x48]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006ecd9
lea eax, [ebp - 0x48]
push eax
push edx
call fcn.10031180
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x29c], 0
push str.offscreen
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x298], 0
lea esi, [edi + 0x378]
movups xmmword [ebp - 0x2ac], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x144]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0
push str.enemy_offscreen_esp
movups xmmword [ebp - 0x144], xmm0
mov dword [ebp - 0x130], 0
call fcn.100302c0
lea ecx, [edi + 0x3b0]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x2ac]
cmp ecx, eax
je 0x1006ed74
cmp dword [ebp - 0x298], 0xf
push dword [ebp - 0x29c]
cmova eax, dword [ebp - 0x2ac]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x3e8]
mov byte [edi + 0x3e1], 1
lea eax, [ebp - 0x144]
cmp ecx, eax
je 0x1006eda5
cmp dword [ebp - 0x130], 0xf
push dword [ebp - 0x134]
cmova eax, dword [ebp - 0x144]
push eax
call fcn.1002f8c0
mov byte [edi + 0x3e4], 0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x130]
cmp ecx, 0xf
jbe 0x1006edea
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006ede0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
cmp ecx, 0xf
jbe 0x1006ee46
mov edx, dword [ebp - 0x2ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006ee3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [edi + 0x3d0]
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
mov dword [ebp - 0xac], 0x10034620
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1006ee85
mov dword [eax], 0x10034620
add dword [ecx + 4], 4
jmp 0x1006ee92
lea edx, [ebp - 0xac]
push edx
push eax
call fcn.10031180
mov dword [ebp - 0x50], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x390], 0
imul eax, dword [edi + 0x390], 0xeb
add eax, 0x14
mov dword [edi + 0x37c], eax
mov dword [edi + 0x384], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x394], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006eedb
mov eax, dword [ebp - 0x50]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006eee5
lea eax, [ebp - 0x50]
push eax
push edx
call fcn.10031180
mov esi, dword [0x100ceffc]
lea ecx, [ebp - 0x2c4]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x2b4], 0
push str.offscreen_color
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0x2b0], 0
call fcn.100302c0
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x294]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x284], 0
push str.offscreen_esp_color
movups xmmword [ebp - 0x294], xmm0
mov dword [ebp - 0x280], 0
call fcn.100302c0
lea ecx, [edi + 0x470]
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x294]
cmp ecx, eax
je 0x1006ef80
cmp dword [ebp - 0x280], 0xf
push dword [ebp - 0x284]
cmova eax, dword [ebp - 0x294]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x438]
lea eax, [ebp - 0x2c4]
cmp ecx, eax
je 0x1006efaa
cmp dword [ebp - 0x2b0], 0xf
push dword [ebp - 0x2b4]
cmova eax, dword [ebp - 0x2c4]
push eax
call fcn.1002f8c0
mov dword [edi + 0x488], esi
mov dword [edi + 0x4a0], 0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x280]
cmp ecx, 0xf
jbe 0x1006eff8
mov edx, dword [ebp - 0x294]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006efee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], 0
cmp ecx, 0xf
jbe 0x1006f054
mov edx, dword [ebp - 0x2c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006f04a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea esi, [edi + 0x458]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
mov dword [ebp - 0xb0], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006f093
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x1006f0a2
lea ecx, [ebp - 0xb0]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0xb4], 0x100346e0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006f0c0
mov dword [eax], 0x100346e0
add dword [esi + 4], 4
jmp 0x1006f0cf
lea ecx, [ebp - 0xb4]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x400]
mov dword [ebp - 0x44], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x418], 0
imul eax, dword [edi + 0x418], 0xeb
add eax, 0x14
mov dword [edi + 0x404], eax
mov dword [edi + 0x40c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x41c], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006f11e
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006f128
lea eax, [ebp - 0x44]
push eax
push edx
call fcn.10031180
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x6a4], 0
push str.enemy
lea ecx, [ebp - 0x6b4]
mov dword [ebp - 0x6a0], 0
movups xmmword [ebp - 0x6b4], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x69c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x68c], 0
push str.friendly
movups xmmword [ebp - 0x69c], xmm0
mov dword [ebp - 0x688], 0
call fcn.100302c0
lea ecx, [ebp - 0x6b4]
mov dword [ebp - 4], 0x17
push ecx
lea eax, [ebp - 0x684]
push eax
push ecx
lea ecx, [ebp - 0x548]
call fcn.10091740
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2f4]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x2e4], 0
push str.name
movups xmmword [ebp - 0x2f4], xmm0
mov dword [ebp - 0x2e0], 0
call fcn.100302c0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x2dc]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x2cc], 0
push str.name
movups xmmword [ebp - 0x2dc], xmm0
mov dword [ebp - 0x2c8], 0
call fcn.100302c0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 0
lea ecx, [edi + 0x4f4]
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x2f4]
cmp ecx, eax
je 0x1006f264
cmp dword [ebp - 0x2e0], 0xf
push dword [ebp - 0x2e4]
cmova eax, dword [ebp - 0x2f4]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x52c]
mov byte [edi + 0x525], 1
lea eax, [ebp - 0x2dc]
cmp ecx, eax
je 0x1006f295
cmp dword [ebp - 0x2c8], 0xf
push dword [ebp - 0x2cc]
cmova eax, dword [ebp - 0x2dc]
push eax
call fcn.1002f8c0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x525], al
cmovne eax, ecx
mov dword [edi + 0x560], eax
add eax, 0x14
mov dword [edi + 0x4cc], eax
mov dword [edi + 0x4d0], eax
mov eax, dword [ebp - 0x544]
mov esi, dword [ebp - 0x548]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x1006f30c
lea ecx, [edi + 0x544]
mov eax, dword [edi + 0x548]
push esi
cmp eax, dword [edi + 0x54c]
je 0x1006f2f8
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0x548], 0x18
lea ecx, [edi + 0x544]
jmp 0x1006f304
push eax
call fcn.10054930
lea ecx, [edi + 0x544]
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x1006f2d3
mov ecx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x1006f3ba
lea esi, [edi + 0x554]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x24], eax
push dword [esi + 4]
push dword [esi]
call fcn.100bf540
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2c], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x548]
sub ecx, dword [edi + 0x544]
imul ecx
mov ecx, dword [ebp - 0x24]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x1006f38e
cmp eax, dword [esi + 8]
je 0x1006f37f
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1006f38e
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], eax
jne 0x1006f39f
mov eax, dword [edi + 0x520]
test eax, eax
je 0x1006f39f
call eax
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xc4]
jne 0x1006f332
lea ecx, [ebp - 0x420]
call fcn.1002e700
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x2c8]
cmp ecx, 0xf
jbe 0x1006f403
mov edx, dword [ebp - 0x2dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006f3f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
cmp ecx, 0xf
jbe 0x1006f45c
mov edx, dword [ebp - 0x2f4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006f452
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [ebp - 0x548]
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0xf
mov byte [ebp - 0x2f4], 0
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x6b4]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea ecx, [edi + 0x514]
mov dword [ebp - 0xb8], 0x10034620
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1006f4c2
mov dword [eax], 0x10034620
add dword [ecx + 4], 4
jmp 0x1006f4cf
lea edx, [ebp - 0xb8]
push edx
push eax
call fcn.10031180
lea eax, [edi + 0x4bc]
mov dword [ebp - 0x54], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x4d4], 0
imul eax, dword [edi + 0x4d4], 0xeb
add eax, 0x14
mov dword [edi + 0x4c0], eax
mov dword [edi + 0x4c8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4d8], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006f51e
mov eax, dword [ebp - 0x54]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006f528
lea eax, [ebp - 0x54]
push eax
push edx
call fcn.10031180
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x6d4], 0
push str.verdana_bold
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 0x6d0], 0
movups xmmword [ebp - 0x6e4], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x6cc]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x6bc], 0
push str.verdana_normal
movups xmmword [ebp - 0x6cc], xmm0
mov dword [ebp - 0x6b8], 0
call fcn.100302c0
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 4], 0x1d
push ecx
lea eax, [ebp - 0x6b4]
push eax
push ecx
lea ecx, [ebp - 0x554]
call fcn.10091740
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x324]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x314], 0
push str.name_style
movups xmmword [ebp - 0x324], xmm0
mov dword [ebp - 0x310], 0
call fcn.100302c0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x30c]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2fc], 0
push str.font_style
movups xmmword [ebp - 0x30c], xmm0
mov dword [ebp - 0x2f8], 0
call fcn.100302c0
lea ecx, [edi + 0x658]
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x324]
cmp ecx, eax
je 0x1006f646
cmp dword [ebp - 0x310], 0xf
push dword [ebp - 0x314]
cmova eax, dword [ebp - 0x324]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x690]
mov byte [edi + 0x689], 1
lea eax, [ebp - 0x30c]
cmp ecx, eax
je 0x1006f677
cmp dword [ebp - 0x2f8], 0xf
push dword [ebp - 0x2fc]
cmova eax, dword [ebp - 0x30c]
push eax
call fcn.1002f8c0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x689], al
cmovne eax, ecx
mov dword [edi + 0x6bc], eax
add eax, 0x14
mov dword [edi + 0x630], eax
mov dword [edi + 0x634], eax
mov eax, dword [ebp - 0x550]
mov esi, dword [ebp - 0x554]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x1006f6f9
lea ecx, [edi + 0x6a8]
nop word [eax + eax]
mov eax, dword [edi + 0x6ac]
push esi
cmp eax, dword [edi + 0x6b0]
je 0x1006f6e5
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0x6ac], 0x18
lea ecx, [edi + 0x6a8]
jmp 0x1006f6f1
push eax
call fcn.10054930
lea ecx, [edi + 0x6a8]
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x1006f6c0
mov ecx, dword [edi + 0x6ac]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x6a8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1006f722
mov dword [edi + 0x6b8], 0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x2f8]
cmp ecx, 0xf
jbe 0x1006f760
mov edx, dword [ebp - 0x30c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006f756
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f8], 0xf
mov byte [ebp - 0x30c], 0
cmp ecx, 0xf
jbe 0x1006f7b9
mov edx, dword [ebp - 0x324]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006f7af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 0xf
mov byte [ebp - 0x324], 0
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x6e4]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea esi, [edi + 0x678]
mov dword [ebp - 0xbc], 0x10034680
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006f81f
mov dword [eax], 0x10034680
add dword [esi + 4], 4
jmp 0x1006f82e
lea ecx, [ebp - 0xbc]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0xc0], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006f84c
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x1006f85b
lea ecx, [ebp - 0xc0]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x620]
mov dword [ebp - 0x38], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x638], 0
imul eax, dword [edi + 0x638], 0xeb
add eax, 0x14
mov dword [edi + 0x624], eax
mov dword [edi + 0x62c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x63c], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006f8aa
mov eax, dword [ebp - 0x38]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006f8b4
lea eax, [ebp - 0x38]
push eax
push edx
call fcn.10031180
mov esi, dword [0x100ceffc]
lea ecx, [ebp - 0x354]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x344], 0
push 0x100d2cf0
movups xmmword [ebp - 0x354], xmm0
mov dword [ebp - 0x340], 0
call fcn.100302c0
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x33c]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x32c], 0
push str.name_color
movups xmmword [ebp - 0x33c], xmm0
mov dword [ebp - 0x328], 0
call fcn.100302c0
lea ecx, [edi + 0x5d4]
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x33c]
cmp ecx, eax
je 0x1006f94f
cmp dword [ebp - 0x328], 0xf
push dword [ebp - 0x32c]
cmova eax, dword [ebp - 0x33c]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x59c]
lea eax, [ebp - 0x354]
cmp ecx, eax
je 0x1006f979
cmp dword [ebp - 0x340], 0xf
push dword [ebp - 0x344]
cmova eax, dword [ebp - 0x354]
push eax
call fcn.1002f8c0
mov dword [edi + 0x5ec], esi
mov dword [edi + 0x604], 0
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x328]
cmp ecx, 0xf
jbe 0x1006f9c7
mov edx, dword [ebp - 0x33c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006f9bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x328], 0xf
mov byte [ebp - 0x33c], 0
cmp ecx, 0xf
jbe 0x1006fa23
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006fa19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea esi, [edi + 0x5bc]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
mov byte [ebp - 0x354], 0
mov dword [ebp - 0x7c], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006fa5f
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x1006fa6b
lea ecx, [ebp - 0x7c]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x80], 0x10034680
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1006fa86
mov dword [eax], 0x10034680
add dword [esi + 4], 4
jmp 0x1006fa92
lea ecx, [ebp - 0x80]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x564]
mov dword [ebp - 0x4c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x57c], 0
imul eax, dword [edi + 0x57c], 0xeb
add eax, 0x14
mov dword [edi + 0x568], eax
mov dword [edi + 0x570], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x580], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006fae1
mov eax, dword [ebp - 0x4c]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006faeb
lea eax, [ebp - 0x4c]
push eax
push edx
call fcn.10031180
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x704], 0
push str.enemy
lea ecx, [ebp - 0x714]
mov dword [ebp - 0x700], 0
movups xmmword [ebp - 0x714], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x23
lea ecx, [ebp - 0x6fc]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x6ec], 0
push str.friendly
movups xmmword [ebp - 0x6fc], xmm0
mov dword [ebp - 0x6e8], 0
call fcn.100302c0
lea ecx, [ebp - 0x714]
mov dword [ebp - 4], 0x24
push ecx
lea eax, [ebp - 0x6e4]
push eax
push ecx
lea ecx, [ebp - 0x560]
call fcn.10091740
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x384]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x374], 0
push str.health
movups xmmword [ebp - 0x384], xmm0
mov dword [ebp - 0x370], 0
call fcn.100302c0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x36c]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x35c], 0
push str.health
movups xmmword [ebp - 0x36c], xmm0
mov dword [ebp - 0x358], 0
call fcn.100302c0
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
lea ecx, [edi + 0x6f8]
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x384]
cmp ecx, eax
je 0x1006fc27
cmp dword [ebp - 0x370], 0xf
push dword [ebp - 0x374]
cmova eax, dword [ebp - 0x384]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x730]
mov byte [edi + 0x729], 1
lea eax, [ebp - 0x36c]
cmp ecx, eax
je 0x1006fc58
cmp dword [ebp - 0x358], 0xf
push dword [ebp - 0x35c]
cmova eax, dword [ebp - 0x36c]
push eax
call fcn.1002f8c0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x729], al
cmovne eax, ecx
mov dword [edi + 0x764], eax
add eax, 0x14
mov dword [edi + 0x6d0], eax
mov dword [edi + 0x6d4], eax
mov eax, dword [ebp - 0x55c]
mov esi, dword [ebp - 0x560]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x1006fcd9
lea ecx, [edi + 0x748]
nop word [eax + eax]
mov eax, dword [edi + 0x74c]
push esi
cmp eax, dword [edi + 0x750]
je 0x1006fcc5
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0x74c], 0x18
lea ecx, [edi + 0x748]
jmp 0x1006fcd1
push eax
call fcn.10054930
lea ecx, [edi + 0x748]
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x1006fca0
mov ecx, dword [ebp - 0x40c]
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x1006fd88
lea esi, [edi + 0x758]
nop
mov eax, dword [eax]
push eax
mov dword [ebp - 0x20], eax
push dword [esi + 4]
push dword [esi]
call fcn.100bf540
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2c], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x74c]
sub ecx, dword [edi + 0x748]
imul ecx
mov ecx, dword [ebp - 0x20]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x1006fd5c
cmp eax, dword [esi + 8]
je 0x1006fd4d
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1006fd5c
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], eax
jne 0x1006fd6d
mov eax, dword [edi + 0x724]
test eax, eax
je 0x1006fd6d
call eax
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xc4]
jne 0x1006fd00
lea ecx, [ebp - 0x410]
call fcn.1002e700
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x358]
cmp ecx, 0xf
jbe 0x1006fdd1
mov edx, dword [ebp - 0x36c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006fdc7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x370]
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x358], 0xf
mov byte [ebp - 0x36c], 0
cmp ecx, 0xf
jbe 0x1006fe2a
mov edx, dword [ebp - 0x384]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006fe20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x370], 0xf
mov byte [ebp - 0x384], 0
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x714]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea ecx, [edi + 0x718]
mov dword [ebp - 0x84], 0x10034620
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x1006fe90
mov dword [eax], 0x10034620
add dword [ecx + 4], 4
jmp 0x1006fe9d
lea edx, [ebp - 0x84]
push edx
push eax
call fcn.10031180
lea eax, [edi + 0x6c0]
mov dword [ebp - 0x58], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x6d8], 0
imul eax, dword [edi + 0x6d8], 0xeb
add eax, 0x14
mov dword [edi + 0x6c4], eax
mov dword [edi + 0x6cc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6dc], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1006feec
mov eax, dword [ebp - 0x58]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1006fef6
lea eax, [ebp - 0x58]
push eax
push edx
call fcn.10031180
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x734], 0
push str.enemy
lea ecx, [ebp - 0x744]
mov dword [ebp - 0x730], 0
movups xmmword [ebp - 0x744], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0x72c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x71c], 0
push str.friendly
movups xmmword [ebp - 0x72c], xmm0
mov dword [ebp - 0x718], 0
call fcn.100302c0
lea ecx, [ebp - 0x744]
mov dword [ebp - 4], 0x2a
push ecx
lea eax, [ebp - 0x714]
push eax
push ecx
lea ecx, [ebp - 0x56c]
call fcn.10091740
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x3b4]
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x3a4], 0
push str.custom_health
movups xmmword [ebp - 0x3b4], xmm0
mov dword [ebp - 0x3a0], 0
call fcn.100302c0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x39c]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x38c], 0
push str.custom_health_color
movups xmmword [ebp - 0x39c], xmm0
mov dword [ebp - 0x388], 0
call fcn.100302c0
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x468], 0
lea ecx, [edi + 0x1ba0]
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x3b4]
cmp ecx, eax
je 0x10070032
cmp dword [ebp - 0x3a0], 0xf
push dword [ebp - 0x3a4]
cmova eax, dword [ebp - 0x3b4]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x1bd8]
mov byte [edi + 0x1bd1], 1
lea eax, [ebp - 0x39c]
cmp ecx, eax
je 0x10070063
cmp dword [ebp - 0x388], 0xf
push dword [ebp - 0x38c]
cmova eax, dword [ebp - 0x39c]
push eax
call fcn.1002f8c0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1bd1], al
cmovne eax, ecx
mov dword [edi + 0x1c0c], eax
add eax, 0x14
mov dword [edi + 0x1b78], eax
mov dword [edi + 0x1b7c], eax
mov eax, dword [ebp - 0x568]
mov esi, dword [ebp - 0x56c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x100700da
lea ecx, [edi + 0x1bf0]
mov eax, dword [edi + 0x1bf4]
push esi
cmp eax, dword [edi + 0x1bf8]
je 0x100700c6
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0x1bf4], 0x18
lea ecx, [edi + 0x1bf0]
jmp 0x100700d2
push eax
call fcn.10054930
lea ecx, [edi + 0x1bf0]
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x100700a1
mov ecx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], eax
cmp eax, ecx
je 0x10070188
lea esi, [edi + 0x1c00]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x28], eax
push dword [esi + 4]
push dword [esi]
call fcn.100bf540
mov ecx, dword [esi + 4]
mov dword [ebp - 0x2c], eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x1bf4]
sub ecx, dword [edi + 0x1bf0]
imul ecx
mov ecx, dword [ebp - 0x28]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
jae 0x1007015c
cmp eax, dword [esi + 8]
je 0x1007014d
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1007015c
lea ecx, [ebp - 0x28]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], eax
jne 0x1007016d
mov eax, dword [edi + 0x1bcc]
test eax, eax
je 0x1007016d
call eax
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xc4]
jne 0x10070100
lea ecx, [ebp - 0x470]
call fcn.1002e700
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x388]
cmp ecx, 0xf
jbe 0x100701d1
mov edx, dword [ebp - 0x39c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100701c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x3a0]
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x388], 0xf
mov byte [ebp - 0x39c], 0
cmp ecx, 0xf
jbe 0x1007022a
mov edx, dword [ebp - 0x3b4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070220
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea ecx, [ebp - 0x56c]
mov dword [ebp - 0x3a4], 0
mov dword [ebp - 0x3a0], 0xf
mov byte [ebp - 0x3b4], 0
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x744]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea esi, [edi + 0x1bc0]
mov dword [ebp - 0xa0], 0x10034640
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x10070290
mov dword [eax], 0x10034640
add dword [esi + 4], 4
jmp 0x1007029f
lea ecx, [ebp - 0xa0]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x78], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x100702ba
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x100702c6
lea ecx, [ebp - 0x78]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x1b68]
mov dword [ebp - 0x5c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1b80], 0
imul eax, dword [edi + 0x1b80], 0xeb
add eax, 0x14
mov dword [edi + 0x1b6c], eax
mov dword [edi + 0x1b74], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1b84], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x10070315
mov eax, dword [ebp - 0x5c]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1007031f
lea eax, [ebp - 0x5c]
push eax
push edx
call fcn.10031180
mov esi, dword [0x100cf020]
lea ecx, [ebp - 0x24c]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 0
push str.custom_health_enemy
movups xmmword [ebp - 0x24c], xmm0
mov dword [ebp - 0x238], 0
call fcn.100302c0
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0x3cc]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x3bc], 0
push str.enemy_health_color
movups xmmword [ebp - 0x3cc], xmm0
mov dword [ebp - 0x3b8], 0
call fcn.100302c0
lea ecx, [edi + 0x1c80]
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x3cc]
cmp ecx, eax
je 0x100703ba
cmp dword [ebp - 0x3b8], 0xf
push dword [ebp - 0x3bc]
cmova eax, dword [ebp - 0x3cc]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x1c48]
lea eax, [ebp - 0x24c]
cmp ecx, eax
je 0x100703e4
cmp dword [ebp - 0x238], 0xf
push dword [ebp - 0x23c]
cmova eax, dword [ebp - 0x24c]
push eax
call fcn.1002f8c0
mov dword [edi + 0x1c98], esi
mov dword [edi + 0x1cb0], 0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x3b8]
cmp ecx, 0xf
jbe 0x10070432
mov edx, dword [ebp - 0x3cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070428
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x3b8], 0xf
mov byte [ebp - 0x3cc], 0
cmp ecx, 0xf
jbe 0x1007048e
mov edx, dword [ebp - 0x24c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070484
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea esi, [edi + 0x1c68]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0xf
mov byte [ebp - 0x24c], 0
mov dword [ebp - 0x6c], 0x10034640
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x100704ca
mov dword [eax], 0x10034640
add dword [esi + 4], 4
jmp 0x100704d6
lea ecx, [ebp - 0x6c]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x74], 0x10034710
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x100704f1
mov dword [eax], 0x10034710
add dword [esi + 4], 4
jmp 0x100704fd
lea ecx, [ebp - 0x74]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x68], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x10070518
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x10070524
lea ecx, [ebp - 0x68]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x1c10]
mov dword [ebp - 0x60], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1c28], 0
imul eax, dword [edi + 0x1c28], 0xeb
add eax, 0x14
mov dword [edi + 0x1c14], eax
mov dword [edi + 0x1c1c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1c2c], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x10070573
mov eax, dword [ebp - 0x60]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x1007057d
lea eax, [ebp - 0x60]
push eax
push edx
call fcn.10031180
mov esi, dword [0x100cf020]
lea ecx, [ebp - 0x27c]
push 0x16
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0
push str.custom_health_friendly
movups xmmword [ebp - 0x27c], xmm0
mov dword [ebp - 0x268], 0
call fcn.100302c0
mov dword [ebp - 4], 0x31
lea ecx, [ebp - 0x264]
push 0x15
xorps xmm0, xmm0
mov dword [ebp - 0x254], 0
push str.friendly_health_color
movups xmmword [ebp - 0x264], xmm0
mov dword [ebp - 0x250], 0
call fcn.100302c0
lea ecx, [edi + 0x1d3c]
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x264]
cmp ecx, eax
je 0x10070618
cmp dword [ebp - 0x250], 0xf
push dword [ebp - 0x254]
cmova eax, dword [ebp - 0x264]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x1d04]
lea eax, [ebp - 0x27c]
cmp ecx, eax
je 0x10070642
cmp dword [ebp - 0x268], 0xf
push dword [ebp - 0x26c]
cmova eax, dword [ebp - 0x27c]
push eax
call fcn.1002f8c0
mov dword [edi + 0x1d54], esi
mov dword [edi + 0x1d6c], 0
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x250]
cmp ecx, 0xf
jbe 0x10070690
mov edx, dword [ebp - 0x264]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070686
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100706de
push ecx
push edx
call fcn.100bfaf1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x268]
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], 0
cmp ecx, 0xf
jbe 0x100706ee
mov edx, dword [ebp - 0x27c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100706e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100706e4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100bfaf1
add esp, 8
lea esi, [edi + 0x1d24]
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0xf
mov byte [ebp - 0x27c], 0
mov dword [ebp - 0x90], 0x10034640
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1007072d
mov dword [eax], 0x10034640
add dword [esi + 4], 4
jmp 0x1007073c
lea ecx, [ebp - 0x90]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x8c], 0x100347b0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1007075a
mov dword [eax], 0x100347b0
add dword [esi + 4], 4
jmp 0x10070769
lea ecx, [ebp - 0x8c]
push ecx
push eax
mov ecx, esi
call fcn.10031180
mov dword [ebp - 0x88], 0x10034620
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x10070787
mov dword [eax], 0x10034620
add dword [esi + 4], 4
jmp 0x10070796
lea ecx, [ebp - 0x88]
push ecx
push eax
mov ecx, esi
call fcn.10031180
lea eax, [edi + 0x1ccc]
mov dword [ebp - 0x64], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1ce4], 0
imul eax, dword [edi + 0x1ce4], 0xeb
add eax, 0x14
mov dword [edi + 0x1cd0], eax
mov dword [edi + 0x1cd8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1ce8], eax
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x100707e5
mov eax, dword [ebp - 0x64]
mov dword [edx], eax
add dword [ecx + 4], 4
jmp 0x100707ef
lea eax, [ebp - 0x64]
push eax
push edx
call fcn.10031180
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x7f8], 0
push str.money
lea ecx, [ebp - 0x808]
mov dword [ebp - 0x7f4], 0
movups xmmword [ebp - 0x808], xmm0
call fcn.100302c0
mov dword [ebp - 4], 0x33
lea ecx, [ebp - 0x7f0]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x7e0], 0
push str.armor
movups xmmword [ebp - 0x7f0], xmm0
mov dword [ebp - 0x7dc], 0
call fcn.100302c0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x7d8]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x7c8], 0
push str.scoped
movups xmmword [ebp - 0x7d8], xmm0
mov dword [ebp - 0x7c4], 0
call fcn.100302c0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x7c0]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x7b0], 0
push str.flashed
movups xmmword [ebp - 0x7c0], xmm0
mov dword [ebp - 0x7ac], 0
call fcn.100302c0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x7a8]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x798], 0
push str.reloading
movups xmmword [ebp - 0x7a8], xmm0
mov dword [ebp - 0x794], 0
call fcn.100302c0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x790]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x780], 0
push str.bomb
movups xmmword [ebp - 0x790], xmm0
mov dword [ebp - 0x77c], 0
call fcn.100302c0
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x778]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x768], 0
push str.resolver
movups xmmword [ebp - 0x778], xmm0
mov dword [ebp - 0x764], 0
call fcn.100302c0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x760]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x750], 0
push str.latency
movups xmmword [ebp - 0x760], xmm0
mov dword [ebp - 0x74c], 0
call fcn.100302c0
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x808]
push ecx
lea eax, [ebp - 0x748]
push eax
push ecx
lea ecx, [ebp - 0x524]
call fcn.10091740
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x4a0]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x490], 0
push 0x100d2d88
movups xmmword [ebp - 0x4a0], xmm0
mov dword [ebp - 0x48c], 0
call fcn.100302c0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x488]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x478], 0
push str.flags_enemy
movups xmmword [ebp - 0x488], xmm0
mov dword [ebp - 0x474], 0
call fcn.100302c0
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
lea ecx, [edi + 0x7a0]
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x4a0]
cmp ecx, eax
je 0x10070a63
cmp dword [ebp - 0x48c], 0xf
push dword [ebp - 0x490]
cmova eax, dword [ebp - 0x4a0]
push eax
call fcn.1002f8c0
lea ecx, [edi + 0x7d8]
mov byte [edi + 0x7d1], 1
lea eax, [ebp - 0x488]
cmp ecx, eax
je 0x10070a94
cmp dword [ebp - 0x474], 0xf
push dword [ebp - 0x478]
cmova eax, dword [ebp - 0x488]
push eax
call fcn.1002f8c0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x7d1], al
cmovne eax, ecx
mov dword [edi + 0x80c], eax
add eax, 0x14
mov dword [edi + 0x778], eax
mov dword [edi + 0x77c], eax
mov eax, dword [ebp - 0x520]
mov esi, dword [ebp - 0x524]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10070b0b
lea ecx, [edi + 0x7f0]
mov eax, dword [edi + 0x7f4]
push esi
cmp eax, dword [edi + 0x7f8]
je 0x10070af7
mov ecx, eax
call fcn.1002f4f0
add dword [edi + 0x7f4], 0x18
lea ecx, [edi + 0x7f0]
jmp 0x10070b03
push eax
call fcn.10054930
lea ecx, [edi + 0x7f0]
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10070ad2
mov eax, dword [ebp - 0x44c]
mov esi, dword [ebp - 0x450]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x10070ba3
lea ecx, [edi + 0x800]
nop dword [eax + eax]
push dword [ecx + 4]
mov eax, dword [esi]
lea edx, [ebp - 0x18]
push dword [ecx]
lea ecx, [ebp - 0x58c]
mov dword [ebp - 0x18], eax
call fcn.1002ff40
mov ecx, dword [edi + 0x804]
add esp, 8
mov dword [ebp - 0xc4], ecx
lea ecx, [edi + 0x7f0]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10036810
cmp dword [ebp - 0x18], eax
jae 0x10070b7b
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x800]
call fcn.100467d0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc4]
jne 0x10070b92
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x10070b92
call eax
add esi, 4
lea ecx, [edi + 0x800]
cmp esi, dword [ebp - 0xc8]
jne 0x10070b30
lea ecx, [ebp - 0x450]
call fcn.1002e700
lea ecx, [ebp - 0x488]
call fcn.1002f410
lea ecx, [ebp - 0x4a0]
call fcn.1002f410
lea ecx, [ebp - 0x524]
call fcn.1002f690
push fcn.1002f410
push 8
push 0x18
lea eax, [ebp - 0x808]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [edi + 0x7c0]
push eax
call fcn.100467d0
mov dword [edi + 0x780], 1
lea eax, [edi + 0x768]
mov dword [edi + 0x76c], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x774], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x784], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.money
lea ecx, [ebp - 0xa78]
call fcn.1002f4b0
push str.armor
lea ecx, [ebp - 0xa60]
mov dword [ebp - 4], 0x3f
call fcn.1002f4b0
push str.scoped
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x40
call fcn.1002f4b0
push str.flashed
lea ecx, [ebp - 0xa30]
mov byte [ebp - 4], 0x41
call fcn.1002f4b0
push str.reloading
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x42
call fcn.1002f4b0
push str.bomb
lea ecx, [ebp - 0xa00]
mov byte [ebp - 4], 0x43
call fcn.1002f4b0
lea ecx, [ebp - 0xa78]
mov dword [ebp - 4], 0x44
push ecx
lea eax, [ebp - 0x9e8]
push eax
push ecx
lea ecx, [ebp - 0x518]
call fcn.10091740
push str.flags_friendly
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x45
call fcn.1002f4b0
push 0x100d2da8
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x46
call fcn.1002f4b0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x438], 0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [edi + 0x848]
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
mov byte [edi + 0x879], 1
push eax
lea ecx, [edi + 0x880]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x879], al
cmovne eax, ecx
mov dword [edi + 0x8b4], eax
add eax, 0x14
mov dword [edi + 0x820], eax
mov dword [edi + 0x824], eax
mov eax, dword [ebp - 0x514]
mov esi, dword [ebp - 0x518]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10070dac
lea eax, [edi + 0x898]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
push esi
mov ecx, eax
call fcn.100541e0
mov eax, dword [ebp - 0xc4]
add esi, 0x18
cmp esi, edi
jne 0x10070d91
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x43c]
mov esi, dword [ebp - 0x440]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x10070e43
lea ecx, [edi + 0x8a8]
nop dword [eax]
push dword [ecx + 4]
mov eax, dword [esi]
lea edx, [ebp - 0x18]
push dword [ecx]
lea ecx, [ebp - 0x588]
mov dword [ebp - 0x18], eax
call fcn.1002ff40
mov ecx, dword [edi + 0x8ac]
add esp, 8
mov dword [ebp - 0xc4], ecx
lea ecx, [edi + 0x898]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10036810
cmp dword [ebp - 0x18], eax
jae 0x10070e1b
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x8a8]
call fcn.100467d0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc4]
jne 0x10070e32
mov eax, dword [edi + 0x874]
test eax, eax
je 0x10070e32
call eax
add esi, 4
lea ecx, [edi + 0x8a8]
cmp esi, dword [ebp - 0xc8]
jne 0x10070dd0
lea ecx, [ebp - 0x440]
call fcn.1002e700
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0x518]
call fcn.1002f690
push fcn.1002f410
push 6
push 0x18
lea eax, [ebp - 0xa78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [edi + 0x868]
push eax
call fcn.100467d0
mov dword [edi + 0x828], 1
lea eax, [edi + 0x810]
mov dword [edi + 0x814], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x81c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x82c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.enemy
lea ecx, [ebp - 0x838]
call fcn.1002f4b0
push str.friendly
lea ecx, [ebp - 0x820]
mov dword [ebp - 4], 0x49
call fcn.1002f4b0
lea ecx, [ebp - 0x838]
mov dword [ebp - 4], 0x4a
push ecx
lea eax, [ebp - 0x808]
push eax
push ecx
lea ecx, [ebp - 0x578]
call fcn.10091740
push str.weapon
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x4b
call fcn.1002f4b0
push str.weapon
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x4c
call fcn.1002f4b0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [edi + 0x8f0]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x921], 1
push eax
lea ecx, [edi + 0x928]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x921], al
cmovne eax, ecx
mov dword [edi + 0x95c], eax
add eax, 0x14
mov dword [edi + 0x8c8], eax
mov dword [edi + 0x8cc], eax
mov eax, dword [ebp - 0x574]
mov esi, dword [ebp - 0x578]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10070ffc
lea eax, [edi + 0x940]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
push esi
mov ecx, eax
call fcn.100541e0
mov eax, dword [ebp - 0xc4]
add esi, 0x18
cmp esi, edi
jne 0x10070fe1
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x45c]
mov esi, dword [ebp - 0x460]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x10071093
lea ecx, [edi + 0x950]
nop dword [eax]
push dword [ecx + 4]
mov eax, dword [esi]
lea edx, [ebp - 0x18]
push dword [ecx]
lea ecx, [ebp - 0x61c]
mov dword [ebp - 0x18], eax
call fcn.1002ff40
mov ecx, dword [edi + 0x954]
add esp, 8
mov dword [ebp - 0xc4], ecx
lea ecx, [edi + 0x940]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10036810
cmp dword [ebp - 0x18], eax
jae 0x1007106b
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x950]
call fcn.100467d0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc4]
jne 0x10071082
mov eax, dword [edi + 0x91c]
test eax, eax
je 0x10071082
call eax
add esi, 4
lea ecx, [edi + 0x950]
cmp esi, dword [ebp - 0xc8]
jne 0x10071020
lea ecx, [ebp - 0x460]
call fcn.1002e700
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x578]
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x838]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [edi + 0x910]
push eax
call fcn.100467d0
mov dword [edi + 0x8d0], 1
lea eax, [edi + 0x8b8]
mov dword [edi + 0x8bc], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x8c4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x8d4], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.text
lea ecx, [ebp - 0x868]
call fcn.1002f4b0
push str.icon
lea ecx, [ebp - 0x850]
mov dword [ebp - 4], 0x4f
call fcn.1002f4b0
lea ecx, [ebp - 0x868]
mov dword [ebp - 4], 0x50
push ecx
lea eax, [ebp - 0x838]
push eax
push ecx
lea ecx, [ebp - 0x584]
call fcn.10091740
push str.weapon_mode
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x51
call fcn.1002f4b0
push 0x100d0266
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x52
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [edi + 0x998]
call fcn.1002f3e0
mov byte [edi + 0x9c9], 0
mov dword [edi + 0x9fc], 0
mov dword [edi + 0x970], 0x14
mov dword [edi + 0x974], 0x14
mov eax, dword [ebp - 0x580]
mov esi, dword [ebp - 0x584]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x1007121b
lea eax, [edi + 0x9e8]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
nop word [eax + eax]
push esi
mov ecx, eax
call fcn.100541e0
mov eax, dword [ebp - 0xc4]
add esi, 0x18
cmp esi, edi
jne 0x10071200
mov edi, dword [ebp - 0xfc]
lea ecx, [edi + 0x9e8]
call fcn.10036810
test eax, eax
je 0x10071234
mov dword [edi + 0x9f8], 0
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0x584]
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x868]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [edi + 0x9b8]
push eax
call fcn.100467d0
mov dword [edi + 0x978], 1
lea eax, [edi + 0x960]
mov dword [edi + 0x964], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x96c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x97c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.ammo
lea ecx, [ebp - 0xf8]
lea esi, [edi + 0xa00]
call fcn.1002f4b0
push str.ammo
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x54
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [edi + 0xa38]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0xa69], 1
push eax
lea ecx, [edi + 0xa70]
call fcn.1002f3e0
lea ecx, [ebp - 0xe0]
mov byte [edi + 0xa6c], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [esi + 0x58]
push eax
call fcn.100467d0
mov dword [edi + 0xa18], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xa04], 0xff
mov dword [edi + 0xa0c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xa1c], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], esi
call fcn.100467d0
mov esi, dword [0x100cf020]
lea ecx, [ebp - 0xf8]
push str.ammo_color
call fcn.1002f4b0
push str.color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x56
call fcn.1002f4b0
mov byte [ebp - 4], 0x57
lea eax, [ebp - 0xe0]
push eax
lea ecx, [edi + 0xaf8]
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0xac0]
call fcn.1002f3e0
mov dword [edi + 0xb10], esi
lea ecx, [ebp - 0xe0]
mov dword [edi + 0xb28], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
push eax
lea ecx, [edi + 0xae0]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x100347d0
push eax
lea ecx, [edi + 0xae0]
call fcn.100467d0
mov dword [edi + 0xaa0], 1
lea eax, [edi + 0xa88]
mov dword [edi + 0xa8c], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xa94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xaa4], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push 0x100d2e20
lea ecx, [ebp - 0xf8]
lea esi, [edi + 0xb44]
call fcn.1002f4b0
push str.lby_update
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x58
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [edi + 0xb7c]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0xbad], 1
push eax
lea ecx, [edi + 0xbb4]
call fcn.1002f3e0
lea ecx, [ebp - 0xe0]
mov byte [edi + 0xbb0], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [esi + 0x58]
push eax
call fcn.100467d0
mov dword [edi + 0xb5c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xb48], 0xff
mov dword [edi + 0xb50], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xb60], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], esi
call fcn.100467d0
mov esi, dword [0x100cf018]
lea ecx, [ebp - 0xf8]
push str.lby_update_color
call fcn.1002f4b0
push str.color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x5a
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0xc3c]
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0xc04]
call fcn.1002f3e0
mov dword [edi + 0xc54], esi
lea ecx, [ebp - 0xe0]
mov dword [edi + 0xc6c], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
push eax
lea ecx, [edi + 0xc24]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034950
push eax
lea ecx, [edi + 0xc24]
call fcn.100467d0
mov dword [edi + 0xbe4], 1
lea eax, [edi + 0xbcc]
mov dword [edi + 0xbd0], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xbd8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xbe8], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.enemy
lea ecx, [ebp - 0x910]
call fcn.1002f4b0
push str.friendly
lea ecx, [ebp - 0x8f8]
mov dword [ebp - 4], 0x5c
call fcn.1002f4b0
push str.local
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 4], 0x5d
call fcn.1002f4b0
lea ecx, [ebp - 0x910]
mov dword [ebp - 4], 0x5e
push ecx
lea eax, [ebp - 0x8c8]
push eax
push ecx
lea ecx, [ebp - 0x4c4]
call fcn.10091740
push str.skeleton
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x5f
call fcn.1002f4b0
push str.skeleton
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x60
call fcn.1002f4b0
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f8], 0
mov byte [ebp - 4], 0x62
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0xcc0]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0xcf1], 1
push eax
lea ecx, [edi + 0xcf8]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xcf1], al
cmovne eax, ecx
mov dword [edi + 0xd2c], eax
add eax, 0x14
mov dword [edi + 0xc98], eax
mov dword [edi + 0xc9c], eax
mov eax, dword [ebp - 0x4c0]
mov esi, dword [ebp - 0x4c4]
mov dword [ebp - 0xc4], eax
cmp esi, eax
je 0x10071759
lea eax, [edi + 0xd10]
mov dword [ebp - 0x2c], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100541e0
add esi, 0x18
cmp esi, dword [ebp - 0xc4]
jne 0x10071740
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x3fc]
mov esi, dword [ebp - 0x400]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x100717f3
lea ecx, [edi + 0xd20]
nop dword [eax]
push dword [ecx + 4]
mov eax, dword [esi]
lea edx, [ebp - 0x18]
push dword [ecx]
lea ecx, [ebp - 0x624]
mov dword [ebp - 0x18], eax
call fcn.1002ff40
mov ecx, dword [edi + 0xd24]
add esp, 8
mov dword [ebp - 0xc4], ecx
lea ecx, [edi + 0xd10]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10036810
cmp dword [ebp - 0x18], eax
jae 0x100717cb
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xd20]
call fcn.100467d0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc4]
jne 0x100717e2
mov eax, dword [edi + 0xcec]
test eax, eax
je 0x100717e2
call eax
add esi, 4
lea ecx, [edi + 0xd20]
cmp esi, dword [ebp - 0xc8]
jne 0x10071780
lea ecx, [ebp - 0x400]
call fcn.1002e700
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x4c4]
call fcn.1002f690
push fcn.1002f410
push 3
push 0x18
lea eax, [ebp - 0x910]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
lea ecx, [edi + 0xce0]
push eax
call fcn.100467d0
mov dword [edi + 0xca0], 1
lea eax, [edi + 0xc88]
mov dword [edi + 0xc8c], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xc94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xca4], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.skeleton_enemy
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.enemy_color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x63
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x64
push eax
lea ecx, [edi + 0xda0]
mov dword [ebp - 0x108], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0xd68]
call fcn.1002f3e0
mov eax, dword [ebp - 0x108]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0xdb8], eax
mov dword [edi + 0xdd0], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
push eax
lea ecx, [edi + 0xd88]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034730
push eax
lea ecx, [edi + 0xd88]
call fcn.100467d0
mov dword [edi + 0xd48], 1
lea eax, [edi + 0xd30]
mov dword [edi + 0xd34], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xd3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd4c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.skeleton_friendly
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.friendly_color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x65
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x66
push eax
lea ecx, [edi + 0xe5c]
mov dword [ebp - 0x128], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0xe24]
call fcn.1002f3e0
mov eax, dword [ebp - 0x128]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0xe74], eax
mov dword [edi + 0xe8c], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
push eax
lea ecx, [edi + 0xe44]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034770
push eax
lea ecx, [edi + 0xe44]
call fcn.100467d0
mov dword [edi + 0xe04], 1
lea eax, [edi + 0xdec]
mov dword [edi + 0xdf0], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xdf8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xe08], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.skeleton_local
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.local_color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x67
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0xf18]
mov dword [ebp - 0x12c], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0xee0]
call fcn.1002f3e0
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0xf30], eax
mov dword [edi + 0xf48], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034620
push eax
lea ecx, [edi + 0xf00]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034750
push eax
lea ecx, [edi + 0xf00]
call fcn.100467d0
mov dword [edi + 0xec0], 1
lea eax, [edi + 0xea8]
mov dword [edi + 0xeac], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xeb4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xec4], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push 0x100d22e8
lea ecx, [ebp - 0xb08]
call fcn.1002f4b0
push str.filled_blur
lea ecx, [ebp - 0xaf0]
mov dword [ebp - 4], 0x69
call fcn.1002f4b0
push str.blur_outline
lea ecx, [ebp - 0xad8]
mov byte [ebp - 4], 0x6a
call fcn.1002f4b0
push str.model
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], 0x6b
call fcn.1002f4b0
push str.edge
lea ecx, [ebp - 0xaa8]
mov byte [ebp - 4], 0x6c
call fcn.1002f4b0
push str.edge_pulse
lea ecx, [ebp - 0xa90]
mov byte [ebp - 4], 0x6d
call fcn.1002f4b0
lea ecx, [ebp - 0xb08]
mov dword [ebp - 4], 0x6e
push ecx
lea eax, [ebp - 0xa78]
push eax
push ecx
lea ecx, [ebp - 0x4d0]
call fcn.10091740
push str.glow
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x6f
call fcn.1002f4b0
push str.glow
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x70
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [edi + 0xf9c]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0xfcd], 1
push eax
lea ecx, [edi + 0xfd4]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xfcd], al
cmovne eax, ecx
mov dword [edi + 0x1000], eax
add eax, 0x14
mov dword [edi + 0xf74], eax
mov dword [edi + 0xf78], eax
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0xc4], eax
mov esi, dword [ebp - 0x4d0]
cmp esi, eax
je 0x10071cb9
lea eax, [edi + 0xfec]
mov dword [ebp - 0x2c], eax
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.100541e0
add esi, 0x18
cmp esi, dword [ebp - 0xc4]
jne 0x10071ca0
mov edi, dword [ebp - 0xfc]
lea ecx, [edi + 0xfec]
call fcn.10036810
test eax, eax
je 0x10071cd2
mov dword [edi + 0xffc], 0
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x4d0]
call fcn.1002f690
push fcn.1002f410
push 6
push 0x18
lea eax, [ebp - 0xb08]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [edi + 0xfbc]
push eax
call fcn.100467d0
mov dword [edi + 0xf7c], 1
lea eax, [edi + 0xf64]
mov dword [edi + 0xf68], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0xf70], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf80], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.glow_enemy
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.glow_color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x72
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [edi + 0x1074]
mov dword [ebp - 0x124], 0xff7739b4
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0x103c]
call fcn.1002f3e0
mov eax, dword [ebp - 0x124]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x108c], eax
mov dword [edi + 0x10a4], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
push eax
lea ecx, [edi + 0x105c]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034870
push eax
lea ecx, [edi + 0x105c]
call fcn.100467d0
mov dword [edi + 0x101c], 1
lea eax, [edi + 0x1004]
mov dword [edi + 0x1008], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x1010], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1020], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.visible
lea ecx, [ebp - 0x898]
call fcn.1002f4b0
push str.invisible
lea ecx, [ebp - 0x880]
mov dword [ebp - 4], 0x74
call fcn.1002f4b0
lea ecx, [ebp - 0x898]
mov dword [ebp - 4], 0x75
push ecx
lea eax, [ebp - 0x868]
push eax
push ecx
lea ecx, [ebp - 0x4dc]
call fcn.10091740
push 0x100d2f14
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x76
call fcn.1002f4b0
push str.chams_enemy
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x77
call fcn.1002f4b0
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x3ec], 0
mov dword [ebp - 0x3e8], 0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0x1270]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x12a1], 1
push eax
lea ecx, [edi + 0x12a8]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x12a1], al
cmovne eax, ecx
mov dword [edi + 0x12dc], eax
add eax, 0x14
mov dword [edi + 0x1248], eax
mov dword [edi + 0x124c], eax
mov eax, dword [ebp - 0x4d8]
mov esi, dword [ebp - 0x4dc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10071f7b
lea eax, [edi + 0x12c0]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.100541e0
mov eax, dword [ebp - 0xc4]
add esi, 0x18
cmp esi, edi
jne 0x10071f60
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x3ec]
mov esi, dword [ebp - 0x3f0]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x10072013
lea ecx, [edi + 0x12d0]
nop dword [eax + eax]
push dword [ecx + 4]
mov eax, dword [esi]
lea edx, [ebp - 0x18]
push dword [ecx]
lea ecx, [ebp - 0x620]
mov dword [ebp - 0x18], eax
call fcn.1002ff40
mov ecx, dword [edi + 0x12d4]
add esp, 8
mov dword [ebp - 0xc4], ecx
lea ecx, [edi + 0x12c0]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10036810
cmp dword [ebp - 0x18], eax
jae 0x10071feb
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x12d0]
call fcn.100467d0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc4]
jne 0x10072002
mov eax, dword [edi + 0x129c]
test eax, eax
je 0x10072002
call eax
add esi, 4
lea ecx, [edi + 0x12d0]
cmp esi, dword [ebp - 0xc8]
jne 0x10071fa0
lea ecx, [ebp - 0x3f0]
call fcn.1002e700
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x4dc]
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x898]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [edi + 0x1290]
push eax
call fcn.100467d0
mov dword [edi + 0x1250], 0
lea eax, [edi + 0x1238]
mov dword [edi + 0x123c], 0x14
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x1244], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1254], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.normal
lea ecx, [ebp - 0x958]
call fcn.1002f4b0
push str.flat
lea ecx, [ebp - 0x940]
mov dword [ebp - 4], 0x7a
call fcn.1002f4b0
push str.metallic
lea ecx, [ebp - 0x928]
mov byte [ebp - 4], 0x7b
call fcn.1002f4b0
lea ecx, [ebp - 0x958]
mov dword [ebp - 4], 0x7c
push ecx
lea eax, [ebp - 0x910]
push eax
push ecx
lea ecx, [ebp - 0x4e8]
call fcn.10091740
push str.chams_enemy_mat
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x7d
call fcn.1002f4b0
push str.chams_material
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x7e
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [edi + 0x1318]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x1349], 1
push eax
lea ecx, [edi + 0x1350]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1349], al
cmovne eax, ecx
mov dword [edi + 0x137c], eax
add eax, 0x14
mov dword [edi + 0x12f0], eax
mov dword [edi + 0x12f4], eax
mov eax, dword [ebp - 0x4e4]
mov esi, dword [ebp - 0x4e8]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x100721c2
lea eax, [edi + 0x1368]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
push esi
mov ecx, eax
call fcn.100541e0
mov eax, dword [ebp - 0xc4]
add esi, 0x18
cmp esi, edi
jne 0x100721a7
mov edi, dword [ebp - 0xfc]
lea ecx, [edi + 0x1368]
call fcn.10036810
test eax, eax
je 0x100721db
mov dword [edi + 0x1378], 0
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x4e8]
call fcn.1002f690
push fcn.1002f410
push 3
push 0x18
lea eax, [ebp - 0x958]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
push eax
lea ecx, [edi + 0x1338]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x100348d0
push eax
lea ecx, [edi + 0x1338]
call fcn.100467d0
mov dword [edi + 0x12f8], 0
lea eax, [edi + 0x12e0]
mov dword [edi + 0x12e4], 0x14
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x12ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x12fc], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.chams_enemy_vis
lea ecx, [ebp - 0xf8]
lea esi, [edi + 0x1380]
call fcn.1002f4b0
push str.color_visible
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x80
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x81
push eax
lea ecx, [edi + 0x13f0]
mov dword [ebp - 0x120], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0x13b8]
call fcn.1002f3e0
mov eax, dword [ebp - 0x120]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x1408], eax
mov dword [edi + 0x1420], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [esi + 0x58]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
push ecx
mov ecx, eax
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034930
push eax
lea ecx, [esi + 0x58]
call fcn.100467d0
mov dword [edi + 0x1398], 0
lea ecx, [edi + 0x18]
mov dword [edi + 0x1384], 0x14
mov dword [edi + 0x138c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x2c], esi
mov dword [edi + 0x139c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.chams_enemy_invis
lea ecx, [ebp - 0xf8]
lea esi, [edi + 0x143c]
call fcn.1002f4b0
push str.color_invisible
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x82
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x83
push eax
lea ecx, [edi + 0x14ac]
mov dword [ebp - 0x11c], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0x1474]
call fcn.1002f3e0
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x14c4], eax
mov dword [edi + 0x14dc], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [esi + 0x58]
push eax
call fcn.100467d0
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], 0x10034910
call fcn.100467d0
mov dword [edi + 0x1454], 0
lea ecx, [edi + 0x18]
mov dword [edi + 0x1440], 0x14
mov dword [edi + 0x1448], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1458], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], esi
call fcn.100467d0
push 0x100d2f78
lea ecx, [ebp - 0xf8]
lea esi, [edi + 0x14f8]
call fcn.1002f4b0
push str.chams_history
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x84
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x85
push eax
lea ecx, [edi + 0x1530]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x1561], 1
push eax
lea ecx, [edi + 0x1568]
call fcn.1002f3e0
lea ecx, [ebp - 0xe0]
mov byte [edi + 0x1564], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [esi + 0x58]
push eax
call fcn.100467d0
mov dword [edi + 0x1510], 0
lea ecx, [edi + 0x18]
mov dword [edi + 0x14fc], 0x14
mov dword [edi + 0x1504], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1514], eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x2c], esi
call fcn.100467d0
push str.chams_history_col
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x86
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x87
push eax
lea ecx, [edi + 0x15f0]
mov dword [ebp - 0x118], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0x15b8]
call fcn.1002f3e0
mov eax, dword [ebp - 0x118]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x1608], eax
mov dword [edi + 0x1620], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
push eax
lea ecx, [edi + 0x15d8]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x100348c0
push eax
lea ecx, [edi + 0x15d8]
call fcn.100467d0
mov dword [edi + 0x1598], 0
lea eax, [edi + 0x1580]
mov dword [edi + 0x1584], 0x14
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x158c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x159c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.visible
lea ecx, [ebp - 0x8c8]
call fcn.1002f4b0
push str.invisible
lea ecx, [ebp - 0x8b0]
mov dword [ebp - 4], 0x88
call fcn.1002f4b0
lea ecx, [ebp - 0x8c8]
mov dword [ebp - 4], 0x89
push ecx
lea eax, [ebp - 0x898]
push eax
push ecx
lea ecx, [ebp - 0x4f4]
call fcn.10091740
push 0x100d2fac
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x8a
call fcn.1002f4b0
push str.chams_friendly
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x8b
call fcn.1002f4b0
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d8], 0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x8d
push eax
lea ecx, [edi + 0x1674]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x16a5], 1
push eax
lea ecx, [edi + 0x16ac]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x16a5], al
cmovne eax, ecx
mov dword [edi + 0x16e0], eax
add eax, 0x14
mov dword [edi + 0x164c], eax
mov dword [edi + 0x1650], eax
mov eax, dword [ebp - 0x4f0]
mov esi, dword [ebp - 0x4f4]
mov dword [ebp - 0xc4], eax
cmp esi, eax
je 0x10072740
lea eax, [edi + 0x16c4]
mov dword [ebp - 0x2c], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100541e0
add esi, 0x18
cmp esi, dword [ebp - 0xc4]
jne 0x10072727
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x3dc]
mov esi, dword [ebp - 0x3e0]
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x100727d3
lea ecx, [edi + 0x16d4]
push dword [ecx + 4]
mov eax, dword [esi]
lea edx, [ebp - 0x18]
push dword [ecx]
lea ecx, [ebp - 0x608]
mov dword [ebp - 0x18], eax
call fcn.1002ff40
mov ecx, dword [edi + 0x16d8]
add esp, 8
mov dword [ebp - 0xc4], ecx
lea ecx, [edi + 0x16c4]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10036810
cmp dword [ebp - 0x18], eax
jae 0x100727ab
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x16d4]
call fcn.100467d0
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0xc4]
jne 0x100727c2
mov eax, dword [edi + 0x16a0]
test eax, eax
je 0x100727c2
add esi, 4
lea ecx, [edi + 0x16d4]
cmp esi, dword [ebp - 0xc8]
jne 0x10072760
lea ecx, [ebp - 0x3e0]
call fcn.1002e700
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x4f4]
call fcn.1002f690
push fcn.1002f410
push 2
push 0x18
lea eax, [ebp - 0x8c8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [edi + 0x1694]
push eax
call fcn.100467d0
mov dword [edi + 0x1654], 1
lea eax, [edi + 0x163c]
mov dword [edi + 0x1640], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x1648], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1658], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.normal
lea ecx, [ebp - 0x9a0]
call fcn.1002f4b0
push str.flat
lea ecx, [ebp - 0x988]
mov dword [ebp - 4], 0x8e
call fcn.1002f4b0
push str.metallic
lea ecx, [ebp - 0x970]
mov byte [ebp - 4], 0x8f
call fcn.1002f4b0
lea ecx, [ebp - 0x9a0]
mov dword [ebp - 4], 0x90
push ecx
lea eax, [ebp - 0x958]
push eax
push ecx
lea ecx, [ebp - 0x500]
call fcn.10091740
push str.chams_friendly_mat
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x91
call fcn.1002f4b0
push str.chams_friendly_material
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x92
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [edi + 0x171c]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x174d], 1
push eax
lea ecx, [edi + 0x1754]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x174d], al
cmovne eax, ecx
mov dword [edi + 0x1780], eax
add eax, 0x14
mov dword [edi + 0x16f4], eax
mov dword [edi + 0x16f8], eax
mov eax, dword [ebp - 0x4fc]
mov esi, dword [ebp - 0x500]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10072982
lea eax, [edi + 0x176c]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], eax
push esi
mov ecx, eax
call fcn.100541e0
mov eax, dword [ebp - 0xc4]
add esi, 0x18
cmp esi, edi
jne 0x10072967
mov edi, dword [ebp - 0xfc]
lea ecx, [edi + 0x176c]
call fcn.10036810
test eax, eax
je 0x1007299b
mov dword [edi + 0x177c], 0
lea ecx, [ebp - 0xe0]
call fcn.1002f410
lea ecx, [ebp - 0xf8]
call fcn.1002f410
lea ecx, [ebp - 0x500]
call fcn.1002f690
push fcn.1002f410
push 3
push 0x18
lea eax, [ebp - 0x9a0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bf6c2
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
push eax
lea ecx, [edi + 0x173c]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034830
push eax
lea ecx, [edi + 0x173c]
call fcn.100467d0
mov dword [edi + 0x16fc], 1
lea eax, [edi + 0x16e4]
mov dword [edi + 0x16e8], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x16f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1700], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.chams_friendly_vis
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.color_visible
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x94
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x95
push eax
lea ecx, [edi + 0x17f4]
mov dword [ebp - 0x114], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0x17bc]
call fcn.1002f3e0
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x180c], eax
mov dword [edi + 0x1824], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
push eax
lea ecx, [edi + 0x17dc]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x100348a0
push eax
lea ecx, [edi + 0x17dc]
call fcn.100467d0
mov dword [edi + 0x179c], 1
lea eax, [edi + 0x1784]
mov dword [edi + 0x1788], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x1790], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x17a0], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.chams_friendly_invis
lea ecx, [ebp - 0xf8]
call fcn.1002f4b0
push str.color_invisible
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x96
call fcn.1002f4b0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x97
push eax
lea ecx, [edi + 0x18b0]
mov dword [ebp - 0x110], 0xffffffff
call fcn.1002f3e0
lea eax, [ebp - 0xf8]
push eax
lea ecx, [edi + 0x1878]
call fcn.1002f3e0
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x18c8], eax
mov dword [edi + 0x18e0], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
push eax
lea ecx, [edi + 0x1898]
call fcn.100467d0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034880
push eax
lea ecx, [edi + 0x1898]
call fcn.100467d0
mov dword [edi + 0x1858], 1
lea eax, [edi + 0x1840]
mov dword [edi + 0x1844], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x2c], eax
mov dword [edi + 0x184c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x185c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push 0x100d3070
lea ecx, [ebp - 0xf8]
lea esi, [edi + 0x18fc]
call fcn.1002f4b0
push str.chams_local
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x98
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x99
push eax
lea ecx, [edi + 0x1934]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x1965], 1
push eax
lea ecx, [edi + 0x196c]
call fcn.1002f3e0
lea ecx, [ebp - 0xe0]
mov byte [edi + 0x1968], 0
call fcn.1002f410
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f410
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10034630
lea ecx, [esi + 0x58]
push eax
call fcn.100467d0
mov dword [ebp - 0x2c], esi
mov dword [edi + 0x1914], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1900], 0xff
mov dword [edi + 0x1908], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1918], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100467d0
push str.normal
lea ecx, [ebp - 0x9e8]
call fcn.1002f4b0
push str.flat
lea ecx, [ebp - 0x9d0]
mov dword [ebp - 4], 0x9a
call fcn.1002f4b0
push str.metallic
lea ecx, [ebp - 0x9b8]
mov byte [ebp - 4], 0x9b
call fcn.1002f4b0
lea ecx, [ebp - 0x9e8]
mov dword [ebp - 4], 0x9c
push ecx
lea eax, [ebp - 0x9a0]
push eax
push ecx
lea ecx, [ebp - 0x50c]
call fcn.10091740
push str.chams_local_mat
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x9d
call fcn.1002f4b0
push str.chams_local_material
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x9e
call fcn.1002f4b0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x9f
push eax
lea ecx, [edi + 0x19bc]
call fcn.1002f3e0
lea eax, [ebp - 0xe0]
mov byte [edi + 0x19ed], 1
push eax
lea ecx, [edi + 0x19f4]
call fcn.1002f3e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x19ed], al
cmovne eax, ecx
mov dword [edi + 0x1a20], eax
add eax, 0x14
mov dword [edi + 0x1994], eax
mov dword [edi + 0x1998], eax
mov eax, dword [ebp - 0x508]
mov esi, dword [ebp - 0x50c]
mov dword [ebp - 0xc4], eax
cmp esi, eax
je 0x10072e09