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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a0477
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2d8
mov eax, dword [0x100ba364]
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 - 0x44], edi
push str.players
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.1001f770
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 1
call fcn.1001f7a0
push str.enemy
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7f0
push str.friendly
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 2
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 3
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x104]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push 0x100ab9f0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.1001f7f0
push str.boxes
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0x68]
call fcn.1001f770
lea eax, [ebp - 0x88]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0x99], cl
mov edx, 0xf
cmovne ecx, edx
mov dword [edi + 0xd4], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x100529f5
lea eax, [edi + 0xb8]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.100454c0
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x100529e0
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x2c], 0
add ecx, 3
mov dword [ebp - 0x1c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10052ac7
lea ecx, [edi + 0xc8]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
lea ecx, [edi + 0xc8]
mov esi, dword [eax]
lea eax, [ebp - 0x4c]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x50]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0xc8]
mov esi, eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0xb8]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x10052a97
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xc8]
call fcn.10036de0
cmp esi, dword [ebp - 0x28]
jne 0x10052aa8
mov eax, dword [edi + 0x94]
test eax, eax
je 0x10052aa8
call eax
mov eax, dword [ebp - 0x2c]
lea ecx, [edi + 0xc8]
mov edx, dword [ebp - 0x1c]
inc eax
add edx, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], edx
cmp eax, dword [ebp - 0x24]
jne 0x10052a30
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 8
call fcn.1001f380
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 9
call fcn.1001f7a0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xb
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x30]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.box_enemy
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
push str.box_enemy_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xc
call fcn.1001f7f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [edi + 0x148]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1001f770
lea eax, [ebp - 0x88]
push eax
lea ecx, [edi + 0x110]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x160], eax
mov dword [edi + 0x164], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xe
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0xf
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xd8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.box_friendly
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
push str.box_friendly_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x10
call fcn.1001f7f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [edi + 0x1d8]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.1001f770
lea eax, [ebp - 0x88]
push eax
lea ecx, [edi + 0x1a0]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1f0], eax
mov dword [edi + 0x1f4], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x12
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x13
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x168]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.dormant
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
push str.dormant_enemies
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x14
call fcn.1001f7f0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [edi + 0x230]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x261], 1
push eax
lea ecx, [edi + 0x268]
call fcn.1001f770
mov byte [edi + 0x264], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x16
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x17
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1f8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.offscreen
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
push str.enemy_offscreen_esp
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x18
call fcn.1001f7f0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [edi + 0x2b8]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x2e9], 1
push eax
lea ecx, [edi + 0x2f0]
call fcn.1001f770
mov byte [edi + 0x2ec], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1a
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x1b
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x280]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
mov esi, dword [0x100a9320]
lea ecx, [ebp - 0x88]
push str.offscreen_color
call fcn.1001f7f0
push str.offscreen_esp_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x1c
call fcn.1001f7f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [edi + 0x378]
call fcn.1001f770
lea eax, [ebp - 0x88]
push eax
lea ecx, [edi + 0x340]
call fcn.1001f770
mov dword [edi + 0x390], esi
mov dword [edi + 0x394], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1e
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x1f
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x308]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.enemy
lea ecx, [ebp - 0x104]
call fcn.1001f7f0
push str.friendly
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0x20
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x104]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push str.name
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x22
call fcn.1001f7f0
push str.name
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x23
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [edi + 0x3d0]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x401], 1
push eax
lea ecx, [edi + 0x408]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0x401], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x43c], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x3a8], eax
mov dword [edi + 0x3ac], eax
mov eax, dword [ebp - 0x3c]
cmp esi, eax
mov dword [ebp - 0x28], eax
je 0x10053023
lea eax, [edi + 0x420]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100454c0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10053010
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x100530f7
lea ecx, [edi + 0x430]
nop dword [eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x430]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x430]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0x420]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x100530c7
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x430]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x100530d8
mov eax, dword [edi + 0x3fc]
test eax, eax
je 0x100530d8
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x430]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10053060
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x26
call fcn.1001f380
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x27
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x28
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x29
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x398]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
mov esi, dword [0x100a9320]
lea ecx, [ebp - 0x88]
push 0x100aba90
call fcn.1001f7f0
push str.name_color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x2a
call fcn.1001f7f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [edi + 0x4b0]
call fcn.1001f770
lea eax, [ebp - 0x88]
push eax
lea ecx, [edi + 0x478]
call fcn.1001f770
mov dword [edi + 0x4c8], esi
mov dword [edi + 0x4cc], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x2c
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x2d
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x440]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.enemy
lea ecx, [ebp - 0x104]
call fcn.1001f7f0
push str.friendly
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0x2e
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x104]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push str.health
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x30
call fcn.1001f7f0
push str.health
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x31
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [edi + 0x508]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x539], 1
push eax
lea ecx, [edi + 0x540]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0x539], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x574], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x4e0], eax
mov dword [edi + 0x4e4], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x10053355
lea eax, [edi + 0x558]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
push esi
mov ecx, eax
call fcn.100454c0
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10053340
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10053427
lea ecx, [edi + 0x568]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x568]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x568]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0x558]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x100533f7
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x568]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x10053408
mov eax, dword [edi + 0x534]
test eax, eax
je 0x10053408
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x568]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10053390
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x34
call fcn.1001f380
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x35
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x36
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x37
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x4d0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.money
lea ecx, [ebp - 0x2e8]
call fcn.1001f7f0
push str.armor
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 4], 0x38
call fcn.1001f7f0
push str.scoped
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0x39
call fcn.1001f7f0
push str.flashed
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0x3a
call fcn.1001f7f0
push str.reloading
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x3b
call fcn.1001f7f0
push str.bomb
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x3c
call fcn.1001f7f0
push str.zeus
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x3d
call fcn.1001f7f0
push 0x100abb1c
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x3e
call fcn.1001f7f0
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x228]
push str.ping
call fcn.1001f7f0
push str.network
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x40
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x1f8]
push ecx
lea edx, [ebp - 0x2e8]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push 0x100abb10
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x42
call fcn.1001f7f0
push str.flags_enemy
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x43
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x5b0]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x5e1], 1
push eax
lea ecx, [edi + 0x5e8]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0x5e1], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x61c], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x588], eax
mov dword [edi + 0x58c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x10053665
lea eax, [edi + 0x600]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.100454c0
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10053650
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10053737
lea ecx, [edi + 0x610]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x610]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x610]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0x600]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x10053707
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x610]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x10053718
mov eax, dword [edi + 0x5dc]
test eax, eax
je 0x10053718
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x610]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x100536a0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x46
call fcn.1001f380
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x47
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x48
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x49
call fcn.10045710
push fcn.1001f7a0
push 0xa
push 0x18
lea eax, [ebp - 0x2e8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x578]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.money
lea ecx, [ebp - 0x288]
call fcn.1001f7f0
push str.armor
lea ecx, [ebp - 0x270]
mov dword [ebp - 4], 0x4a
call fcn.1001f7f0
push str.scoped
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x4b
call fcn.1001f7f0
push str.flashed
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x4c
call fcn.1001f7f0
push str.reloading
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x4d
call fcn.1001f7f0
push str.bomb
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x4e
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0x1f8]
push ecx
lea edx, [ebp - 0x288]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x88]
push str.flags_friendly
call fcn.1001f7f0
push 0x100abb28
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x51
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [edi + 0x658]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x689], 1
push eax
lea ecx, [edi + 0x690]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0x689], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x6c4], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x630], eax
mov dword [edi + 0x634], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x10053925
lea eax, [edi + 0x6a8]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.100454c0
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10053910
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x100539f7
lea ecx, [edi + 0x6b8]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x6b8]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x6b8]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0x6a8]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x100539c7
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x6b8]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x100539d8
mov eax, dword [edi + 0x684]
test eax, eax
je 0x100539d8
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x6b8]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10053960
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x54
call fcn.1001f380
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x55
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x56
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x57
call fcn.10045710
push fcn.1001f7a0
push 6
push 0x18
lea eax, [ebp - 0x288]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x620]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.enemy
lea ecx, [ebp - 0x104]
call fcn.1001f7f0
push str.friendly
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0x58
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x59
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x104]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push str.weapon
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x5a
call fcn.1001f7f0
push str.weapon
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x5b
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [edi + 0x700]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x731], 1
push eax
lea ecx, [edi + 0x738]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0x731], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0x76c], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x6d8], eax
mov dword [edi + 0x6dc], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x10053b95
lea eax, [edi + 0x750]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.100454c0
mov eax, dword [ebp - 0x28]
add esi, 0x18
cmp esi, edi
jne 0x10053b80
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10053c67
lea ecx, [edi + 0x760]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x760]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x760]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0x750]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x10053c37
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x760]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x10053c48
mov eax, dword [edi + 0x72c]
test eax, eax
je 0x10053c48
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x760]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x10053bd0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x5e
call fcn.1001f380
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x5f
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x60
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x61
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x6c8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.text
lea ecx, [ebp - 0x1c4]
call fcn.1001f7f0
push str.icon
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0x62
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x63
push eax
lea ecx, [ebp - 0x194]
push ecx
lea edx, [ebp - 0x1c4]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push str.weapon_mode
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x64
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x65
call fcn.1001f7f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x66
push eax
lea ecx, [edi + 0x7a8]
call fcn.1001f770
mov eax, dword [ebp - 0x3c]
lea ecx, [edi + 0x7f8]
mov esi, dword [ebp - 0x40]
mov byte [edi + 0x7d9], 0
mov dword [edi + 0x80c], 0
mov dword [edi + 0x780], 0x14
mov dword [edi + 0x784], 0x14
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10053dce
mov dword [ebp - 0x24], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.100454c0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10053db5
mov edi, dword [ebp - 0x44]
lea ecx, [edi + 0x7f8]
call fcn.10025ef0
test eax, eax
je 0x10053de1
mov dword [edi + 0x808], 0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x67
call fcn.1001f7a0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x68
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x69
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x1c4]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x770]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.ammo
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
push str.ammo
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x6a
call fcn.1001f7f0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x6b
push eax
lea ecx, [edi + 0x848]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x879], 1
push eax
lea ecx, [edi + 0x880]
call fcn.1001f770
mov byte [edi + 0x87c], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x6c
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x6d
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x810]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
mov esi, dword [0x100a9344]
push str.ammo_color
lea ecx, [ebp - 0xa0]
call fcn.1001f7f0
push str.color
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x6e
call fcn.1001f7f0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [edi + 0x908]
call fcn.1001f770
lea eax, [ebp - 0xa0]
push eax
lea ecx, [edi + 0x8d0]
call fcn.1001f770
mov dword [edi + 0x920], esi
mov dword [edi + 0x924], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x70
call fcn.1001f7a0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0x71
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x898]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push 0x100abb80
lea ecx, [ebp - 0x11c]
call fcn.1001f7f0
push str.lby_update
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x72
call fcn.1001f7f0
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [edi + 0x960]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x991], 1
push eax
lea ecx, [edi + 0x998]
call fcn.1001f770
mov byte [edi + 0x994], 0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x74
call fcn.1001f7a0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0x75
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x928]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
mov esi, dword [0x100a9338]
lea ecx, [ebp - 0xd4]
push str.lby_update_color
call fcn.1001f7f0
push str.color
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0x76
call fcn.1001f7f0
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [edi + 0xa20]
call fcn.1001f770
lea eax, [ebp - 0xd4]
push eax
lea ecx, [edi + 0x9e8]
call fcn.1001f770
mov dword [edi + 0xa38], esi
mov dword [edi + 0xa3c], 0
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x78
call fcn.1001f7a0
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x79
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x9b0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.enemy
lea ecx, [ebp - 0x14c]
call fcn.1001f7f0
push str.friendly
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0x7a
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x7b
push eax
lea ecx, [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x14c]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push str.skeleton
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x7c
call fcn.1001f7f0
mov byte [ebp - 4], 0x7d
push str.skeleton
lea ecx, [ebp - 0xd4]
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [edi + 0xa78]
call fcn.1001f770
lea eax, [ebp - 0xd4]
mov byte [edi + 0xaa9], 1
push eax
lea ecx, [edi + 0xab0]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor ecx, ecx
cmp byte [edi + 0xaa9], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0xae4], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0xa50], eax
mov dword [edi + 0xa54], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10054275
lea eax, [edi + 0xac8]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100454c0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10054262
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10054347
lea ecx, [edi + 0xad8]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0xad8]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0xad8]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0xac8]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x10054317
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xad8]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x10054328
mov eax, dword [edi + 0xaa4]
test eax, eax
je 0x10054328
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xad8]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x100542b0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x80
call fcn.1001f380
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x81
call fcn.1001f7a0
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x82
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x83
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0xa40]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.skeleton_enemy
lea ecx, [ebp - 0x6c]
call fcn.1001f7f0
push str.enemy_color
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x84
call fcn.1001f7f0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x85
push eax
lea ecx, [edi + 0xbe0]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1001f770
lea eax, [ebp - 0x6c]
push eax
lea ecx, [edi + 0xba8]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xbf8], eax
mov dword [edi + 0xbfc], 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x86
call fcn.1001f7a0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x87
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xb70]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.draw_first_record
lea ecx, [ebp - 0x88]
call fcn.1001f7f0
push str.draw_previous_record
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x88
call fcn.1001f7f0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x89
push eax
lea ecx, [edi + 0xb20]
call fcn.1001f770
lea eax, [ebp - 0xd4]
mov byte [edi + 0xb51], 1
push eax
lea ecx, [edi + 0xb58]
call fcn.1001f770
mov byte [edi + 0xb54], 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x8a
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0x8b
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xae8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.skeleton_friendly
lea ecx, [ebp - 0x164]
call fcn.1001f7f0
push str.friendly_color
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0x8c
call fcn.1001f7f0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x8d
push eax
lea ecx, [edi + 0xc70]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1001f770
lea eax, [ebp - 0x164]
push eax
lea ecx, [edi + 0xc38]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xc88], eax
mov dword [edi + 0xc8c], 0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x8e
call fcn.1001f7a0
lea ecx, [ebp - 0x164]
mov dword [ebp - 4], 0x8f
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xc00]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push 0x100ab0e4
lea ecx, [ebp - 0xb8]
call fcn.1006dcf0
push str.skeleton_alpha
lea ecx, [ebp - 0x164]
mov dword [ebp - 4], 0x90
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x91
call fcn.1001f7f0
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0xcc8]
call fcn.1001f770
lea eax, [ebp - 0xb8]
mov byte [edi + 0xcf9], 0
push eax
lea ecx, [edi + 0xd30]
mov dword [edi + 0xd48], 0
mov dword [edi + 0xca0], 8
mov dword [edi + 0xca4], 8
mov dword [edi + 0xd04], 0x41200000
mov dword [edi + 0xd08], 0x42c80000
mov dword [edi + 0xd00], 0x42700000
mov dword [edi + 0xd14], 0
mov dword [edi + 0xd0c], 0x3f800000
call fcn.1006dcc0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x93
call fcn.1001f7a0
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x94
call fcn.1001f7a0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0x95
call fcn.10045800
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xc90]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.enemy
lea ecx, [ebp - 0x1c4]
call fcn.1001f7f0
push str.friendly
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0x96
call fcn.1001f7f0
lea eax, [ebp - 0x1d]
mov dword [ebp - 4], 0x97
push eax
lea ecx, [ebp - 0x194]
push ecx
lea edx, [ebp - 0x1c4]
push edx
lea ecx, [ebp - 0x40]
call fcn.1006db90
push str.glow
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x98
call fcn.1001f7f0
push str.glow
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x99
call fcn.1001f7f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0x9b
push eax
lea ecx, [edi + 0xd84]
call fcn.1001f770
lea eax, [ebp - 0xb8]
mov byte [edi + 0xdb5], 1
push eax
lea ecx, [edi + 0xdbc]
call fcn.1001f770
mov esi, dword [ebp - 0x40]
xor eax, eax
cmp byte [edi + 0xdb5], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xdf0], eax
add eax, 0x14
mov dword [edi + 0xd5c], eax
mov dword [edi + 0xd60], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10054873
lea eax, [edi + 0xdd4]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100454c0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10054860
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x98]
xor esi, esi
mov ecx, dword [ebp - 0x94]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x2c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x94]
cmova ecx, esi
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x10054947
lea ecx, [edi + 0xde4]
nop dword [eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0xde4]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0xde4]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
mov esi, dword [esi]
lea ecx, [edi + 0xdd4]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x10054917
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xde4]
call fcn.10036de0
cmp esi, dword [ebp - 0x24]
jne 0x10054928
mov eax, dword [edi + 0xdb0]
test eax, eax
je 0x10054928
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xde4]
mov edx, dword [ebp - 0x2c]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edx
cmp eax, dword [ebp - 0x28]
jne 0x100548b0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x9c
call fcn.1001f380
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x9d
call fcn.1001f7a0
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x9e
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x9f
call fcn.10045710
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x1c4]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0xd4c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.glow_enemy
lea ecx, [ebp - 0xd4]
call fcn.1001f7f0
push str.enemy_color
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0xa0
call fcn.1001f7f0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xa1
push eax
lea ecx, [edi + 0xe64]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1001f770
lea eax, [ebp - 0xd4]
push eax
lea ecx, [edi + 0xe2c]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xe7c], eax
mov dword [edi + 0xe80], 0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xa2
call fcn.1001f7a0
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xa3
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xdf4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push str.glow_friendly
lea ecx, [ebp - 0x11c]
call fcn.1001f7f0
push str.friendly_color
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0xa4
call fcn.1001f7f0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [edi + 0xef4]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1001f770
lea eax, [ebp - 0x11c]
push eax
lea ecx, [edi + 0xebc]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xf0c], eax
mov dword [edi + 0xf10], 0
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xa6
call fcn.1001f7a0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xa7
call fcn.1001f7a0
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xe84]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036de0
push 0x100ab0e4
lea ecx, [ebp - 0x6c]
call fcn.1006dcf0
push str.glow_blend
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0xa8
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xa9
call fcn.1001f7f0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xaa
push eax
lea ecx, [edi + 0xf4c]
call fcn.1001f770
mov byte [edi + 0xf7d], 0
lea eax, [ebp - 0x6c]
mov dword [edi + 0xfcc], 0
mov dword [edi + 0xf24], 8
mov dword [edi + 0xf28], 8
mov dword [edi + 0xf88], 0x41200000
mov dword [edi + 0xf8c], 0x42c80000
mov dword [edi + 0xf84], 0x42700000
mov dword [edi + 0xf98], 0
mov dword [edi + 0xf90], 0x3f800000
push eax
lea ecx, [edi + 0xfb4]
call fcn.1006dcc0
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xab
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xac
call fcn.1001f7a0
lea ecx, [ebp - 0x88]
call fcn.10017c50
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.100456a0
lea eax, [edi + 0xf14]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
lea ecx, [ebp - 0xb9]
call fcn.10018030
push str.visible
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.1001f7f0
push str.invisible
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0xad
call fcn.1001f7f0
lea eax, [ebp - 0xd4]
mov dword [ebp - 4], 0xae
push eax
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x90]
call fcn.1006db70
push esi
lea ecx, [ebp - 0x7c]
push dword [eax + 4]
push dword [eax]
call fcn.1006db90
push 0x100abc78
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0xaf
call fcn.1001f7f0
push str.chams_enemy
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xb0
call fcn.1001f7f0
lea ecx, [ebp - 0x40]
call fcn.10018010
lea eax, [ebp - 0x164]
mov byte [ebp - 4], 0xb2
push eax
lea ecx, [edi + 0x1008]
call fcn.1001f770
lea eax, [ebp - 0xb8]
mov byte [edi + 0x1039], 1
push eax
lea ecx, [edi + 0x1040]
call fcn.1001f770
xor eax, eax
cmp byte [edi + 0x1039], al
mov ecx, 0xf
cmovne eax, ecx
lea ecx, [ebp - 0x7c]
mov dword [edi + 0x1074], eax
add eax, 0x14
mov dword [edi + 0xfe0], eax
mov dword [edi + 0xfe4], eax
call fcn.1001f460
lea ecx, [ebp - 0x7c]
mov esi, eax
call fcn.1003fc20
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10054dc3
lea ecx, [edi + 0x1058]
mov dword [ebp - 0x24], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10054db0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
call fcn.1001f460
mov esi, eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], esi
call fcn.1003fc20
mov ecx, eax
mov dword [ebp - 0x1c], 0
sub ecx, esi
xor edx, edx
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10054e9d
lea ecx, [edi + 0x1068]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x1068]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x1068]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
push eax
mov ecx, esi
call fcn.1001f340
lea ecx, [edi + 0x1058]
mov byte [ebp - 0x1d], al
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x10054e6c
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1068]
call fcn.10036db0
cmp byte [ebp - 0x1d], 0
je 0x10054e7e
mov eax, dword [edi + 0x1034]
test eax, eax
je 0x10054e7e
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x1068]
mov esi, dword [ebp - 0x2c]
inc eax
add esi, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], esi
cmp eax, dword [ebp - 0x24]
jne 0x10054e01
lea ecx, [ebp - 0x40]
call fcn.1001f6e0
lea ecx, [ebp - 0xb8]
call fcn.1001f7a0
lea ecx, [ebp - 0x164]
call fcn.1001f7a0
lea ecx, [ebp - 0x7c]
call fcn.10045500
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0xfd0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_enemy_vis
lea ecx, [ebp - 0xd4]
call fcn.1001f7f0
push str.color_visible
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0xb3
call fcn.1001f7f0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xb4
push eax
lea ecx, [edi + 0x10e8]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1001f770
lea eax, [ebp - 0xd4]
push eax
lea ecx, [edi + 0x10b0]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb8]
mov dword [edi + 0x1100], eax
mov dword [edi + 0x1104], 0
call fcn.1001f7a0
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x1078]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_enemy_invis
lea ecx, [ebp - 0x11c]
call fcn.1001f7f0
mov dword [ebp - 4], 0xb5
lea ecx, [ebp - 0xb8]
push str.color_invisible
call fcn.1001f7f0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xb6
push eax
lea ecx, [edi + 0x1178]
mov dword [ebp - 0x1c], 0xffe1b43c
call fcn.1001f770
lea eax, [ebp - 0x11c]
push eax
lea ecx, [edi + 0x1140]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb8]
mov dword [edi + 0x1190], eax
mov dword [edi + 0x1194], 0
call fcn.1001f7a0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x1108]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100ab0e4
lea ecx, [ebp - 0x6c]
call fcn.1006dcf0
push str.chams_enemy_blend
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0xb7
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xb8
call fcn.1001f7f0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xb9
push eax
lea ecx, [edi + 0x11d0]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x1201], 0
push eax
lea ecx, [edi + 0x1238]
mov dword [edi + 0x1250], 0
mov dword [edi + 0x11a8], 8
mov dword [edi + 0x11ac], 8
mov dword [edi + 0x120c], 0
mov dword [edi + 0x1210], 0x42c80000
mov dword [edi + 0x1208], 0x42c80000
mov dword [edi + 0x121c], 0
mov dword [edi + 0x1214], 0x3f800000
call fcn.1006dcc0
lea ecx, [ebp - 0xec]
call fcn.1001f7a0
lea ecx, [ebp - 0xb8]
call fcn.1001f7a0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.100456a0
lea eax, [edi + 0x1198]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100abcd8
lea ecx, [ebp - 0x194]
call fcn.1001f7f0
push str.chams_history
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0xba
call fcn.1001f7f0
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0xbb
push eax
lea ecx, [edi + 0x128c]
call fcn.1001f770
lea eax, [ebp - 0xb8]
mov byte [edi + 0x12bd], 1
push eax
lea ecx, [edi + 0x12c4]
call fcn.1001f770
lea ecx, [ebp - 0xb8]
mov byte [edi + 0x12c0], 0
call fcn.1001f7a0
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x1254]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_history_col
lea ecx, [ebp - 0x17c]
call fcn.1001f7f0
push str.color
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xbc
call fcn.1001f7f0
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0xbd
push eax
lea ecx, [edi + 0x134c]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.1001f770
lea eax, [ebp - 0x17c]
push eax
lea ecx, [edi + 0x1314]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x194]
mov dword [edi + 0x1364], eax
mov dword [edi + 0x1368], 0
call fcn.1001f7a0
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x12dc]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100ab0e4
lea ecx, [ebp - 0x134]
call fcn.1006dcf0
push str.chams_history_blend
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xbe
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xbf
call fcn.1001f7f0
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0xc0
push eax
lea ecx, [edi + 0x13a4]
call fcn.1001f770
lea eax, [ebp - 0x134]
mov byte [edi + 0x13d5], 0
push eax
lea ecx, [edi + 0x140c]
mov dword [edi + 0x1424], 0
mov dword [edi + 0x137c], 8
mov dword [edi + 0x1380], 8
mov dword [edi + 0x13e0], 0x41200000
mov dword [edi + 0x13e4], 0x42c80000
mov dword [edi + 0x13dc], 0x42c80000
mov dword [edi + 0x13f0], 0
mov dword [edi + 0x13e8], 0x3f800000
call fcn.1006dcc0
lea ecx, [ebp - 0xec]
call fcn.1001f7a0
lea ecx, [ebp - 0x17c]
call fcn.1001f7a0
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xffffffff
call fcn.100456a0
lea eax, [edi + 0x136c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
lea ecx, [ebp - 0xba]
call fcn.10018030
push str.visible
lea ecx, [ebp - 0x1f4]
mov esi, eax
call fcn.1001f7f0
push str.invisible
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], 0xc1
call fcn.1001f7f0
mov dword [ebp - 4], 0xc2
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x90]
call fcn.1006db70
push esi
lea ecx, [ebp - 0x40]
push dword [eax + 4]
push dword [eax]
call fcn.1006db90
push 0x100abd1c
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0xc3
call fcn.1001f7f0
push str.chams_friendly
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xc4
call fcn.1001f7f0
lea ecx, [ebp - 0x80]
call fcn.10018010
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0xc6
push eax
lea ecx, [edi + 0x1460]
call fcn.1001f770
lea eax, [ebp - 0x134]
mov byte [edi + 0x1491], 1
push eax
lea ecx, [edi + 0x1498]
call fcn.1001f770
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x1491], cl
cmovne ecx, eax
mov dword [edi + 0x14cc], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x40]
mov dword [edi + 0x1438], eax
mov dword [edi + 0x143c], eax
call fcn.1001f460
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.1003fc20
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10055583
lea ecx, [edi + 0x14b0]
mov dword [ebp - 0x24], ecx
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10055570
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x80]
call fcn.1001f460
mov esi, eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x2c], esi
call fcn.1003fc20
mov ecx, eax
mov dword [ebp - 0x1c], 0
sub ecx, esi
xor edx, edx
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x1005565d
lea ecx, [edi + 0x14c0]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x54]
push eax
call fcn.1001f360
lea ecx, [edi + 0x14c0]
mov esi, dword [eax]
lea eax, [ebp - 0x50]
push eax
call fcn.1001f370
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.10020510
add esp, 8
lea ecx, [edi + 0x14c0]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call fcn.1001f360
push eax
mov ecx, esi
call fcn.1001f340
lea ecx, [edi + 0x14b0]
mov byte [ebp - 0x1d], al
call fcn.10025ef0
cmp dword [ebp - 0x18], eax
jae 0x1005562c
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x14c0]
call fcn.10036db0
cmp byte [ebp - 0x1d], 0
je 0x1005563e
mov eax, dword [edi + 0x148c]
test eax, eax
je 0x1005563e
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x14c0]
mov esi, dword [ebp - 0x2c]
inc eax
add esi, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], esi
cmp eax, dword [ebp - 0x24]
jne 0x100555c1
lea ecx, [ebp - 0x80]
call fcn.1001f6e0
lea ecx, [ebp - 0x134]
call fcn.1001f7a0
lea ecx, [ebp - 0x17c]
call fcn.1001f7a0
lea ecx, [ebp - 0x40]
call fcn.10045500
push fcn.1001f7a0
push 2
push 0x18
lea eax, [ebp - 0x1f4]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100991ed
lea eax, [edi + 0x1428]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_friendly_vis
lea ecx, [ebp - 0x194]
call fcn.1001f7f0
push str.color_visible
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xc7
call fcn.1001f7f0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xc8
push eax
lea ecx, [edi + 0x1540]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.1001f770
lea eax, [ebp - 0x194]
push eax
lea ecx, [edi + 0x1508]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x134]
mov dword [edi + 0x1558], eax
mov dword [edi + 0x155c], 0
call fcn.1001f7a0
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x14d0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_friendly_invis
lea ecx, [ebp - 0xb8]
call fcn.1001f7f0
mov dword [ebp - 4], 0xc9
lea ecx, [ebp - 0x134]
push str.color_invisible
call fcn.1001f7f0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xca
push eax
lea ecx, [edi + 0x15d0]
mov dword [ebp - 0x1c], 0xff0032ff
call fcn.1001f770
lea eax, [ebp - 0xb8]
push eax
lea ecx, [edi + 0x1598]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x134]
mov dword [edi + 0x15e8], eax
mov dword [edi + 0x15ec], 0
call fcn.1001f7a0
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x1560]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100ab0e4
lea ecx, [ebp - 0x164]
call fcn.1006dcf0
push str.chams_friendly_blend
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xcb
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0xcc
call fcn.1001f7f0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xcd
push eax
lea ecx, [edi + 0x1628]
call fcn.1001f770
lea eax, [ebp - 0x164]
mov byte [edi + 0x1659], 0
push eax
lea ecx, [edi + 0x1690]
mov dword [edi + 0x16a8], 0
mov dword [edi + 0x1600], 8
mov dword [edi + 0x1604], 8
mov dword [edi + 0x1664], 0x41200000
mov dword [edi + 0x1668], 0x42c80000
mov dword [edi + 0x1660], 0x42c80000
mov dword [edi + 0x1674], 0
mov dword [edi + 0x166c], 0x3f800000
call fcn.1006dcc0
lea ecx, [ebp - 0x17c]
call fcn.1001f7a0
lea ecx, [ebp - 0x134]
call fcn.1001f7a0
lea ecx, [ebp - 0x164]
mov dword [ebp - 4], 0xffffffff
call fcn.100456a0
lea eax, [edi + 0x15f0]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100abd7c
lea ecx, [ebp - 0xd4]
call fcn.1001f7f0
push str.chams_local
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xce
call fcn.1001f7f0
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0xcf
push eax
lea ecx, [edi + 0x16e4]
call fcn.1001f770
lea eax, [ebp - 0x134]
mov byte [edi + 0x1715], 1
push eax
lea ecx, [edi + 0x171c]
call fcn.1001f770
lea ecx, [ebp - 0x134]
mov byte [edi + 0x1718], 0
call fcn.1001f7a0
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x16ac]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_local_col
lea ecx, [ebp - 0x11c]
call fcn.1001f7f0
push str.color
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xd0
call fcn.1001f7f0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xd1
push eax
lea ecx, [edi + 0x17a4]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.1001f770
lea eax, [ebp - 0x11c]
push eax
lea ecx, [edi + 0x176c]
call fcn.1001f770
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x134]
mov dword [edi + 0x17bc], eax
mov dword [edi + 0x17c0], 0
call fcn.1001f7a0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x1734]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100ab0e4
lea ecx, [ebp - 0x6c]
call fcn.1006dcf0
push str.chams_local_blend
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xd2
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0xd3
call fcn.1001f7f0
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xd4
push eax
lea ecx, [edi + 0x17fc]
call fcn.1001f770
lea eax, [ebp - 0x6c]
mov byte [edi + 0x182d], 0
push eax
lea ecx, [edi + 0x1864]
mov dword [edi + 0x187c], 0
mov dword [edi + 0x17d4], 8
mov dword [edi + 0x17d8], 8
mov dword [edi + 0x1838], 0x41200000
mov dword [edi + 0x183c], 0x42c80000
mov dword [edi + 0x1834], 0x42c80000
mov dword [edi + 0x1848], 0
mov dword [edi + 0x1840], 0x3f800000
call fcn.1006dcc0
lea ecx, [ebp - 0x17c]
call fcn.1001f7a0
lea ecx, [ebp - 0x134]
call fcn.1001f7a0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0xffffffff
call fcn.100456a0
lea eax, [edi + 0x17c4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push str.chams_local_scope
lea ecx, [ebp - 0x1ac]
call fcn.1001f7f0
push str.blend_when_scoped
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0xd5
call fcn.1001f7f0
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0xd6
push eax
lea ecx, [edi + 0x18b8]
call fcn.1001f770
lea eax, [ebp - 0x134]
mov byte [edi + 0x18e9], 1
push eax
lea ecx, [edi + 0x18f0]
call fcn.1001f770
lea ecx, [ebp - 0x134]
mov byte [edi + 0x18ec], 0
call fcn.1001f7a0
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0xffffffff
call fcn.1001f7a0
lea eax, [edi + 0x1880]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
push 0x100ab0e4
lea ecx, [ebp - 0xec]
call fcn.1006dcf0
push str.chams_local_blend_strength
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0xd7
call fcn.1001f7f0
push 0x100a8f78
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xd8
call fcn.1001f7f0
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0xd9
push eax
lea ecx, [edi + 0x1940]
call fcn.1001f770
lea eax, [ebp - 0xec]
mov byte [edi + 0x1971], 0
push eax
lea ecx, [edi + 0x19a8]
mov dword [edi + 0x19c0], 0
mov dword [edi + 0x1918], 8
mov dword [edi + 0x191c], 8
mov dword [edi + 0x197c], 0x41200000
mov dword [edi + 0x1980], 0x42c80000
mov dword [edi + 0x1978], 0x42c80000
mov dword [edi + 0x198c], 0
mov dword [edi + 0x1984], 0x3f800000
call fcn.1006dcc0
lea ecx, [ebp - 0x134]
call fcn.1001f7a0
lea ecx, [ebp - 0x1ac]
call fcn.1001f7a0
lea ecx, [ebp - 0xec]
mov dword [ebp - 4], 0xffffffff
call fcn.100456a0
lea eax, [edi + 0x1908]
mov dword [ebp - 0x18], eax
mov dword [eax + 0x18], 1
mov edx, dword [ebp - 0x18]
imul eax, dword [edx + 0x18], 0xeb
add eax, 0x14
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 0x2c]
mov dword [eax + 0x1c], edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x18]
call fcn.10036db0
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.100990c9
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret