Function at 0x1005cb30
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get number of processors
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 0x100c30a3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x5a0
mov eax, dword [0x100dd360]
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 - 0x24], edi
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x408], 0
push str.players
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x404], 0
movups xmmword [ebp - 0x418], xmm0
call fcn.10027f90
lea eax, [ebp - 0x418]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1005cbd3
cmp dword [ebp - 0x404], 0x10
mov ecx, edi
push dword [ebp - 0x408]
cmovae eax, dword [ebp - 0x418]
push eax
call fcn.1002ca50
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x404]
cmp ecx, 0x10
jb 0x1005cc14
mov edx, dword [ebp - 0x418]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005cc0a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
push 7
xorps xmm0, xmm0
mov dword [ebp - 0xa8], 0
push str.dormant
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa4], 0
lea esi, [edi + 0x34]
movups xmmword [ebp - 0xb8], xmm0
call fcn.10027f90
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x430]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x420], 0
push str.dormant_esp
movups xmmword [ebp - 0x430], xmm0
mov dword [ebp - 0x41c], 0
call fcn.10027f90
lea ecx, [edi + 0x6c]
mov byte [ebp - 4], 2
lea eax, [ebp - 0xb8]
cmp ecx, eax
je 0x1005cca9
cmp dword [ebp - 0xa4], 0x10
push dword [ebp - 0xa8]
cmovae eax, dword [ebp - 0xb8]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xa4]
mov byte [edi + 0x9d], 1
lea eax, [ebp - 0x430]
cmp ecx, eax
je 0x1005ccda
cmp dword [ebp - 0x41c], 0x10
push dword [ebp - 0x420]
cmovae eax, dword [ebp - 0x430]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x41c]
mov byte [edi + 0xa0], 0
cmp ecx, 0x10
jb 0x1005cd1f
mov edx, dword [ebp - 0x430]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005cd15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x1005cd60
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005cd56
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0x4c], 0
mov dword [edi + 0x38], 0x14
mov dword [edi + 0x40], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x50], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x1c], esi
cmp eax, dword [edi + 0x20]
je 0x1005cd91
lea ecx, [edi + 0x34]
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1005cd9e
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.10028950
push 3
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 0
push 0x100cea24
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xd4], 0
movups xmmword [ebp - 0xe8], xmm0
call fcn.10027f90
mov dword [ebp - 4], 3
lea ecx, [ebp - 0xd0]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push 0x100cea24
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xbc], 0
call fcn.10027f90
lea ecx, [edi + 0x384]
mov byte [ebp - 4], 4
lea eax, [ebp - 0xe8]
cmp ecx, eax
je 0x1005ce33
cmp dword [ebp - 0xd4], 0x10
push dword [ebp - 0xd8]
cmovae eax, dword [ebp - 0xe8]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x3bc]
mov byte [edi + 0x3b5], 1
lea eax, [ebp - 0xd0]
cmp ecx, eax
je 0x1005ce64
cmp dword [ebp - 0xbc], 0x10
push dword [ebp - 0xc0]
cmovae eax, dword [ebp - 0xd0]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xbc]
mov byte [edi + 0x3b8], 0
cmp ecx, 0x10
jb 0x1005cea9
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ce9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0x10
jb 0x1005ceea
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005cee0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0x364], 0
lea ecx, [edi + 0x34c]
mov dword [edi + 0x350], 0x14
mov dword [edi + 0x358], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x368], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 0x20]
je 0x1005cf2a
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1005cf37
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.10028950
mov esi, dword [0x100cb794]
lea ecx, [ebp - 0x118]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x108], 0
push 0x100cea28
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0
call fcn.10027f90
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x100]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0xf0], 0
push str.box_color
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xec], 0
call fcn.10027f90
lea ecx, [edi + 0x444]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x100]
cmp ecx, eax
je 0x1005cfd2
cmp dword [ebp - 0xec], 0x10
push dword [ebp - 0xf0]
cmovae eax, dword [ebp - 0x100]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x40c]
lea eax, [ebp - 0x118]
cmp ecx, eax
je 0x1005cffc
cmp dword [ebp - 0x104], 0x10
push dword [ebp - 0x108]
cmovae eax, dword [ebp - 0x118]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xec]
mov dword [edi + 0x45c], esi
mov dword [edi + 0x460], 0
cmp ecx, 0x10
jb 0x1005d04a
mov edx, dword [ebp - 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d040
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x104]
cmp ecx, 0x10
jb 0x1005d08b
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d081
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov eax, dword [edi + 0x430]
lea ecx, [edi + 0x42c]
mov dword [ebp - 0x1c], 0x1002bdc0
cmp eax, dword [ecx + 8]
je 0x1005d0af
mov dword [eax], 0x1002bdc0
add dword [ecx + 4], 4
jmp 0x1005d0b9
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.10028950
mov dword [edi + 0x3ec], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x3d8], 0x14
lea ecx, [edi + 0x3d4]
mov dword [edi + 0x3e0], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x3f0], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x1005d0fc
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005d108
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0
push str.name
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x134], 0
movups xmmword [ebp - 0x148], xmm0
call fcn.10027f90
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x130]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0
push str.name
movups xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x11c], 0
call fcn.10027f90
lea ecx, [edi + 0x49c]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x148]
cmp ecx, eax
je 0x1005d19d
cmp dword [ebp - 0x134], 0x10
push dword [ebp - 0x138]
cmovae eax, dword [ebp - 0x148]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x4d4]
mov byte [edi + 0x4cd], 1
lea eax, [ebp - 0x130]
cmp ecx, eax
je 0x1005d1ce
cmp dword [ebp - 0x11c], 0x10
push dword [ebp - 0x120]
cmovae eax, dword [ebp - 0x130]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x11c]
mov byte [edi + 0x4d0], 0
cmp ecx, 0x10
jb 0x1005d213
mov edx, dword [ebp - 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d209
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x134]
cmp ecx, 0x10
jb 0x1005d254
mov edx, dword [ebp - 0x148]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d24a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0x47c], 0
lea ecx, [edi + 0x464]
mov dword [edi + 0x468], 0x14
mov dword [edi + 0x470], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x480], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x1005d294
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005d2a0
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
push str.normal
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x88], xmm0
call fcn.10027f90
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x70]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.bold
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
call fcn.10027f90
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0xa
push ecx
lea eax, [ebp - 0x58]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.1007d550
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x178]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x168], 0
push 0x100cea50
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x164], 0
call fcn.10027f90
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x160]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x150], 0
push str.name_font
movups xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x14c], 0
call fcn.10027f90
lea ecx, [edi + 0x23a8]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x178]
cmp ecx, eax
je 0x1005d3a9
cmp dword [ebp - 0x164], 0x10
push dword [ebp - 0x168]
cmovae eax, dword [ebp - 0x178]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x23e0]
mov byte [edi + 0x23d9], 1
lea eax, [ebp - 0x160]
cmp ecx, eax
je 0x1005d3da
cmp dword [ebp - 0x14c], 0x10
push dword [ebp - 0x150]
cmovae eax, dword [ebp - 0x160]
push eax
call fcn.1002ca50
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x23d9], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x90]
mov dword [edi + 0x240c], eax
add eax, 0x14
mov dword [edi + 0x2380], eax
mov dword [edi + 0x2384], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x1005d456
lea ecx, [edi + 0x23f8]
mov esi, eax
nop word [eax + eax]
mov eax, dword [edi + 0x23fc]
push esi
cmp eax, dword [edi + 0x2400]
je 0x1005d43f
mov ecx, eax
call fcn.1002c7e0
add dword [edi + 0x23fc], 0x18
jmp 0x1005d445
push eax
call fcn.1004bce0
add esi, 0x18
lea ecx, [edi + 0x23f8]
cmp esi, dword [ebp - 0x20]
jne 0x1005d420
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x23fc]
lea eax, [edi + 0x23f8]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1005d481
mov dword [edi + 0x2408], 0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x14c]
cmp ecx, 0x10
jb 0x1005d4bb
mov edx, dword [ebp - 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d4b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d4eb
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x164]
cmp ecx, 0x10
jb 0x1005d4fb
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d4f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005d4f1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100bbcc4
add esp, 8
lea ecx, [ebp - 0x94]
call fcn.1004b920
push fcn.100273b0
push 2
push 0x18
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
mov eax, dword [edi + 0x23cc]
lea ecx, [edi + 0x23c8]
mov dword [ebp - 0x20], 0x1002bdd0
cmp eax, dword [ecx + 8]
je 0x1005d546
mov dword [eax], 0x1002bdd0
add dword [ecx + 4], 4
jmp 0x1005d550
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0x2388], 0
lea ecx, [edi + 0x2370]
mov dword [edi + 0x2374], 0x14
mov dword [edi + 0x237c], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x238c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005d590
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005d59c
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
mov esi, dword [0x100cb794]
lea ecx, [ebp - 0x1a8]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x198], 0
push str.name_color
movups xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x194], 0
call fcn.10027f90
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x190]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
push 0x100cea70
movups xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0x17c], 0
call fcn.10027f90
lea ecx, [edi + 0x55c]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x190]
cmp ecx, eax
je 0x1005d637
cmp dword [ebp - 0x17c], 0x10
push dword [ebp - 0x180]
cmovae eax, dword [ebp - 0x190]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x524]
lea eax, [ebp - 0x1a8]
cmp ecx, eax
je 0x1005d661
cmp dword [ebp - 0x194], 0x10
push dword [ebp - 0x198]
cmovae eax, dword [ebp - 0x1a8]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x17c]
mov dword [edi + 0x574], esi
mov dword [edi + 0x578], 0
cmp ecx, 0x10
jb 0x1005d6af
mov edx, dword [ebp - 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d6a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x1005d6f0
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d6e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov eax, dword [edi + 0x548]
lea ecx, [edi + 0x544]
mov dword [ebp - 0x20], 0x1002bdd0
cmp eax, dword [ecx + 8]
je 0x1005d714
mov dword [eax], 0x1002bdd0
add dword [ecx + 4], 4
jmp 0x1005d71e
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0x504], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x4f0], 0x14
lea ecx, [edi + 0x4ec]
mov dword [edi + 0x4f8], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x508], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005d761
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005d76d
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x1c8], 0
push str.health_bar
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1c4], 0
movups xmmword [ebp - 0x1d8], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x1c0]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x1b0], 0
push str.health
movups xmmword [ebp - 0x1c0], xmm0
mov dword [ebp - 0x1ac], 0
call fcn.10027f90
lea ecx, [edi + 0x5b4]
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x1d8]
cmp ecx, eax
je 0x1005d802
cmp dword [ebp - 0x1c4], 0x10
push dword [ebp - 0x1c8]
cmovae eax, dword [ebp - 0x1d8]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x5ec]
mov byte [edi + 0x5e5], 1
lea eax, [ebp - 0x1c0]
cmp ecx, eax
je 0x1005d833
cmp dword [ebp - 0x1ac], 0x10
push dword [ebp - 0x1b0]
cmovae eax, dword [ebp - 0x1c0]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x1ac]
mov byte [edi + 0x5e8], 0
cmp ecx, 0x10
jb 0x1005d878
mov edx, dword [ebp - 0x1c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d86e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c4]
cmp ecx, 0x10
jb 0x1005d8b9
mov edx, dword [ebp - 0x1d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d8af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0x594], 0
lea ecx, [edi + 0x57c]
mov dword [edi + 0x580], 0x14
mov dword [edi + 0x588], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x598], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005d8f9
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005d905
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x1f8], 0
push str.health_override
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x1f4], 0
movups xmmword [ebp - 0x208], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x1f0]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x1e0], 0
push str.color_override
movups xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x1dc], 0
call fcn.10027f90
lea ecx, [edi + 0x63c]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x208]
cmp ecx, eax
je 0x1005d99a
cmp dword [ebp - 0x1f4], 0x10
push dword [ebp - 0x1f8]
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x674]
mov byte [edi + 0x66d], 1
lea eax, [ebp - 0x1f0]
cmp ecx, eax
je 0x1005d9cb
cmp dword [ebp - 0x1dc], 0x10
push dword [ebp - 0x1e0]
cmovae eax, dword [ebp - 0x1f0]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1dc]
mov byte [edi + 0x670], 0
cmp ecx, 0x10
jb 0x1005da10
mov edx, dword [ebp - 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005da06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1f4]
cmp ecx, 0x10
jb 0x1005da51
mov edx, dword [ebp - 0x208]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005da47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov eax, dword [edi + 0x660]
lea ecx, [edi + 0x65c]
mov dword [ebp - 0x20], 0x1002bd90
cmp eax, dword [ecx + 8]
je 0x1005da75
mov dword [eax], 0x1002bd90
add dword [ecx + 4], 4
jmp 0x1005da7f
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0x61c], 0
lea ecx, [edi + 0x604]
mov dword [edi + 0x608], 0x14
mov dword [edi + 0x610], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x620], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005dabf
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005dacb
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
push 0x100ceaa0
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x224], 0
movups xmmword [ebp - 0x238], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x220]
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x210], 0
push str.health_color
movups xmmword [ebp - 0x220], xmm0
mov dword [ebp - 0x20c], 0
call fcn.10027f90
lea ecx, [edi + 0x6fc]
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x220]
mov dword [ebp - 0x1c], 0xffffffff
cmp ecx, eax
je 0x1005db67
cmp dword [ebp - 0x20c], 0x10
push dword [ebp - 0x210]
cmovae eax, dword [ebp - 0x220]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x6c4]
lea eax, [ebp - 0x238]
cmp ecx, eax
je 0x1005db91
cmp dword [ebp - 0x224], 0x10
push dword [ebp - 0x228]
cmovae eax, dword [ebp - 0x238]
push eax
call fcn.1002ca50
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x20c]
mov dword [edi + 0x714], eax
mov dword [edi + 0x718], 0
cmp ecx, 0x10
jb 0x1005dbe2
mov edx, dword [ebp - 0x220]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005dbd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x224]
cmp ecx, 0x10
jb 0x1005dc23
mov edx, dword [ebp - 0x238]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005dc19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov ecx, dword [edi + 0x6e8]
lea eax, [edi + 0x6e4]
mov dword [ebp - 0x20], 0x1002bd90
cmp ecx, dword [eax + 8]
je 0x1005dc47
mov dword [ecx], 0x1002bd90
add dword [eax + 4], 4
jmp 0x1005dc59
lea edx, [ebp - 0x20]
push edx
push ecx
mov ecx, eax
call fcn.10028950
lea eax, [edi + 0x6e4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x20], 0x1002bda0
cmp ecx, dword [eax + 8]
je 0x1005dc74
mov dword [ecx], 0x1002bda0
add dword [eax + 4], 4
jmp 0x1005dc80
lea edx, [ebp - 0x20]
push edx
push ecx
mov ecx, eax
call fcn.10028950
mov dword [edi + 0x6a4], 0
lea ecx, [edi + 0x68c]
mov dword [edi + 0x690], 0x14
mov dword [edi + 0x698], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x6a8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005dcc0
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005dccc
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x258], 0
push str.glow
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 0
movups xmmword [ebp - 0x268], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x250]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x240], 0
push str.glow
movups xmmword [ebp - 0x250], xmm0
mov dword [ebp - 0x23c], 0
call fcn.10027f90
lea ecx, [edi + 0xefc]
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x268]
cmp ecx, eax
je 0x1005dd61
cmp dword [ebp - 0x254], 0x10
push dword [ebp - 0x258]
cmovae eax, dword [ebp - 0x268]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xf34]
mov byte [edi + 0xf2d], 1
lea eax, [ebp - 0x250]
cmp ecx, eax
je 0x1005dd92
cmp dword [ebp - 0x23c], 0x10
push dword [ebp - 0x240]
cmovae eax, dword [ebp - 0x250]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x23c]
mov byte [edi + 0xf30], 0
cmp ecx, 0x10
jb 0x1005ddd7
mov edx, dword [ebp - 0x250]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ddcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x254]
cmp ecx, 0x10
jb 0x1005de18
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005de0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0xedc], 0
lea ecx, [edi + 0xec4]
mov dword [edi + 0xec8], 0x14
mov dword [edi + 0xed0], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xee0], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005de58
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005de64
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x288], 0
push str.glow_enemy
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x284], 0
movups xmmword [ebp - 0x298], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x280]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x270], 0
push str.opacity
movups xmmword [ebp - 0x280], xmm0
mov dword [ebp - 0x26c], 0
call fcn.10027f90
lea ecx, [edi + 0xfbc]
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x280]
mov dword [ebp - 0x1c], 0xff783cb4
cmp ecx, eax
je 0x1005df00
cmp dword [ebp - 0x26c], 0x10
push dword [ebp - 0x270]
cmovae eax, dword [ebp - 0x280]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xf84]
lea eax, [ebp - 0x298]
cmp ecx, eax
je 0x1005df2a
cmp dword [ebp - 0x284], 0x10
push dword [ebp - 0x288]
cmovae eax, dword [ebp - 0x298]
push eax
call fcn.1002ca50
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x26c]
mov dword [edi + 0xfd4], eax
mov dword [edi + 0xfd8], 0
cmp ecx, 0x10
jb 0x1005df7b
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005df71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x284]
cmp ecx, 0x10
jb 0x1005dfbc
mov edx, dword [ebp - 0x298]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005dfb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov eax, dword [edi + 0xfa8]
lea ecx, [edi + 0xfa4]
mov dword [ebp - 0x20], 0x1002bdb0
cmp eax, dword [ecx + 8]
je 0x1005dfe0
mov dword [eax], 0x1002bdb0
add dword [ecx + 4], 4
jmp 0x1005dfea
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0xf64], 0
lea ecx, [edi + 0xf4c]
mov dword [edi + 0xf50], 0x14
mov dword [edi + 0xf58], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xf68], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005e02a
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005e036
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
push 0x100ce0d4
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x434], 0
movups xmmword [ebp - 0x448], xmm0
call fcn.10039330
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x2b0]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2a0], 0
push str.glow_blend
movups xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x29c], 0
call fcn.10027f90
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x58]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
push 0x100cc9d4
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.10027f90
lea ecx, [edi + 0x1014]
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x2b0]
cmp ecx, eax
je 0x1005e0f3
cmp dword [ebp - 0x29c], 0x10
push dword [ebp - 0x2a0]
cmovae eax, dword [ebp - 0x2b0]
push eax
call fcn.1002ca50
mov byte [edi + 0x1045], 0
lea ecx, [edi + 0x107c]
mov dword [edi + 0x1094], 0
lea eax, [ebp - 0x448]
mov dword [edi + 0xfec], 7
mov dword [edi + 0xff0], 7
mov dword [edi + 0x1050], 0x41200000
mov dword [edi + 0x1054], 0x42c80000
mov dword [edi + 0x104c], 0x42700000
mov dword [edi + 0x1060], 0
mov dword [edi + 0x1058], 0x3f800000
cmp ecx, eax
je 0x1005e174
cmp dword [ebp - 0x434], 8
push dword [ebp - 0x438]
cmovae eax, dword [ebp - 0x448]
push eax
call fcn.1007da00
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x1005e1ac
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005e1a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x29c]
cmp ecx, 0x10
jb 0x1005e1ea
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005e1e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
lea ecx, [ebp - 0x448]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
mov eax, dword [edi + 0x1038]
lea ecx, [edi + 0x1034]
mov dword [ebp - 0x20], 0x1002bdb0
cmp eax, dword [ecx + 8]
je 0x1005e220
mov dword [eax], 0x1002bdb0
add dword [ecx + 4], 4
jmp 0x1005e22a
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0xff4], 0
lea ecx, [edi + 0xfdc]
mov dword [edi + 0xfe0], 0x14
mov dword [edi + 0xfe8], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xff8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005e26a
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005e276
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x2d0], 0
push str.weapon
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x2cc], 0
movups xmmword [ebp - 0x2e0], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x2c8]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
push str.weapon
movups xmmword [ebp - 0x2c8], xmm0
mov dword [ebp - 0x2b4], 0
call fcn.10027f90
lea ecx, [edi + 0xba4]
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x2e0]
cmp ecx, eax
je 0x1005e30b
cmp dword [ebp - 0x2cc], 0x10
push dword [ebp - 0x2d0]
cmovae eax, dword [ebp - 0x2e0]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xbdc]
mov byte [edi + 0xbd5], 1
lea eax, [ebp - 0x2c8]
cmp ecx, eax
je 0x1005e33c
cmp dword [ebp - 0x2b4], 0x10
push dword [ebp - 0x2b8]
cmovae eax, dword [ebp - 0x2c8]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x2b4]
mov byte [edi + 0xbd8], 0
cmp ecx, 0x10
jb 0x1005e381
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005e377
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2cc]
cmp ecx, 0x10
jb 0x1005e3c2
mov edx, dword [ebp - 0x2e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005e3b8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0xb84], 0
lea ecx, [edi + 0xb6c]
mov dword [edi + 0xb70], 0x14
mov dword [edi + 0xb78], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xb88], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005e402
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005e40e
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
push str.text
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x74], 0
movups xmmword [ebp - 0x88], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x70]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.icon
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
call fcn.10027f90
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x20
push ecx
lea eax, [ebp - 0x58]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.1007d550
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x310]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x300], 0
push str.weapon_mode
movups xmmword [ebp - 0x310], xmm0
mov dword [ebp - 0x2fc], 0
call fcn.10027f90
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2f8]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x2e8], 0
push str.weapon_type
movups xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x2e4], 0
call fcn.10027f90
lea ecx, [edi + 0xc2c]
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x310]
cmp ecx, eax
je 0x1005e517
cmp dword [ebp - 0x2fc], 0x10
push dword [ebp - 0x300]
cmovae eax, dword [ebp - 0x310]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xc64]
mov byte [edi + 0xc5d], 1
lea eax, [ebp - 0x2f8]
cmp ecx, eax
je 0x1005e548
cmp dword [ebp - 0x2e4], 0x10
push dword [ebp - 0x2e8]
cmovae eax, dword [ebp - 0x2f8]
push eax
call fcn.1002ca50
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xc5d], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x90]
mov dword [edi + 0xc90], eax
add eax, 0x14
mov dword [edi + 0xc04], eax
mov dword [edi + 0xc08], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x1005e5c6
lea ecx, [edi + 0xc7c]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0xc80]
push esi
cmp eax, dword [edi + 0xc84]
je 0x1005e5af
mov ecx, eax
call fcn.1002c7e0
add dword [edi + 0xc80], 0x18
jmp 0x1005e5b5
push eax
call fcn.1004bce0
add esi, 0x18
lea ecx, [edi + 0xc7c]
cmp esi, dword [ebp - 0x1c]
jne 0x1005e590
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0xc80]
lea edx, [edi + 0xc7c]
sub ecx, dword [edx]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1005e5f1
mov dword [edi + 0xc8c], 0
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0x10
jb 0x1005e62b
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005e621
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e65b
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x2fc]
cmp ecx, 0x10
jb 0x1005e66b
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005e661
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005e661
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100bbcc4
add esp, 8
lea ecx, [ebp - 0x94]
call fcn.1004b920
push fcn.100273b0
push 2
push 0x18
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
mov eax, dword [edi + 0xc50]
lea ecx, [edi + 0xc4c]
mov dword [ebp - 0x20], 0x1002bdf0
cmp eax, dword [ecx + 8]
je 0x1005e6b6
mov dword [eax], 0x1002bdf0
add dword [ecx + 4], 4
jmp 0x1005e6c0
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0xc0c], 0
lea ecx, [edi + 0xbf4]
mov dword [edi + 0xbf8], 0x14
mov dword [edi + 0xc00], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xc10], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005e700
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005e70c
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x4e0], 0
push str.money
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 0x4dc], 0
movups xmmword [ebp - 0x4f0], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x24
lea ecx, [ebp - 0x4d8]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x4c8], 0
push str.armor
movups xmmword [ebp - 0x4d8], xmm0
mov dword [ebp - 0x4c4], 0
call fcn.10027f90
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x4c0]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x4b0], 0
push str.scoped
movups xmmword [ebp - 0x4c0], xmm0
mov dword [ebp - 0x4ac], 0
call fcn.10027f90
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x4a8]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x498], 0
push str.flashed
movups xmmword [ebp - 0x4a8], xmm0
mov dword [ebp - 0x494], 0
call fcn.10027f90
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x490]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x480], 0
push str.reloading
movups xmmword [ebp - 0x490], xmm0
mov dword [ebp - 0x47c], 0
call fcn.10027f90
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x478]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x468], 0
push str.bomb
movups xmmword [ebp - 0x478], xmm0
mov dword [ebp - 0x464], 0
call fcn.10027f90
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x460]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x450], 0
push str.lethal
movups xmmword [ebp - 0x460], xmm0
mov dword [ebp - 0x44c], 0
call fcn.10027f90
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 4], 0x2a
push ecx
lea eax, [ebp - 0x448]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
xorps xmm0, xmm0
mov byte [ebp - 4], 0x2b
movups xmmword [ebp - 0x340], xmm0
push 0xb
push 0x100ceb58
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x32c], 0
call fcn.10027f90
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x328]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x318], 0
push str.flags_enemy
movups xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x314], 0
call fcn.10027f90
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [edi + 0x754]
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x340]
cmp ecx, eax
je 0x1005e949
cmp dword [ebp - 0x32c], 0x10
push dword [ebp - 0x330]
cmovae eax, dword [ebp - 0x340]
push eax
call fcn.1002ca50
lea ecx, [edi + 0x78c]
mov byte [edi + 0x785], 1
lea eax, [ebp - 0x328]
cmp ecx, eax
je 0x1005e97a
cmp dword [ebp - 0x314], 0x10
push dword [ebp - 0x318]
cmovae eax, dword [ebp - 0x328]
push eax
call fcn.1002ca50
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x785], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x48]
mov dword [edi + 0x7c0], eax
add eax, 0x14
mov dword [edi + 0x72c], eax
mov dword [edi + 0x730], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x1005e9f6
lea ecx, [edi + 0x7a4]
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x7a8]
push esi
cmp eax, dword [edi + 0x7ac]
je 0x1005e9df
mov ecx, eax
call fcn.1002c7e0
add dword [edi + 0x7a8], 0x18
jmp 0x1005e9e5
push eax
call fcn.1004bce0
add esi, 0x18
lea ecx, [edi + 0x7a4]
cmp esi, dword [ebp - 0x1c]
jne 0x1005e9c0
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x98]
call fcn.10026a30
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x314]
cmp ecx, 0x10
jb 0x1005ea3b
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ea31
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ea6b
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x32c]
cmp ecx, 0x10
jb 0x1005ea7b
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ea71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005ea71
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100bbcc4
add esp, 8
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 7
push 0x18
lea eax, [ebp - 0x4f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
mov dword [edi + 0x734], 0
lea ecx, [edi + 0x71c]
mov dword [edi + 0x720], 0x14
mov dword [edi + 0x728], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x738], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005eadf
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005eaeb
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x360], 0
push str.ammo
lea ecx, [ebp - 0x370]
mov dword [ebp - 0x35c], 0
movups xmmword [ebp - 0x370], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0x358]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x348], 0
push str.ammo
movups xmmword [ebp - 0x358], xmm0
mov dword [ebp - 0x344], 0
call fcn.10027f90
lea ecx, [edi + 0xccc]
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x370]
cmp ecx, eax
je 0x1005eb80
cmp dword [ebp - 0x35c], 0x10
push dword [ebp - 0x360]
cmovae eax, dword [ebp - 0x370]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xd04]
mov byte [edi + 0xcfd], 1
lea eax, [ebp - 0x358]
cmp ecx, eax
je 0x1005ebb1
cmp dword [ebp - 0x344], 0x10
push dword [ebp - 0x348]
cmovae eax, dword [ebp - 0x358]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x344]
mov byte [edi + 0xd00], 0
cmp ecx, 0x10
jb 0x1005ebf6
mov edx, dword [ebp - 0x358]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ebec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x35c]
cmp ecx, 0x10
jb 0x1005ec37
mov edx, dword [ebp - 0x370]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ec2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0xcac], 0
lea ecx, [edi + 0xc94]
mov dword [edi + 0xc98], 0x14
mov dword [edi + 0xca0], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xcb0], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005ec77
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005ec83
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
mov esi, dword [0x100cb798]
lea ecx, [ebp - 0x3a0]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x390], 0
push 0x100ceb78
movups xmmword [ebp - 0x3a0], xmm0
mov dword [ebp - 0x38c], 0
call fcn.10027f90
mov dword [ebp - 4], 0x31
lea ecx, [ebp - 0x388]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x378], 0
push str.ammo_color
movups xmmword [ebp - 0x388], xmm0
mov dword [ebp - 0x374], 0
call fcn.10027f90
lea ecx, [edi + 0xd8c]
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x388]
cmp ecx, eax
je 0x1005ed1e
cmp dword [ebp - 0x374], 0x10
push dword [ebp - 0x378]
cmovae eax, dword [ebp - 0x388]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xd54]
lea eax, [ebp - 0x3a0]
cmp ecx, eax
je 0x1005ed48
cmp dword [ebp - 0x38c], 0x10
push dword [ebp - 0x390]
cmovae eax, dword [ebp - 0x3a0]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x374]
mov dword [edi + 0xda4], esi
mov dword [edi + 0xda8], 0
cmp ecx, 0x10
jb 0x1005ed96
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ed8c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38c]
cmp ecx, 0x10
jb 0x1005edd7
mov edx, dword [ebp - 0x3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005edcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov eax, dword [edi + 0xd78]
lea ecx, [edi + 0xd74]
mov dword [ebp - 0x20], 0x1002be10
cmp eax, dword [ecx + 8]
je 0x1005edfb
mov dword [eax], 0x1002be10
add dword [ecx + 4], 4
jmp 0x1005ee05
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0xd34], 0
lea ecx, [edi + 0xd1c]
mov dword [edi + 0xd20], 0x14
mov dword [edi + 0xd28], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xd38], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x20], ecx
cmp eax, dword [edi + 0x20]
je 0x1005ee45
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1005ee52
lea ecx, [ebp - 0x20]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.10028950
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x3c0], 0
push 0x100cebc4
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x3bc], 0
movups xmmword [ebp - 0x3d0], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x33
lea ecx, [ebp - 0x3b8]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x3a8], 0
push str.lby_update
movups xmmword [ebp - 0x3b8], xmm0
mov dword [ebp - 0x3a4], 0
call fcn.10027f90
lea ecx, [edi + 0xde4]
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x3d0]
cmp ecx, eax
je 0x1005eee7
cmp dword [ebp - 0x3bc], 0x10
push dword [ebp - 0x3c0]
cmovae eax, dword [ebp - 0x3d0]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xe1c]
mov byte [edi + 0xe15], 1
lea eax, [ebp - 0x3b8]
cmp ecx, eax
je 0x1005ef18
cmp dword [ebp - 0x3a4], 0x10
push dword [ebp - 0x3a8]
cmovae eax, dword [ebp - 0x3b8]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x3a4]
mov byte [edi + 0xe18], 0
cmp ecx, 0x10
jb 0x1005ef5d
mov edx, dword [ebp - 0x3b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ef53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3bc]
cmp ecx, 0x10
jb 0x1005ef9e
mov edx, dword [ebp - 0x3d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ef94
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [edi + 0xdc4], 0
lea ecx, [edi + 0xdac]
mov dword [edi + 0xdb0], 0x14
mov dword [edi + 0xdb8], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xdc8], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x20], ecx
cmp eax, dword [edi + 0x20]
je 0x1005efde
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1005efeb
lea ecx, [ebp - 0x20]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.10028950
mov esi, dword [0x100cb7cc]
lea ecx, [ebp - 0x400]
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x3f0], 0
push str.lby_update_color
movups xmmword [ebp - 0x400], xmm0
mov dword [ebp - 0x3ec], 0
call fcn.10027f90
mov dword [ebp - 4], 0x35
lea ecx, [ebp - 0x3e8]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x3d8], 0
push str.lby_color
movups xmmword [ebp - 0x3e8], xmm0
mov dword [ebp - 0x3d4], 0
call fcn.10027f90
lea ecx, [edi + 0xea4]
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x3e8]
cmp ecx, eax
je 0x1005f086
cmp dword [ebp - 0x3d4], 0x10
push dword [ebp - 0x3d8]
cmovae eax, dword [ebp - 0x3e8]
push eax
call fcn.1002ca50
lea ecx, [edi + 0xe6c]
lea eax, [ebp - 0x400]
cmp ecx, eax
je 0x1005f0b0
cmp dword [ebp - 0x3ec], 0x10
push dword [ebp - 0x3f0]
cmovae eax, dword [ebp - 0x400]
push eax
call fcn.1002ca50
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x3d4]
mov dword [edi + 0xebc], esi
mov dword [edi + 0xec0], 0
cmp ecx, 0x10
jb 0x1005f0fa
mov edx, dword [ebp - 0x3e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005f0f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005f12d
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3ec]
cmp ecx, 0x10
jb 0x1005f13d
mov edx, dword [ebp - 0x400]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005f133
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005f133
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100bbcc4
add esp, 8
mov eax, dword [edi + 0xe90]
lea ecx, [edi + 0xe8c]
mov dword [ebp - 0x20], 0x1002be00
cmp eax, dword [ecx + 8]
je 0x1005f161
mov dword [eax], 0x1002be00
add dword [ecx + 4], 4
jmp 0x1005f16b
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10028950
mov dword [edi + 0xe4c], 0
lea esi, [edi + 0x18]
mov dword [edi + 0xe38], 0x14
lea ecx, [edi + 0xe34]
mov dword [edi + 0xe40], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xe50], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1005f1ae
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005f1ba
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10028950
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x558], 0
push str.local
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x554], 0
movups xmmword [ebp - 0x568], xmm0
call fcn.10027f90
mov dword [ebp - 4], 0x37
lea ecx, [ebp - 0x550]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x540], 0
push str.enemy
movups xmmword [ebp - 0x550], xmm0
mov dword [ebp - 0x53c], 0
call fcn.10027f90
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x538]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x528], 0
push str.friendly
movups xmmword [ebp - 0x538], xmm0
mov dword [ebp - 0x524], 0
call fcn.10027f90
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x520]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x510], 0
push str.history
movups xmmword [ebp - 0x520], xmm0
mov dword [ebp - 0x50c], 0
call fcn.10027f90
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x508]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x4f8], 0
push str.fake
movups xmmword [ebp - 0x508], xmm0
mov dword [ebp - 0x4f4], 0
call fcn.10027f90
lea ecx, [ebp - 0x568]
mov dword [ebp - 4], 0x3b
push ecx
lea eax, [ebp - 0x4f0]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xa0]
push 0x16
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
push str.chams_entity_selection
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x8c], 0
call fcn.10027f90
push str.chams_selection
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3d
call fcn.10027400
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [edi + 0x10d0]
call fcn.10038610
lea eax, [ebp - 0x3c]
mov byte [edi + 0x1101], 1
push eax
lea ecx, [edi + 0x1108]
call fcn.10038610
mov edx, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x1101], al
mov ecx, 0xf
mov dword [ebp - 0x18], edx
cmovne eax, ecx
lea ecx, [edi + 0x1120]
mov dword [edi + 0x1134], eax
add eax, 0x14
mov dword [edi + 0x10a8], eax
mov dword [edi + 0x10ac], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x1005f3a9
mov esi, eax
mov edi, ecx
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x18]
jne 0x1005f390
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.1002c710
test eax, eax
je 0x1005f3bc
mov dword [edi + 0x1130], 0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0xa0]
call fcn.100273b0
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 5
push 0x18
lea eax, [ebp - 0x568]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
mov dword [edi + 0x10b0], 1
lea eax, [edi + 0x1098]
mov dword [edi + 0x109c], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x10a4], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x10b4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push 0x100cec00
lea ecx, [ebp - 0x58]
lea esi, [edi + 0x1138]
call fcn.10027400
push str.chams_local
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x3f
call fcn.10027400
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x40
push eax
lea ecx, [edi + 0x1170]
call fcn.10038610
lea eax, [ebp - 0x3c]
mov byte [edi + 0x11a1], 1
push eax
lea ecx, [edi + 0x11a8]
call fcn.10038610
lea ecx, [ebp - 0x3c]
mov byte [edi + 0x11a4], 0
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be20
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1150], 1
mov dword [edi + 0x113c], 0x111
mov dword [edi + 0x1144], 0xe0
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1154], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.material
lea ecx, [ebp - 0x4c0]
call fcn.10027400
push str.flat
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 4], 0x41
call fcn.10027400
push str.metallic
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x42
call fcn.10027400
mov byte [ebp - 4], 0x43
push str.shaded
lea ecx, [ebp - 0x478]
call fcn.10027400
push str.glow
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x44
call fcn.10027400
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0x45
push ecx
lea eax, [ebp - 0x448]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
push str.chams_local_mat
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x46
call fcn.10027400
push str.chams_local_material
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x47
call fcn.10027400
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [edi + 0x1280]
call fcn.10038610
lea eax, [ebp - 0x3c]
mov byte [edi + 0x12b1], 1
push eax
lea ecx, [edi + 0x12b8]
call fcn.10038610
mov edx, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x12b1], al
mov ecx, 0xf
mov dword [ebp - 0x20], edx
cmovne eax, ecx
lea ecx, [edi + 0x12d0]
mov dword [edi + 0x12e4], eax
add eax, 0x14
mov dword [edi + 0x1258], eax
mov dword [edi + 0x125c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x1005f611
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x1005f5f8
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.1002c710
test eax, eax
je 0x1005f624
mov dword [edi + 0x12e0], 0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0xa0]
call fcn.100273b0
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 5
push 0x18
lea eax, [ebp - 0x4c0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be20
lea ecx, [edi + 0x12a0]
push eax
call fcn.1007d520
mov dword [edi + 0x1260], 1
lea eax, [edi + 0x1248]
mov dword [edi + 0x124c], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1254], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1264], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.chams_local_col
lea ecx, [ebp - 0x58]
lea esi, [edi + 0x12e8]
call fcn.10027400
push str.color
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x49
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [edi + 0x1358]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10038610
lea eax, [ebp - 0x58]
push eax
lea ecx, [edi + 0x1320]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x1370], eax
mov dword [edi + 0x1374], 0
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be20
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1300], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x12ec], 0x111
mov dword [edi + 0x12f4], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1304], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_local2_col
lea ecx, [ebp - 0x58]
lea esi, [edi + 0x1378]
call fcn.10027400
push str.glow_color
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x4b
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [edi + 0x13e8]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10038610
lea eax, [ebp - 0x58]
push eax
lea ecx, [edi + 0x13b0]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x1400], eax
mov dword [edi + 0x1404], 0
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be30
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1390], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x137c], 0x111
mov dword [edi + 0x1384], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1394], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push 0x100ce0d4
lea ecx, [ebp - 0x58]
lea esi, [edi + 0x1408]
call fcn.10038590
push str.chams_local_blend
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x4d
call fcn.10027400
push 0x100cc9d4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x4e
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0x1440]
call fcn.10038610
mov byte [edi + 0x1471], 0
lea eax, [ebp - 0x58]
mov dword [edi + 0x14c0], 0
lea ecx, [edi + 0x14a8]
mov dword [edi + 0x1418], 7
mov dword [edi + 0x141c], 7
mov dword [edi + 0x147c], 0
mov dword [edi + 0x1480], 0x42c80000
mov dword [edi + 0x1478], 0x42c80000
mov dword [edi + 0x148c], 0
push eax
mov dword [edi + 0x1484], 0x3f800000
call fcn.1007d830
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be20
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [ebp - 0x18], esi
mov dword [edi + 0x1420], 1
mov dword [edi + 0x140c], 0x111
lea ecx, [edi + 0x18]
mov dword [edi + 0x1414], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1424], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.chams_local_scope
lea ecx, [ebp - 0x58]
lea esi, [edi + 0x14c4]
call fcn.10027400
push str.blend_when_scoped
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x50
call fcn.10027400
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0x14fc]
call fcn.10038610
lea eax, [ebp - 0x3c]
mov byte [edi + 0x152d], 1
push eax
lea ecx, [edi + 0x1534]
call fcn.10038610
lea ecx, [ebp - 0x3c]
mov byte [edi + 0x1530], 0
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be20
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x14dc], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x14c8], 0x111
mov dword [edi + 0x14d0], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x14e0], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push 0x100ce0d4
lea ecx, [ebp - 0x58]
lea esi, [edi + 0x154c]
call fcn.10038590
push str.chams_local_scope_blend
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x52
call fcn.10027400
push 0x100cc9d4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x53
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [edi + 0x1584]
call fcn.10038610
mov byte [edi + 0x15b5], 0
lea eax, [ebp - 0x58]
mov dword [edi + 0x1604], 0
lea ecx, [edi + 0x15ec]
mov dword [edi + 0x155c], 7
mov dword [edi + 0x1560], 7
mov dword [edi + 0x15c0], 0
mov dword [edi + 0x15c4], 0x42c80000
mov dword [edi + 0x15bc], 0x42c80000
mov dword [edi + 0x15d0], 0
mov dword [edi + 0x15c8], 0x3f800000
push eax
call fcn.1007d830
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be20
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1564], 1
mov dword [edi + 0x1550], 0x111
mov dword [edi + 0x1558], 0xe0
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1568], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.visible
lea ecx, [ebp - 0x5b0]
call fcn.10027400
push str.invisible
lea ecx, [ebp - 0x598]
mov dword [ebp - 4], 0x55
call fcn.10027400
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 4], 0x56
push ecx
lea eax, [ebp - 0x580]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.1007d550
push 0x100ced50
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x57
call fcn.10027400
push str.chams_enemy
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x58
call fcn.10027400
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [edi + 0x1640]
call fcn.10038610
lea eax, [ebp - 0x3c]
mov byte [edi + 0x1671], 1
push eax
lea ecx, [edi + 0x1678]
call fcn.10038610
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1671], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x90]
mov dword [edi + 0x16ac], eax
add eax, 0x14
mov dword [edi + 0x1618], eax
mov dword [edi + 0x161c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x1005fc26
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x1690]
mov dword [ebp - 0x20], eax
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x1005fc10
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x50]
call fcn.10026a30
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x94]
call fcn.1004b920
push fcn.100273b0
push 2
push 0x18
lea eax, [ebp - 0x5b0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
lea ecx, [edi + 0x1660]
push eax
call fcn.1007d520
mov dword [edi + 0x1620], 1
lea eax, [edi + 0x1608]
mov dword [edi + 0x160c], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1614], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1624], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.material
lea ecx, [ebp - 0x4d8]
call fcn.10027400
push str.flat
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0x5b
call fcn.10027400
push str.metallic
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x5c
call fcn.10027400
push str.shaded
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x5d
call fcn.10027400
push str.glow
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0x5e
call fcn.10027400
push str.outline_glow
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x5f
call fcn.10027400
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 4], 0x60
push ecx
lea eax, [ebp - 0x448]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
push str.chams_enemy_mat
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x61
call fcn.10027400
push str.chams_enemy_material
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x62
call fcn.10027400
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x16e8]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x1719], 1
push eax
lea ecx, [edi + 0x1720]
call fcn.10038610
mov edx, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x1719], al
mov ecx, 0xf
mov dword [ebp - 0x20], edx
cmovne eax, ecx
lea ecx, [edi + 0x1738]
mov dword [edi + 0x174c], eax
add eax, 0x14
mov dword [edi + 0x16c0], eax
mov dword [edi + 0x16c4], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x1005fdee
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x1005fdd5
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.1002c710
test eax, eax
je 0x1005fe01
mov dword [edi + 0x1748], 0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 6
push 0x18
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
lea ecx, [edi + 0x1708]
push eax
call fcn.1007d520
mov dword [edi + 0x16c8], 1
lea eax, [edi + 0x16b0]
mov dword [edi + 0x16b4], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x16bc], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x16cc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.chams_enemy_vis
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1750]
call fcn.10027400
push str.color_visible
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x64
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x65
push eax
lea ecx, [edi + 0x17c0]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1788]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x17d8], eax
mov dword [edi + 0x17dc], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1768], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1754], 0x111
mov dword [edi + 0x175c], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x176c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_enemy2_vis
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x17e0]
call fcn.10027400
push str.glow_color
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x66
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x67
push eax
lea ecx, [edi + 0x1850]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1818]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x1868], eax
mov dword [edi + 0x186c], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be60
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x17f8], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x17e4], 0x111
mov dword [edi + 0x17ec], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x17fc], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_enemy_invis
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1870]
call fcn.10027400
push str.color_invisible
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x68
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x69
push eax
lea ecx, [edi + 0x18e0]
mov dword [ebp - 0x1c], 0xffe1b43c
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x18a8]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x18f8], eax
mov dword [edi + 0x18fc], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1888], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1874], 0x111
mov dword [edi + 0x187c], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x188c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_enemy2_invis
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1900]
call fcn.10027400
push str.glow_color
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x6a
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x6b
push eax
lea ecx, [edi + 0x1970]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1938]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x1988], eax
mov dword [edi + 0x198c], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be60
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1918], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1904], 0x111
mov dword [edi + 0x190c], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x191c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push 0x100ce0d4
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1990]
call fcn.10038590
push str.chams_enemy_blend
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x6c
call fcn.10027400
push 0x100cc9d4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x6d
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x6e
push eax
lea ecx, [edi + 0x19c8]
call fcn.10038610
mov byte [edi + 0x19f9], 0
lea eax, [ebp - 0x3c]
mov dword [edi + 0x1a48], 0
lea ecx, [edi + 0x1a30]
mov dword [edi + 0x19a0], 7
mov dword [edi + 0x19a4], 7
mov dword [edi + 0x1a04], 0x41200000
mov dword [edi + 0x1a08], 0x42c80000
mov dword [edi + 0x1a00], 0x42c80000
mov dword [edi + 0x1a14], 0
push eax
mov dword [edi + 0x1a0c], 0x3f800000
call fcn.1007d830
lea ecx, [ebp - 0x58]
call fcn.100273b0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
mov dword [ebp - 0x18], 0x1002be50
lea ecx, [esi + 0x58]
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
mov dword [edi + 0x19a8], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1994], 0x111
mov dword [edi + 0x199c], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x19ac], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.fov_arrow
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0xbc]
call fcn.10027400
push str.enemy_offscreen_esp
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x6f
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x70
push eax
lea ecx, [edi + 0xf4]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x125], 1
push eax
lea ecx, [edi + 0x12c]
call fcn.10038610
lea ecx, [ebp - 0x70]
mov byte [edi + 0x128], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0xd4], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xc0], 0x111
mov dword [edi + 0xc8], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0xd8], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push 0x100ce118
lea ecx, [ebp - 0x58]
add edi, 0x1d4
call fcn.10038590
push str.fov_size
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x71
call fcn.10027400
push str.arrow_size
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x72
call fcn.10027400
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x73
lea ecx, [esi + 0x20c]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [esi + 0x23d], 1
push eax
lea ecx, [esi + 0x25c]
call fcn.10038610
xor eax, eax
cmp byte [esi + 0x23d], al
mov ecx, 0xf
cmovne eax, ecx
lea ecx, [esi + 0x274]
mov dword [esi + 0x28c], eax
add eax, 7
mov dword [esi + 0x1e4], eax
mov dword [esi + 0x1e8], eax
lea eax, [ebp - 0x58]
mov dword [esi + 0x248], 0x41a00000
mov dword [esi + 0x24c], 0x43480000
mov dword [esi + 0x244], 0x42c80000
mov dword [esi + 0x258], 0
push eax
mov dword [esi + 0x250], 0x3f800000
call fcn.1007d830
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bde0
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
mov dword [esi + 0x1ec], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x1d8], 0x111
mov dword [esi + 0x1e0], 0xe0
mov eax, dword [esi + 0x30]
mov dword [esi + 0x1f0], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.1007d520
push 0x100ce118
lea ecx, [ebp - 0x58]
lea edi, [esi + 0x290]
call fcn.10038590
push str.fov_dist
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x74
call fcn.10027400
push str.arrow_distance
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x75
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x76
push eax
lea ecx, [esi + 0x2c8]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [esi + 0x2f9], 1
push eax
lea ecx, [esi + 0x318]
call fcn.10038610
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x2f9], al
cmovne eax, ecx
mov dword [esi + 0x348], eax
add eax, 7
mov dword [esi + 0x2a0], eax
mov dword [esi + 0x2a4], eax
mov dword [esi + 0x304], 0x41a00000
mov dword [esi + 0x308], 0x43480000
mov dword [esi + 0x300], 0x43480000
mov dword [esi + 0x314], 0
mov dword [esi + 0x30c], 0x3f800000
lea eax, [ebp - 0x58]
push eax
lea ecx, [esi + 0x330]
call fcn.1007d830
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bde0
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
mov dword [esi + 0x2a8], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x294], 0x111
mov dword [esi + 0x29c], 0xe0
mov eax, dword [esi + 0x30]
mov dword [esi + 0x2ac], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.1007d520
lea edi, [esi + 0x144]
mov esi, dword [0x100cb794]
push str.fov_color
lea ecx, [ebp - 0x3c]
call fcn.10027400
push str.offscreen_esp_color
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x77
call fcn.10027400
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x70]
push eax
add ecx, 0x1b4
mov byte [ebp - 4], 0x78
call fcn.10038610
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ecx + 0x17c]
call fcn.10038610
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x70]
mov dword [eax + 0x1cc], esi
mov dword [eax + 0x1d0], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bde0
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be50
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x24]
mov dword [edi + 0x15c], 1
lea esi, [edi + 0x18]
mov dword [edi + 0x148], 0x111
mov dword [edi + 0x150], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x160], eax
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.1007d520
push str.visible
lea ecx, [ebp - 0x5b0]
call fcn.10027400
push str.invisible
lea ecx, [ebp - 0x598]
mov dword [ebp - 4], 0x79
call fcn.10027400
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 4], 0x7a
push ecx
lea eax, [ebp - 0x580]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.1007d550
push 0x100ceea0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x7b
call fcn.10027400
push str.chams_friendly
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x7c
call fcn.10027400
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [edi + 0x1cf8]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x1d29], 1
push eax
lea ecx, [edi + 0x1d30]
call fcn.10038610
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1d29], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x90]
mov dword [edi + 0x1d64], eax
add eax, 0x14
mov dword [edi + 0x1cd0], eax
mov dword [edi + 0x1cd4], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x100607cd
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x1d48]
mov edi, eax
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x100607b7
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x50]
call fcn.10026a30
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x94]
call fcn.1004b920
push fcn.100273b0
push 2
push 0x18
lea eax, [ebp - 0x5b0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be80
lea ecx, [edi + 0x1d18]
push eax
call fcn.1007d520
mov dword [edi + 0x1cd8], 1
lea eax, [edi + 0x1cc0]
mov dword [edi + 0x1cc4], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1ccc], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1cdc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.material
lea ecx, [ebp - 0x4d8]
call fcn.10027400
push str.flat
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0x7f
call fcn.10027400
push str.metallic
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0x80
call fcn.10027400
push str.shaded
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0x81
call fcn.10027400
push str.glow
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0x82
call fcn.10027400
push str.outline_glow
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0x83
call fcn.10027400
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 4], 0x84
push ecx
lea eax, [ebp - 0x448]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
push str.chams_friendly_mat
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x85
call fcn.10027400
push str.chams_friendly_material
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x86
call fcn.10027400
mov byte [ebp - 4], 0x87
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1da0]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x1dd1], 1
push eax
lea ecx, [edi + 0x1dd8]
call fcn.10038610
mov edx, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x1dd1], al
mov ecx, 0xf
mov dword [ebp - 0x20], edx
cmovne eax, ecx
lea ecx, [edi + 0x1df0]
mov dword [edi + 0x1e04], eax
add eax, 0x14
mov dword [edi + 0x1d78], eax
mov dword [edi + 0x1d7c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x10060999
mov esi, eax
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10060980
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.1002c710
test eax, eax
je 0x100609ac
mov dword [edi + 0x1e00], 0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 6
push 0x18
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be80
lea ecx, [edi + 0x1dc0]
push eax
call fcn.1007d520
mov dword [edi + 0x1d80], 1
lea eax, [edi + 0x1d68]
mov dword [edi + 0x1d6c], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1d74], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1d84], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.chams_friendly_vis
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1e08]
call fcn.10027400
push str.color_visible
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x88
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x89
push eax
lea ecx, [edi + 0x1e78]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1e40]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x1e90], eax
mov dword [edi + 0x1e94], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be80
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1e20], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1e0c], 0x111
mov dword [edi + 0x1e14], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1e24], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_friendly_invis
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1e98]
call fcn.10027400
push str.color_invisible
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x8a
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0x1f08]
mov dword [ebp - 0x1c], 0xff0032ff
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1ed0]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x1f20], eax
mov dword [edi + 0x1f24], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be80
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1eb0], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1e9c], 0x111
mov dword [edi + 0x1ea4], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1eb4], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push 0x100ce0d4
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1f28]
call fcn.10038590
push str.chams_friendly_blend
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x8c
call fcn.10027400
push 0x100cc9d4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x8d
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [edi + 0x1f60]
call fcn.10038610
mov byte [edi + 0x1f91], 0
lea eax, [ebp - 0x3c]
mov dword [edi + 0x1fe0], 0
lea ecx, [edi + 0x1fc8]
mov dword [edi + 0x1f38], 7
mov dword [edi + 0x1f3c], 7
mov dword [edi + 0x1f9c], 0x41200000
mov dword [edi + 0x1fa0], 0x42c80000
mov dword [edi + 0x1f98], 0x42c80000
mov dword [edi + 0x1fac], 0
push eax
mov dword [edi + 0x1fa4], 0x3f800000
call fcn.1007d830
lea ecx, [ebp - 0x58]
call fcn.100273b0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be80
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [ebp - 0x18], esi
mov dword [edi + 0x1f40], 1
mov dword [edi + 0x1f2c], 0x111
lea ecx, [edi + 0x18]
mov dword [edi + 0x1f34], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1f44], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push 0x100ceed8
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1a4c]
call fcn.10027400
push str.chams_history
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x8f
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x90
push eax
lea ecx, [edi + 0x1a84]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x1ab5], 1
push eax
lea ecx, [edi + 0x1abc]
call fcn.10038610
lea ecx, [ebp - 0x70]
mov byte [edi + 0x1ab8], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be90
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1a64], 1
mov dword [edi + 0x1a50], 0x111
mov dword [edi + 0x1a58], 0xe0
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1a68], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.material
lea ecx, [ebp - 0x580]
call fcn.10027400
push str.flat
lea ecx, [ebp - 0x568]
mov dword [ebp - 4], 0x91
call fcn.10027400
push str.metallic
lea ecx, [ebp - 0x550]
mov byte [ebp - 4], 0x92
call fcn.10027400
push str.shaded
lea ecx, [ebp - 0x538]
mov byte [ebp - 4], 0x93
call fcn.10027400
push str.glow
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 0x94
call fcn.10027400
push str.outline_glow
lea ecx, [ebp - 0x508]
mov byte [ebp - 4], 0x95
call fcn.10027400
mov dword [ebp - 4], 0x96
lea ecx, [ebp - 0x580]
push ecx
lea eax, [ebp - 0x4f0]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
push str.chams_enemy_history_mat
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x97
call fcn.10027400
push str.chams_history_material
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x98
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x99
push eax
lea ecx, [edi + 0x1b0c]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x1b3d], 1
push eax
lea ecx, [edi + 0x1b44]
call fcn.10038610
mov edx, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x1b3d], al
mov ecx, 0xf
mov dword [ebp - 0x20], edx
cmovne eax, ecx
lea ecx, [edi + 0x1b5c]
mov dword [edi + 0x1b70], eax
add eax, 0x14
mov dword [edi + 0x1ae4], eax
mov dword [edi + 0x1ae8], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x10060ec1
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10060ea8
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.1002c710
test eax, eax
je 0x10060ed4
mov dword [edi + 0x1b6c], 0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 6
push 0x18
lea eax, [ebp - 0x580]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be90
lea ecx, [edi + 0x1b2c]
push eax
call fcn.1007d520
mov dword [edi + 0x1aec], 1
lea eax, [edi + 0x1ad4]
mov dword [edi + 0x1ad8], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1ae0], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1af0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.chams_history_col
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1b74]
call fcn.10027400
push str.color
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x9a
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x9b
push eax
lea ecx, [edi + 0x1be4]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1bac]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x1bfc], eax
mov dword [edi + 0x1c00], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be90
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1b8c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1b78], 0x111
mov dword [edi + 0x1b80], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1b90], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push 0x100ce0d4
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1c04]
call fcn.10038590
push str.chams_history_blend
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x9c
call fcn.10027400
push 0x100cc9d4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x9d
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x9e
push eax
lea ecx, [edi + 0x1c3c]
call fcn.10038610
mov byte [edi + 0x1c6d], 0
lea eax, [ebp - 0x3c]
mov dword [edi + 0x1cbc], 0
lea ecx, [edi + 0x1ca4]
mov dword [edi + 0x1c14], 7
mov dword [edi + 0x1c18], 7
mov dword [edi + 0x1c78], 0x41200000
mov dword [edi + 0x1c7c], 0x42c80000
mov dword [edi + 0x1c74], 0x42c80000
mov dword [edi + 0x1c88], 0
push eax
mov dword [edi + 0x1c80], 0x3f800000
call fcn.1007d830
lea ecx, [ebp - 0x58]
call fcn.100273b0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002be90
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1c1c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1c08], 0x111
mov dword [edi + 0x1c10], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x1c20], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_fake
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x1fe4]
call fcn.10027400
push str.fake_chams
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0x9f
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xa0
push eax
lea ecx, [edi + 0x201c]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x204d], 1
push eax
lea ecx, [edi + 0x2054]
call fcn.10038610
lea ecx, [ebp - 0x70]
mov byte [edi + 0x2050], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bea0
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x1ffc], 1
mov dword [edi + 0x1fe8], 0x111
mov dword [ebp - 0x18], esi
mov dword [edi + 0x1ff0], 0xe0
mov eax, dword [edi + 0x30]
lea esi, [edi + 0x18]
mov dword [edi + 0x2000], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.material
lea ecx, [ebp - 0x4d8]
call fcn.10027400
push str.flat
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0xa1
call fcn.10027400
push str.metallic
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 4], 0xa2
call fcn.10027400
push str.shaded
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0xa3
call fcn.10027400
push str.glow
lea ecx, [ebp - 0x478]
mov byte [ebp - 4], 0xa4
call fcn.10027400
push str.outline_glow
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], 0xa5
call fcn.10027400
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 4], 0xa6
push ecx
lea eax, [ebp - 0x448]
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1007d550
push str.chams_fake_mat
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa7
call fcn.10027400
push str.chams_material
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xa8
call fcn.10027400
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xa9
push eax
lea ecx, [edi + 0x20a4]
call fcn.10038610
lea eax, [ebp - 0x70]
mov byte [edi + 0x20d5], 1
push eax
lea ecx, [edi + 0x20dc]
call fcn.10038610
mov edx, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x20d5], al
mov ecx, 0xf
mov dword [ebp - 0x20], edx
cmovne eax, ecx
lea ecx, [edi + 0x20f4]
mov dword [edi + 0x2108], eax
add eax, 0x14
mov dword [edi + 0x207c], eax
mov dword [edi + 0x2080], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x10061329
mov esi, eax
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.1004b610
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10061310
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.1002c710
test eax, eax
je 0x1006133c
mov dword [edi + 0x2104], 0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
call fcn.100273b0
lea ecx, [ebp - 0x4c]
call fcn.1004b920
push fcn.100273b0
push 6
push 0x18
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bb890
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bea0
lea ecx, [edi + 0x20c4]
push eax
call fcn.1007d520
mov dword [edi + 0x2084], 1
lea eax, [edi + 0x206c]
mov dword [edi + 0x2070], 0x111
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x2078], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x2088], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push str.chams_fake_col
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x210c]
call fcn.10027400
push str.color
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xaa
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xab
push eax
lea ecx, [edi + 0x217c]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x2144]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [edi + 0x2194], eax
mov dword [edi + 0x2198], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bea0
lea ecx, [esi + 0x58]
push eax
call fcn.1007d520
mov dword [edi + 0x2124], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x2110], 0x111
mov dword [edi + 0x2118], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x2128], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
push str.chams_fake_glow_col
lea ecx, [ebp - 0x3c]
add edi, 0x219c
call fcn.10027400
push str.glow_color
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xac
call fcn.10027400
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xad
push eax
mov dword [ebp - 0x1c], 0xff00c8ff
lea ecx, [esi + 0x220c]
call fcn.10038610
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 0x21d4]
call fcn.10038610
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
mov dword [esi + 0x2224], eax
mov dword [esi + 0x2228], 0
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100273b0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bea0
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002beb0
push eax
lea ecx, [edi + 0x58]
call fcn.1007d520
mov dword [ebp - 0x18], edi
mov edi, esi
mov dword [edi + 0x21b4], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x21a0], 0x111
mov dword [edi + 0x21a8], 0xe0
mov eax, dword [edi + 0x30]
mov dword [edi + 0x21b8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.1007d520
push 0x100ce0d4
lea ecx, [ebp - 0x3c]
lea esi, [edi + 0x222c]
call fcn.10038590
push str.chams_fake_blend
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xae
call fcn.10027400
push 0x100cc9d4
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xaf
call fcn.10027400
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xb0
push eax
lea ecx, [edi + 0x2264]
call fcn.10038610
mov byte [edi + 0x2295], 0
lea eax, [ebp - 0x3c]
mov dword [edi + 0x22e4], 0
lea ecx, [edi + 0x22cc]
mov dword [edi + 0x223c], 7
mov dword [edi + 0x2240], 7
mov dword [edi + 0x22a0], 0x41200000
mov dword [edi + 0x22a4], 0x42c80000
mov dword [edi + 0x229c], 0x42c80000
mov dword [edi + 0x22b0], 0
push eax
mov dword [edi + 0x22a8], 0x3f800000
call fcn.1007d830
lea ecx, [ebp - 0x58]
call fcn.100273b0
lea ecx, [ebp - 0x70]
call fcn.100273b0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.100389d0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1002bea0
push eax
lea ecx, [edi + 0x2284]
call fcn.1007d520
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0x111
mov dword [esi + 0xc], 0xe0
mov eax, dword [edi + 0x30]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.1007d520
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.100bb796
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret