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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009d6f9
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x430
mov eax, dword [0x100b3380]
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 - 0x7c], edi
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x2f8], 0
push str.players
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x2f4], 0
movups xmmword [ebp - 0x308], xmm0
call fcn.1001f110
lea eax, [ebp - 0x308]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1004c363
cmp dword [ebp - 0x2f4], 0xf
mov ecx, edi
push dword [ebp - 0x2f8]
cmova eax, dword [ebp - 0x308]
push eax
call fcn.1001e8e0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 0xf
jbe 0x1004c3a4
mov edx, dword [ebp - 0x308]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c39a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.enemy
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1001f110
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x60]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
push str.friendly
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
call fcn.1001f110
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 2
push ecx
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb0]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
push 0x100a5fac
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0x9c], 0
call fcn.1001f110
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x320]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x310], 0
push str.boxes
movups xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0x30c], 0
call fcn.1001f110
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 6
lea eax, [ebp - 0xb0]
cmp ecx, eax
je 0x1004c4bc
cmp dword [ebp - 0x9c], 0xf
push dword [ebp - 0xa0]
cmova eax, dword [ebp - 0xb0]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x320]
cmp ecx, eax
je 0x1004c4ed
cmp dword [ebp - 0x30c], 0xf
push dword [ebp - 0x310]
cmova eax, dword [ebp - 0x320]
push eax
call fcn.1001e8e0
mov esi, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x99], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd4], eax
add eax, 0x14
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1004c553
lea ecx, [edi + 0xb8]
nop
mov eax, dword [edi + 0xbc]
push esi
cmp eax, dword [edi + 0xc0]
je 0x1004c53f
mov ecx, eax
call fcn.10023860
add dword [edi + 0xbc], 0x18
jmp 0x1004c545
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0xb8]
cmp esi, dword [ebp - 0x18]
jne 0x1004c520
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x30c]
cmp ecx, 0xf
jbe 0x1004c58d
mov edx, dword [ebp - 0x320]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c583
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c5bd
push ecx
push edx
call fcn.10096b77
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0xf
jbe 0x1004c5cd
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c5c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004c5c3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 2
push 0x18
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x48], 0
lea ecx, [edi + 0x30]
mov dword [edi + 0x34], 0x14
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [edi + 0x20]
je 0x1004c61f
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004c62c
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001f890
push 9
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
push str.box_enemy
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xcc], 0
movups xmmword [ebp - 0xe0], xmm0
call fcn.1001f110
mov dword [ebp - 4], 7
lea ecx, [ebp - 0xc8]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
push str.box_enemy_color
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb4], 0
call fcn.1001f110
lea ecx, [edi + 0x148]
mov byte [ebp - 4], 8
lea eax, [ebp - 0xc8]
cmp ecx, eax
je 0x1004c6c1
cmp dword [ebp - 0xb4], 0xf
push dword [ebp - 0xb8]
cmova eax, dword [ebp - 0xc8]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x110]
lea eax, [ebp - 0xe0]
cmp ecx, eax
je 0x1004c6eb
cmp dword [ebp - 0xcc], 0xf
push dword [ebp - 0xd0]
cmova eax, dword [ebp - 0xe0]
push eax
call fcn.1001e8e0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0xb4]
mov dword [edi + 0x160], 0xa5ffffff
mov dword [edi + 0x178], 0
cmp ecx, 0xf
jbe 0x1004c73d
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c733
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x1004c77e
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c774
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov eax, dword [edi + 0x134]
lea ecx, [edi + 0x130]
mov dword [ebp - 0x18], 0x10022ba0
cmp eax, dword [ecx + 8]
je 0x1004c7a2
mov dword [eax], 0x10022ba0
add dword [ecx + 4], 4
jmp 0x1004c7ac
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.1001f890
mov dword [edi + 0xf0], 0
lea ecx, [edi + 0xd8]
mov dword [edi + 0xdc], 0x14
mov dword [edi + 0xe4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf4], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [edi + 0x20]
je 0x1004c7ec
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004c7f9
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001f890
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x100], 0
push str.box_friendly
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xfc], 0
movups xmmword [ebp - 0x110], xmm0
call fcn.1001f110
mov dword [ebp - 4], 9
lea ecx, [ebp - 0xf8]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
push str.box_friendly_color
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0
call fcn.1001f110
lea ecx, [edi + 0x204]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x18], 0xa53cc896
cmp ecx, eax
je 0x1004c895
cmp dword [ebp - 0xe4], 0xf
push dword [ebp - 0xe8]
cmova eax, dword [ebp - 0xf8]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x1cc]
lea eax, [ebp - 0x110]
cmp ecx, eax
je 0x1004c8bf
cmp dword [ebp - 0xfc], 0xf
push dword [ebp - 0x100]
cmova eax, dword [ebp - 0x110]
push eax
call fcn.1001e8e0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xe4]
mov dword [edi + 0x21c], eax
mov dword [edi + 0x234], 0
cmp ecx, 0xf
jbe 0x1004c910
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c906
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0xf
jbe 0x1004c951
mov edx, dword [ebp - 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004c947
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov eax, dword [edi + 0x1f0]
lea ecx, [edi + 0x1ec]
mov dword [ebp - 0x18], 0x10022bc0
cmp eax, dword [ecx + 8]
je 0x1004c975
mov dword [eax], 0x10022bc0
add dword [ecx + 4], 4
jmp 0x1004c97f
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.1001f890
mov dword [edi + 0x1ac], 0
lea ecx, [edi + 0x194]
mov dword [edi + 0x198], 0x14
mov dword [edi + 0x1a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1b0], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [edi + 0x20]
je 0x1004c9bf
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004c9cc
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001f890
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x130], 0
push str.old_font
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x12c], 0
movups xmmword [ebp - 0x140], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x128]
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
push str.old_esp_font
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x114], 0
call fcn.1001f110
lea ecx, [edi + 0x288]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x140]
cmp ecx, eax
je 0x1004ca61
cmp dword [ebp - 0x12c], 0xf
push dword [ebp - 0x130]
cmova eax, dword [ebp - 0x140]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x2c0]
mov byte [edi + 0x2b9], 1
lea eax, [ebp - 0x128]
cmp ecx, eax
je 0x1004ca92
cmp dword [ebp - 0x114], 0xf
push dword [ebp - 0x118]
cmova eax, dword [ebp - 0x128]
push eax
call fcn.1001e8e0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x114]
mov byte [edi + 0x2bc], 0
cmp ecx, 0xf
jbe 0x1004cad7
mov edx, dword [ebp - 0x128]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cacd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x12c]
cmp ecx, 0xf
jbe 0x1004cb18
mov edx, dword [ebp - 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cb0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [edi + 0x268], 0
lea ecx, [edi + 0x250]
mov dword [edi + 0x254], 0x14
mov dword [edi + 0x25c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x26c], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [edi + 0x20]
je 0x1004cb58
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004cb65
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001f890
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x160], 0
push str.dormant
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x15c], 0
movups xmmword [ebp - 0x170], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x158]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x148], 0
push str.dormant_enemies
movups xmmword [ebp - 0x158], xmm0
mov dword [ebp - 0x144], 0
call fcn.1001f110
lea ecx, [edi + 0x310]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x170]
cmp ecx, eax
je 0x1004cbfa
cmp dword [ebp - 0x15c], 0xf
push dword [ebp - 0x160]
cmova eax, dword [ebp - 0x170]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x348]
mov byte [edi + 0x341], 1
lea eax, [ebp - 0x158]
cmp ecx, eax
je 0x1004cc2b
cmp dword [ebp - 0x144], 0xf
push dword [ebp - 0x148]
cmova eax, dword [ebp - 0x158]
push eax
call fcn.1001e8e0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x144]
mov byte [edi + 0x344], 0
cmp ecx, 0xf
jbe 0x1004cc70
mov edx, dword [ebp - 0x158]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cc66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x1004ccb1
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cca7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [edi + 0x2f0], 0
lea ecx, [edi + 0x2d8]
mov dword [edi + 0x2dc], 0x14
mov dword [edi + 0x2e4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2f4], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [edi + 0x20]
je 0x1004ccf1
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004ccfe
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001f890
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x190], 0
push str.offscreen
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x18c], 0
movups xmmword [ebp - 0x1a0], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x188]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x178], 0
push str.enemy_offscreen_esp
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x174], 0
call fcn.1001f110
lea ecx, [edi + 0x398]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x1a0]
cmp ecx, eax
je 0x1004cd93
cmp dword [ebp - 0x18c], 0xf
push dword [ebp - 0x190]
cmova eax, dword [ebp - 0x1a0]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x3d0]
mov byte [edi + 0x3c9], 1
lea eax, [ebp - 0x188]
cmp ecx, eax
je 0x1004cdc4
cmp dword [ebp - 0x174], 0xf
push dword [ebp - 0x178]
cmova eax, dword [ebp - 0x188]
push eax
call fcn.1001e8e0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x174]
mov byte [edi + 0x3cc], 0
cmp ecx, 0xf
jbe 0x1004ce09
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cdff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18c]
cmp ecx, 0xf
jbe 0x1004ce4a
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ce40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [edi + 0x378], 0
lea ecx, [edi + 0x360]
mov dword [edi + 0x364], 0x14
mov dword [edi + 0x36c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x37c], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], ecx
cmp eax, dword [edi + 0x20]
je 0x1004ce8a
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004ce97
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001f890
mov esi, dword [0x100a4664]
lea ecx, [ebp - 0x1d0]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x1c0], 0
push str.offscreen_color
movups xmmword [ebp - 0x1d0], xmm0
mov dword [ebp - 0x1bc], 0
call fcn.1001f110
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x1b8]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x1a8], 0
push str.offscreen_esp_color
movups xmmword [ebp - 0x1b8], xmm0
mov dword [ebp - 0x1a4], 0
call fcn.1001f110
lea ecx, [edi + 0x458]
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x1b8]
cmp ecx, eax
je 0x1004cf32
cmp dword [ebp - 0x1a4], 0xf
push dword [ebp - 0x1a8]
cmova eax, dword [ebp - 0x1b8]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x420]
lea eax, [ebp - 0x1d0]
cmp ecx, eax
je 0x1004cf5c
cmp dword [ebp - 0x1bc], 0xf
push dword [ebp - 0x1c0]
cmova eax, dword [ebp - 0x1d0]
push eax
call fcn.1001e8e0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1a4]
mov dword [edi + 0x470], esi
mov dword [edi + 0x488], 0
cmp ecx, 0xf
jbe 0x1004cfaa
mov edx, dword [ebp - 0x1b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cfa0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1bc]
cmp ecx, 0xf
jbe 0x1004cfeb
mov edx, dword [ebp - 0x1d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004cfe1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov eax, dword [edi + 0x444]
lea ecx, [edi + 0x440]
mov dword [ebp - 0x18], 0x10022be0
cmp eax, dword [ecx + 8]
je 0x1004d00f
mov dword [eax], 0x10022be0
add dword [ecx + 4], 4
jmp 0x1004d019
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.1001f890
mov dword [edi + 0x400], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x3ec], 0x14
lea ecx, [edi + 0x3e8]
mov dword [edi + 0x3f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x404], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x1004d05c
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004d068
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.enemy
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x60]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
push str.friendly
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
call fcn.1001f110
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x14
push ecx
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x200]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
push str.name
movups xmmword [ebp - 0x200], xmm0
mov dword [ebp - 0x1ec], 0
call fcn.1001f110
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1e8]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x1d8], 0
push str.name
movups xmmword [ebp - 0x1e8], xmm0
mov dword [ebp - 0x1d4], 0
call fcn.1001f110
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea ecx, [edi + 0x4dc]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x200]
cmp ecx, eax
je 0x1004d183
cmp dword [ebp - 0x1ec], 0xf
push dword [ebp - 0x1f0]
cmova eax, dword [ebp - 0x200]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x514]
mov byte [edi + 0x50d], 1
lea eax, [ebp - 0x1e8]
cmp ecx, eax
je 0x1004d1b4
cmp dword [ebp - 0x1d4], 0xf
push dword [ebp - 0x1d8]
cmova eax, dword [ebp - 0x1e8]
push eax
call fcn.1001e8e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x50d], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0x548], eax
add eax, 0x14
mov dword [edi + 0x4b4], eax
mov dword [edi + 0x4b8], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x1004d226
lea ecx, [edi + 0x52c]
mov esi, eax
nop
mov eax, dword [edi + 0x530]
push esi
cmp eax, dword [edi + 0x534]
je 0x1004d20f
mov ecx, eax
call fcn.10023860
add dword [edi + 0x530], 0x18
jmp 0x1004d215
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0x52c]
cmp esi, dword [ebp - 0x20]
jne 0x1004d1f0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x1d4]
cmp ecx, 0xf
jbe 0x1004d260
mov edx, dword [ebp - 0x1e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004d256
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d290
push ecx
push edx
call fcn.10096b77
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x1004d2a0
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004d296
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004d296
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 2
push 0x18
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x4bc], 0
lea ecx, [edi + 0x4a4]
mov dword [edi + 0x4a8], 0x14
mov dword [edi + 0x4b0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c0], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1004d301
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004d30d
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
push str.name_color
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0
movups xmmword [ebp - 0x230], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x218]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x208], 0
push 0x100a6084
movups xmmword [ebp - 0x218], xmm0
mov dword [ebp - 0x204], 0
call fcn.1001f110
lea ecx, [edi + 0x5bc]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x218]
mov dword [ebp - 0x18], 0xb4ffffff
cmp ecx, eax
je 0x1004d3a9
cmp dword [ebp - 0x204], 0xf
push dword [ebp - 0x208]
cmova eax, dword [ebp - 0x218]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x584]
lea eax, [ebp - 0x230]
cmp ecx, eax
je 0x1004d3d3
cmp dword [ebp - 0x21c], 0xf
push dword [ebp - 0x220]
cmova eax, dword [ebp - 0x230]
push eax
call fcn.1001e8e0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x204]
mov dword [edi + 0x5d4], eax
mov dword [edi + 0x5ec], 0
cmp ecx, 0xf
jbe 0x1004d420
mov edx, dword [ebp - 0x218]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004d416
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d453
push ecx
push edx
call fcn.10096b77
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0xf
jbe 0x1004d463
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004d459
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004d459
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
mov eax, dword [edi + 0x5a8]
lea ecx, [edi + 0x5a4]
mov dword [ebp - 0x20], 0x10022bf0
cmp eax, dword [ecx + 8]
je 0x1004d487
mov dword [eax], 0x10022bf0
add dword [ecx + 4], 4
jmp 0x1004d491
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.1001f890
mov dword [edi + 0x564], 0
lea ecx, [edi + 0x54c]
mov dword [edi + 0x550], 0x14
mov dword [edi + 0x558], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x568], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1004d4d1
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004d4dd
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.enemy
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x60]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
push str.friendly
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
call fcn.1001f110
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x1c
push ecx
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x260]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
push str.health
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x24c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x248]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x238], 0
push str.health
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x234], 0
call fcn.1001f110
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea ecx, [edi + 0x640]
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x260]
cmp ecx, eax
je 0x1004d5f8
cmp dword [ebp - 0x24c], 0xf
push dword [ebp - 0x250]
cmova eax, dword [ebp - 0x260]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x678]
mov byte [edi + 0x671], 1
lea eax, [ebp - 0x248]
cmp ecx, eax
je 0x1004d629
cmp dword [ebp - 0x234], 0xf
push dword [ebp - 0x238]
cmova eax, dword [ebp - 0x248]
push eax
call fcn.1001e8e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x671], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0x6ac], eax
add eax, 0x14
mov dword [edi + 0x618], eax
mov dword [edi + 0x61c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1004d699
lea ecx, [edi + 0x690]
mov esi, eax
mov eax, dword [edi + 0x694]
push esi
cmp eax, dword [edi + 0x698]
je 0x1004d682
mov ecx, eax
call fcn.10023860
add dword [edi + 0x694], 0x18
jmp 0x1004d688
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0x690]
cmp esi, dword [ebp - 0x18]
jne 0x1004d663
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x234]
cmp ecx, 0xf
jbe 0x1004d6d3
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004d6c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004d703
push ecx
push edx
call fcn.10096b77
add esp, 8
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0xf
jbe 0x1004d713
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004d709
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004d709
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 2
push 0x18
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x620], 0
lea ecx, [edi + 0x608]
mov dword [edi + 0x60c], 0x14
mov dword [edi + 0x614], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x624], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1004d774
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004d780
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x418], 0
push str.money
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x414], 0
movups xmmword [ebp - 0x428], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x410]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x400], 0
push str.armor
movups xmmword [ebp - 0x410], xmm0
mov dword [ebp - 0x3fc], 0
call fcn.1001f110
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x3f8]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x3e8], 0
push str.scoped
movups xmmword [ebp - 0x3f8], xmm0
mov dword [ebp - 0x3e4], 0
call fcn.1001f110
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3e0]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x3d0], 0
push str.flashed
movups xmmword [ebp - 0x3e0], xmm0
mov dword [ebp - 0x3cc], 0
call fcn.1001f110
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x3c8]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x3b8], 0
push str.reloading
movups xmmword [ebp - 0x3c8], xmm0
mov dword [ebp - 0x3b4], 0
call fcn.1001f110
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x3b0]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x3a0], 0
push str.bomb
movups xmmword [ebp - 0x3b0], xmm0
mov dword [ebp - 0x39c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x398]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x388], 0
push str.resolver
movups xmmword [ebp - 0x398], xmm0
mov dword [ebp - 0x384], 0
call fcn.1001f110
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x380]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x370], 0
push str.fake
movups xmmword [ebp - 0x380], xmm0
mov dword [ebp - 0x36c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x28
xorps xmm0, xmm0
push 2
push 0x100a60e8
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x358], 0
movups xmmword [ebp - 0x368], xmm0
mov dword [ebp - 0x354], 0
call fcn.1001f110
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x350]
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x340], 0
push 0x100a60e4
movups xmmword [ebp - 0x350], xmm0
mov dword [ebp - 0x33c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x338]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x328], 0
push str.exploits
movups xmmword [ebp - 0x338], xmm0
mov dword [ebp - 0x324], 0
call fcn.1001f110
lea ecx, [ebp - 0x428]
mov dword [ebp - 4], 0x2b
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x290]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x280], 0
push 0x100a60ec
movups xmmword [ebp - 0x290], xmm0
mov dword [ebp - 0x27c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x278]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x268], 0
push str.flags_enemy
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x264], 0
call fcn.1001f110
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea ecx, [edi + 0x6e8]
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x290]
cmp ecx, eax
je 0x1004da8d
cmp dword [ebp - 0x27c], 0xf
push dword [ebp - 0x280]
cmova eax, dword [ebp - 0x290]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x720]
mov byte [edi + 0x719], 1
lea eax, [ebp - 0x278]
cmp ecx, eax
je 0x1004dabe
cmp dword [ebp - 0x264], 0xf
push dword [ebp - 0x268]
cmova eax, dword [ebp - 0x278]
push eax
call fcn.1001e8e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x719], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0x754], eax
add eax, 0x14
mov dword [edi + 0x6c0], eax
mov dword [edi + 0x6c4], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1004db36
lea ecx, [edi + 0x738]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0x73c]
push esi
cmp eax, dword [edi + 0x740]
je 0x1004db1f
mov ecx, eax
call fcn.10023860
add dword [edi + 0x73c], 0x18
jmp 0x1004db25
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0x738]
cmp esi, dword [ebp - 0x18]
jne 0x1004db00
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x264]
cmp ecx, 0xf
jbe 0x1004db70
mov edx, dword [ebp - 0x278]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004db66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004dba0
push ecx
push edx
call fcn.10096b77
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x27c]
cmp ecx, 0xf
jbe 0x1004dbb0
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004dba6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004dba6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 0xb
push 0x18
lea eax, [ebp - 0x428]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x6c8], 0
lea ecx, [edi + 0x6b0]
mov dword [edi + 0x6b4], 0x14
mov dword [edi + 0x6bc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6cc], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1004dc14
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004dc20
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x3a0], 0
push str.money
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 0x39c], 0
movups xmmword [ebp - 0x3b0], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x30
lea ecx, [ebp - 0x398]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x388], 0
push str.armor
movups xmmword [ebp - 0x398], xmm0
mov dword [ebp - 0x384], 0
call fcn.1001f110
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x380]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x370], 0
push str.scoped
movups xmmword [ebp - 0x380], xmm0
mov dword [ebp - 0x36c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x368]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x358], 0
push str.flashed
movups xmmword [ebp - 0x368], xmm0
mov dword [ebp - 0x354], 0
call fcn.1001f110
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x350]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x340], 0
push str.reloading
movups xmmword [ebp - 0x350], xmm0
mov dword [ebp - 0x33c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x338]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x328], 0
push str.bomb
movups xmmword [ebp - 0x338], xmm0
mov dword [ebp - 0x324], 0
call fcn.1001f110
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 4], 0x35
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2c0]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x2b0], 0
push 0x100a6104
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2ac], 0
call fcn.1001f110
xorps xmm0, xmm0
mov byte [ebp - 4], 0x37
movups xmmword [ebp - 0x2a8], xmm0
push 0xe
push str.flags_friendly
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0
call fcn.1001f110
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea ecx, [edi + 0x790]
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x2c0]
cmp ecx, eax
je 0x1004de29
cmp dword [ebp - 0x2ac], 0xf
push dword [ebp - 0x2b0]
cmova eax, dword [ebp - 0x2c0]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x7c8]
mov byte [edi + 0x7c1], 1
lea eax, [ebp - 0x2a8]
cmp ecx, eax
je 0x1004de5a
cmp dword [ebp - 0x294], 0xf
push dword [ebp - 0x298]
cmova eax, dword [ebp - 0x2a8]
push eax
call fcn.1001e8e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x7c1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0x7fc], eax
add eax, 0x14
mov dword [edi + 0x768], eax
mov dword [edi + 0x76c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1004ded6
lea ecx, [edi + 0x7e0]
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x7e4]
push esi
cmp eax, dword [edi + 0x7e8]
je 0x1004debf
mov ecx, eax
call fcn.10023860
add dword [edi + 0x7e4], 0x18
jmp 0x1004dec5
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0x7e0]
cmp esi, dword [ebp - 0x18]
jne 0x1004dea0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x294]
cmp ecx, 0xf
jbe 0x1004df10
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004df06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004df40
push ecx
push edx
call fcn.10096b77
add esp, 8
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 0xf
jbe 0x1004df50
mov edx, dword [ebp - 0x2c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004df46
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004df46
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 6
push 0x18
lea eax, [ebp - 0x3b0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x770], 0
lea ecx, [edi + 0x758]
mov dword [edi + 0x75c], 0x14
mov dword [edi + 0x764], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x774], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1004dfb4
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004dfc0
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.enemy
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x60]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
push str.friendly
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
call fcn.1001f110
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x3b
push ecx
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2f0]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x2e0], 0
push str.weapon
movups xmmword [ebp - 0x2f0], xmm0
mov dword [ebp - 0x2dc], 0
call fcn.1001f110
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x2d8]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x2c8], 0
push str.weapon
movups xmmword [ebp - 0x2d8], xmm0
mov dword [ebp - 0x2c4], 0
call fcn.1001f110
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea ecx, [edi + 0x838]
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x2f0]
cmp ecx, eax
je 0x1004e0db
cmp dword [ebp - 0x2dc], 0xf
push dword [ebp - 0x2e0]
cmova eax, dword [ebp - 0x2f0]
push eax
call fcn.1001e8e0
lea ecx, [edi + 0x870]
mov byte [edi + 0x869], 1
lea eax, [ebp - 0x2d8]
cmp ecx, eax
je 0x1004e10c
cmp dword [ebp - 0x2c4], 0xf
push dword [ebp - 0x2c8]
cmova eax, dword [ebp - 0x2d8]
push eax
call fcn.1001e8e0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x869], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0x8a4], eax
add eax, 0x14
mov dword [edi + 0x810], eax
mov dword [edi + 0x814], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1004e186
lea ecx, [edi + 0x888]
mov esi, eax
nop word [eax + eax]
mov eax, dword [edi + 0x88c]
push esi
cmp eax, dword [edi + 0x890]
je 0x1004e16f
mov ecx, eax
call fcn.10023860
add dword [edi + 0x88c], 0x18
jmp 0x1004e175
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0x888]
cmp esi, dword [ebp - 0x18]
jne 0x1004e150
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x2c4]
cmp ecx, 0xf
jbe 0x1004e1c0
mov edx, dword [ebp - 0x2d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004e1b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004e1f0
push ecx
push edx
call fcn.10096b77
add esp, 8
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x2dc]
cmp ecx, 0xf
jbe 0x1004e200
mov edx, dword [ebp - 0x2f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004e1f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004e1f6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10096b77
add esp, 8
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 2
push 0x18
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x818], 0
lea ecx, [edi + 0x800]
mov dword [edi + 0x804], 0x14
mov dword [edi + 0x80c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x81c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x1004e261
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004e26d
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001f890
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0
push str.text
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1001f110
mov dword [ebp - 4], 0x40
lea ecx, [ebp - 0x60]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
push str.icon
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x4c], 0
call fcn.1001f110
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x41
push ecx
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x8c]
call fcn.1006a4e0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x440]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x430], 0
push str.weapon_mode
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0
call fcn.1001f110
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x38]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x100a3d80
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001f110
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
lea ecx, [edi + 0x8e0]
mov byte [ebp - 4], 0x45
lea eax, [ebp - 0x440]
cmp ecx, eax
je 0x1004e376
cmp dword [ebp - 0x42c], 0xf
push dword [ebp - 0x430]
cmova eax, dword [ebp - 0x440]
push eax
call fcn.1001e8e0
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
mov byte [edi + 0x911], 0
mov dword [edi + 0x94c], 0
mov dword [edi + 0x8b8], 0x14
mov dword [edi + 0x8bc], 0x14
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1004e3f6
lea ecx, [edi + 0x930]
mov esi, eax
nop word [eax + eax]
mov eax, dword [edi + 0x934]
push esi
cmp eax, dword [edi + 0x938]
je 0x1004e3df
mov ecx, eax
call fcn.10023860
add dword [edi + 0x934], 0x18
jmp 0x1004e3e5
push eax
call fcn.1003f950
add esi, 0x18
lea ecx, [edi + 0x930]
cmp esi, dword [ebp - 0x18]
jne 0x1004e3c0
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x48]
call fcn.1001da40
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x440]
call fcn.1001e520
lea ecx, [ebp - 0x8c]
call fcn.1003f540
push fcn.1001e520
push 2
push 0x18
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x8c0], 0
lea eax, [edi + 0x8a8]
mov dword [edi + 0x8ac], 0x14
mov ecx, esi
mov dword [ebp - 0x20], eax
mov dword [edi + 0x8b4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x8c4], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10033b50
push str.weapon_color
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x950]
call fcn.1001e570
push 0x100a614c
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x46
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0x9c0]
mov dword [ebp - 0x18], 0xa0ffffff
call fcn.1001e4f0
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x988]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x9d8], eax
mov dword [edi + 0x9f0], 0
call fcn.1001e520
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10022c30
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x968], 0
lea ecx, [edi + 0x18]
mov dword [edi + 0x954], 0x14
mov dword [edi + 0x95c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x96c], eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], esi
call fcn.10033b50
push 0x100a6178
lea ecx, [ebp - 0x98]
lea esi, [edi + 0xa0c]
call fcn.1001e570
push 0x100a6178
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x48
call fcn.1001e570
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0xa44]
call fcn.1001e4f0
lea eax, [ebp - 0x38]
mov byte [edi + 0xa75], 1
push eax
lea ecx, [edi + 0xa7c]
call fcn.1001e4f0
lea ecx, [ebp - 0x38]
mov byte [edi + 0xa78], 0
call fcn.1001e520
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
mov dword [esi + 0x18], 0
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], esi
call fcn.10033b50
push 0x100a616c
lea ecx, [ebp - 0x98]
lea esi, [edi + 0xa94]
call fcn.1001e570
push str.ammo_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x4a
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0xb04]
mov dword [ebp - 0x18], 0xa0c88c50
call fcn.1001e4f0
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0xacc]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0xb1c], eax
mov dword [edi + 0xb34], 0
call fcn.1001e520
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10022c70
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0xaac], 0
mov dword [edi + 0xa98], 0x14
mov dword [edi + 0xaa0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x20], esi
lea esi, [edi + 0x18]
mov dword [edi + 0xab0], eax
mov ecx, esi
lea eax, [ebp - 0x20]
push eax
call fcn.10033b50
push str.enemy
lea ecx, [ebp - 0x368]
call fcn.1001e570
push str.friendly
lea ecx, [ebp - 0x350]
mov dword [ebp - 4], 0x4c
call fcn.1001e570
push str.history
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x4d
call fcn.1001e570
lea ecx, [ebp - 0x368]
mov dword [ebp - 4], 0x4e
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
push str.skeleton
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4f
call fcn.1001e570
push str.skeleton
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x50
call fcn.1001e570
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [edi + 0xb88]
call fcn.1001e4f0
lea eax, [ebp - 0x38]
mov byte [edi + 0xbb9], 1
push eax
lea ecx, [edi + 0xbc0]
call fcn.1001e4f0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xbb9], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0xbf4], eax
add eax, 0x14
mov dword [edi + 0xb60], eax
mov dword [edi + 0xb64], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x1004e7c8
mov esi, dword [ebp - 0x20]
lea eax, [edi + 0xbd8]
mov dword [ebp - 0x1c], eax
mov edi, ecx
nop dword [eax]
push esi
mov ecx, eax
call fcn.1003f290
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x1004e7b0
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x90]
call fcn.1001da40
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 3
push 0x18
lea eax, [ebp - 0x368]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0xb68], 1
lea eax, [edi + 0xb50]
mov dword [edi + 0xb54], 0xff
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0xb5c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xb6c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.skeleton_enemy
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xbf8]
call fcn.1001e570
push str.enemy_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x53
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [edi + 0xc68]
mov dword [ebp - 0x18], 0x64ffffff
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xc30]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0xc80], eax
mov dword [edi + 0xc98], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022c80
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0xc10], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xbfc], 0xff
mov dword [edi + 0xc04], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xc14], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.skeleton_friendly
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xcb4]
call fcn.1001e570
push str.friendly_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x55
call fcn.1001e570
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x18], 0xffffffff
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xd24]
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xcec]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0xd3c], eax
mov dword [edi + 0xd54], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022ca0
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0xccc], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xcb8], 0xff
mov dword [edi + 0xcc0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xcd0], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.skeleton_history
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xd70]
call fcn.1001e570
push str.history_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x57
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x58
push eax
lea ecx, [edi + 0xde0]
mov dword [ebp - 0x18], 0x64ffffff
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xda8]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0xdf8], eax
mov dword [edi + 0xe10], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022cc0
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0xd88], 1
mov dword [edi + 0xd74], 0xff
mov dword [edi + 0xd7c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x18]
mov dword [edi + 0xd8c], eax
mov ecx, esi
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.enemy
lea ecx, [ebp - 0x3b0]
call fcn.1001e570
mov dword [ebp - 4], 0x59
push str.friendly
lea ecx, [ebp - 0x398]
call fcn.1001e570
push 0x100a61f4
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 0x5a
call fcn.1001e570
push str.stencil
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x5b
call fcn.1001e570
push str.stencil_pulse
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x5c
call fcn.1001e570
push str.bloom
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x5d
call fcn.1001e570
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 4], 0x5e
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
push str.glow
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x5f
call fcn.1001e570
push str.glow
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x60
call fcn.1001e570
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [edi + 0xe64]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0xe95], 1
push eax
lea ecx, [edi + 0xe9c]
call fcn.1001e4f0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xe95], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0xed0], eax
add eax, 0x14
mov dword [edi + 0xe3c], eax
mov dword [edi + 0xe40], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x1004ebe8
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0xeb4]
mov dword [ebp - 0x18], eax
mov edi, ecx
nop dword [eax + eax]
push esi
mov ecx, eax
call fcn.1003f290
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x1004ebd0
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x90]
call fcn.1001da40
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 6
push 0x18
lea eax, [ebp - 0x3b0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0xe44], 1
lea eax, [edi + 0xe2c]
mov dword [edi + 0xe30], 0xff
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0xe38], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xe48], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.glow_enemy
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xed4]
call fcn.1001e570
push str.enemy_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x63
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x64
push eax
lea ecx, [edi + 0xf44]
mov dword [ebp - 0x18], 0x8c783cb4
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xf0c]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0xf5c], eax
mov dword [edi + 0xf74], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022ce0
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0xeec], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xed8], 0xff
mov dword [edi + 0xee0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xef0], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.glow_friendly
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xf90]
call fcn.1001e570
push str.friendly_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x65
call fcn.1001e570
mov byte [ebp - 4], 0x66
mov dword [ebp - 0x18], 0xff3cc896
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1000]
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xfc8]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x1018], eax
mov dword [edi + 0x1030], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d00
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0xfa8], 1
mov dword [edi + 0xf94], 0xff
mov dword [edi + 0xf9c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x18]
mov dword [edi + 0xfac], eax
mov ecx, esi
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.visible
lea ecx, [ebp - 0x398]
call fcn.1001e570
push str.invisible
lea ecx, [ebp - 0x380]
mov dword [ebp - 4], 0x67
call fcn.1001e570
push str.history
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x68
call fcn.1001e570
push str.target_hitbox
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x69
call fcn.1001e570
push str.target_capsule
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x6a
call fcn.1001e570
lea ecx, [ebp - 0x398]
mov dword [ebp - 4], 0x6b
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
push str.chams_enemy
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x6c
call fcn.1001e570
push 0x100a6280
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x6d
call fcn.1001e570
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1084]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0x10b5], 1
push eax
lea ecx, [edi + 0x10bc]
call fcn.1001e4f0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x10b5], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi + 0x10f0], eax
add eax, 0x14
mov dword [edi + 0x105c], eax
mov dword [edi + 0x1060], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x1004ef2c
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0x10d4]
mov dword [ebp - 0x18], eax
mov edi, ecx
push esi
mov ecx, eax
call fcn.1003f290
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x1004ef14
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x90]
call fcn.1001da40
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 5
push 0x18
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x1064], 1
lea eax, [edi + 0x104c]
mov dword [edi + 0x1050], 0xff
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1058], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1068], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.default
lea ecx, [ebp - 0x368]
call fcn.1001e570
push str.flat
lea ecx, [ebp - 0x350]
mov dword [ebp - 4], 0x70
call fcn.1001e570
push str.metallic
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x71
call fcn.1001e570
lea ecx, [ebp - 0x368]
mov dword [ebp - 4], 0x72
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x8c]
call fcn.1006a4e0
push str.chams_enemy_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x73
call fcn.1001e570
push str.chams_enemy_mat
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x74
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x112c]
call fcn.1001e4f0
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x8c]
mov byte [edi + 0x115d], 0
mov dword [edi + 0x1190], 0
mov dword [edi + 0x1104], 0x14
mov dword [edi + 0x1108], 0x14
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x1004f095
lea eax, [edi + 0x117c]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
push esi
mov ecx, eax
call fcn.1003f290
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x1004f080
mov edi, dword [ebp - 0x7c]
lea ecx, [edi + 0x117c]
call fcn.10023840
test eax, eax
je 0x1004f0ae
mov dword [edi + 0x118c], 0
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x8c]
call fcn.1003f540
push fcn.1001e520
push 3
push 0x18
lea eax, [ebp - 0x368]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d20
lea ecx, [edi + 0x114c]
push eax
call fcn.10033b50
mov dword [edi + 0x110c], 1
lea eax, [edi + 0x10f4]
mov dword [edi + 0x10f8], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1100], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1110], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.hide_metallic
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1194]
call fcn.1001e570
push str.hide_metallic_options
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x76
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [edi + 0x11cc]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0x11fd], 1
push eax
lea ecx, [edi + 0x1204]
call fcn.1001e4f0
lea ecx, [ebp - 0x60]
mov byte [edi + 0x1200], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d60
push ecx
lea ecx, [edi + 0x1798]
call fcn.10033b50
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push 0x100a58b0
lea ecx, [ebp - 0x98]
add edi, 0x121c
call fcn.1006a7d0
push str.chams_reflectivity
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x78
call fcn.1001e570
mov byte [ebp - 4], 0x79
push str.reflectivity
lea ecx, [ebp - 0x60]
call fcn.1001e570
mov esi, dword [ebp - 0x7c]
lea eax, [ebp - 0x38]
push eax
mov byte [ebp - 4], 0x7a
lea ecx, [esi + 0x1254]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [esi + 0x1285], 1
push eax
lea ecx, [esi + 0x12a4]
call fcn.1001e4f0
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x1285], al
cmovne eax, ecx
lea ecx, [esi + 0x12bc]
mov dword [esi + 0x12d4], eax
add eax, 8
mov dword [esi + 0x122c], eax
mov dword [esi + 0x1230], eax
lea eax, [ebp - 0x98]
mov dword [esi + 0x1290], 0
mov dword [esi + 0x1294], 0x42c80000
mov dword [esi + 0x128c], 0x42480000
mov dword [esi + 0x12a0], 0
push eax
mov dword [esi + 0x1298], 0x3f800000
call fcn.1006a760
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1003f430
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d60
push eax
lea ecx, [edi + 0x58]
call fcn.10033b50
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d80
push eax
lea ecx, [edi + 0x58]
call fcn.10033b50
mov dword [esi + 0x1234], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x1220], 0xff
mov dword [esi + 0x1228], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1238], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], edi
call fcn.10033b50
push 0x100a58b0
lea ecx, [ebp - 0x98]
lea edi, [esi + 0x12d8]
call fcn.1006a7d0
push str.chams_shine
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x7b
call fcn.1001e570
push str.shine
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x7c
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [esi + 0x1310]
call fcn.1001e4f0
mov byte [esi + 0x1341], 1
lea eax, [ebp - 0x60]
push eax
lea ecx, [esi + 0x1360]
call fcn.1001e4f0
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x1341], al
cmovne eax, ecx
lea ecx, [esi + 0x1378]
mov dword [esi + 0x1390], eax
add eax, 8
mov dword [esi + 0x12e8], eax
mov dword [esi + 0x12ec], eax
lea eax, [ebp - 0x98]
mov dword [esi + 0x134c], 0
mov dword [esi + 0x1350], 0x42c80000
mov dword [esi + 0x1348], 0
mov dword [esi + 0x135c], 0
push eax
mov dword [esi + 0x1354], 0x3f800000
call fcn.1006a760
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1003f430
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d60
push eax
lea ecx, [edi + 0x58]
call fcn.10033b50
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d80
push eax
lea ecx, [edi + 0x58]
call fcn.10033b50
mov dword [esi + 0x12f0], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x12dc], 0xff
mov dword [esi + 0x12e4], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x12f4], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], edi
call fcn.10033b50
push 0x100a58b0
lea ecx, [ebp - 0x98]
lea edi, [esi + 0x1394]
call fcn.1006a7d0
push str.chams_rim
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x7e
call fcn.1001e570
push 0x100a61f4
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x7f
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x80
push eax
lea ecx, [esi + 0x13cc]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [esi + 0x13fd], 1
push eax
lea ecx, [esi + 0x141c]
call fcn.1001e4f0
xor eax, eax
mov ecx, 0xf
cmp byte [esi + 0x13fd], al
cmovne eax, ecx
mov dword [esi + 0x144c], eax
add eax, 8
mov dword [esi + 0x13a4], eax
mov dword [esi + 0x13a8], eax
mov dword [esi + 0x1408], 0
mov dword [esi + 0x140c], 0x42c80000
lea eax, [ebp - 0x98]
mov dword [esi + 0x1404], 0
lea ecx, [esi + 0x1434]
mov dword [esi + 0x1418], 0
push eax
mov dword [esi + 0x1410], 0x3f800000
call fcn.1006a760
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.1003f430
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d60
push eax
lea ecx, [edi + 0x58]
call fcn.10033b50
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d80
push eax
lea ecx, [edi + 0x58]
call fcn.10033b50
mov dword [ebp - 0x1c], edi
mov edi, esi
mov dword [edi + 0x13ac], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1398], 0xff
mov dword [edi + 0x13a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x13b0], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.chams_enemy_vis
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1450]
call fcn.1001e570
push str.color_visible
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x81
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x82
push eax
lea ecx, [edi + 0x14c0]
mov dword [ebp - 0x18], 0xff3cc896
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1488]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x14d8], eax
mov dword [edi + 0x14f0], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d90
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x1468], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1454], 0xff
mov dword [edi + 0x145c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x146c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
lea esi, [edi + 0x150c]
push str.chams_enemy_invis
lea ecx, [ebp - 0x38]
call fcn.1001e570
push str.color_invisible
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x83
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [edi + 0x157c]
mov dword [ebp - 0x18], 0xafb4783c
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1544]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x1594], eax
mov dword [edi + 0x15ac], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022db0
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x1524], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1510], 0xff
mov dword [edi + 0x1518], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1528], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.chams_history_col
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x15c8]
call fcn.1001e570
push str.color_history
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x85
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x86
push eax
lea ecx, [edi + 0x1638]
mov dword [ebp - 0x18], 0x32000000
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1600]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x1650], eax
mov dword [edi + 0x1668], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022dd0
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x15e0], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x15cc], 0xff
mov dword [edi + 0x15d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x1c], esi
mov dword [edi + 0x15e4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.capsule_color
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1684]
call fcn.1001e570
push str.color_target
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x87
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x88
push eax
lea ecx, [edi + 0x16f4]
mov dword [ebp - 0x18], 0xaaffffff
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x16bc]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x170c], eax
mov dword [edi + 0x1724], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022df0
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x169c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1688], 0xff
mov dword [edi + 0x1690], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x16a0], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.chams_enemy_reflectivity_color
lea ecx, [ebp - 0x38]
call fcn.1001e570
push str.color_reflectivity
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x89
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x8a
push eax
lea ecx, [edi + 0x17b0]
mov dword [ebp - 0x18], 0xffb4b4b4
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1778]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x17c8], eax
mov dword [edi + 0x17e0], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d60
push eax
lea ecx, [edi + 0x1798]
call fcn.10033b50
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022d80
push eax
lea ecx, [edi + 0x1798]
call fcn.10033b50
mov dword [edi + 0x1758], 1
lea eax, [edi + 0x1740]
mov dword [edi + 0x1744], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x174c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x175c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.visible
lea ecx, [ebp - 0x350]
call fcn.1001e570
push str.invisible
lea ecx, [ebp - 0x338]
mov dword [ebp - 4], 0x8b
call fcn.1001e570
lea ecx, [ebp - 0x350]
mov dword [ebp - 4], 0x8c
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x48]
call fcn.1006a4e0
push str.chams_friendly
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x8d
call fcn.1001e570
push 0x100a63e4
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x8e
call fcn.1001e570
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x90
push eax
lea ecx, [edi + 0x1834]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0x1865], 1
push eax
lea ecx, [edi + 0x186c]
call fcn.1001e4f0
mov esi, dword [ebp - 0x48]
xor eax, eax
cmp byte [edi + 0x1865], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x18a0], eax
add eax, 0x14
mov dword [edi + 0x180c], eax
mov dword [edi + 0x1810], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x1004fab3
lea eax, [edi + 0x1884]
mov edi, eax
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.1003f290
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x1004faa0
mov edi, dword [ebp - 0x7c]
lea ecx, [ebp - 0x90]
call fcn.1001da40
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x48]
call fcn.1003f540
push fcn.1001e520
push 2
push 0x18
lea eax, [ebp - 0x350]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
mov dword [edi + 0x1814], 1
lea eax, [edi + 0x17fc]
mov dword [edi + 0x1800], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1808], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1818], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.chams_friendly_vis
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x18a4]
call fcn.1001e570
push str.color_visible
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x91
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0x1914]
mov dword [ebp - 0x18], 0xff00c8ff
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x18dc]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x192c], eax
mov dword [edi + 0x1944], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022e10
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x18bc], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x18a8], 0xff
mov dword [edi + 0x18b0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x18c0], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.chams_friendly_invis
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1960]
call fcn.1001e570
push str.color_invisible
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x93
call fcn.1001e570
mov byte [ebp - 4], 0x94
mov dword [ebp - 0x18], 0xff0032ff
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x19d0]
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1998]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x19e8], eax
mov dword [edi + 0x1a00], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022e30
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x1978], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1964], 0xff
mov dword [edi + 0x196c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x197c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.chams_local
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1a1c]
call fcn.1001e570
push 0x100a6430
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x95
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x96
push eax
lea ecx, [edi + 0x1a54]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0x1a85], 1
push eax
lea ecx, [edi + 0x1a8c]
call fcn.1001e4f0
lea ecx, [ebp - 0x60]
mov byte [edi + 0x1a88], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.default
lea ecx, [ebp - 0x368]
call fcn.1001e570
push str.flat
lea ecx, [ebp - 0x350]
mov dword [ebp - 4], 0x97
call fcn.1001e570
push str.metallic
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x98
call fcn.1001e570
lea ecx, [ebp - 0x368]
mov dword [ebp - 4], 0x99
push ecx
lea eax, [ebp - 0x320]
push eax
push ecx
lea ecx, [ebp - 0x8c]
call fcn.1006a4e0
push str.chams_local_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x9a
call fcn.1001e570
push 0x100a6448
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x9b
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x9c
push eax
lea ecx, [edi + 0x1adc]
call fcn.1001e4f0
mov eax, dword [ebp - 0x88]
mov esi, dword [ebp - 0x8c]
mov byte [edi + 0x1b0d], 0
mov dword [edi + 0x1b40], 0
mov dword [edi + 0x1ab4], 0x14
mov dword [edi + 0x1ab8], 0x14
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x1004fe36
lea eax, [edi + 0x1b2c]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
push esi
mov ecx, eax
call fcn.1003f290
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x1004fe21
mov edi, dword [ebp - 0x7c]
lea ecx, [edi + 0x1b2c]
call fcn.10023840
test eax, eax
je 0x1004fe4f
mov dword [edi + 0x1b3c], 0
lea ecx, [ebp - 0x38]
call fcn.1001e520
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x8c]
call fcn.1003f540
push fcn.1001e520
push 3
push 0x18
lea eax, [ebp - 0x368]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.10096748
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022e50
lea ecx, [edi + 0x1afc]
push eax
call fcn.10033b50
mov dword [edi + 0x1abc], 1
lea eax, [edi + 0x1aa4]
mov dword [edi + 0x1aa8], 0xff
lea ecx, [edi + 0x18]
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1ab0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1ac0], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10033b50
push str.draw_chams_when_scoped
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1c88]
call fcn.1001e570
push 0x100a646c
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x9d
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x9e
push eax
lea ecx, [edi + 0x1cc0]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0x1cf1], 1
push eax
lea ecx, [edi + 0x1cf8]
call fcn.1001e4f0
lea ecx, [ebp - 0x60]
mov byte [edi + 0x1cf4], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022e50
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x1ca0], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1c8c], 0xff
mov dword [edi + 0x1c94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1ca4], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.chams_local_col
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1b44]
call fcn.1001e570
push str.color_local
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x9f
call fcn.1001e570
mov byte [ebp - 4], 0xa0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x18], 0xffc8ffff
push eax
lea ecx, [edi + 0x1bb4]
call fcn.1001e4f0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1b7c]
call fcn.1001e4f0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x60]
mov dword [edi + 0x1bcc], eax
mov dword [edi + 0x1be4], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022e50
lea ecx, [esi + 0x58]
push eax
call fcn.10033b50
mov dword [edi + 0x1b5c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1b48], 0xff
mov dword [edi + 0x1b50], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1b60], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push str.chams_local_scope
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1c00]
call fcn.1001e570
push str.blend_when_scoped
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xa1
call fcn.1001e570
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xa2
push eax
lea ecx, [edi + 0x1c38]
call fcn.1001e4f0
lea eax, [ebp - 0x60]
mov byte [edi + 0x1c69], 1
push eax
lea ecx, [edi + 0x1c70]
call fcn.1001e4f0
lea ecx, [ebp - 0x60]
mov byte [edi + 0x1c6c], 0
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e520
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
push 0x100a58b0
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x1d10]
call fcn.1006a7d0
push str.chams_local_scope_blend
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xa3
call fcn.1001e570
mov byte [ebp - 4], 0xa4
lea ecx, [ebp - 0x98]
push 0x100a3d80
call fcn.1001e570
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [edi + 0x1d48]
call fcn.1001e4f0
mov byte [edi + 0x1d79], 0
lea eax, [ebp - 0x38]
mov dword [edi + 0x1dc8], 0
lea ecx, [edi + 0x1db0]
mov dword [edi + 0x1d20], 8
mov dword [edi + 0x1d24], 8
mov dword [edi + 0x1d84], 0
mov dword [edi + 0x1d88], 0x42c80000
mov dword [edi + 0x1d80], 0x42340000
mov dword [edi + 0x1d94], 0
push eax
mov dword [edi + 0x1d8c], 0x3f800000
call fcn.1006a760
lea ecx, [ebp - 0x98]
call fcn.1001e520
lea ecx, [ebp - 0x60]
call fcn.1001e520
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1003f430
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10022e60
push eax
lea ecx, [edi + 0x1d68]
call fcn.10033b50
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10033b50
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.100966fc
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret