Function at 0x10054e80
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 0x100a389a
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4c8
mov eax, dword [0x100bc008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x24], edi
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x378], 0
push str.players
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x374], 0
movups xmmword [ebp - 0x388], xmm0
call fcn.10021340
lea eax, [ebp - 0x388]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x10054f23
cmp dword [ebp - 0x374], 0x10
mov ecx, edi
push dword [ebp - 0x378]
cmovae eax, dword [ebp - 0x388]
push eax
call fcn.10020ad0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x374]
cmp ecx, 0x10
jb 0x10054f64
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054f5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
push 0xd
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
push str.tahoma_normal
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x84], xmm0
call fcn.10021340
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x6c]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.verdana_normal
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
call fcn.10021340
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 2
push ecx
lea eax, [ebp - 0x54]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd0]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push str.name_style
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xbc], 0
call fcn.10021340
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3a0]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x390], 0
push str.font_style
movups xmmword [ebp - 0x3a0], xmm0
mov dword [ebp - 0x38c], 0
call fcn.10021340
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 5
lea eax, [ebp - 0xd0]
cmp ecx, eax
je 0x10055067
cmp dword [ebp - 0xbc], 0x10
push dword [ebp - 0xc0]
cmovae eax, dword [ebp - 0xd0]
push eax
call fcn.10020ad0
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x3a0]
cmp ecx, eax
je 0x10055098
cmp dword [ebp - 0x38c], 0x10
push dword [ebp - 0x390]
cmovae eax, dword [ebp - 0x3a0]
push eax
call fcn.10020ad0
mov esi, dword [ebp - 0x38]
xor eax, eax
cmp byte [edi + 0x99], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xcc], eax
add eax, 0x14
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
cmp esi, eax
je 0x10055103
lea ecx, [edi + 0xb8]
nop word [eax + eax]
mov eax, dword [edi + 0xbc]
push esi
cmp eax, dword [edi + 0xc0]
je 0x100550ef
mov ecx, eax
call fcn.10027150
add dword [edi + 0xbc], 0x18
jmp 0x100550f5
push eax
call fcn.10048260
add esi, 0x18
lea ecx, [edi + 0xb8]
cmp esi, dword [ebp - 0x54]
jne 0x100550d0
mov ecx, dword [edi + 0xbc]
lea eax, [edi + 0xb8]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1005512e
mov dword [edi + 0xc8], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x38c]
cmp ecx, 0x10
jb 0x10055168
mov edx, dword [ebp - 0x3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005515e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055198
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x100551a8
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005519e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005519e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x48], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x34], 0x14
lea ecx, [edi + 0x30]
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x54], esi
cmp eax, dword [esi + 8]
je 0x10055203
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005520f
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
push str.enemy
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x84], xmm0
call fcn.10021340
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x6c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.friendly
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
call fcn.10021340
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 7
push ecx
lea eax, [ebp - 0x54]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x100]
push 3
xorps xmm0, xmm0
mov dword [ebp - 0xf0], 0
push 0x100af570
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xec], 0
call fcn.10021340
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xe8]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 0
push str.boxes
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xd4], 0
call fcn.10021340
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [edi + 0x108]
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x100]
cmp ecx, eax
je 0x10055333
cmp dword [ebp - 0xec], 0x10
push dword [ebp - 0xf0]
cmovae eax, dword [ebp - 0x100]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x140]
mov byte [edi + 0x139], 1
lea eax, [ebp - 0xe8]
cmp ecx, eax
je 0x10055364
cmp dword [ebp - 0xd4], 0x10
push dword [ebp - 0xd8]
cmovae eax, dword [ebp - 0xe8]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x139], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x174], eax
add eax, 0x14
mov dword [edi + 0xe0], eax
mov dword [edi + 0xe4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x100553d6
lea ecx, [edi + 0x158]
mov esi, eax
nop
mov eax, dword [edi + 0x15c]
push esi
cmp eax, dword [edi + 0x160]
je 0x100553bf
mov ecx, eax
call fcn.10027150
add dword [edi + 0x15c], 0x18
jmp 0x100553c5
push eax
call fcn.10048260
add esi, 0x18
lea ecx, [edi + 0x158]
cmp esi, dword [ebp - 0x20]
jne 0x100553a0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0x10
jb 0x10055410
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055406
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055440
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xec]
cmp ecx, 0x10
jb 0x10055450
mov edx, dword [ebp - 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055446
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10055446
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0xe8], 0
lea ecx, [edi + 0xd0]
mov dword [edi + 0xd4], 0x14
mov dword [edi + 0xdc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xec], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x100554b4
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x100554c0
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0
push str.box_enemy
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x11c], 0
movups xmmword [ebp - 0x130], xmm0
call fcn.10021340
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x118]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x108], 0
push str.box_enemy_color
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0
call fcn.10021340
lea ecx, [edi + 0x1e8]
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x118]
cmp ecx, eax
je 0x10055555
cmp dword [ebp - 0x104], 0x10
push dword [ebp - 0x108]
cmovae eax, dword [ebp - 0x118]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x1b0]
lea eax, [ebp - 0x130]
cmp ecx, eax
je 0x1005557f
cmp dword [ebp - 0x11c], 0x10
push dword [ebp - 0x120]
cmovae eax, dword [ebp - 0x130]
push eax
call fcn.10020ad0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x104]
mov dword [edi + 0x200], 0xff3cc896
mov dword [edi + 0x204], 0
cmp ecx, 0x10
jb 0x100555d1
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100555c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x11c]
cmp ecx, 0x10
jb 0x10055612
mov edx, dword [ebp - 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055608
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x190], 0
lea ecx, [edi + 0x178]
mov dword [edi + 0x17c], 0x14
mov dword [edi + 0x184], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x194], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10055652
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005565e
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x150], 0
push str.box_friendly
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x14c], 0
movups xmmword [ebp - 0x160], xmm0
call fcn.10021340
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x148]
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0
push str.box_friendly_color
movups xmmword [ebp - 0x148], xmm0
mov dword [ebp - 0x134], 0
call fcn.10021340
lea ecx, [edi + 0x278]
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x148]
cmp ecx, eax
je 0x100556f3
cmp dword [ebp - 0x134], 0x10
push dword [ebp - 0x138]
cmovae eax, dword [ebp - 0x148]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x240]
lea eax, [ebp - 0x160]
cmp ecx, eax
je 0x1005571d
cmp dword [ebp - 0x14c], 0x10
push dword [ebp - 0x150]
cmovae eax, dword [ebp - 0x160]
push eax
call fcn.10020ad0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x134]
mov dword [edi + 0x290], 0xff00c8ff
mov dword [edi + 0x294], 0
cmp ecx, 0x10
jb 0x1005576f
mov edx, dword [ebp - 0x148]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055765
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x14c]
cmp ecx, 0x10
jb 0x100557b0
mov edx, dword [ebp - 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100557a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x220], 0
lea ecx, [edi + 0x208]
mov dword [edi + 0x20c], 0x14
mov dword [edi + 0x214], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x224], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x100557f0
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x100557fc
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
push str.dormant
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x17c], 0
movups xmmword [ebp - 0x190], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x178]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x168], 0
push str.dormant_enemies
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x164], 0
call fcn.10021340
lea ecx, [edi + 0x2d0]
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x190]
cmp ecx, eax
je 0x10055891
cmp dword [ebp - 0x17c], 0x10
push dword [ebp - 0x180]
cmovae eax, dword [ebp - 0x190]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x308]
mov byte [edi + 0x301], 1
lea eax, [ebp - 0x178]
cmp ecx, eax
je 0x100558c2
cmp dword [ebp - 0x164], 0x10
push dword [ebp - 0x168]
cmovae eax, dword [ebp - 0x178]
push eax
call fcn.10020ad0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x164]
mov byte [edi + 0x304], 0
cmp ecx, 0x10
jb 0x10055907
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100558fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x17c]
cmp ecx, 0x10
jb 0x10055948
mov edx, dword [ebp - 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005593e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x2b0], 0
lea ecx, [edi + 0x298]
mov dword [edi + 0x29c], 0x14
mov dword [edi + 0x2a4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2b4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10055988
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10055994
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x1b0], 0
push str.offscreen
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1ac], 0
movups xmmword [ebp - 0x1c0], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x1a8]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x198], 0
push str.enemy_offscreen_esp
movups xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x194], 0
call fcn.10021340
lea ecx, [edi + 0x358]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1c0]
cmp ecx, eax
je 0x10055a29
cmp dword [ebp - 0x1ac], 0x10
push dword [ebp - 0x1b0]
cmovae eax, dword [ebp - 0x1c0]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x390]
mov byte [edi + 0x389], 1
lea eax, [ebp - 0x1a8]
cmp ecx, eax
je 0x10055a5a
cmp dword [ebp - 0x194], 0x10
push dword [ebp - 0x198]
cmovae eax, dword [ebp - 0x1a8]
push eax
call fcn.10020ad0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x194]
mov byte [edi + 0x38c], 0
cmp ecx, 0x10
jb 0x10055a9f
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055a95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1ac]
cmp ecx, 0x10
jb 0x10055ae0
mov edx, dword [ebp - 0x1c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055ad6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x338], 0
lea ecx, [edi + 0x320]
mov dword [edi + 0x324], 0x14
mov dword [edi + 0x32c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x33c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10055b20
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10055b2c
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
mov esi, dword [0x100ac2ec]
lea ecx, [ebp - 0x1f0]
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x1e0], 0
push str.offscreen_color
movups xmmword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x1dc], 0
call fcn.10021340
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x1d8]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x1c8], 0
push str.offscreen_esp_color
movups xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1c4], 0
call fcn.10021340
lea ecx, [edi + 0x418]
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x1d8]
cmp ecx, eax
je 0x10055bc7
cmp dword [ebp - 0x1c4], 0x10
push dword [ebp - 0x1c8]
cmovae eax, dword [ebp - 0x1d8]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x3e0]
lea eax, [ebp - 0x1f0]
cmp ecx, eax
je 0x10055bf1
cmp dword [ebp - 0x1dc], 0x10
push dword [ebp - 0x1e0]
cmovae eax, dword [ebp - 0x1f0]
push eax
call fcn.10020ad0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x1c4]
mov dword [edi + 0x430], esi
mov dword [edi + 0x434], 0
cmp ecx, 0x10
jb 0x10055c3f
mov edx, dword [ebp - 0x1d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055c35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1dc]
cmp ecx, 0x10
jb 0x10055c80
mov edx, dword [ebp - 0x1f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055c76
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x3c0], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x3ac], 0x14
lea ecx, [edi + 0x3a8]
mov dword [edi + 0x3b4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10055cc3
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10055ccf
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x228], 0
push 0x100aeab8
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x224], 0
movups xmmword [ebp - 0x238], xmm0
call fcn.10047e90
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x220]
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x210], 0
push 0x100af608
movups xmmword [ebp - 0x220], xmm0
mov dword [ebp - 0x20c], 0
call fcn.10021340
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x208]
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x1f8], 0
push str.offscreen_radius
movups xmmword [ebp - 0x208], xmm0
mov dword [ebp - 0x1f4], 0
call fcn.10021340
lea ecx, [edi + 0x470]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x220]
cmp ecx, eax
je 0x10055d98
cmp dword [ebp - 0x20c], 0x10
push dword [ebp - 0x210]
cmovae eax, dword [ebp - 0x220]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x4c0]
mov byte [edi + 0x4a1], 1
lea eax, [ebp - 0x208]
cmp ecx, eax
je 0x10055dc9
cmp dword [ebp - 0x1f4], 0x10
push dword [ebp - 0x1f8]
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x4a1], al
cmovne eax, ecx
lea ecx, [edi + 0x4d8]
mov dword [edi + 0x4f0], eax
add eax, 8
mov dword [edi + 0x448], eax
mov dword [edi + 0x44c], eax
lea eax, [ebp - 0x238]
mov dword [edi + 0x4ac], 0x41c80000
mov dword [edi + 0x4b0], 0x437a0000
mov dword [edi + 0x4a8], 0x43480000
mov dword [edi + 0x4bc], 0
mov dword [edi + 0x4b4], 0x3f800000
cmp ecx, eax
je 0x10055e4a
cmp dword [ebp - 0x224], 8
push dword [ebp - 0x228]
cmovae eax, dword [ebp - 0x238]
push eax
call fcn.10072720
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x1f4]
cmp ecx, 0x10
jb 0x10055e88
mov edx, dword [ebp - 0x208]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055e7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x20c]
cmp ecx, 0x10
jb 0x10055ec6
mov edx, dword [ebp - 0x220]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055ebc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x224]
cmp ecx, 8
jb 0x10055f0d
mov edx, dword [ebp - 0x238]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10055f03
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x450], 0
lea ecx, [edi + 0x438]
mov dword [edi + 0x43c], 0x14
mov dword [edi + 0x444], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x454], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10055f4d
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10055f59
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
mov eax, dword [edi + 0x494]
lea ecx, [edi + 0x490]
mov dword [ebp - 0x20], 0x10025f80
cmp eax, dword [ecx + 8]
je 0x10055f7d
mov dword [eax], 0x10025f80
add dword [ecx + 4], 4
jmp 0x10055f87
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10021eb0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x270], 0
push 0x100aeab8
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x26c], 0
movups xmmword [ebp - 0x280], xmm0
call fcn.10047e90
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x268]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x258], 0
push str.offscreen_size
movups xmmword [ebp - 0x268], xmm0
mov dword [ebp - 0x254], 0
call fcn.10021340
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x250]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x240], 0
push 0x100af640
movups xmmword [ebp - 0x250], xmm0
mov dword [ebp - 0x23c], 0
call fcn.10021340
lea ecx, [edi + 0x52c]
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x268]
cmp ecx, eax
je 0x10056050
cmp dword [ebp - 0x254], 0x10
push dword [ebp - 0x258]
cmovae eax, dword [ebp - 0x268]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x57c]
mov byte [edi + 0x55d], 1
lea eax, [ebp - 0x250]
cmp ecx, eax
je 0x10056081
cmp dword [ebp - 0x23c], 0x10
push dword [ebp - 0x240]
cmovae eax, dword [ebp - 0x250]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x55d], al
cmovne eax, ecx
lea ecx, [edi + 0x594]
mov dword [edi + 0x5ac], eax
add eax, 8
mov dword [edi + 0x504], eax
mov dword [edi + 0x508], eax
lea eax, [ebp - 0x280]
mov dword [edi + 0x568], 0x40c00000
mov dword [edi + 0x56c], 0x42000000
mov dword [edi + 0x564], 0x41400000
mov dword [edi + 0x578], 0
mov dword [edi + 0x570], 0x3f800000
cmp ecx, eax
je 0x10056102
cmp dword [ebp - 0x26c], 8
push dword [ebp - 0x270]
cmovae eax, dword [ebp - 0x280]
push eax
call fcn.10072720
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x23c]
cmp ecx, 0x10
jb 0x10056140
mov edx, dword [ebp - 0x250]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056136
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x254]
cmp ecx, 0x10
jb 0x1005617e
mov edx, dword [ebp - 0x268]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056174
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x26c]
cmp ecx, 8
jb 0x100561c5
mov edx, dword [ebp - 0x280]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100561bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x50c], 0
lea ecx, [edi + 0x4f4]
mov dword [edi + 0x4f8], 0x14
mov dword [edi + 0x500], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x510], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10056205
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10056211
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
mov eax, dword [edi + 0x550]
lea ecx, [edi + 0x54c]
mov dword [ebp - 0x20], 0x10025f80
cmp eax, dword [ecx + 8]
je 0x10056235
mov dword [eax], 0x10025f80
add dword [ecx + 4], 4
jmp 0x1005623f
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.10021eb0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
push str.enemy
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x84], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x6c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.friendly
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
call fcn.10021340
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 0x1d
push ecx
lea eax, [ebp - 0x54]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2b0]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x2a0], 0
push str.name
movups xmmword [ebp - 0x2b0], xmm0
mov dword [ebp - 0x29c], 0
call fcn.10021340
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x298]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x288], 0
push str.name
movups xmmword [ebp - 0x298], xmm0
mov dword [ebp - 0x284], 0
call fcn.10021340
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [edi + 0x5e8]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x2b0]
cmp ecx, eax
je 0x10056363
cmp dword [ebp - 0x29c], 0x10
push dword [ebp - 0x2a0]
cmovae eax, dword [ebp - 0x2b0]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x620]
mov byte [edi + 0x619], 1
lea eax, [ebp - 0x298]
cmp ecx, eax
je 0x10056394
cmp dword [ebp - 0x284], 0x10
push dword [ebp - 0x288]
cmovae eax, dword [ebp - 0x298]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x619], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x654], eax
add eax, 0x14
mov dword [edi + 0x5c0], eax
mov dword [edi + 0x5c4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10056406
lea ecx, [edi + 0x638]
mov esi, eax
nop
mov eax, dword [edi + 0x63c]
push esi
cmp eax, dword [edi + 0x640]
je 0x100563ef
mov ecx, eax
call fcn.10027150
add dword [edi + 0x63c], 0x18
jmp 0x100563f5
push eax
call fcn.10048260
add esi, 0x18
lea ecx, [edi + 0x638]
cmp esi, dword [ebp - 0x1c]
jne 0x100563d0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x284]
cmp ecx, 0x10
jb 0x10056440
mov edx, dword [ebp - 0x298]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056436
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056470
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x29c]
cmp ecx, 0x10
jb 0x10056480
mov edx, dword [ebp - 0x2b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056476
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10056476
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x5c8], 0
lea ecx, [edi + 0x5b0]
mov dword [edi + 0x5b4], 0x14
mov dword [edi + 0x5bc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x5cc], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x100564e4
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x100564f0
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
mov esi, dword [0x100ac2ec]
lea ecx, [ebp - 0x2e0]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2d0], 0
push 0x100af68c
movups xmmword [ebp - 0x2e0], xmm0
mov dword [ebp - 0x2cc], 0
call fcn.10021340
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x2c8]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], 0
push str.name_color
movups xmmword [ebp - 0x2c8], xmm0
mov dword [ebp - 0x2b4], 0
call fcn.10021340
lea ecx, [edi + 0x6c8]
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x2c8]
cmp ecx, eax
je 0x1005658b
cmp dword [ebp - 0x2b4], 0x10
push dword [ebp - 0x2b8]
cmovae eax, dword [ebp - 0x2c8]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x690]
lea eax, [ebp - 0x2e0]
cmp ecx, eax
je 0x100565b5
cmp dword [ebp - 0x2cc], 0x10
push dword [ebp - 0x2d0]
cmovae eax, dword [ebp - 0x2e0]
push eax
call fcn.10020ad0
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x2b4]
mov dword [edi + 0x6e0], esi
mov dword [edi + 0x6e4], 0
cmp ecx, 0x10
jb 0x100565ff
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100565f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056632
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2cc]
cmp ecx, 0x10
jb 0x10056642
mov edx, dword [ebp - 0x2e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056638
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10056638
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov dword [edi + 0x670], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x65c], 0x14
lea ecx, [edi + 0x658]
mov dword [edi + 0x664], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x674], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10056685
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10056691
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x74], 0
push str.enemy
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x84], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x24
lea ecx, [ebp - 0x6c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.friendly
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
call fcn.10021340
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 0x25
push ecx
lea eax, [ebp - 0x54]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x310]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x300], 0
push str.health
movups xmmword [ebp - 0x310], xmm0
mov dword [ebp - 0x2fc], 0
call fcn.10021340
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x2f8]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x2e8], 0
push str.health
movups xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x2e4], 0
call fcn.10021340
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [edi + 0x720]
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x310]
cmp ecx, eax
je 0x100567b5
cmp dword [ebp - 0x2fc], 0x10
push dword [ebp - 0x300]
cmovae eax, dword [ebp - 0x310]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x758]
mov byte [edi + 0x751], 1
lea eax, [ebp - 0x2f8]
cmp ecx, eax
je 0x100567e6
cmp dword [ebp - 0x2e4], 0x10
push dword [ebp - 0x2e8]
cmovae eax, dword [ebp - 0x2f8]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x751], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x78c], eax
add eax, 0x14
mov dword [edi + 0x6f8], eax
mov dword [edi + 0x6fc], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10056856
lea ecx, [edi + 0x770]
mov esi, eax
mov eax, dword [edi + 0x774]
push esi
cmp eax, dword [edi + 0x778]
je 0x1005683f
mov ecx, eax
call fcn.10027150
add dword [edi + 0x774], 0x18
jmp 0x10056845
push eax
call fcn.10048260
add esi, 0x18
lea ecx, [edi + 0x770]
cmp esi, dword [ebp - 0x1c]
jne 0x10056820
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0x10
jb 0x10056890
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056886
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100568c0
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x2fc]
cmp ecx, 0x10
jb 0x100568d0
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100568c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100568c6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x700], 0
lea ecx, [edi + 0x6e8]
mov dword [edi + 0x6ec], 0x14
mov dword [edi + 0x6f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x704], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10056934
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10056940
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x498], 0
push str.money
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x494], 0
movups xmmword [ebp - 0x4a8], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x2a
lea ecx, [ebp - 0x490]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x480], 0
push str.armor
movups xmmword [ebp - 0x490], xmm0
mov dword [ebp - 0x47c], 0
call fcn.10021340
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x478]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x468], 0
push str.scoped
movups xmmword [ebp - 0x478], xmm0
mov dword [ebp - 0x464], 0
call fcn.10021340
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x460]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x450], 0
push str.flashed
movups xmmword [ebp - 0x460], xmm0
mov dword [ebp - 0x44c], 0
call fcn.10021340
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x448]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
push str.reloading
movups xmmword [ebp - 0x448], xmm0
mov dword [ebp - 0x434], 0
call fcn.10021340
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x430]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x420], 0
push str.bomb
movups xmmword [ebp - 0x430], xmm0
mov dword [ebp - 0x41c], 0
call fcn.10021340
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x418]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x408], 0
push str.zeus
movups xmmword [ebp - 0x418], xmm0
mov dword [ebp - 0x404], 0
call fcn.10021340
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x400]
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x3f0], 0
push 0x100af6e4
movups xmmword [ebp - 0x400], xmm0
mov dword [ebp - 0x3ec], 0
call fcn.10021340
mov byte [ebp - 4], 0x31
xorps xmm0, xmm0
push 4
push str.ping
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 0x3d8], 0
movups xmmword [ebp - 0x3e8], xmm0
mov dword [ebp - 0x3d4], 0
call fcn.10021340
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 4], 0x32
push ecx
lea eax, [ebp - 0x3d0]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x340]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x330], 0
push 0x100af6d0
movups xmmword [ebp - 0x340], xmm0
mov dword [ebp - 0x32c], 0
call fcn.10021340
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x328]
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x318], 0
push str.flags_enemy
movups xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x314], 0
call fcn.10021340
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [edi + 0x7c8]
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x340]
cmp ecx, eax
je 0x10056be5
cmp dword [ebp - 0x32c], 0x10
push dword [ebp - 0x330]
cmovae eax, dword [ebp - 0x340]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x800]
mov byte [edi + 0x7f9], 1
lea eax, [ebp - 0x328]
cmp ecx, eax
je 0x10056c16
cmp dword [ebp - 0x314], 0x10
push dword [ebp - 0x318]
cmovae eax, dword [ebp - 0x328]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x7f9], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x834], eax
add eax, 0x14
mov dword [edi + 0x7a0], eax
mov dword [edi + 0x7a4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10056c86
lea ecx, [edi + 0x818]
mov esi, eax
mov eax, dword [edi + 0x81c]
push esi
cmp eax, dword [edi + 0x820]
je 0x10056c6f
mov ecx, eax
call fcn.10027150
add dword [edi + 0x81c], 0x18
jmp 0x10056c75
push eax
call fcn.10048260
add esi, 0x18
lea ecx, [edi + 0x818]
cmp esi, dword [ebp - 0x1c]
jne 0x10056c50
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x314]
cmp ecx, 0x10
jb 0x10056cc0
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056cb6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056cf0
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x32c]
cmp ecx, 0x10
jb 0x10056d00
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056cf6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10056cf6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 9
push 0x18
lea eax, [ebp - 0x4a8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x7a8], 0
lea ecx, [edi + 0x790]
mov dword [edi + 0x794], 0x14
mov dword [edi + 0x79c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x7ac], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10056d64
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10056d70
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x450], 0
push str.money
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x44c], 0
movups xmmword [ebp - 0x460], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x37
lea ecx, [ebp - 0x448]
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x438], 0
push str.armor
movups xmmword [ebp - 0x448], xmm0
mov dword [ebp - 0x434], 0
call fcn.10021340
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x430]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x420], 0
push str.scoped
movups xmmword [ebp - 0x430], xmm0
mov dword [ebp - 0x41c], 0
call fcn.10021340
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x418]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x408], 0
push str.flashed
movups xmmword [ebp - 0x418], xmm0
mov dword [ebp - 0x404], 0
call fcn.10021340
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x400]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x3f0], 0
push str.reloading
movups xmmword [ebp - 0x400], xmm0
mov dword [ebp - 0x3ec], 0
call fcn.10021340
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x3e8]
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x3d8], 0
push str.bomb
movups xmmword [ebp - 0x3e8], xmm0
mov dword [ebp - 0x3d4], 0
call fcn.10021340
lea ecx, [ebp - 0x460]
mov dword [ebp - 4], 0x3c
push ecx
lea eax, [ebp - 0x3d0]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x370]
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x360], 0
push str.flags_friendly
movups xmmword [ebp - 0x370], xmm0
mov dword [ebp - 0x35c], 0
call fcn.10021340
xorps xmm0, xmm0
mov byte [ebp - 4], 0x3e
movups xmmword [ebp - 0x358], xmm0
push 0xe
push 0x100af6e8
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0
call fcn.10021340
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [edi + 0x870]
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x370]
cmp ecx, eax
je 0x10056f79
cmp dword [ebp - 0x35c], 0x10
push dword [ebp - 0x360]
cmovae eax, dword [ebp - 0x370]
push eax
call fcn.10020ad0
lea ecx, [edi + 0x8a8]
mov byte [edi + 0x8a1], 1
lea eax, [ebp - 0x358]
cmp ecx, eax
je 0x10056faa
cmp dword [ebp - 0x344], 0x10
push dword [ebp - 0x348]
cmovae eax, dword [ebp - 0x358]
push eax
call fcn.10020ad0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x8a1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x8dc], eax
add eax, 0x14
mov dword [edi + 0x848], eax
mov dword [edi + 0x84c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10057026
lea ecx, [edi + 0x8c0]
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x8c4]
push esi
cmp eax, dword [edi + 0x8c8]
je 0x1005700f
mov ecx, eax
call fcn.10027150
add dword [edi + 0x8c4], 0x18
jmp 0x10057015
push eax
call fcn.10048260
add esi, 0x18
lea ecx, [edi + 0x8c0]
cmp esi, dword [ebp - 0x1c]
jne 0x10056ff0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x344]
cmp ecx, 0x10
jb 0x10057060
mov edx, dword [ebp - 0x358]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10057056
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057090
push ecx
push edx
call fcn.1009d0b5
add esp, 8
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x35c]
cmp ecx, 0x10
jb 0x100570a0
mov edx, dword [ebp - 0x370]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10057096
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10057096
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009d0b5
add esp, 8
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 6
push 0x18
lea eax, [ebp - 0x460]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x850], 0
lea ecx, [edi + 0x838]
mov dword [edi + 0x83c], 0x14
mov dword [edi + 0x844], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x854], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10057104
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10057110
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.10021eb0
push 5
xorps xmm0, xmm0
mov dword [ebp - 0x3c0], 0
push str.enemy
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 0x3bc], 0
movups xmmword [ebp - 0x3d0], xmm0
call fcn.10021340
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x3b8]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x3a8], 0
push str.friendly
movups xmmword [ebp - 0x3b8], xmm0
mov dword [ebp - 0x3a4], 0
call fcn.10021340
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 4], 0x42
push ecx
lea eax, [ebp - 0x3a0]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x6c]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push str.weapon
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x58], 0
call fcn.10021340
mov byte [ebp - 4], 0x44
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.10021340
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [edi + 0x918]
call fcn.10040350
lea eax, [ebp - 0x50]
mov byte [edi + 0x949], 1
push eax
lea ecx, [edi + 0x950]
call fcn.10040350
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x949], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x984], eax
add eax, 0x14
mov dword [edi + 0x8f0], eax
mov dword [edi + 0x8f4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x10057288
mov esi, dword [ebp - 0x20]
lea eax, [edi + 0x968]
mov dword [ebp - 0x18], eax
mov edi, ecx
nop dword [eax]
push esi
mov ecx, eax
call fcn.10047840
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x10057270
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x50]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x3d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x8f8], 0
lea eax, [edi + 0x8e0]
mov dword [edi + 0x8e4], 0x14
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x8ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x8fc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100723f0
push str.text
lea ecx, [ebp - 0xb8]
call fcn.100208f0
push str.icon
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0x47
call fcn.100208f0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0x48
push ecx
lea eax, [ebp - 0x88]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
push str.weapon_mode
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x49
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4a
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0x9c0]
call fcn.10040350
mov edx, dword [ebp - 0x34]
lea ecx, [edi + 0xa10]
mov eax, dword [ebp - 0x38]
mov byte [edi + 0x9f1], 0
mov dword [edi + 0xa24], 0
mov dword [edi + 0x998], 0x14
mov dword [edi + 0x99c], 0x14
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp eax, edx
je 0x100573c9
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.10047840
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x100573b0
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea esi, [edi + 0x18]
call fcn.10027080
test eax, eax
je 0x100573dc
mov dword [edi + 0xa20], 0
lea ecx, [ebp - 0x50]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x9a0], 0
lea eax, [edi + 0x988]
mov dword [edi + 0x98c], 0x14
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x994], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x9a4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100723f0
push str.ammo
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xa28]
call fcn.100208f0
push str.ammo
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x4c
call fcn.100208f0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [edi + 0xa60]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0xa91], 1
push eax
lea ecx, [edi + 0xa98]
call fcn.10040350
lea ecx, [ebp - 0x6c]
mov byte [edi + 0xa94], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
mov esi, dword [0x100ac310]
lea ecx, [ebp - 0x50]
push str.ammo_color
add edi, 0xab0
call fcn.100208f0
push str.color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x4e
call fcn.100208f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x6c]
push eax
add ecx, 0xb20
mov byte [ebp - 4], 0x4f
call fcn.10040350
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ecx + 0xae8]
call fcn.10040350
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x6c]
mov dword [eax + 0xb38], esi
mov dword [eax + 0xb3c], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x54]
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0x14
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.100723f0
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x50]
push 0x100af740
lea esi, [edi + 0xb40]
call fcn.100208f0
push str.lby_update
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x50
call fcn.100208f0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0xb78]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0xba9], 1
push eax
lea ecx, [edi + 0xbb0]
call fcn.10040350
lea ecx, [ebp - 0x6c]
mov byte [edi + 0xbac], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
mov esi, dword [0x100ac304]
lea ecx, [ebp - 0x50]
push str.lby_update_color
add edi, 0xbc8
call fcn.100208f0
push str.color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x52
call fcn.100208f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 0x53
lea ecx, [ecx + 0xc38]
call fcn.10040350
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ecx + 0xc00]
call fcn.10040350
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc50], esi
lea ecx, [ebp - 0x6c]
mov dword [eax + 0xc54], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x54]
mov ecx, esi
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0x14
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.100723f0
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x3d0]
push str.enemy
call fcn.100208f0
push str.friendly
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 4], 0x54
call fcn.100208f0
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 4], 0x55
push ecx
lea eax, [ebp - 0x3a0]
push eax
push ecx
lea ecx, [ebp - 0x94]
call fcn.10072420
push str.skeleton
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x56
call fcn.100208f0
push str.skeleton
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x57
call fcn.100208f0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [edi + 0xc90]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0xcc1], 1
push eax
lea ecx, [edi + 0xcc8]
call fcn.10040350
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xcc1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x90]
mov dword [edi + 0xcfc], eax
add eax, 0x14
mov dword [edi + 0xc68], eax
mov dword [edi + 0xc6c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x100577e6
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0xce0]
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10047840
add esi, 0x18
cmp esi, dword [ebp - 0x54]
jne 0x100577d0
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x38]
call fcn.1001ff20
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
call fcn.100208a0
lea ecx, [ebp - 0x94]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x3d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0xc70], 1
lea eax, [edi + 0xc58]
mov dword [edi + 0xc5c], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xc64], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xc74], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100723f0
push str.skeleton_enemy
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xd88]
call fcn.100208f0
push str.enemy_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x5a
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0xdf8]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xdc0]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0xe10], eax
mov dword [edi + 0xe14], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.draw_first_record
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xd00]
call fcn.100208f0
push str.draw_previous_record
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x5c
call fcn.100208f0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [edi + 0xd38]
call fcn.10040350
mov byte [edi + 0xd69], 1
lea eax, [ebp - 0x6c]
push eax
lea ecx, [edi + 0xd70]
call fcn.10040350
lea ecx, [ebp - 0x6c]
mov byte [edi + 0xd6c], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.skeleton_friendly
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xe18]
call fcn.100208f0
push str.friendly_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x5e
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [edi + 0xe88]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0xe50]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0xea0], eax
mov dword [edi + 0xea4], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0xea8]
call fcn.100726d0
push str.skeleton_alpha
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x60
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x61
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [edi + 0xee0]
call fcn.10040350
mov byte [edi + 0xf11], 0
mov dword [edi + 0xf60], 0
mov dword [edi + 0xeb8], 8
mov dword [edi + 0xebc], 8
mov dword [edi + 0xf1c], 0x41200000
lea eax, [ebp - 0x50]
mov dword [edi + 0xf20], 0x42c80000
lea ecx, [edi + 0xf48]
mov dword [edi + 0xf18], 0x42700000
mov dword [edi + 0xf2c], 0
push eax
mov dword [edi + 0xf24], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.100723f0
push str.enemy
lea ecx, [ebp - 0x4d8]
call fcn.100208f0
push str.friendly
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0x63
call fcn.100208f0
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 4], 0x64
push ecx
lea eax, [ebp - 0x4a8]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
push str.glow
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x65
call fcn.100208f0
push str.glow
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x66
call fcn.100208f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0xf9c]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0xfcd], 1
push eax
lea ecx, [edi + 0xfd4]
call fcn.10040350
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xfcd], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x1008], eax
add eax, 0x14
mov dword [edi + 0xf74], eax
mov dword [edi + 0xf78], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10057c49
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0xfec]
mov dword [ebp - 0x20], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.10047840
add esi, 0x18
cmp esi, dword [ebp - 0x54]
jne 0x10057c33
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x98]
call fcn.1001ff20
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
call fcn.100208a0
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0xf7c], 1
lea eax, [edi + 0xf64]
mov dword [edi + 0xf68], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xf70], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf80], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100723f0
push str.glow_enemy
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x100c]
call fcn.100208f0
push str.enemy_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x69
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0x107c]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1044]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x1094], eax
mov dword [edi + 0x1098], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.glow_friendly
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x109c]
call fcn.100208f0
push str.friendly_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x6b
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [edi + 0x110c]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x10d4]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x1124], eax
mov dword [edi + 0x1128], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x112c]
call fcn.100726d0
push str.glow_blend
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x6d
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x6e
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [edi + 0x1164]
call fcn.10040350
mov byte [edi + 0x1195], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x11e4], 0
lea ecx, [edi + 0x11cc]
mov dword [edi + 0x113c], 8
mov dword [edi + 0x1140], 8
mov dword [edi + 0x11a0], 0x41200000
mov dword [edi + 0x11a4], 0x42c80000
mov dword [edi + 0x119c], 0x42700000
mov dword [edi + 0x11b0], 0
push eax
mov dword [edi + 0x11a8], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.100723f0
push str.visible
lea ecx, [ebp - 0x3d0]
call fcn.100208f0
push str.invisible
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 4], 0x70
call fcn.100208f0
lea ecx, [ebp - 0x3d0]
mov dword [ebp - 4], 0x71
push ecx
lea eax, [ebp - 0x3a0]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
push 0x100af838
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x72
call fcn.100208f0
push str.chams_enemy
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x73
call fcn.100208f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x1220]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0x1251], 1
push eax
lea ecx, [edi + 0x1258]
call fcn.10040350
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1251], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x128c], eax
add eax, 0x14
mov dword [edi + 0x11f8], eax
mov dword [edi + 0x11fc], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10058016
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x1270]
mov dword [ebp - 0x20], eax
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.10047840
add esi, 0x18
cmp esi, dword [ebp - 0x54]
jne 0x10058000
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x98]
call fcn.1001ff20
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
call fcn.100208a0
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x3d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x1200], 1
lea eax, [edi + 0x11e8]
mov dword [edi + 0x11ec], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x11f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1204], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100723f0
push str.chams_enemy_vis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1290]
call fcn.100208f0
push str.color_visible
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x76
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [edi + 0x1300]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x12c8]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x1318], eax
mov dword [edi + 0x131c], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.chams_enemy_invis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1320]
call fcn.100208f0
push str.color_invisible
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x78
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0x1390]
mov dword [ebp - 0x1c], 0xffe1b43c
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1358]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x13a8], eax
mov dword [edi + 0x13ac], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x13b0]
call fcn.100726d0
push str.chams_enemy_blend
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x7a
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x7b
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x7c
push eax
lea ecx, [edi + 0x13e8]
call fcn.10040350
mov byte [edi + 0x1419], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x1468], 0
lea ecx, [edi + 0x1450]
mov dword [edi + 0x13c0], 8
mov dword [edi + 0x13c4], 8
mov dword [edi + 0x1424], 0
mov dword [edi + 0x1428], 0x42c80000
mov dword [edi + 0x1420], 0x42c80000
mov dword [edi + 0x1434], 0
push eax
mov dword [edi + 0x142c], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100af898
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x146c]
call fcn.100208f0
push str.chams_history
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x7d
call fcn.100208f0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x7e
push eax
lea ecx, [edi + 0x14a4]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0x14d5], 1
push eax
lea ecx, [edi + 0x14dc]
call fcn.10040350
lea ecx, [ebp - 0x6c]
mov byte [edi + 0x14d8], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.chams_history_col
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x14f4]
call fcn.100208f0
push str.color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x7f
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x80
push eax
lea ecx, [edi + 0x1564]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x152c]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x157c], eax
mov dword [edi + 0x1580], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1584]
call fcn.100726d0
push str.chams_history_blend
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x81
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x82
call fcn.100208f0
mov byte [ebp - 4], 0x83
lea eax, [ebp - 0x6c]
push eax
lea ecx, [edi + 0x15bc]
call fcn.10040350
mov byte [edi + 0x15ed], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x163c], 0
lea ecx, [edi + 0x1624]
mov dword [edi + 0x1594], 8
mov dword [edi + 0x1598], 8
mov dword [edi + 0x15f8], 0x41200000
mov dword [edi + 0x15fc], 0x42c80000
mov dword [edi + 0x15f4], 0x42c80000
mov dword [edi + 0x1608], 0
push eax
mov dword [edi + 0x1600], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.100723f0
push str.visible
lea ecx, [ebp - 0x4d8]
call fcn.100208f0
push str.invisible
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], 0x84
call fcn.100208f0
lea ecx, [ebp - 0x4d8]
mov dword [ebp - 4], 0x85
push ecx
lea eax, [ebp - 0x4a8]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.10072420
push 0x100af8dc
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x86
call fcn.100208f0
push str.chams_friendly
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x87
call fcn.100208f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x89
push eax
lea ecx, [edi + 0x1678]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0x16a9], 1
push eax
lea ecx, [edi + 0x16b0]
call fcn.10040350
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x16a9], al
cmovne eax, ecx
mov dword [edi + 0x16e4], eax
mov ecx, dword [ebp - 0x34]
add eax, 0x14
mov dword [edi + 0x1650], eax
mov dword [edi + 0x1654], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x1005861d
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x16c8]
mov dword [ebp - 0x20], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.10047840
add esi, 0x18
cmp esi, dword [ebp - 0x54]
jne 0x10058607
mov edi, dword [ebp - 0x24]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x98]
call fcn.1001ff20
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
call fcn.100208a0
lea ecx, [ebp - 0x38]
call fcn.10047ad0
push fcn.100208a0
push 2
push 0x18
lea eax, [ebp - 0x4d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009cc81
mov dword [edi + 0x1658], 1
lea eax, [edi + 0x1640]
mov dword [edi + 0x1644], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x164c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x165c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.100723f0
push str.chams_friendly_vis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x16e8]
call fcn.100208f0
push str.color_visible
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x8a
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0x1758]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1720]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x1770], eax
mov dword [edi + 0x1774], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.chams_friendly_invis
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1778]
call fcn.100208f0
push str.color_invisible
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x8c
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x8d
push eax
lea ecx, [edi + 0x17e8]
mov dword [ebp - 0x1c], 0xff0032ff
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x17b0]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x1800], eax
mov dword [edi + 0x1804], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1808]
call fcn.100726d0
push str.chams_friendly_blend
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x8e
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x8f
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x90
push eax
lea ecx, [edi + 0x1840]
call fcn.10040350
mov byte [edi + 0x1871], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x18c0], 0
lea ecx, [edi + 0x18a8]
mov dword [edi + 0x1818], 8
mov dword [edi + 0x181c], 8
mov dword [edi + 0x187c], 0x41200000
mov dword [edi + 0x1880], 0x42c80000
mov dword [edi + 0x1878], 0x42c80000
mov dword [edi + 0x188c], 0
push eax
mov dword [edi + 0x1884], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100af93c
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x18c4]
call fcn.100208f0
push str.chams_local
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x91
call fcn.100208f0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0x18fc]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0x192d], 1
push eax
lea ecx, [edi + 0x1934]
call fcn.10040350
lea ecx, [ebp - 0x6c]
mov byte [edi + 0x1930], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.chams_local_col
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x194c]
call fcn.100208f0
push str.color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x93
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x94
push eax
lea ecx, [edi + 0x19bc]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.10040350
lea eax, [ebp - 0x50]
push eax
lea ecx, [edi + 0x1984]
call fcn.10040350
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x6c]
mov dword [edi + 0x19d4], eax
mov dword [edi + 0x19d8], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x19dc]
call fcn.100726d0
push str.chams_local_blend
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x95
call fcn.100208f0
push 0x100ab68a
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x96
call fcn.100208f0
mov byte [ebp - 4], 0x97
lea eax, [ebp - 0x6c]
push eax
lea ecx, [edi + 0x1a14]
call fcn.10040350
mov byte [edi + 0x1a45], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x1a94], 0
lea ecx, [edi + 0x1a7c]
mov dword [edi + 0x19ec], 8
mov dword [edi + 0x19f0], 8
mov dword [edi + 0x1a50], 0x41200000
mov dword [edi + 0x1a54], 0x42c80000
mov dword [edi + 0x1a4c], 0x42c80000
mov dword [edi + 0x1a60], 0
push eax
mov dword [edi + 0x1a58], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push str.chams_local_scope
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1a98]
call fcn.100208f0
push str.blend_when_scoped
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x98
call fcn.100208f0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x99
push eax
lea ecx, [edi + 0x1ad0]
call fcn.10040350
lea eax, [ebp - 0x6c]
mov byte [edi + 0x1b01], 1
push eax
lea ecx, [edi + 0x1b08]
call fcn.10040350
lea ecx, [ebp - 0x6c]
mov byte [edi + 0x1b04], 0
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100208a0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
push 0x100aebac
lea ecx, [ebp - 0x50]
lea esi, [edi + 0x1b20]
call fcn.100726d0
push str.chams_local_blend_strength
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x9a
call fcn.100208f0
mov byte [ebp - 4], 0x9b
push 0x100ab68a
lea ecx, [ebp - 0xa0]
call fcn.100208f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x9c
push eax
lea ecx, [edi + 0x1b58]
call fcn.10040350
mov byte [edi + 0x1b89], 0
lea eax, [ebp - 0x50]
mov dword [edi + 0x1bd8], 0
lea ecx, [edi + 0x1bc0]
mov dword [edi + 0x1b30], 8
mov dword [edi + 0x1b34], 8
mov dword [edi + 0x1b94], 0x41200000
mov dword [edi + 0x1b98], 0x42c80000
mov dword [edi + 0x1b90], 0x42c80000
mov dword [edi + 0x1ba4], 0
push eax
mov dword [edi + 0x1b9c], 0x3f800000
call fcn.100726a0
lea ecx, [ebp - 0xa0]
call fcn.100208a0
lea ecx, [ebp - 0x6c]
call fcn.100208a0
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.100479c0
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 - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.100723f0
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.1009cb56
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret