Function at 0x10046f70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10090144
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x190
mov eax, dword [0x100a5008]
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 - 0x68], 0
push str.players
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x64], 0
movups xmmword [ebp - 0x78], xmm0
call fcn.1001db70
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x10046ffb
cmp dword [ebp - 0x64], 0x10
mov ecx, edi
push dword [ebp - 0x68]
cmovae eax, dword [ebp - 0x78]
push eax
call fcn.1001d500
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x10
jb 0x10047036
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004702c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
push str.enemy
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xac], xmm0
call fcn.1001db70
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x94]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
push str.friendly
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x80], 0
call fcn.1001db70
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 2
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x10098824
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x50]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.boxes
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10047139
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x1004715e
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
mov esi, dword [ebp - 0x60]
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 - 0x5c]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x100471c3
lea ecx, [edi + 0xb8]
mov eax, dword [edi + 0xbc]
push esi
cmp eax, dword [edi + 0xc0]
je 0x100471af
mov ecx, eax
call fcn.100221b0
add dword [edi + 0xbc], 0x18
jmp 0x100471b5
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0xb8]
cmp esi, dword [ebp - 0x18]
jne 0x10047190
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100471f7
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100471ed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047221
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10047231
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047227
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10047227
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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 0x10047286
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x10047293
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e1a0
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.box_enemy
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
call fcn.1001db70
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x38]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.box_enemy_color
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x148]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x38]
mov dword [ebp - 0x18], 0xa5ffffff
cmp ecx, eax
je 0x1004730b
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
lea ecx, [edi + 0x110]
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10047329
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x160], eax
mov dword [edi + 0x178], 0
cmp ecx, 0x10
jb 0x10047374
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004736a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100473af
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100473a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov eax, dword [edi + 0x134]
lea ecx, [edi + 0x130]
mov dword [ebp - 0x18], 0x100214a0
cmp eax, dword [ecx + 8]
je 0x100473d3
mov dword [eax], 0x100214a0
add dword [ecx + 4], 4
jmp 0x100473dd
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.1001e1a0
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 0x1004741d
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004742a
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e1a0
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.box_friendly
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
call fcn.1001db70
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x38]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.box_friendly_color
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x204]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x38]
mov dword [ebp - 0x18], 0xa53cc896
cmp ecx, eax
je 0x100474a2
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
lea ecx, [edi + 0x1cc]
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100474c0
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x21c], eax
mov dword [edi + 0x234], 0
cmp ecx, 0x10
jb 0x1004750b
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047501
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10047546
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004753c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov eax, dword [edi + 0x1f0]
lea ecx, [edi + 0x1ec]
mov dword [ebp - 0x18], 0x100214c0
cmp eax, dword [ecx + 8]
je 0x1004756a
mov dword [eax], 0x100214c0
add dword [ecx + 4], 4
jmp 0x10047574
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.1001e1a0
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 0x100475b4
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x100475c1
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e1a0
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.old_font
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x38]
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.old_esp_font
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x288]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10047632
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x2c0]
mov byte [edi + 0x2b9], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10047657
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x24]
mov byte [edi + 0x2bc], 0
cmp ecx, 0x10
jb 0x10047696
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004768c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100476d1
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100476c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
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 0x10047711
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004771e
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e1a0
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.dormant
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x38]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.dormant_enemies
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x310]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x1004778f
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x348]
mov byte [edi + 0x341], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x100477b4
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x24]
mov byte [edi + 0x344], 0
cmp ecx, 0x10
jb 0x100477f3
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100477e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x1004782e
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047824
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
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 0x1004786e
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004787b
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e1a0
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.offscreen
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x38]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.enemy_offscreen_esp
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x398]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100478ec
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x3d0]
mov byte [edi + 0x3c9], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10047911
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
mov byte [edi + 0x3cc], 0
cmp ecx, 0x10
jb 0x10047950
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047946
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x1004798b
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047981
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
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 0x100479cb
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x100479d8
lea ecx, [ebp - 0x18]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e1a0
mov esi, dword [0x10096e34]
lea ecx, [ebp - 0x50]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.offscreen_color
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x38]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.offscreen_esp_color
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x458]
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10047a4f
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
lea ecx, [edi + 0x420]
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10047a6d
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x470], esi
mov dword [edi + 0x488], 0
cmp ecx, 0x10
jb 0x10047ab5
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047aab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10047af0
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047ae6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov eax, dword [edi + 0x444]
lea ecx, [edi + 0x440]
mov dword [ebp - 0x18], 0x100214e0
cmp eax, dword [ecx + 8]
je 0x10047b14
mov dword [eax], 0x100214e0
add dword [ecx + 4], 4
jmp 0x10047b1e
lea edx, [ebp - 0x18]
push edx
push eax
call fcn.1001e1a0
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 0x10047b61
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10047b6d
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
push str.enemy
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xac], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x94]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
push str.friendly
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x80], 0
call fcn.1001db70
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x14
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x50]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.name
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x38]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.name
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x4dc]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10047c73
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x514]
mov byte [edi + 0x50d], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10047c98
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x50d], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x548], eax
add eax, 0x14
mov dword [edi + 0x4b4], eax
mov dword [edi + 0x4b8], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x10047d08
lea ecx, [edi + 0x52c]
mov esi, eax
mov eax, dword [edi + 0x530]
push esi
cmp eax, dword [edi + 0x534]
je 0x10047cf1
mov ecx, eax
call fcn.100221b0
add dword [edi + 0x530], 0x18
jmp 0x10047cf7
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0x52c]
cmp esi, dword [ebp - 0x20]
jne 0x10047cd2
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10047d3c
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047d32
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047d66
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10047d76
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047d6c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10047d6c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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 0x10047dda
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10047de6
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push 0x100988e0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x38]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.name_color
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
lea ecx, [edi + 0x5bc]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x38]
mov dword [ebp - 0x18], 0xb4ffffff
cmp ecx, eax
je 0x10047e5e
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
lea ecx, [edi + 0x584]
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10047e7c
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x5d4], eax
mov dword [edi + 0x5ec], 0
cmp ecx, 0x10
jb 0x10047ec3
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047eb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047ef0
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10047f00
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10047ef6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10047ef6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov eax, dword [edi + 0x5a8]
lea ecx, [edi + 0x5a4]
mov dword [ebp - 0x20], 0x100214f0
cmp eax, dword [ecx + 8]
je 0x10047f24
mov dword [eax], 0x100214f0
add dword [ecx + 4], 4
jmp 0x10047f2e
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.1001e1a0
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 0x10047f6e
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10047f7a
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
push str.enemy
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xac], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x94]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
push str.friendly
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x80], 0
call fcn.1001db70
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x1c
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x50]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.health
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x38]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.health
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x640]
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10048080
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x678]
mov byte [edi + 0x671], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x100480a5
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x671], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x6ac], eax
add eax, 0x14
mov dword [edi + 0x618], eax
mov dword [edi + 0x61c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x10048116
lea ecx, [edi + 0x690]
mov esi, eax
nop
mov eax, dword [edi + 0x694]
push esi
cmp eax, dword [edi + 0x698]
je 0x100480ff
mov ecx, eax
call fcn.100221b0
add dword [edi + 0x694], 0x18
jmp 0x10048105
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0x690]
cmp esi, dword [ebp - 0x18]
jne 0x100480e0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x1004814a
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10048140
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10048174
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10048184
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004817a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004817a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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 0x100481e8
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x100481f4
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x148], 0
push str.money
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x158], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x140]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x130], 0
push str.armor
movups xmmword [ebp - 0x140], xmm0
mov dword [ebp - 0x12c], 0
call fcn.1001db70
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x128]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
push str.scoped
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x114], 0
call fcn.1001db70
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x110]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x100], 0
push str.flashed
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0xfc], 0
call fcn.1001db70
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xf8]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
push str.reloading
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0
call fcn.1001db70
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xe0]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
push str.bomb
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0
call fcn.1001db70
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xc8]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
push str.resolver
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb4], 0
call fcn.1001db70
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], 0x27
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
xorps xmm0, xmm0
mov byte [ebp - 4], 0x28
movups xmmword [ebp - 0x50], xmm0
push 0xb
push str.flags_enemy
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x38]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push 0x10098940
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x6e8]
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10048404
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x720]
mov byte [edi + 0x719], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10048429
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x719], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x754], eax
add eax, 0x14
mov dword [edi + 0x6c0], eax
mov dword [edi + 0x6c4], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x10048499
lea ecx, [edi + 0x738]
mov esi, eax
mov eax, dword [edi + 0x73c]
push esi
cmp eax, dword [edi + 0x740]
je 0x10048482
mov ecx, eax
call fcn.100221b0
add dword [edi + 0x73c], 0x18
jmp 0x10048488
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0x738]
cmp esi, dword [ebp - 0x18]
jne 0x10048463
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100484cd
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100484c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100484f7
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10048507
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100484fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100484fd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 7
push 0x18
lea eax, [ebp - 0x158]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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 0x1004856b
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10048577
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x130], 0
push str.money
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x12c], 0
movups xmmword [ebp - 0x140], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x2c
lea ecx, [ebp - 0x128]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
push str.armor
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x114], 0
call fcn.1001db70
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x110]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x100], 0
push str.scoped
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0xfc], 0
call fcn.1001db70
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xf8]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
push str.flashed
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0
call fcn.1001db70
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xe0]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
push str.reloading
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0
call fcn.1001db70
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xc8]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
push str.bomb
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb4], 0
call fcn.1001db70
lea ecx, [ebp - 0x140]
mov dword [ebp - 4], 0x31
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x50]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.flags_friendly
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
xorps xmm0, xmm0
mov byte [ebp - 4], 0x33
movups xmmword [ebp - 0x38], xmm0
push 0xe
push 0x10098958
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x790]
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10048753
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x7c8]
mov byte [edi + 0x7c1], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10048778
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x7c1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x7fc], eax
add eax, 0x14
mov dword [edi + 0x768], eax
mov dword [edi + 0x76c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x100487e8
lea ecx, [edi + 0x7e0]
mov esi, eax
mov eax, dword [edi + 0x7e4]
push esi
cmp eax, dword [edi + 0x7e8]
je 0x100487d1
mov ecx, eax
call fcn.100221b0
add dword [edi + 0x7e4], 0x18
jmp 0x100487d7
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0x7e0]
cmp esi, dword [ebp - 0x18]
jne 0x100487b2
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x1004881c
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10048812
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10048846
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10048856
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004884c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004884c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 6
push 0x18
lea eax, [ebp - 0x140]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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 0x100488ba
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x100488c6
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
push str.enemy
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xac], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x36
lea ecx, [ebp - 0x94]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
push str.friendly
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x80], 0
call fcn.1001db70
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x37
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x50]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push str.weapon
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x38]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.weapon
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x838]
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100489cc
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.1001d500
lea ecx, [edi + 0x870]
mov byte [edi + 0x869], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x100489f1
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x869], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x8a4], eax
add eax, 0x14
mov dword [edi + 0x810], eax
mov dword [edi + 0x814], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x10048a66
lea ecx, [edi + 0x888]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0x88c]
push esi
cmp eax, dword [edi + 0x890]
je 0x10048a4f
mov ecx, eax
call fcn.100221b0
add dword [edi + 0x88c], 0x18
jmp 0x10048a55
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0x888]
cmp esi, dword [ebp - 0x18]
jne 0x10048a30
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10048a9a
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10048a90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10048ac4
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10048ad4
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10048aca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10048aca
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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 0x10048b38
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10048b44
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
push str.text
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xac], xmm0
call fcn.1001db70
mov dword [ebp - 4], 0x3c
lea ecx, [ebp - 0x94]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
push str.icon
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x80], 0
call fcn.1001db70
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x3d
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x38]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.weapon_mode
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
call fcn.1001db70
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x50]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push 0x1009663e
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.1001db70
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea ecx, [edi + 0x8e0]
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10048c4a
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.1001d500
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
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 0x10048cc6
lea ecx, [edi + 0x930]
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x934]
push esi
cmp eax, dword [edi + 0x938]
je 0x10048caf
mov ecx, eax
call fcn.100221b0
add dword [edi + 0x934], 0x18
jmp 0x10048cb5
push eax
call fcn.1003b710
add esi, 0x18
lea ecx, [edi + 0x930]
cmp esi, dword [ebp - 0x18]
jne 0x10048c90
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10048cfa
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10048cf0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10048d24
push ecx
push edx
call fcn.1008afb1
add esp, 8
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10048d34
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10048d2a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10048d2a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008afb1
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
mov dword [edi + 0x8c0], 0
lea ecx, [edi + 0x8a8]
mov dword [edi + 0x8ac], 0x14
mov dword [edi + 0x8b4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x8c4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10048d98
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10048da4
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e1a0
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
push str.weapon_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], 0
lea esi, [edi + 0x950]
movups xmmword [ebp - 0x38], xmm0
call fcn.1001db70
push 0x1009899c
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x42
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0x9c0]
mov dword [ebp - 0x18], 0xa0ffffff
call fcn.1001d2a0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x988]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x50]
mov dword [edi + 0x9d8], eax
mov dword [edi + 0x9f0], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10021530
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push 0x100989c8
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xa0c]
call fcn.1001d320
push 0x100989c8
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x44
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0xa44]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0xa75], 1
push eax
lea ecx, [edi + 0xa7c]
call fcn.1001d2a0
lea ecx, [ebp - 0x38]
mov byte [edi + 0xa78], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
mov dword [esi + 0x18], 0
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], esi
push eax
lea ecx, [edi + 0x18]
call fcn.10063900
push 0x100989bc
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xa94]
call fcn.1001d320
push str.ammo_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x46
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0xb04]
mov dword [ebp - 0x18], 0xa0c88c50
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xacc]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0xb1c], eax
mov dword [edi + 0xb34], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10021570
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push str.enemy
lea ecx, [ebp - 0x1a0]
call fcn.1001d320
push str.friendly
lea ecx, [ebp - 0x188]
mov dword [ebp - 4], 0x48
call fcn.1001d320
push str.history
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x49
call fcn.1001d320
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 4], 0x4a
push ecx
lea eax, [ebp - 0x158]
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.10063940
push str.skeleton
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4b
call fcn.1001d320
push str.skeleton
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x4c
call fcn.1001d320
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [edi + 0xb88]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0xbb9], 1
push eax
lea ecx, [edi + 0xbc0]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xbb9], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x68]
mov dword [edi + 0xbf4], eax
add eax, 0x14
mov dword [edi + 0xb60], eax
mov dword [edi + 0xb64], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x100490ec
mov esi, dword [ebp - 0x20]
lea eax, [edi + 0xbd8]
mov dword [ebp - 0x1c], eax
mov edi, ecx
push esi
mov ecx, eax
call fcn.1003b040
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x100490d4
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x60]
call fcn.1001c930
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x6c]
call fcn.1003b2f0
push fcn.1001d2d0
push 3
push 0x18
lea eax, [ebp - 0x1a0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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.10063900
push str.skeleton_enemy
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xbf8]
call fcn.1001d320
push str.enemy_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x4f
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x50
push eax
lea ecx, [edi + 0xc68]
mov dword [ebp - 0x18], 0x64ffffff
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xc30]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0xc80], eax
mov dword [edi + 0xc98], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021580
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push str.skeleton_friendly
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xcb4]
call fcn.1001d320
push str.friendly_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x51
call fcn.1001d320
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x18], 0xffffffff
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0xd24]
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xcec]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0xd3c], eax
mov dword [edi + 0xd54], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x100215a0
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push str.skeleton_history
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xd70]
call fcn.1001d320
push str.history_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x53
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [edi + 0xde0]
mov dword [ebp - 0x18], 0x64ffffff
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xda8]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0xdf8], eax
mov dword [edi + 0xe10], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x100215c0
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push str.enemy
lea ecx, [ebp - 0xac]
call fcn.1001d320
mov dword [ebp - 4], 0x55
push str.friendly
lea ecx, [ebp - 0x94]
call fcn.1001d320
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x56
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
push str.glow
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x57
call fcn.1001d320
push str.glow
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x58
call fcn.1001d320
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [edi + 0xe64]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0xe95], 1
push eax
lea ecx, [edi + 0xe9c]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xe95], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0xed0], eax
add eax, 0x14
mov dword [edi + 0xe3c], eax
mov dword [edi + 0xe40], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x100494a8
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0xeb4]
mov dword [ebp - 0x18], eax
mov edi, ecx
push esi
mov ecx, eax
call fcn.1003b040
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x10049490
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x70]
call fcn.1001c930
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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.10063900
push str.glow_enemy
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xed4]
call fcn.1001d320
push str.enemy_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x5b
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [edi + 0xf44]
mov dword [ebp - 0x18], 0x8c783cb4
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xf0c]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0xf5c], eax
mov dword [edi + 0xf74], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x100215e0
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push str.glow_friendly
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xf90]
call fcn.1001d320
push str.friendly_color
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x5d
call fcn.1001d320
mov byte [ebp - 4], 0x5e
mov dword [ebp - 0x18], 0xff3cc896
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1000]
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xfc8]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x1018], eax
mov dword [edi + 0x1030], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021600
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
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.10063900
push str.visible
lea ecx, [ebp - 0x110]
call fcn.1001d320
push str.invisible
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0x5f
call fcn.1001d320
push str.history
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x60
call fcn.1001d320
push str.target
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x61
call fcn.1001d320
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0x62
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
push 0x10098a8c
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x63
call fcn.1001d320
push str.chams_enemy
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x64
call fcn.1001d320
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x66
push eax
lea ecx, [edi + 0x1084]
call fcn.1001d2a0
mov byte [edi + 0x10b5], 1
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x10bc]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x10b5], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x10f0], eax
add eax, 0x14
mov dword [edi + 0x105c], eax
mov dword [edi + 0x1060], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x100497cc
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0x10d4]
mov dword [ebp - 0x18], eax
mov edi, ecx
push esi
mov ecx, eax
call fcn.1003b040
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x100497b4
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x70]
call fcn.1001c930
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 4
push 0x18
lea eax, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
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.10063900
push str.default
lea ecx, [ebp - 0x1a0]
call fcn.1001d320
push str.flat
lea ecx, [ebp - 0x188]
mov dword [ebp - 4], 0x67
call fcn.1001d320
push str.metallic
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x68
call fcn.1001d320
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 4], 0x69
push ecx
lea eax, [ebp - 0x158]
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.10063940
push str.chams_enemy_mat
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x6a
call fcn.1001d320
push str.chams_enemy_mat
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x6b
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [edi + 0x112c]
call fcn.1001d2a0
mov edx, dword [ebp - 0x68]
lea ecx, [edi + 0x117c]
mov eax, dword [ebp - 0x6c]
mov byte [edi + 0x115d], 0
mov dword [edi + 0x1190], 0
mov dword [edi + 0x1104], 0x14
mov dword [edi + 0x1108], 0x14
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
cmp eax, edx
je 0x10049929
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1003b040
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10049910
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x18]
lea esi, [edi + 0x18]
call fcn.100220e0
test eax, eax
je 0x1004993c
mov dword [edi + 0x118c], 0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x6c]
call fcn.1003b2f0
push fcn.1001d2d0
push 3
push 0x18
lea eax, [ebp - 0x1a0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021620
lea ecx, [edi + 0x114c]
push eax
call fcn.10063900
mov dword [edi + 0x110c], 1
lea eax, [edi + 0x10f4]
mov dword [edi + 0x10f8], 0xff
mov ecx, esi
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.10063900
push 0x10098114
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x1194]
call fcn.10063d20
push str.chams_reflectivity
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x6d
call fcn.1001d320
push str.reflectivity
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x6e
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [edi + 0x11cc]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x11fd], 1
push eax
lea ecx, [edi + 0x121c]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x11fd], al
cmovne eax, ecx
lea ecx, [edi + 0x1234]
mov dword [edi + 0x124c], eax
add eax, 8
mov dword [edi + 0x11a4], eax
mov dword [edi + 0x11a8], eax
lea eax, [ebp - 0x78]
mov dword [edi + 0x1208], 0
mov dword [edi + 0x120c], 0x42c80000
mov dword [edi + 0x1204], 0x42480000
mov dword [edi + 0x1218], 0
push eax
mov dword [edi + 0x1210], 0x3f800000
call fcn.10063cf0
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1003b1e0
mov dword [ebp - 0x1c], 0x10021660
lea ecx, [esi + 0x58]
lea eax, [ebp - 0x1c]
push eax
call fcn.10063900
mov dword [edi + 0x11ac], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1198], 0xff
mov dword [edi + 0x11a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x11b0], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push 0x10098114
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x1250]
call fcn.10063d20
push str.chams_shine
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x70
call fcn.1001d320
push str.shine
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x71
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x72
push eax
lea ecx, [edi + 0x1288]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x12b9], 1
push eax
lea ecx, [edi + 0x12d8]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x12b9], al
cmovne eax, ecx
lea ecx, [edi + 0x12f0]
mov dword [edi + 0x1308], eax
add eax, 8
mov dword [edi + 0x1260], eax
mov dword [edi + 0x1264], eax
lea eax, [ebp - 0x78]
mov dword [edi + 0x12c4], 0
mov dword [edi + 0x12c8], 0x42c80000
mov dword [edi + 0x12c0], 0
mov dword [edi + 0x12d4], 0
push eax
mov dword [edi + 0x12cc], 0x3f800000
call fcn.10063cf0
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1003b1e0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021660
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1268], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1254], 0xff
mov dword [edi + 0x125c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x126c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push 0x10098114
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x130c]
call fcn.10063d20
push str.chams_rim
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x73
call fcn.1001d320
push 0x10098b08
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x74
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x1344]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x1375], 1
push eax
lea ecx, [edi + 0x1394]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1375], al
cmovne eax, ecx
lea ecx, [edi + 0x13ac]
mov dword [edi + 0x13c4], eax
add eax, 8
mov dword [edi + 0x131c], eax
mov dword [edi + 0x1320], eax
lea eax, [ebp - 0x78]
mov dword [edi + 0x1380], 0
mov dword [edi + 0x1384], 0x42c80000
mov dword [edi + 0x137c], 0
mov dword [edi + 0x1390], 0
push eax
mov dword [edi + 0x1388], 0x3f800000
call fcn.10063cf0
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1003b1e0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021660
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1324], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1310], 0xff
mov dword [edi + 0x1318], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1328], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_enemy_vis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x13c8]
call fcn.1001d320
push str.color_visible
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x76
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [edi + 0x1438]
mov dword [ebp - 0x18], 0xff3cc896
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1400]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x1450], eax
lea ecx, [ebp - 0x38]
mov dword [edi + 0x1468], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021680
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x13e0], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x13cc], 0xff
mov dword [edi + 0x13d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x13e4], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_enemy_invis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1484]
call fcn.1001d320
push str.color_invisible
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x78
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0x14f4]
mov dword [ebp - 0x18], 0xafb4783c
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x14bc]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x150c], eax
mov dword [edi + 0x1524], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x100216a0
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x149c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1488], 0xff
mov dword [edi + 0x1490], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x14a0], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_history_col
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1540]
call fcn.1001d320
push str.color_history
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x7a
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x7b
push eax
lea ecx, [edi + 0x15b0]
mov dword [ebp - 0x18], 0x32000000
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1578]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x15c8], eax
mov dword [edi + 0x15e0], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x100216c0
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1558], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1544], 0xff
mov dword [edi + 0x154c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x155c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.capsule_color
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x15fc]
call fcn.1001d320
push str.color_target
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x7c
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [edi + 0x166c]
mov dword [ebp - 0x18], 0xaaffffff
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1634]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x1684], eax
mov dword [edi + 0x169c], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x100216e0
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1614], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1600], 0xff
mov dword [edi + 0x1608], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1618], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_enemy_reflectivity_color
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x16b8]
call fcn.1001d320
push str.color_reflectivity
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x7e
call fcn.1001d320
mov byte [ebp - 4], 0x7f
mov dword [ebp - 0x18], 0xffb4b4b4
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1728]
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x16f0]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x1740], eax
mov dword [edi + 0x1758], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021660
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x16d0], 1
mov dword [edi + 0x16bc], 0xff
mov dword [edi + 0x16c4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x16d4], eax
mov ecx, esi
lea eax, [ebp - 0x1c]
push eax
call fcn.10063900
push str.visible
lea ecx, [ebp - 0xac]
call fcn.1001d320
push str.invisible
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x80
call fcn.1001d320
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x81
push ecx
lea eax, [ebp - 0x7c]
push eax
push ecx
lea ecx, [ebp - 0x60]
call fcn.10063940
push str.chams_friendly
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x82
call fcn.1001d320
push 0x10098bd4
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x83
call fcn.1001d320
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x85
push eax
lea ecx, [edi + 0x17ac]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x17dd], 1
push eax
lea ecx, [edi + 0x17e4]
call fcn.1001d2a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x17dd], al
cmovne eax, ecx
mov dword [edi + 0x1818], eax
add eax, 0x14
mov dword [edi + 0x1784], eax
mov ecx, dword [ebp - 0x5c]
mov dword [edi + 0x1788], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x1004a21a
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0x17fc]
mov dword [ebp - 0x20], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.1003b040
add esi, 0x18
cmp esi, dword [ebp - 0x18]
jne 0x1004a204
mov edi, dword [ebp - 0x7c]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x70]
call fcn.1001c930
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x60]
call fcn.1003b2f0
push fcn.1001d2d0
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
mov dword [edi + 0x178c], 1
lea eax, [edi + 0x1774]
mov dword [edi + 0x1778], 0xff
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1780], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1790], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10063900
push str.chams_friendly_vis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x181c]
call fcn.1001d320
push str.color_visible
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x86
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x87
push eax
lea ecx, [edi + 0x188c]
mov dword [ebp - 0x18], 0xff00c8ff
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1854]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x18a4], eax
mov dword [edi + 0x18bc], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021700
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1834], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1820], 0xff
mov dword [edi + 0x1828], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1838], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_friendly_invis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x18d8]
call fcn.1001d320
push str.color_invisible
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x88
call fcn.1001d320
mov byte [ebp - 4], 0x89
mov dword [ebp - 0x18], 0xff0032ff
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x1948]
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1910]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x1960], eax
mov dword [edi + 0x1978], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021720
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x18f0], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x18dc], 0xff
mov dword [edi + 0x18e4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x18f4], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_local
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1994]
call fcn.1001d320
push 0x10098c20
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x8a
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0x19cc]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x19fd], 1
push eax
lea ecx, [edi + 0x1a04]
call fcn.1001d2a0
lea ecx, [ebp - 0x38]
mov byte [edi + 0x1a00], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
mov dword [esi + 0x18], 1
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.10063900
push str.default
lea ecx, [ebp - 0x1a0]
call fcn.1001d320
push str.flat
lea ecx, [ebp - 0x188]
mov dword [ebp - 4], 0x8c
call fcn.1001d320
push str.metallic
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x8d
call fcn.1001d320
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 4], 0x8e
push ecx
lea eax, [ebp - 0x158]
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.10063940
push str.chams_local_mat
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x8f
call fcn.1001d320
push 0x10098c38
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x90
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x91
push eax
lea ecx, [edi + 0x1a54]
call fcn.1001d2a0
mov edx, dword [ebp - 0x68]
lea ecx, [edi + 0x1aa4]
mov eax, dword [ebp - 0x6c]
mov byte [edi + 0x1a85], 0
mov dword [edi + 0x1ab8], 0
mov dword [edi + 0x1a2c], 0x14
mov dword [edi + 0x1a30], 0x14
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
cmp eax, edx
je 0x1004a599
mov esi, eax
mov edi, ecx
nop
push esi
mov ecx, edi
call fcn.1003b040
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x1004a580
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x18]
lea esi, [edi + 0x18]
call fcn.100220e0
test eax, eax
je 0x1004a5ac
mov dword [edi + 0x1ab4], 0
lea ecx, [ebp - 0x50]
call fcn.1001d2d0
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x6c]
call fcn.1003b2f0
push fcn.1001d2d0
push 3
push 0x18
lea eax, [ebp - 0x1a0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1008ab82
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021740
lea ecx, [edi + 0x1a74]
push eax
call fcn.10063900
mov dword [edi + 0x1a34], 1
lea eax, [edi + 0x1a1c]
mov dword [edi + 0x1a20], 0xff
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1a28], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1a38], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10063900
push str.draw_chams_when_scoped
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1c00]
call fcn.1001d320
push 0x10098c5c
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x92
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [edi + 0x1c38]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x1c69], 1
push eax
lea ecx, [edi + 0x1c70]
call fcn.1001d2a0
lea ecx, [ebp - 0x38]
mov byte [edi + 0x1c6c], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021740
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1c18], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1c04], 0xff
mov dword [edi + 0x1c0c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1c1c], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_local_col
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1abc]
call fcn.1001d320
push str.color_local
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x94
call fcn.1001d320
mov byte [ebp - 4], 0x95
lea eax, [ebp - 0x38]
mov dword [ebp - 0x18], 0xffc8ffff
push eax
lea ecx, [edi + 0x1b2c]
call fcn.1001d2a0
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1af4]
call fcn.1001d2a0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
mov dword [edi + 0x1b44], eax
mov dword [edi + 0x1b5c], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021740
lea ecx, [esi + 0x58]
push eax
call fcn.10063900
mov dword [edi + 0x1ad4], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1ac0], 0xff
mov dword [edi + 0x1ac8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1ad8], eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], esi
call fcn.10063900
push str.chams_local_scope
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1b78]
call fcn.1001d320
push str.blend_when_scoped
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x96
call fcn.1001d320
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x97
push eax
lea ecx, [edi + 0x1bb0]
call fcn.1001d2a0
lea eax, [ebp - 0x38]
mov byte [edi + 0x1be1], 1
push eax
lea ecx, [edi + 0x1be8]
call fcn.1001d2a0
lea ecx, [ebp - 0x38]
mov byte [edi + 0x1be4], 0
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1001d2d0
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.10063900
push 0x10098114
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1c88]
call fcn.10063d20
push str.chams_local_scope_blend
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x98
call fcn.1001d320
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x78]
push 0x1009663e
call fcn.1001d320
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x9a
push eax
lea ecx, [edi + 0x1cc0]
call fcn.1001d2a0
mov byte [edi + 0x1cf1], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x1d40], 0
lea ecx, [edi + 0x1d28]
mov dword [edi + 0x1c98], 8
mov dword [edi + 0x1c9c], 8
mov dword [edi + 0x1cfc], 0
mov dword [edi + 0x1d00], 0x42c80000
mov dword [edi + 0x1cf8], 0x42340000
mov dword [edi + 0x1d0c], 0
push eax
mov dword [edi + 0x1d04], 0x3f800000
call fcn.10063cf0
lea ecx, [ebp - 0x78]
call fcn.1001d2d0
lea ecx, [ebp - 0x38]
call fcn.1001d2d0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.1003b1e0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10021750
push eax
lea ecx, [edi + 0x1ce0]
call fcn.10063900
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.10063900
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.1008ab36
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret