Function at 0x10055000
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Get number of processors
Get process heap flags
Get process heap force flags
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 0x100a73bb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3c8
mov eax, dword [0x100bf364]
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 - 0x30], edi
push str.players
lea ecx, [ebp - 0x68]
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.1003f390
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 1
call fcn.10021b20
push str.teammates
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.10021bb0
push str.teammates
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 2
call fcn.10021bb0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x68]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1003f390
mov byte [edi + 0x9c], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 4
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 5
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
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.10037600
push str.dormant
lea ecx, [ebp - 0x80]
call fcn.10021bb0
push str.dormant
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 6
call fcn.10021bb0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0x2f0]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x321], 1
push eax
lea ecx, [edi + 0x328]
call fcn.1003f390
mov byte [edi + 0x324], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x68]
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 9
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x2b8]
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.10037600
push 0x100b0a3c
lea ecx, [ebp - 0x80]
call fcn.10021bb0
push str.bounding_box
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xa
call fcn.10021bb0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0xf0]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x121], 1
push eax
lea ecx, [edi + 0x128]
call fcn.1003f390
mov byte [edi + 0x124], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xd
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xb8]
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.10037600
push str.box_enemy
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x140]
call fcn.10021bb0
push str.bounding_box_color
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xe
call fcn.10021bb0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x68]
mov dword [ebp - 0x1c], 0xb4ffffff
push eax
lea ecx, [edi + 0x1b0]
call fcn.1003f390
lea eax, [ebp - 0x80]
push eax
lea ecx, [edi + 0x178]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1c8], eax
mov dword [edi + 0x1e0], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x10
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x11
call fcn.10021b20
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x24], 0x10026930
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push str.health
lea ecx, [ebp - 0x80]
call fcn.10021bb0
push str.health_bar
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x12
call fcn.10021bb0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x6bc]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x6ed], 1
push eax
lea ecx, [edi + 0x6f4]
call fcn.1003f390
mov byte [edi + 0x6f0], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x15
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x684]
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.10037600
push str.name
lea ecx, [ebp - 0x80]
call fcn.10021bb0
push str.name_esp
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x16
call fcn.10021bb0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [edi + 0x4bc]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x4ed], 1
push eax
lea ecx, [edi + 0x4f4]
call fcn.1003f390
mov byte [edi + 0x4f0], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x18
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x19
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x484]
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.10037600
push str.name_color
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x50c]
call fcn.10021bb0
push str.name_esp_color
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x1a
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [edi + 0x57c]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1003f390
lea eax, [ebp - 0x80]
push eax
lea ecx, [edi + 0x544]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x594], eax
mov dword [edi + 0x5ac], 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1c
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x1d
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0x10026940
lea eax, [ebp - 0x24]
lea ecx, [esi + 0x58]
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
lea esi, [edi + 0x18]
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
mov ecx, esi
call fcn.10037600
push str.money
lea ecx, [ebp - 0x2d0]
call fcn.10021bb0
push str.reload
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 4], 0x1e
call fcn.10021bb0
push str.armor
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0x1f
call fcn.10021bb0
push str.flashed
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x20
call fcn.10021bb0
push str.zoom
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x21
call fcn.10021bb0
push str.bomb
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x22
call fcn.10021bb0
push str.network
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 0x23
call fcn.10021bb0
push str.ping
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x24
call fcn.10021bb0
push str.lagcomp
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x25
call fcn.10021bb0
push str.debug
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x26
call fcn.10021bb0
push str.zeus
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x27
call fcn.10021bb0
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x1c8]
lea edx, [ebp - 0x2d0]
push ecx
push edx
lea ecx, [ebp - 0x74]
call fcn.10070f40
push 0x100b0b08
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x29
call fcn.10021bb0
push str.flags_enemy
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2a
call fcn.10021bb0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [edi + 0x800]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x831], 1
push eax
lea ecx, [edi + 0x838]
call fcn.1003f390
xor ecx, ecx
mov edx, 0xf
cmp byte [edi + 0x831], cl
cmovne ecx, edx
mov dword [edi + 0x86c], ecx
lea eax, [ecx + 0x14]
mov ecx, dword [ebp - 0x70]
mov dword [edi + 0x7d8], eax
mov dword [edi + 0x7dc], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x24], eax
cmp eax, ecx
je 0x10055758
mov esi, dword [ebp - 0x24]
lea eax, [edi + 0x850]
mov dword [ebp - 0x1c], eax
mov edi, ecx
nop
push esi
mov ecx, eax
call fcn.10045640
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x10055740
mov edi, dword [ebp - 0x30]
lea esi, [edi + 0x18]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
sub ecx, edx
mov dword [ebp - 0x18], 0
add ecx, 3
mov dword [ebp - 0x24], 0
shr ecx, 2
cmp edx, dword [ebp - 0xd4]
mov dword [ebp - 0x1c], edx
cmova ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10055846
lea ecx, [edi + 0x860]
nop dword [eax + eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x124]
push eax
call fcn.100214b0
lea ecx, [edi + 0x860]
mov esi, dword [eax]
lea eax, [ebp - 0x128]
push eax
call fcn.100214c0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x12c]
push dword [eax]
call fcn.100230f0
add esp, 8
lea ecx, [edi + 0x860]
mov esi, eax
lea eax, [ebp - 0x160]
push eax
call fcn.100214b0
mov esi, dword [esi]
lea ecx, [edi + 0x850]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.10028830
cmp dword [ebp - 0x18], eax
jae 0x10055813
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x860]
call fcn.10037600
cmp esi, dword [ebp - 0x2c]
jne 0x10055824
mov eax, dword [edi + 0x82c]
test eax, eax
je 0x10055824
call eax
mov eax, dword [ebp - 0x24]
lea ecx, [edi + 0x860]
mov edx, dword [ebp - 0x1c]
inc eax
add edx, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edx
cmp eax, dword [ebp - 0x20]
jne 0x100557a0
lea esi, [edi + 0x18]
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x2d
call fcn.100215b0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2e
call fcn.10021b20
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2f
call fcn.10021b20
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x30
call fcn.10045890
push fcn.10021b20
push 0xb
push 0x18
lea eax, [ebp - 0x2d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [edi + 0x7c8]
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
mov ecx, esi
call fcn.10037600
push str.weapontext
lea ecx, [ebp - 0x68]
call fcn.10021bb0
push str.weapon_text
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x31
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x32
push eax
lea ecx, [edi + 0x930]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0x961], 1
push eax
lea ecx, [edi + 0x968]
call fcn.1003f390
mov byte [edi + 0x964], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x33
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x34
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x8f8]
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
mov ecx, esi
call fcn.10037600
push str.weaponicon
lea ecx, [ebp - 0x68]
call fcn.10021bb0
push str.weapon_icon
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x35
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [edi + 0x8a8]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0x8d9], 1
push eax
lea ecx, [edi + 0x8e0]
call fcn.1003f390
mov byte [edi + 0x8dc], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x37
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x38
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x870]
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
mov ecx, esi
call fcn.10037600
push str.weaponcolor
lea ecx, [ebp - 0x68]
lea esi, [edi + 0x980]
call fcn.10021bb0
push str.weapon_icon_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x39
call fcn.10021bb0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [edi + 0x9f0]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1003f390
lea eax, [ebp - 0x68]
push eax
lea ecx, [edi + 0x9b8]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xa08], eax
mov dword [edi + 0xa20], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3b
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x3c
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0x10026950
lea eax, [ebp - 0x20]
lea ecx, [esi + 0x58]
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push str.ammo
lea ecx, [ebp - 0x68]
call fcn.10021bb0
push str.ammo
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x3d
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [edi + 0xb30]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0xb61], 1
push eax
lea ecx, [edi + 0xb68]
call fcn.1003f390
mov byte [edi + 0xb64], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x3f
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x40
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xaf8]
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.10037600
push 0x100b0ba0
lea ecx, [ebp - 0x68]
lea esi, [edi + 0xc08]
call fcn.10021bb0
push str.ammo_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x41
call fcn.10021bb0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [edi + 0xc78]
mov dword [ebp - 0x1c], 0xebc88c50
call fcn.1003f390
lea eax, [ebp - 0x68]
push eax
lea ecx, [edi + 0xc40]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xc90], eax
mov dword [edi + 0xca8], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x43
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x44
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10026960
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push str.distance
lea ecx, [ebp - 0x68]
call fcn.10021bb0
push str.distance
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x45
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [edi + 0xbb8]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0xbe9], 1
push eax
lea ecx, [edi + 0xbf0]
call fcn.1003f390
mov byte [edi + 0xbec], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x47
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x48
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xb80]
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.10037600
push str.lby_update
lea ecx, [ebp - 0x68]
call fcn.10021bb0
push str.lby_timer
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x49
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [edi + 0xcfc]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0xd2d], 1
push eax
lea ecx, [edi + 0xd34]
call fcn.1003f390
mov byte [edi + 0xd30], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x4b
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x4c
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xcc4]
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.10037600
push str.lby_update_color
lea ecx, [ebp - 0x68]
lea esi, [edi + 0xd4c]
call fcn.10021bb0
push str.lby_timer_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x4d
call fcn.10021bb0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [edi + 0xdbc]
mov dword [ebp - 0x1c], 0xffff00ff
call fcn.1003f390
lea eax, [ebp - 0x68]
push eax
lea ecx, [edi + 0xd84]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xdd4], eax
mov dword [edi + 0xdec], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x4f
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x50
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10026ad0
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push str.glow
lea ecx, [ebp - 0x68]
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x51
call fcn.10021bb0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [edi + 0x126c]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0x129d], 1
push eax
lea ecx, [edi + 0x12a4]
call fcn.1003f390
mov byte [edi + 0x12a0], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x53
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x54
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1234]
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.10037600
push str.glow_enemy
lea ecx, [ebp - 0x68]
lea esi, [edi + 0x12bc]
call fcn.10021bb0
push str.glow_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x55
call fcn.10021bb0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [edi + 0x132c]
mov dword [ebp - 0x1c], 0xff7739b4
call fcn.1003f390
lea eax, [ebp - 0x68]
push eax
lea ecx, [edi + 0x12f4]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1344], eax
mov dword [edi + 0x135c], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x57
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x58
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10026ae0
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push 0x100afff8
lea ecx, [ebp - 0x68]
lea esi, [edi + 0x1378]
call fcn.100710a0
push str.glow_blend
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x59
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x5a
call fcn.10021bb0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0x13b0]
call fcn.1003f390
lea eax, [ebp - 0x68]
mov byte [edi + 0x13e1], 0
push eax
lea ecx, [edi + 0x1418]
mov dword [edi + 0x1430], 0
mov dword [edi + 0x1388], 8
mov dword [edi + 0x138c], 8
mov dword [edi + 0x13ec], 0
mov dword [edi + 0x13f0], 0x42c80000
mov dword [edi + 0x13e8], 0x42820000
mov dword [edi + 0x13fc], 0
mov dword [edi + 0x13f4], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x5c
call fcn.10021b20
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x5d
call fcn.10021b20
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0x5e
call fcn.10045980
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0x10026ae0
lea ecx, [esi + 0x58]
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push str.hitmarker
lea ecx, [ebp - 0x1ac]
call fcn.10021bb0
push str.hitmarker
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x5f
call fcn.10021bb0
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [edi + 0xe40]
call fcn.1003f390
lea eax, [ebp - 0x98]
mov byte [edi + 0xe71], 1
push eax
lea ecx, [edi + 0xe78]
call fcn.1003f390
mov byte [edi + 0xe74], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x61
call fcn.10021b20
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0x62
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xe08]
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.10037600
push str.hitmarker3d
lea ecx, [ebp - 0x1c4]
call fcn.10021bb0
push str.3d_hitmarker
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0x63
call fcn.10021bb0
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0x64
push eax
lea ecx, [edi + 0xec8]
call fcn.1003f390
lea eax, [ebp - 0x1ac]
mov byte [edi + 0xef9], 1
push eax
lea ecx, [edi + 0xf00]
call fcn.1003f390
mov byte [edi + 0xefc], 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x65
call fcn.10021b20
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 4], 0x66
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xe90]
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.10037600
push str.hitmarker_sound
lea ecx, [ebp - 0x194]
call fcn.10021bb0
push 0x100b0c24
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 4], 0x67
call fcn.10021bb0
lea eax, [ebp - 0x194]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0xf50]
call fcn.1003f390
lea eax, [ebp - 0x1c4]
mov byte [edi + 0xf81], 1
push eax
lea ecx, [edi + 0xf88]
call fcn.1003f390
mov byte [edi + 0xf84], 0
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0x69
call fcn.10021b20
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0x6a
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xf18]
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.10037600
push str.skeleton
lea ecx, [ebp - 0x17c]
call fcn.10021bb0
push str.skeleton
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0x6b
call fcn.10021bb0
mov byte [ebp - 4], 0x6c
lea eax, [ebp - 0x17c]
push eax
lea ecx, [edi + 0x1080]
call fcn.1003f390
lea eax, [ebp - 0x194]
mov byte [edi + 0x10b1], 1
push eax
lea ecx, [edi + 0x10b8]
call fcn.1003f390
mov byte [edi + 0x10b4], 0
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 0x6d
call fcn.10021b20
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0x6e
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1048]
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.10037600
push str.skeleton_enemy
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x10d0]
call fcn.10021bb0
push str.skeleton_color
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0x6f
call fcn.10021bb0
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x70
push eax
lea ecx, [edi + 0x1140]
mov dword [ebp - 0x1c], 0xffaaffff
call fcn.1003f390
lea eax, [ebp - 0x15c]
push eax
lea ecx, [edi + 0x1108]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1158], eax
mov dword [edi + 0x1170], 0
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x71
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0x72
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10026ab0
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push 0x100afff8
lea ecx, [ebp - 0x144]
lea esi, [edi + 0x14f0]
call fcn.100710a0
push str.skeleton_alpha
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0x73
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x74
call fcn.10021bb0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x1528]
call fcn.1003f390
lea eax, [ebp - 0x144]
mov byte [edi + 0x1559], 0
push eax
lea ecx, [edi + 0x1590]
mov dword [edi + 0x15a8], 0
mov dword [edi + 0x1500], 8
mov dword [edi + 0x1504], 8
mov dword [edi + 0x1564], 0
mov dword [edi + 0x1568], 0x437f0000
mov dword [edi + 0x1560], 0x437f0000
mov dword [edi + 0x1574], 0
mov dword [edi + 0x156c], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x76
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x77
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0x78
call fcn.10045980
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10026ab0
push eax
call fcn.10037600
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.10037600
push str.offscreen
lea ecx, [ebp - 0xf0]
call fcn.10021bb0
push str.out_of_pov_arrow
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0x79
call fcn.10021bb0
mov byte [ebp - 4], 0x7a
lea eax, [ebp - 0xf0]
push eax
lea ecx, [edi + 0x378]
call fcn.1003f390
lea eax, [ebp - 0x144]
mov byte [edi + 0x3a9], 1
push eax
lea ecx, [edi + 0x3b0]
call fcn.1003f390
mov byte [edi + 0x3ac], 0
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x7b
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0x7c
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x340]
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.10037600
mov esi, dword [0x100ae490]
lea ecx, [ebp - 0x108]
push str.offscreen_color
add edi, 0x3c8
call fcn.10021bb0
push str.offscreen_esp_color
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0x7d
call fcn.10021bb0
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0xf0]
push eax
add ecx, 0x438
mov byte [ebp - 4], 0x7e
call fcn.1003f390
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x108]
push eax
lea ecx, [ecx + 0x400]
call fcn.1003f390
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x450], esi
mov dword [eax + 0x468], 0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x7f
call fcn.10021b20
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x80
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10026ac0
push eax
call fcn.10037600
mov dword [ebp - 0x1c], edi
mov dword [edi + 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 edi, dword [ebp - 0x30]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
lea esi, [edi + 0x18]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.10037600
push str.small_fonts
lea ecx, [ebp - 0x4c]
call fcn.10021bb0
push str.use_small_fonts_for_esp
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x81
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x82
push eax
lea ecx, [edi + 0x3320]
call fcn.1003f390
lea eax, [ebp - 0x108]
mov byte [edi + 0x3351], 1
push eax
lea ecx, [edi + 0x3358]
call fcn.1003f390
mov byte [edi + 0x3354], 0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x83
call fcn.10021b20
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x84
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x32e8]
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
mov ecx, esi
call fcn.10037600
push str.name_esp
lea ecx, [ebp - 0x3d8]
call fcn.10021bb0
push str.ammo
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 4], 0x85
call fcn.10021bb0
push str.lby_timer
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0x86
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 0x87
call fcn.10021bb0
push str.health_bar
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x88
call fcn.10021bb0
mov byte [ebp - 4], 0x89
push str.out_of_pov
lea ecx, [ebp - 0x360]
call fcn.10021bb0
push str.skeleton
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 0x8a
call fcn.10021bb0
push str.visible_chams
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0x8b
call fcn.10021bb0
push str.invisible_chams
lea ecx, [ebp - 0x318]
mov byte [ebp - 4], 0x8c
call fcn.10021bb0
push str.history_chams
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0x8d
call fcn.10021bb0
push str.shot_chams
lea ecx, [ebp - 0x2e8]
mov byte [ebp - 4], 0x8e
call fcn.10021bb0
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x8f
push eax
lea ecx, [ebp - 0x2d0]
push ecx
lea edx, [ebp - 0x3d8]
push edx
lea ecx, [ebp - 0x74]
call fcn.10070f40
push str.rainbow_visuals
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x90
call fcn.10021bb0
push str.rainbow_visual_elements
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x91
call fcn.10021bb0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [edi + 0x11c4]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x11f5], 1
push eax
lea ecx, [edi + 0x11fc]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x11f5], cl
cmovne ecx, eax
mov dword [edi + 0x1230], ecx
lea eax, [ecx + 0x14]
mov ecx, dword [ebp - 0x70]
mov dword [edi + 0x119c], eax
mov dword [edi + 0x11a0], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x10056b3a
mov esi, dword [ebp - 0x20]
lea eax, [edi + 0x1214]
mov edi, eax
push esi
mov ecx, edi
call fcn.10045640
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10056b24
mov edi, dword [ebp - 0x30]
lea esi, [edi + 0x18]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
sub ecx, edx
mov dword [ebp - 0x20], 0
add ecx, 3
mov dword [ebp - 0x1c], 0
shr ecx, 2
cmp edx, dword [ebp - 0xd4]
mov dword [ebp - 0x24], edx
cmova ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10056c26
lea ecx, [edi + 0x1224]
nop word [eax + eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x160]
push eax
call fcn.100214b0
lea ecx, [edi + 0x1224]
mov esi, dword [eax]
lea eax, [ebp - 0x12c]
push eax
call fcn.100214c0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x128]
push dword [eax]
call fcn.100230f0
add esp, 8
lea ecx, [edi + 0x1224]
mov esi, eax
lea eax, [ebp - 0x124]
push eax
call fcn.100214b0
mov esi, dword [esi]
lea ecx, [edi + 0x1214]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.10028830
cmp dword [ebp - 0x18], eax
jae 0x10056bf3
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1224]
call fcn.10037600
cmp esi, dword [ebp - 0x20]
jne 0x10056c04
mov eax, dword [edi + 0x11f0]
test eax, eax
je 0x10056c04
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x1224]
mov edx, dword [ebp - 0x24]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
cmp eax, dword [ebp - 0x2c]
jne 0x10056b80
lea esi, [edi + 0x18]
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x94
call fcn.100215b0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x95
call fcn.10021b20
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x96
call fcn.10021b20
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x97
call fcn.10045890
push fcn.10021b20
push 0xb
push 0x18
lea eax, [ebp - 0x3d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [edi + 0x118c]
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
mov ecx, esi
call fcn.10037600
push 0x100aff74
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x322c]
call fcn.100710a0
push 0x100b0d78
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x98
call fcn.10021bb0
push str.rainbow_speed
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x99
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x9a
push eax
lea ecx, [edi + 0x3264]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x3295], 1
push eax
lea ecx, [edi + 0x32b4]
call fcn.1003f390
xor ecx, ecx
mov dword [edi + 0x32a0], 0x3f800000
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x32a4], 0x42480000
cmovne ecx, eax
mov dword [edi + 0x329c], 0x3f800000
mov dword [edi + 0x32e4], ecx
mov dword [edi + 0x32b0], 0
mov dword [edi + 0x32a8], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x323c], eax
lea ecx, [edi + 0x32cc]
mov dword [edi + 0x3240], eax
lea eax, [ebp - 0xf0]
push eax
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x31]
call fcn.1001b360
push str.local
lea ecx, [ebp - 0x258]
mov esi, eax
call fcn.10021bb0
push str.enemy
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x9b
call fcn.10021bb0
push str.friendly
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x9c
call fcn.10021bb0
push str.history
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x9d
call fcn.10021bb0
push str.fake
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x9e
call fcn.10021bb0
push str.shot
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x9f
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0xa0
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x164]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
push str.chams_entity_selection
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xa1
call fcn.10021bb0
push str.chams_selection
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa2
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xa3
push eax
lea ecx, [edi + 0x15e4]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x1615], 1
push eax
lea ecx, [edi + 0x161c]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x1615], cl
cmovne ecx, eax
mov dword [edi + 0x1648], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x74]
mov dword [edi + 0x15bc], eax
mov dword [edi + 0x15c0], eax
call fcn.100214a0
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x1634]
cmp esi, eax
je 0x10056f49
mov dword [ebp - 0x20], ecx
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10056f30
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x1634]
call fcn.10028830
test eax, eax
je 0x10056f5c
mov dword [edi + 0x1644], 0
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x74]
call fcn.10045680
push fcn.10021b20
push 6
push 0x18
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [edi + 0x15ac]
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.100375d0
push str.chams_local
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x164c]
call fcn.10021bb0
push 0x100b0dcc
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xa4
call fcn.10021bb0
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [edi + 0x1684]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x16b5], 1
push eax
lea ecx, [edi + 0x16bc]
call fcn.1003f390
lea ecx, [ebp - 0x4c]
mov byte [edi + 0x16b8], 0
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026970
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x25]
call fcn.1001b360
push str.material
lea ecx, [ebp - 0x240]
mov esi, eax
call fcn.10021bb0
push str.flat
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 0xa6
call fcn.10021bb0
push str.metallic
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xa7
call fcn.10021bb0
push str.gloss
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0xa8
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0xa9
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0xaa
push eax
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x164]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
push str.chams_local_mat
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xab
call fcn.10021bb0
push str.chams_local_material
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xac
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xad
push eax
lea ecx, [edi + 0x1794]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x17c5], 1
push eax
lea ecx, [edi + 0x17cc]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x17c5], cl
cmovne ecx, eax
mov dword [edi + 0x17f8], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x74]
mov dword [edi + 0x176c], eax
mov dword [edi + 0x1770], eax
call fcn.100214a0
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x17e4]
cmp esi, eax
je 0x100571e9
mov dword [ebp - 0x20], ecx
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x100571d0
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x17e4]
call fcn.10028830
test eax, eax
je 0x100571fc
mov dword [edi + 0x17f4], 0
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x74]
call fcn.10045680
push fcn.10021b20
push 5
push 0x18
lea eax, [ebp - 0x240]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026970
lea esi, [edi + 0x175c]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_local_col
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x17fc]
call fcn.10021bb0
push str.color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xae
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xaf
push eax
lea ecx, [edi + 0x186c]
mov dword [ebp - 0x1c], 0xff323232
call fcn.1003f390
lea eax, [ebp - 0xf0]
push eax
lea ecx, [edi + 0x1834]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1884], eax
mov dword [edi + 0x189c], 0
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026970
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_local2_col
lea ecx, [ebp - 0x144]
lea esi, [edi + 0x18b8]
call fcn.10021bb0
push str.glow_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xb0
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xb1
push eax
lea ecx, [edi + 0x1928]
mov dword [ebp - 0x1c], 0xff3b2d09
call fcn.1003f390
lea eax, [ebp - 0x144]
push eax
lea ecx, [edi + 0x18f0]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1940], eax
mov dword [edi + 0x1958], 0
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026980
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x1974]
call fcn.100710a0
push str.chams_local_blend
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xb2
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xb3
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xb4
push eax
lea ecx, [edi + 0x19ac]
call fcn.1003f390
lea eax, [ebp - 0x15c]
mov byte [edi + 0x19dd], 0
mov dword [edi + 0x1a2c], 0
lea ecx, [edi + 0x1a14]
mov dword [edi + 0x1984], 8
mov dword [edi + 0x1988], 8
mov dword [edi + 0x19e8], 0
mov dword [edi + 0x19ec], 0x42c80000
mov dword [edi + 0x19e4], 0x42c80000
mov dword [edi + 0x19f8], 0
mov dword [edi + 0x19f0], 0x3f800000
push eax
call fcn.10071070
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026970
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_local_scope
lea ecx, [ebp - 0x17c]
lea esi, [edi + 0x1a30]
call fcn.10021bb0
push str.blend_when_scoped
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xb5
call fcn.10021bb0
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0xb6
push eax
lea ecx, [edi + 0x1a68]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x1a99], 1
push eax
lea ecx, [edi + 0x1aa0]
call fcn.1003f390
lea ecx, [ebp - 0x4c]
mov byte [edi + 0x1a9c], 0
call fcn.10021b20
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026970
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0x194]
lea esi, [edi + 0x1ab8]
call fcn.100710a0
mov dword [ebp - 4], 0xb7
push str.chams_local_scope_blend
lea ecx, [ebp - 0x4c]
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xb8
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xb9
push eax
lea ecx, [edi + 0x1af0]
call fcn.1003f390
lea eax, [ebp - 0x194]
mov byte [edi + 0x1b21], 0
push eax
lea ecx, [edi + 0x1b58]
mov dword [edi + 0x1b70], 0
mov dword [edi + 0x1ac8], 8
mov dword [edi + 0x1acc], 8
mov dword [edi + 0x1b2c], 0
mov dword [edi + 0x1b30], 0x42c80000
mov dword [edi + 0x1b28], 0x42c80000
mov dword [edi + 0x1b3c], 0
mov dword [edi + 0x1b34], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026970
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x31]
call fcn.1001b360
push str.visible
lea ecx, [ebp - 0xc8]
mov esi, eax
call fcn.10021bb0
push str.invisible
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xba
call fcn.10021bb0
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 0xbb
push eax
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x5c]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
mov byte [ebp - 4], 0xbc
lea ecx, [ebp - 0x108]
push str.chams_enemy
call fcn.10021bb0
push 0x100b0ec4
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xbd
call fcn.10021bb0
lea ecx, [ebp - 0x78]
call fcn.1001a500
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xbf
push eax
lea ecx, [edi + 0x1bac]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x1bdd], 1
push eax
lea ecx, [edi + 0x1be4]
call fcn.1003f390
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1bdd], al
cmovne eax, ecx
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x1c18], eax
add eax, 0x14
mov dword [edi + 0x1b84], eax
mov dword [edi + 0x1b88], eax
call fcn.100214a0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x10057855
lea eax, [edi + 0x1bfc]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
nop
push esi
mov ecx, eax
call fcn.10045610
mov eax, dword [ebp - 0x2c]
add esi, 0x18
cmp esi, edi
jne 0x10057840
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x78]
call fcn.100214a0
mov esi, eax
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x24], esi
call fcn.10021490
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 - 0x20], ecx
test ecx, ecx
je 0x1005793b
lea ecx, [edi + 0x1c0c]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x160]
push eax
call fcn.100214b0
lea ecx, [edi + 0x1c0c]
mov esi, dword [eax]
lea eax, [ebp - 0x12c]
push eax
call fcn.100214c0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x128]
push dword [eax]
call fcn.100230f0
add esp, 8
lea ecx, [edi + 0x1c0c]
mov esi, eax
lea eax, [ebp - 0x124]
push eax
call fcn.100214b0
push eax
mov ecx, esi
call fcn.10021470
lea ecx, [edi + 0x1bfc]
mov byte [ebp - 0x25], al
call fcn.10028830
cmp dword [ebp - 0x18], eax
jae 0x1005790a
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1c0c]
call fcn.100375d0
cmp byte [ebp - 0x25], 0
je 0x1005791c
mov eax, dword [edi + 0x1bd8]
test eax, eax
je 0x1005791c
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x1c0c]
mov esi, dword [ebp - 0x24]
inc eax
add esi, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], esi
cmp eax, dword [ebp - 0x20]
jne 0x10057893
lea ecx, [ebp - 0x78]
call fcn.100214d0
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x5c]
call fcn.10045680
push fcn.10021b20
push 2
push 0x18
lea eax, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea esi, [edi + 0x1b74]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x25]
call fcn.1001b360
push str.material
lea ecx, [ebp - 0x258]
mov esi, eax
call fcn.10021bb0
push str.flat
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0xc0
call fcn.10021bb0
push str.metallic
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xc1
call fcn.10021bb0
push str.gloss
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xc2
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0xc3
call fcn.10021bb0
push str.outline_glow
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0xc4
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0xc5
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x5c]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
push str.chams_enemy_mat
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xc6
call fcn.10021bb0
push str.chams_enemy_material
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xc7
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xc8
push eax
lea ecx, [edi + 0x1c54]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x1c85], 1
push eax
lea ecx, [edi + 0x1c8c]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x1c85], cl
cmovne ecx, eax
mov dword [edi + 0x1cb8], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x1c2c], eax
mov dword [edi + 0x1c30], eax
call fcn.100214a0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x1ca4]
cmp esi, eax
je 0x10057b2e
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10057b15
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x1ca4]
call fcn.10028830
test eax, eax
je 0x10057b41
mov dword [edi + 0x1cb4], 0
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x5c]
call fcn.10045680
push fcn.10021b20
push 6
push 0x18
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea esi, [edi + 0x1c1c]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x2ff8]
call fcn.100710a0
push str.chams_enemy_reflective
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xc9
call fcn.10021bb0
push str.chams_reflective
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xca
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xcb
push eax
lea ecx, [edi + 0x3030]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x3061], 1
push eax
lea ecx, [edi + 0x3080]
call fcn.1003f390
xor ecx, ecx
mov dword [edi + 0x306c], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x3070], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x3068], 0x42480000
mov dword [edi + 0x30b0], ecx
mov dword [edi + 0x307c], 0
mov dword [edi + 0x3074], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x3008], eax
lea ecx, [edi + 0x3098]
mov dword [edi + 0x300c], eax
lea eax, [ebp - 0xf0]
push eax
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
mov esi, dword [0x100ae490]
lea ecx, [ebp - 0x144]
push str.chams_enemy_reflective_color
add edi, 0x30b4
call fcn.10021bb0
push str.chams_reflective_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xcc
call fcn.10021bb0
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0xcd
lea ecx, [ecx + 0x3124]
call fcn.1003f390
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x144]
push eax
lea ecx, [ecx + 0x30ec]
call fcn.1003f390
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x4c]
mov dword [eax + 0x313c], esi
mov dword [eax + 0x3154], 0
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [edi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x30]
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.100375d0
push 0x100afff8
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x2f3c]
call fcn.100710a0
mov dword [ebp - 4], 0xce
lea ecx, [ebp - 0x108]
push str.chams_enemy_shine
call fcn.10021bb0
push str.chams_shine
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xcf
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xd0
push eax
lea ecx, [edi + 0x2f74]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x2fa5], 1
push eax
lea ecx, [edi + 0x2fc4]
call fcn.1003f390
xor ecx, ecx
mov dword [edi + 0x2fb0], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x2fb4], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x2fac], 0x42480000
mov dword [edi + 0x2ff4], ecx
mov dword [edi + 0x2fc0], 0
mov dword [edi + 0x2fb8], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x2f4c], eax
lea ecx, [edi + 0x2fdc]
mov dword [edi + 0x2f50], eax
lea eax, [ebp - 0x15c]
push eax
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0x17c]
lea esi, [edi + 0x3170]
call fcn.100710a0
push str.chams_enemy_rim
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xd1
call fcn.10021bb0
push str.chams_rim
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xd2
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xd3
push eax
lea ecx, [edi + 0x31a8]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x31d9], 1
push eax
lea ecx, [edi + 0x31f8]
call fcn.1003f390
xor eax, eax
mov dword [edi + 0x31e4], 0
cmp byte [edi + 0x31d9], al
mov ecx, 0xf
mov dword [edi + 0x31e8], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x31e0], 0x42480000
mov dword [edi + 0x3228], eax
lea ecx, [edi + 0x3210]
add eax, 8
mov dword [edi + 0x31f4], 0
mov dword [edi + 0x3180], eax
mov dword [edi + 0x3184], eax
lea eax, [ebp - 0x17c]
push eax
mov dword [edi + 0x31ec], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_enemy_vis
lea ecx, [ebp - 0x194]
lea esi, [edi + 0x1cbc]
call fcn.10021bb0
push str.color_visible
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xd4
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xd5
push eax
lea ecx, [edi + 0x1d2c]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1003f390
lea eax, [ebp - 0x194]
push eax
lea ecx, [edi + 0x1cf4]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1d44], eax
mov dword [edi + 0x1d5c], 0
call fcn.10021b20
lea ecx, [ebp - 0x194]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_enemy2_vis
lea ecx, [ebp - 0x1c4]
lea esi, [edi + 0x1d78]
call fcn.10021bb0
push str.glow_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xd6
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xd7
push eax
lea ecx, [edi + 0x1de8]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.1003f390
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [edi + 0x1db0]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1e00], eax
mov dword [edi + 0x1e18], 0
call fcn.10021b20
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269b0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_enemy_invis
lea ecx, [ebp - 0x1ac]
lea esi, [edi + 0x1e34]
call fcn.10021bb0
push str.color_invisible
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xd8
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xd9
push eax
lea ecx, [edi + 0x1ea4]
mov dword [ebp - 0x1c], 0xffb4783c
call fcn.1003f390
lea eax, [ebp - 0x1ac]
push eax
lea ecx, [edi + 0x1e6c]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1ebc], eax
mov dword [edi + 0x1ed4], 0
call fcn.10021b20
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_enemy2_invis
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x1ef0]
call fcn.10021bb0
push str.glow_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xda
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xdb
push eax
lea ecx, [edi + 0x1f60]
mov dword [ebp - 0x1c], 0xb4c8ffff
call fcn.1003f390
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1f28]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1f78], eax
mov dword [edi + 0x1f90], 0
call fcn.10021b20
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269b0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea esi, [edi + 0x1fac]
push 0x100afff8
lea ecx, [ebp - 0x80]
call fcn.100710a0
push str.chams_enemy_blend
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xdc
call fcn.10021bb0
push str.visible
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xdd
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xde
push eax
lea ecx, [edi + 0x1fe4]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x2015], 1
push eax
lea ecx, [edi + 0x2034]
call fcn.1003f390
xor ecx, ecx
mov dword [edi + 0x2020], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x2024], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x201c], 0x42c80000
mov dword [edi + 0x2064], ecx
mov dword [edi + 0x2030], 0
mov dword [edi + 0x2028], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x1fbc], eax
lea ecx, [edi + 0x204c]
mov dword [edi + 0x1fc0], eax
lea eax, [ebp - 0x80]
push eax
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0xb0]
lea esi, [edi + 0x20f0]
call fcn.100710a0
push str.chams_enemy_blend2
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xdf
call fcn.10021bb0
push str.invis
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xe0
call fcn.10021bb0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xe1
push eax
lea ecx, [edi + 0x2128]
call fcn.1003f390
lea eax, [ebp - 0x4c]
mov byte [edi + 0x2159], 1
push eax
lea ecx, [edi + 0x2178]
call fcn.1003f390
xor eax, eax
mov dword [edi + 0x2164], 0
cmp byte [edi + 0x2159], al
mov ecx, 0xf
mov dword [edi + 0x2168], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2160], 0x42480000
mov dword [edi + 0x21a8], eax
lea ecx, [edi + 0x2190]
add eax, 8
mov dword [edi + 0x2174], 0
mov dword [edi + 0x2100], eax
mov dword [edi + 0x2104], eax
lea eax, [ebp - 0xb0]
push eax
mov dword [edi + 0x216c], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x108]
call fcn.10021b20
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269a0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x31]
call fcn.1001b360
push str.visible
lea ecx, [ebp - 0x120]
mov esi, eax
call fcn.10021bb0
push str.invisible
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xe2
call fcn.10021bb0
lea eax, [ebp - 0xf0]
mov dword [ebp - 4], 0xe3
push eax
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
mov byte [ebp - 4], 0xe4
push 0x100b1034
lea ecx, [ebp - 0x4c]
call fcn.10021bb0
push str.chams_friendly
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xe5
call fcn.10021bb0
lea ecx, [ebp - 0x60]
call fcn.1001a500
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xe7
push eax
lea ecx, [edi + 0x2540]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x2571], 1
push eax
lea ecx, [edi + 0x2578]
call fcn.1003f390
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2571], al
cmovne eax, ecx
lea ecx, [ebp - 0x74]
mov dword [edi + 0x25ac], eax
add eax, 0x14
mov dword [edi + 0x2518], eax
mov dword [edi + 0x251c], eax
call fcn.100214a0
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10058733
lea ecx, [edi + 0x2590]
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10058720
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x60]
call fcn.100214a0
mov esi, eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], esi
call fcn.10021490
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 - 0x20], ecx
test ecx, ecx
je 0x10058819
lea ecx, [edi + 0x25a0]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x160]
push eax
call fcn.100214b0
lea ecx, [edi + 0x25a0]
mov esi, dword [eax]
lea eax, [ebp - 0x12c]
push eax
call fcn.100214c0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x128]
push dword [eax]
call fcn.100230f0
add esp, 8
lea ecx, [edi + 0x25a0]
mov esi, eax
lea eax, [ebp - 0x124]
push eax
call fcn.100214b0
push eax
mov ecx, esi
call fcn.10021470
lea ecx, [edi + 0x2590]
mov byte [ebp - 0x25], al
call fcn.10028830
cmp dword [ebp - 0x18], eax
jae 0x100587e8
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x25a0]
call fcn.100375d0
cmp byte [ebp - 0x25], 0
je 0x100587fa
mov eax, dword [edi + 0x256c]
test eax, eax
je 0x100587fa
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x25a0]
mov esi, dword [ebp - 0x24]
inc eax
add esi, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], esi
cmp eax, dword [ebp - 0x20]
jne 0x10058771
lea ecx, [ebp - 0x60]
call fcn.100214d0
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x74]
call fcn.10045680
push fcn.10021b20
push 2
push 0x18
lea eax, [ebp - 0x120]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269d0
lea esi, [edi + 0x2508]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x25]
call fcn.1001b360
push str.material
lea ecx, [ebp - 0x258]
mov esi, eax
call fcn.10021bb0
push str.flat
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0xe8
call fcn.10021bb0
push str.metallic
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xe9
call fcn.10021bb0
push str.gloss
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xea
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0xeb
call fcn.10021bb0
push str.outline_glow
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0xec
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0xed
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x5c]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
push str.chams_friendly_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xee
call fcn.10021bb0
push str.chams_friendly_material
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xef
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xf0
push eax
lea ecx, [edi + 0x25e8]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x2619], 1
push eax
lea ecx, [edi + 0x2620]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x2619], cl
cmovne ecx, eax
mov dword [edi + 0x264c], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x25c0], eax
mov dword [edi + 0x25c4], eax
call fcn.100214a0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x2638]
cmp esi, eax
je 0x10058a0c
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x100589f3
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x2638]
call fcn.10028830
test eax, eax
je 0x10058a1f
mov dword [edi + 0x2648], 0
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x5c]
call fcn.10045680
push fcn.10021b20
push 6
push 0x18
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269d0
lea esi, [edi + 0x25b0]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_friendly_vis
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x2650]
call fcn.10021bb0
push str.color_visible
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xf1
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xf2
push eax
lea ecx, [edi + 0x26c0]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.1003f390
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x2688]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x26d8], eax
mov dword [edi + 0x26f0], 0
call fcn.10021b20
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269d0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_friendly_invis
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x270c]
call fcn.10021bb0
push str.color_invisible
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xf3
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xf4
push eax
lea ecx, [edi + 0x277c]
mov dword [ebp - 0x1c], 0xff0032ff
call fcn.1003f390
lea eax, [ebp - 0xf0]
push eax
lea ecx, [edi + 0x2744]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x2794], eax
mov dword [edi + 0x27ac], 0
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269d0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0x144]
lea esi, [edi + 0x27c8]
call fcn.100710a0
push str.chams_friendly_blend
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xf5
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xf6
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xf7
push eax
lea ecx, [edi + 0x2800]
call fcn.1003f390
lea eax, [ebp - 0x144]
mov byte [edi + 0x2831], 0
mov dword [edi + 0x2880], 0
lea ecx, [edi + 0x2868]
mov dword [edi + 0x27d8], 8
mov dword [edi + 0x27dc], 8
mov dword [edi + 0x283c], 0
mov dword [edi + 0x2840], 0x42c80000
mov dword [edi + 0x2838], 0x42c80000
mov dword [edi + 0x284c], 0
mov dword [edi + 0x2844], 0x3f800000
push eax
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269d0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100b10bc
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x2068]
call fcn.10021bb0
push str.chams_history
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xf8
call fcn.10021bb0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xf9
push eax
lea ecx, [edi + 0x20a0]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x20d1], 1
push eax
lea ecx, [edi + 0x20d8]
call fcn.1003f390
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x20d4], 0
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269e0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x31]
call fcn.1001b360
push str.material
lea ecx, [ebp - 0x258]
mov esi, eax
call fcn.10021bb0
push str.flat
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0xfa
call fcn.10021bb0
push str.metallic
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xfb
call fcn.10021bb0
push str.gloss
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xfc
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0xfd
call fcn.10021bb0
push str.outline_glow
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0xfe
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0xff
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x5c]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
push str.chams_enemy_history_mat
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], pe_nt_image_headers32
call fcn.10021bb0
push str.chams_history_material
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 1
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 2
push eax
lea ecx, [edi + 0x21e4]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x2215], 1
push eax
lea ecx, [edi + 0x221c]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x2215], cl
cmovne ecx, eax
mov dword [edi + 0x2248], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x21bc], eax
mov dword [edi + 0x21c0], eax
call fcn.100214a0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x2234]
cmp esi, eax
je 0x10058fb9
mov dword [ebp - 0x20], ecx
mov edi, ecx
nop
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10058fa0
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x2234]
call fcn.10028830
test eax, eax
je 0x10058fcc
mov dword [edi + 0x2244], 0
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x5c]
call fcn.10045680
push fcn.10021b20
push 6
push 0x18
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269e0
lea esi, [edi + 0x21ac]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_history_col
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x224c]
call fcn.10021bb0
push str.color
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x103
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 4
push eax
lea ecx, [edi + 0x22bc]
mov dword [ebp - 0x1c], 0xff000000
call fcn.1003f390
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x2284]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x22d4], eax
mov dword [edi + 0x22ec], 0
call fcn.10021b20
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269e0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x2308]
call fcn.100710a0
push str.chams_history_blend
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x105
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0x2340]
call fcn.1003f390
lea eax, [ebp - 0xf0]
mov byte [edi + 0x2371], 0
push eax
lea ecx, [edi + 0x23a8]
mov dword [edi + 0x23c0], 0
mov dword [edi + 0x2318], 8
mov dword [edi + 0x231c], 8
mov dword [edi + 0x237c], 0
mov dword [edi + 0x2380], 0x42c80000
mov dword [edi + 0x2378], 0x42c80000
mov dword [edi + 0x238c], 0
mov dword [edi + 0x2384], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269e0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100b1188
lea ecx, [ebp - 0x144]
lea esi, [edi + 0x23c4]
call fcn.10021bb0
push str.history_skeleton
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x108
call fcn.10021bb0
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 9
push eax
lea ecx, [edi + 0x23fc]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x242d], 1
push eax
lea ecx, [edi + 0x2434]
call fcn.1003f390
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x2430], 0
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269e0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.history_skeleton_col
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x244c]
call fcn.10021bb0
push str.color
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x10a
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x24bc]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1003f390
lea eax, [ebp - 0x15c]
push eax
lea ecx, [edi + 0x2484]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x24d4], eax
mov dword [edi + 0x24ec], 0
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269e0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_fake
lea ecx, [ebp - 0x17c]
lea esi, [edi + 0x2884]
call fcn.10021bb0
mov dword [ebp - 4], 0x10c
push str.fake_chams
lea ecx, [ebp - 0xb0]
call fcn.10021bb0
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [edi + 0x28bc]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x28ed], 1
push eax
lea ecx, [edi + 0x28f4]
call fcn.1003f390
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x28f0], 0
call fcn.10021b20
lea ecx, [ebp - 0x17c]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269f0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x25]
call fcn.1001b360
push str.material
lea ecx, [ebp - 0x258]
mov esi, eax
call fcn.10021bb0
push str.flat
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x10e
call fcn.10021bb0
push str.metallic
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0xf
call fcn.10021bb0
push str.gloss
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x10
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x11
call fcn.10021bb0
push str.outline_glow
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x12
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0x113
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x5c]
call fcn.10070f40
push str.chams_fake_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x14
call fcn.10021bb0
push str.chams_material
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x15
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [edi + 0x2944]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x2975], 1
push eax
lea ecx, [edi + 0x297c]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x2975], cl
cmovne ecx, eax
mov dword [edi + 0x29a8], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x291c], eax
mov dword [edi + 0x2920], eax
call fcn.100214a0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x2994]
cmp esi, eax
je 0x1005962d
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10059614
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x2994]
call fcn.10028830
test eax, eax
je 0x10059640
mov dword [edi + 0x29a4], 0
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x5c]
call fcn.10045680
push fcn.10021b20
push 6
push 0x18
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269f0
lea esi, [edi + 0x290c]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_fake_col
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x29ac]
call fcn.10021bb0
push str.color
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x117
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [edi + 0x2a1c]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.1003f390
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x29e4]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x2a34], eax
mov dword [edi + 0x2a4c], 0
call fcn.10021b20
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269f0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_fake_glow_col
lea ecx, [ebp - 0xf0]
add edi, 0x2a68
call fcn.10021bb0
push str.glow_color
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x119
call fcn.10021bb0
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x1a
push eax
mov dword [ebp - 0x1c], 0xff00c8ff
lea ecx, [esi + 0x2ad8]
call fcn.1003f390
lea eax, [ebp - 0xf0]
push eax
lea ecx, [esi + 0x2aa0]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [esi + 0x2af0], eax
mov dword [esi + 0x2b08], 0
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269f0
push eax
lea ecx, [edi + 0x58]
call fcn.100375d0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026a10
push eax
lea ecx, [edi + 0x58]
call fcn.100375d0
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 1
mov edi, esi
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.100375d0
push 0x100afff8
lea ecx, [ebp - 0x144]
lea esi, [edi + 0x2b24]
call fcn.100710a0
push str.chams_fake_blend
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x11b
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1c
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [edi + 0x2b5c]
call fcn.1003f390
mov byte [edi + 0x2b8d], 0
mov dword [edi + 0x2bdc], 0
mov dword [edi + 0x2b34], 8
mov dword [edi + 0x2b38], 8
mov dword [edi + 0x2b98], 0
lea eax, [ebp - 0x144]
mov dword [edi + 0x2b9c], 0x42c80000
push eax
lea ecx, [edi + 0x2bc4]
mov dword [edi + 0x2b94], 0x42c80000
mov dword [edi + 0x2ba8], 0
mov dword [edi + 0x2ba0], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x100269f0
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_shot
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x2be0]
call fcn.10021bb0
push str.shot_chams
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x11e
call fcn.10021bb0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [edi + 0x2c18]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x2c49], 1
push eax
lea ecx, [edi + 0x2c50]
call fcn.1003f390
lea ecx, [ebp - 0xb0]
mov byte [edi + 0x2c4c], 0
call fcn.10021b20
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026a00
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
lea ecx, [ebp - 0x31]
call fcn.1001b360
push str.material
lea ecx, [ebp - 0x258]
mov esi, eax
call fcn.10021bb0
push str.flat
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x120
call fcn.10021bb0
push str.metallic
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x21
call fcn.10021bb0
push str.gloss
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0x22
call fcn.10021bb0
push str.glow
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x23
call fcn.10021bb0
push str.outline_glow
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x24
call fcn.10021bb0
lea eax, [ebp - 0x1c8]
mov dword [ebp - 4], 0x125
push eax
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070f20
push esi
lea ecx, [ebp - 0x5c]
push dword [eax + 4]
push dword [eax]
call fcn.10070f40
push str.chams_shot_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x26
call fcn.10021bb0
push str.chams_material
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x27
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [edi + 0x2ca0]
call fcn.1003f390
lea eax, [ebp - 0xb0]
mov byte [edi + 0x2cd1], 1
push eax
lea ecx, [edi + 0x2cd8]
call fcn.1003f390
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x2cd1], cl
cmovne ecx, eax
mov dword [edi + 0x2d04], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x2c78], eax
mov dword [edi + 0x2c7c], eax
call fcn.100214a0
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.10021490
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x2cf0]
cmp esi, eax
je 0x10059bea
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045610
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10059bd1
mov edi, dword [ebp - 0x30]
lea ecx, [edi + 0x2cf0]
call fcn.10028830
test eax, eax
je 0x10059bfd
mov dword [edi + 0x2d00], 0
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x5c]
call fcn.10045680
push fcn.10021b20
push 6
push 0x18
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100a05cb
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026a00
lea esi, [edi + 0x2c68]
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push str.chams_shot_col
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x2d08]
call fcn.10021bb0
push str.color
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x129
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [edi + 0x2d78]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1003f390
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x2d40]
call fcn.1003f390
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [edi + 0x2d90], eax
mov dword [edi + 0x2da8], 0
call fcn.10021b20
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10021b20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026a00
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100afff8
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x2dc4]
call fcn.100710a0
push str.chams_shot_blend
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x12b
call fcn.10021bb0
push 0x100ae970
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2c
call fcn.10021bb0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [edi + 0x2dfc]
call fcn.1003f390
lea eax, [ebp - 0xf0]
mov byte [edi + 0x2e2d], 0
push eax
lea ecx, [edi + 0x2e64]
mov dword [edi + 0x2e7c], 0
mov dword [edi + 0x2dd4], 8
mov dword [edi + 0x2dd8], 8
mov dword [edi + 0x2e38], 0x3f800000
mov dword [edi + 0x2e3c], 0x437f0000
mov dword [edi + 0x2e34], 0x437f0000
mov dword [edi + 0x2e48], 0
mov dword [edi + 0x2e40], 0x3f800000
call fcn.10071070
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026a00
lea ecx, [esi + 0x58]
push eax
call fcn.100375d0
mov dword [ebp - 0x1c], esi
mov dword [esi + 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.100375d0
push 0x100b064c
lea ecx, [ebp - 0x144]
call fcn.100710a0
push str.chams_shot_fadetime
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x12e
call fcn.10021bb0
push str.fade_time
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x2f
call fcn.10021bb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [edi + 0x2eb8]
call fcn.1003f390
mov byte [edi + 0x2ee9], 1
lea eax, [ebp - 0xb0]
push eax
lea ecx, [edi + 0x2f08]
call fcn.1003f390
xor eax, eax
mov dword [edi + 0x2ef4], 0x3c23d70a
cmp byte [edi + 0x2ee9], al
mov ecx, 0xf
mov dword [edi + 0x2ef8], 0x4121999a
cmovne eax, ecx
mov dword [edi + 0x2ef0], 0x3c23d70a
mov dword [edi + 0x2f38], eax
lea ecx, [edi + 0x2f20]
add eax, 8
mov dword [edi + 0x2f04], 0
mov dword [edi + 0x2e90], eax
mov dword [edi + 0x2e94], eax
lea eax, [ebp - 0x144]
push eax
mov dword [edi + 0x2efc], 0x3c23d70a
call fcn.10071070
lea ecx, [ebp - 0xb0]
call fcn.10021b20
lea ecx, [ebp - 0x4c]
call fcn.10021b20
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
call fcn.10045820
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10026a00
push eax
lea ecx, [edi + 0x2ed8]
call fcn.100375d0
lea eax, [edi + 0x2e80]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
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
call fcn.100375d0
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.100a04d8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret