Function at 0x10061160
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 0x100c37d5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1e0
mov eax, dword [0x100dc040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
push str.players
lea ecx, [ebp - 0x5c]
call fcn.1002cb50
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x5c]
push eax
mov ecx, edi
mov dword [ebp - 4], 0
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
push str.teammates
lea ecx, [ebp - 0x78]
lea esi, [edi + 0xd4]
call fcn.1002cb50
push str.teammates
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 1
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 2
push eax
lea ecx, [edi + 0x10c]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0x148]
mov byte [eax + 0x13d], 1
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov byte [edi + 0x140], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x1c]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
push ecx
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [edi + 0x18]
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.10045080
push str.dormant
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x420]
call fcn.1002cb50
push str.dormant
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 3
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 4
push eax
lea ecx, [edi + 0x458]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0x494]
mov byte [eax + 0x489], 1
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov byte [edi + 0x48c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
push 0x100cd734
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x160]
call fcn.1002cb50
push str.bounding_box
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 5
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 6
push eax
lea ecx, [edi + 0x198]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0x1d4]
mov byte [eax + 0x1c9], 1
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov byte [edi + 0x1cc], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
push str.box_enemy
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x1ec]
call fcn.1002cb50
push str.bounding_box_color
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 7
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 8
push eax
lea ecx, [edi + 0x25c]
call fcn.1004aba0
lea eax, [ebp - 0x78]
push eax
lea ecx, [edi + 0x224]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
mov dword [eax + 0x274], 0xb4ffffff
mov dword [eax + 0x28c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x1c], 0x10031370
lea ecx, [esi + 0x58]
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
mov dword [ebp - 0x1c], esi
mov eax, edi
mov ecx, edi
mov dword [eax + 0x204], 0
imul eax, dword [eax + 0x204], 0xeb
add eax, 0x14
mov dword [ecx + 0x1f0], eax
mov eax, ecx
lea ecx, [edi + 0x18]
mov dword [eax + 0x1f8], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x208], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x1644]
call fcn.100826b0
push str.box_esp_alpha
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 9
call fcn.1002cb50
push str.box_esp_alpha
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xa
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x167c]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [eax + 0x16e4]
mov byte [eax + 0x16ad], 0
mov dword [eax + 0x16fc], 0
mov dword [eax + 0x1654], 7
mov dword [eax + 0x1658], 7
mov dword [eax + 0x16b8], 0
mov dword [eax + 0x16bc], 0x437f0000
mov dword [eax + 0x16b4], 0x432a0000
mov dword [eax + 0x16c8], 0
mov dword [eax + 0x16c0], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052b00
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10031370
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x1c], esi
mov eax, edi
mov ecx, edi
mov dword [eax + 0x165c], 0
imul eax, dword [eax + 0x165c], 0xeb
add eax, 0x14
mov dword [ecx + 0x1648], eax
mov eax, ecx
lea ecx, [edi + 0x18]
mov dword [eax + 0x1650], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1660], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
lea esi, [edi + 0x940]
push str.health
lea ecx, [ebp - 0x78]
call fcn.1002cb50
push str.health_bar
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xc
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [edi + 0x978]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0x9b4]
mov byte [eax + 0x9a9], 1
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov byte [edi + 0x9ac], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
push str.healthc
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x9cc]
call fcn.1002cb50
push str.health_bar_ovveride
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xe
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [edi + 0xa04]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0xa40]
mov byte [eax + 0xa35], 1
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov byte [edi + 0xa38], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10031390
push eax
lea ecx, [edi + 0xab0]
call fcn.10045080
mov dword [ebp - 0x1c], esi
mov ecx, edi
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
lea ecx, [ecx + 0x18]
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
push str.h_color
lea ecx, [ebp - 0x78]
call fcn.1002cb50
push str.health_bar_color
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x10
call fcn.1002cb50
mov esi, edi
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x5c]
push eax
lea ecx, [esi + 0xac8]
call fcn.1004aba0
lea eax, [ebp - 0x78]
push eax
lea ecx, [esi + 0xa90]
call fcn.1004aba0
mov eax, esi
lea ecx, [ebp - 0x5c]
mov dword [eax + 0xae0], 0xffffffff
mov dword [eax + 0xaf8], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10031390
push eax
lea ecx, [edi + 0xab0]
call fcn.10045080
mov eax, esi
mov ecx, esi
add eax, 0xa58
mov dword [ebp - 0x1c], eax
mov eax, esi
mov dword [eax + 0xa70], 0
imul eax, dword [eax + 0xa70], 0xeb
add eax, 0x14
mov dword [ecx + 0xa5c], eax
mov eax, ecx
lea ecx, [edi + 0x18]
mov dword [eax + 0xa64], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0xa74], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10045080
push str.name
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x73c]
call fcn.1002cb50
push str.name_esp
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x12
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x774]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0x7b0]
mov byte [eax + 0x7a5], 1
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov byte [edi + 0x7a8], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.10045080
lea eax, [edi + 0x30]
push str.normal
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x18], eax
call fcn.1002cb50
push str.bold
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x14
call fcn.1002cb50
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0xac]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10082230
push str.name_style
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x16
call fcn.1002cb50
push str.name_font
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x17
call fcn.1002cb50
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [edi + 0x68]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0xa0]
mov byte [eax + 0x99], 1
call fcn.1004aba0
mov ecx, edi
xor eax, eax
mov edi, dword [ebp - 0xc0]
mov edx, 0xf
cmp byte [ecx + 0x99], al
cmovne eax, edx
mov dword [ecx + 0xd0], eax
add eax, 0x14
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xbc]
add eax, 0xb8
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], eax
cmp edi, ecx
je 0x10061976
mov esi, eax
nop
push edi
mov ecx, esi
call fcn.10052db0
add edi, 0x18
cmp edi, dword [ebp - 0x1c]
jne 0x10061960
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1006199b
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc8], 0
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
call fcn.1002cb00
lea ecx, [ebp - 0xc0]
call fcn.1002cd30
push fcn.1002cb00
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 0x10031380
lea ecx, [edi + 0x58]
call fcn.10045080
mov dword [ebp - 0x18], edi
mov ecx, esi
mov edi, dword [ebp - 0x28]
mov dword [edi + 0x48], 0
imul eax, dword [edi + 0x48], 0xeb
add eax, 0x14
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.name_color
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x7c8]
call fcn.1002cb50
push str.name_esp_color
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x19
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [edi + 0x838]
call fcn.1004aba0
lea eax, [ebp - 0x78]
push eax
lea ecx, [edi + 0x800]
call fcn.1004aba0
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x850], 0xffffffff
mov dword [edi + 0x868], 0
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031380
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x7e0], 0
imul eax, dword [edi + 0x7e0], 0xeb
add eax, 0x14
mov dword [edi + 0x7cc], eax
mov dword [edi + 0x7d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x7e4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x2a8]
call fcn.100826b0
mov dword [ebp - 4], 0x1b
push str.name_esp_alpha
lea ecx, [ebp - 0x5c]
call fcn.1002cb50
push str.name_esp_alpha
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x1c
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [edi + 0x2e0]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [eax + 0x348]
mov byte [eax + 0x311], 0
mov dword [eax + 0x360], 0
mov dword [eax + 0x2b8], 7
mov dword [eax + 0x2bc], 7
mov dword [eax + 0x31c], 0
mov dword [eax + 0x320], 0x437f0000
mov dword [eax + 0x318], 0x43160000
mov dword [eax + 0x32c], 0
mov dword [eax + 0x324], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052b00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031380
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov ecx, edi
mov dword [ebp - 0x18], esi
mov esi, ecx
mov dword [ecx + 0x2c0], 0
imul eax, dword [ecx + 0x2c0], 0xeb
add eax, 0x14
mov dword [ecx + 0x2ac], eax
mov eax, ecx
lea ecx, [esi + 0x18]
mov dword [eax + 0x2b4], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x2c4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.money
lea ecx, [ebp - 0x1c0]
call fcn.1002cb50
push str.armor
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 4], 0x1e
call fcn.1002cb50
push str.zoom
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x1f
call fcn.1002cb50
push str.flashed
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x20
call fcn.1002cb50
push str.reload
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x21
call fcn.1002cb50
mov byte [ebp - 4], 0x22
push str.bomb
lea ecx, [ebp - 0x148]
call fcn.1002cb50
push str.fake
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x23
call fcn.1002cb50
push str.lethal
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x24
call fcn.1002cb50
push str.tickbase
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x25
call fcn.1002cb50
push 0x100cd864
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x26
call fcn.1002cb50
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x1c0]
push edx
lea ecx, [ebp - 0x6c]
call fcn.10082230
push str.flags_enemy
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x28
call fcn.1002cb50
push 0x100cd84c
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x29
call fcn.1002cb50
lea ecx, [ebp - 0xc0]
call fcn.1002de00
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [esi + 0xc08]
call fcn.1004aba0
mov eax, edi
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [eax + 0xc40]
mov byte [eax + 0xc39], 1
call fcn.1004aba0
mov esi, dword [ebp - 0x6c]
xor eax, eax
cmp byte [edi + 0xc39], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xc74], eax
add eax, 0x14
mov dword [edi + 0xbe0], eax
mov dword [edi + 0xbe4], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10061da5
lea eax, [edi + 0xc58]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
nop
push esi
mov ecx, eax
call fcn.10052db0
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x10061d90
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x10061e73
lea ecx, [edi + 0xc68]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xc4]
push eax
call fcn.1002be40
lea ecx, [edi + 0xc68]
mov esi, dword [eax]
lea eax, [ebp - 0xc8]
push eax
call fcn.1002be50
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.1002d4b0
add esp, 8
lea ecx, [edi + 0xc68]
mov esi, eax
lea eax, [ebp - 0xd0]
push eax
call fcn.1002be40
mov ecx, dword [edi + 0xc5c]
sub ecx, dword [edi + 0xc58]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x24], eax
jae 0x10061e4a
lea eax, [ebp - 0x24]
push eax
lea ecx, [edi + 0xc68]
call fcn.10045080
cmp esi, dword [ebp - 0x18]
jne 0x10061e5b
mov eax, dword [edi + 0xc34]
test eax, eax
je 0x10061e5b
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xc68]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x20]
jne 0x10061dc5
lea ecx, [ebp - 0xc0]
call fcn.1002c110
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x6c]
call fcn.1002cd30
push fcn.1002cb00
push 0xa
push 0x18
lea eax, [ebp - 0x1c0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [edi + 0xbd0]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xbe8], 0
imul eax, dword [edi + 0xbe8], 0xeb
add eax, 0x14
mov dword [edi + 0xbd4], eax
mov dword [edi + 0xbdc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xbec], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.weapontext
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0xd04]
call fcn.1002cb50
push str.weapon_text
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x2c
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [edi + 0xd3c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0xd6d], 1
push eax
lea ecx, [edi + 0xd78]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0xd70], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.weaponicon
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0xc78]
call fcn.1002cb50
push str.weapon_icon
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x2e
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [edi + 0xcb0]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0xce1], 1
push eax
lea ecx, [edi + 0xcec]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0xce4], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.weaponcolor
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0xd90]
call fcn.1002cb50
push str.weapon_icon_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x30
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [edi + 0xe00]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0xdc8]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0xe18], 0xffffffff
mov dword [edi + 0xe30], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313a0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xda8], 0
imul eax, dword [edi + 0xda8], 0xeb
add eax, 0x14
mov dword [edi + 0xd94], eax
mov dword [edi + 0xd9c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xdac], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.ammo
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0xf08]
call fcn.1002cb50
push str.ammo
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x32
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [edi + 0xf40]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0xf71], 1
push eax
lea ecx, [edi + 0xf7c]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0xf74], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100cd8a4
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1020]
call fcn.1002cb50
push str.ammo_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x34
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [edi + 0x1090]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x1058]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x10a8], 0xebc88c50
mov dword [edi + 0x10c0], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031400
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1038], 0
imul eax, dword [edi + 0x1038], 0xeb
add eax, 0x14
mov dword [edi + 0x1024], eax
mov dword [edi + 0x102c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x103c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.distance
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0xf94]
call fcn.1002cb50
push str.distance
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x36
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [edi + 0xfcc]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0xffd], 1
push eax
lea ecx, [edi + 0x1008]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x1000], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.lby_update
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x10dc]
call fcn.1002cb50
push str.lby_timer
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x38
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [edi + 0x1114]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1145], 1
push eax
lea ecx, [edi + 0x1150]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x1148], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.lby_update_color
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1168]
call fcn.1002cb50
push str.lby_timer_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x3a
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [edi + 0x11d8]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x11a0]
call fcn.1004aba0
mov dword [edi + 0x11f0], 0xffff00ff
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1208], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313e0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1180], 0
imul eax, dword [edi + 0x1180], 0xeb
add eax, 0x14
mov dword [edi + 0x116c], eax
mov dword [edi + 0x1174], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1184], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.glow
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x18f0]
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x3c
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [edi + 0x1928]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1959], 1
push eax
lea ecx, [edi + 0x1964]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x195c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.glow_enemy
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x197c]
call fcn.1002cb50
push str.glow_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x3e
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0x19ec]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x19b4]
call fcn.1004aba0
mov dword [edi + 0x1a04], 0xff7739b4
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1a1c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313f0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1994], 0
imul eax, dword [edi + 0x1994], 0xeb
add eax, 0x14
mov dword [edi + 0x1980], eax
mov dword [edi + 0x1988], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1998], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100ccc24
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1a38]
call fcn.100826b0
push str.glow_blend
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x40
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x41
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [edi + 0x1a70]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
mov byte [edi + 0x1aa1], 0
push eax
lea ecx, [edi + 0x1ad8]
mov dword [edi + 0x1af0], 0
mov dword [edi + 0x1a48], 7
mov dword [edi + 0x1a4c], 7
mov dword [edi + 0x1aac], 0
mov dword [edi + 0x1ab0], 0x42c80000
mov dword [edi + 0x1aa8], 0x41f00000
mov dword [edi + 0x1abc], 0
mov dword [edi + 0x1ab4], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.10052b00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313f0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1a50], 0
imul eax, dword [edi + 0x1a50], 0xeb
add eax, 0x14
mov dword [edi + 0x1a3c], eax
mov dword [edi + 0x1a44], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1a54], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
lea esi, [edi + 0x1224]
push str.plusesp
lea ecx, [ebp - 0x5c]
call fcn.1002cb50
push str.plus_esp
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x43
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x44
push eax
lea ecx, [edi + 0x125c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x128d], 1
push eax
lea ecx, [edi + 0x1298]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x1290], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.hitmarker
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x12b0]
call fcn.1002cb50
push str.hitmarker
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x45
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [edi + 0x12e8]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1319], 1
push eax
lea ecx, [edi + 0x1324]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x131c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100cd950
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1510]
call fcn.1002cb50
mov dword [ebp - 4], 0x47
push str.hitmarker_sound
lea ecx, [ebp - 0x44]
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [edi + 0x1548]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1579], 1
push eax
lea ecx, [edi + 0x1584]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x157c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10032880
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1528], 0
imul eax, dword [edi + 0x1528], 0xeb
add eax, 0x14
mov dword [edi + 0x1514], eax
mov dword [edi + 0x151c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x152c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.skeleton
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1700]
call fcn.1002cb50
push str.skeleton
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x49
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [edi + 0x1738]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1769], 1
push eax
lea ecx, [edi + 0x1774]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x176c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.skeleton_enemy
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x178c]
call fcn.1002cb50
mov dword [ebp - 4], 0x4b
push str.skeleton_color
lea ecx, [ebp - 0x44]
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x4c
push eax
lea ecx, [edi + 0x17fc]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x17c4]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1814], 0xffaaffff
mov dword [edi + 0x182c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313b0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x17a4], 0
imul eax, dword [edi + 0x17a4], 0xeb
add eax, 0x14
mov dword [edi + 0x1790], eax
mov dword [edi + 0x1798], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x17a8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100ccc24
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1bb0]
call fcn.100826b0
push str.skeleton_alpha
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x4d
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x4e
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0x1be8]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
mov byte [edi + 0x1c19], 0
push eax
lea ecx, [edi + 0x1c50]
mov dword [edi + 0x1c68], 0
mov dword [edi + 0x1bc0], 7
mov dword [edi + 0x1bc4], 7
mov dword [edi + 0x1c24], 0
mov dword [edi + 0x1c28], 0x437f0000
mov dword [edi + 0x1c20], 0x437f0000
mov dword [edi + 0x1c34], 0
mov dword [edi + 0x1c2c], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.10052b00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313b0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1bc8], 0
imul eax, dword [edi + 0x1bc8], 0xeb
add eax, 0x14
mov dword [edi + 0x1bb4], eax
mov dword [edi + 0x1bbc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1bcc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.offscreen
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x4ac]
call fcn.1002cb50
push str.out_of_pov_arrow
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x50
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0x4e4]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x515], 1
push eax
lea ecx, [edi + 0x520]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x518], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
mov esi, dword [0x100cb8d0]
lea ecx, [ebp - 0x5c]
push str.offscreen_color
add edi, 0x538
call fcn.1002cb50
push str.offscreen_esp_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x52
call fcn.1002cb50
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x44]
push eax
add ecx, 0x5a8
mov byte [ebp - 4], 0x53
call fcn.1004aba0
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ecx + 0x570]
call fcn.1004aba0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
mov dword [eax + 0x5c0], esi
mov dword [eax + 0x5d8], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313c0
lea ecx, [edi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x28]
mov dword [edi + 0x550], 0
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x550], 0xeb
add eax, 0x14
mov dword [edi + 0x53c], eax
mov dword [edi + 0x544], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x554], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.footstep
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x5f4]
call fcn.1002cb50
push str.visualize_sounds
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x54
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [edi + 0x62c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x65d], 1
push eax
lea ecx, [edi + 0x668]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x660], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.footstepcol
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x680]
call fcn.1002cb50
push str.visualize_sounds_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x56
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x57
push eax
lea ecx, [edi + 0x6f0]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x6b8]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x708], 0xff3c3cfa
mov dword [edi + 0x720], 0
call fcn.1002cb00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100313d0
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x698], 0
mov ecx, esi
imul eax, dword [edi + 0x698], 0xeb
add eax, 0x14
mov dword [edi + 0x684], eax
mov dword [edi + 0x68c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x69c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.local
lea ecx, [ebp - 0x178]
call fcn.1002cb50
push str.enemy
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0x58
call fcn.1002cb50
push str.friendly
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x59
call fcn.1002cb50
push str.history
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x5a
call fcn.1002cb50
push str.fake
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x5b
call fcn.1002cb50
push str.shot
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x5c
call fcn.1002cb50
push str.weapon
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x5d
call fcn.1002cb50
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0x6c]
call fcn.10082230
push str.chams_entity_selection
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x5f
call fcn.1002cb50
push str.chams_selection
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x60
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x61
push eax
lea ecx, [edi + 0x1ca4]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1cd5], 1
push eax
lea ecx, [edi + 0x1cdc]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1cd5], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x68]
mov dword [edi + 0x1d0c], eax
add eax, 0x14
mov dword [edi + 0x1c7c], eax
mov dword [edi + 0x1c80], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10062f98
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x1cf4]
mov edi, eax
push esi
mov ecx, edi
call fcn.10052db0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10062f82
mov edi, dword [ebp - 0x28]
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x1cf8]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x1cf4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10062fc1
mov dword [edi + 0x1d04], 0
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x6c]
call fcn.1002cd30
push fcn.1002cb00
push 7
push 0x18
lea eax, [ebp - 0x178]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [edi + 0x1c6c]
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1c84], 1
imul eax, dword [edi + 0x1c84], 0xeb
add eax, 0x14
mov dword [edi + 0x1c70], eax
mov dword [edi + 0x1c78], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1c88], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100cdaac
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1d10]
call fcn.1002cb50
push str.chams_local
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x62
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x63
push eax
lea ecx, [edi + 0x1d48]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1d79], 1
push eax
lea ecx, [edi + 0x1d84]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x1d7c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031410
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1d28], 1
mov ecx, esi
imul eax, dword [edi + 0x1d28], 0xeb
add eax, 0x14
mov dword [edi + 0x1d14], eax
mov dword [edi + 0x1d1c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1d2c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.material
lea ecx, [ebp - 0x148]
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x64
call fcn.1002cb50
mov byte [ebp - 4], 0x65
push str.metallic
lea ecx, [ebp - 0x118]
call fcn.1002cb50
push str.gloss
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x66
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x67
call fcn.1002cb50
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x68
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x148]
push edx
lea ecx, [ebp - 0x6c]
call fcn.10082230
push str.chams_local_mat
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x69
call fcn.1002cb50
push str.chams_local_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x6a
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x6b
push eax
lea ecx, [edi + 0x1e60]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x1e91], 1
push eax
lea ecx, [edi + 0x1e98]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1e91], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x68]
mov dword [edi + 0x1ec8], eax
add eax, 0x14
mov dword [edi + 0x1e38], eax
mov dword [edi + 0x1e3c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10063228
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x1eb0]
mov dword [ebp - 0x1c], eax
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, eax
call fcn.10052db0
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x10063210
mov edi, dword [ebp - 0x28]
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x1eb4]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x1eb0]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10063251
mov dword [edi + 0x1ec0], 0
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x6c]
call fcn.1002cd30
push fcn.1002cb00
push 5
push 0x18
lea eax, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031410
lea ecx, [edi + 0x1e80]
push eax
call fcn.10045080
lea eax, [edi + 0x1e28]
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1e40], 1
imul eax, dword [edi + 0x1e40], 0xeb
add eax, 0x14
mov dword [edi + 0x1e2c], eax
mov dword [edi + 0x1e34], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1e44], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.chams_local_col
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1ecc]
call fcn.1002cb50
push str.color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x6c
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0x1f3c]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x1f04]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1f54], 0xff323232
mov dword [edi + 0x1f6c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031410
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1ee4], 1
imul eax, dword [edi + 0x1ee4], 0xeb
add eax, 0x14
mov dword [edi + 0x1ed0], eax
mov dword [edi + 0x1ed8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1ee8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.chams_local2_col
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x1f88]
call fcn.1002cb50
mov dword [ebp - 4], 0x6e
push str.glow_color
lea ecx, [ebp - 0x44]
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [edi + 0x1ff8]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x1fc0]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2010], 0xff3b2d09
mov dword [edi + 0x2028], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031420
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1fa0], 1
imul eax, dword [edi + 0x1fa0], 0xeb
add eax, 0x14
mov dword [edi + 0x1f8c], eax
mov dword [edi + 0x1f94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1fa4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100ccc24
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x2044]
call fcn.100826b0
push str.chams_local_blend
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x70
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x71
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x72
push eax
lea ecx, [edi + 0x207c]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
mov byte [edi + 0x20ad], 0
push eax
lea ecx, [edi + 0x20e4]
mov dword [edi + 0x20fc], 0
mov dword [edi + 0x2054], 7
mov dword [edi + 0x2058], 7
mov dword [edi + 0x20b8], 0
mov dword [edi + 0x20bc], 0x42c80000
mov dword [edi + 0x20b4], 0x42c80000
mov dword [edi + 0x20c8], 0
mov dword [edi + 0x20c0], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.10052b00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031410
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x205c], 1
imul eax, dword [edi + 0x205c], 0xeb
add eax, 0x14
mov dword [edi + 0x2048], eax
mov dword [edi + 0x2050], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2060], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.chams_local_scope
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x2100]
call fcn.1002cb50
push str.blend_when_scoped
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x73
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [edi + 0x2138]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2169], 1
push eax
lea ecx, [edi + 0x2174]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov byte [edi + 0x216c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031410
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2118], 1
imul eax, dword [edi + 0x2118], 0xeb
add eax, 0x14
mov dword [edi + 0x2104], eax
mov dword [edi + 0x210c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x211c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push 0x100ccc24
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x218c]
call fcn.100826b0
push str.chams_local_scope_blend
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x75
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x76
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [edi + 0x21c4]
call fcn.1004aba0
mov byte [edi + 0x21f5], 0
mov dword [edi + 0x2244], 0
mov dword [edi + 0x219c], 7
mov dword [edi + 0x21a0], 7
mov dword [edi + 0x2200], 0
mov dword [edi + 0x2204], 0x42c80000
lea eax, [ebp - 0x5c]
mov dword [edi + 0x21fc], 0x42c80000
push eax
lea ecx, [edi + 0x222c]
mov dword [edi + 0x2210], 0
mov dword [edi + 0x2208], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.10052b00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031410
lea ecx, [esi + 0x58]
push eax
call fcn.10045080
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x21a4], 1
mov ecx, esi
imul eax, dword [edi + 0x21a4], 0xeb
add eax, 0x14
mov dword [edi + 0x2190], eax
mov dword [edi + 0x2198], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x21a8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.visible
lea ecx, [ebp - 0xac]
call fcn.1002cb50
push str.invisible
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x78
call fcn.1002cb50
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x79
push eax
lea ecx, [ebp - 0x7c]
push ecx
lea edx, [ebp - 0xac]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10082230
push str.chams_enemy
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x7a
call fcn.1002cb50
push 0x100cdb88
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x7b
call fcn.1002cb50
lea ecx, [ebp - 0x70]
call fcn.1002de00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [edi + 0x2280]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x22b1], 1
push eax
lea ecx, [edi + 0x22b8]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x22b1], al
cmovne eax, ecx
mov dword [edi + 0x22ec], eax
add eax, 0x14
mov dword [edi + 0x2258], eax
mov ecx, dword [ebp - 0xbc]
mov dword [edi + 0x225c], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10063878
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x22d0]
mov dword [ebp - 0x1c], eax
mov edi, ecx
nop
push esi
mov ecx, eax
call fcn.10052db0
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x10063860
mov edi, dword [ebp - 0x28]
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x10063943
lea ecx, [edi + 0x22e0]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xd0]
push eax
call fcn.1002be40
lea ecx, [edi + 0x22e0]
mov esi, dword [eax]
lea eax, [ebp - 0xcc]
push eax
call fcn.1002be50
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0xc8]
push dword [eax]
call fcn.1002d4b0
add esp, 8
lea ecx, [edi + 0x22e0]
mov esi, eax
lea eax, [ebp - 0xc4]
push eax
call fcn.1002be40
mov ecx, dword [edi + 0x22d4]
sub ecx, dword [edi + 0x22d0]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x24], eax
jae 0x10063917
lea eax, [ebp - 0x24]
push eax
lea ecx, [edi + 0x22e0]
call fcn.10045080
cmp esi, dword [ebp - 0x18]
jne 0x10063928
mov eax, dword [edi + 0x22ac]
test eax, eax
je 0x10063928
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x22e0]
add eax, 4
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x20]
jne 0x10063892
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x70]
call fcn.1002c110
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0xc0]
call fcn.1002cd30
push fcn.1002cb00
push 2
push 0x18
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031440
lea ecx, [edi + 0x22a0]
push eax
call fcn.10045080
lea eax, [edi + 0x2248]
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x2260], 1
imul eax, dword [edi + 0x2260], 0xeb
add eax, 0x14
mov dword [edi + 0x224c], eax
mov dword [edi + 0x2254], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2264], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.material
lea ecx, [ebp - 0x160]
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x7e
call fcn.1002cb50
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x7f
call fcn.1002cb50
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x80
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x81
call fcn.1002cb50
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x82
call fcn.1002cb50
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x83
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x160]
push edx
lea ecx, [ebp - 0x6c]
call fcn.10082230
push str.chams_enemy_mat
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x84
call fcn.1002cb50
push str.chams_enemy_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x85
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x86
push eax
lea ecx, [edi + 0x2328]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2359], 1
push eax
lea ecx, [edi + 0x2360]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2359], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x68]
mov dword [edi + 0x2390], eax
add eax, 0x14
mov dword [edi + 0x2300], eax
mov dword [edi + 0x2304], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10063b18
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x2378]
mov dword [ebp - 0x1c], eax
mov edi, ecx
nop
push esi
mov ecx, eax
call fcn.10052db0
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x10063b00
mov edi, dword [ebp - 0x28]
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x237c]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x2378]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10063b41
mov dword [edi + 0x2388], 0
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x6c]
call fcn.1002cd30
push fcn.1002cb00
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031440
lea ecx, [edi + 0x2348]
push eax
call fcn.10045080
lea eax, [edi + 0x22f0]
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x2308], 1
imul eax, dword [edi + 0x2308], 0xeb
add eax, 0x14
mov dword [edi + 0x22f4], eax
mov dword [edi + 0x22fc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x230c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10045080
push str.chams_enemy_vis
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x2394]
call fcn.1002cb50
push str.color_visible
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x87
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x88
push eax
lea ecx, [edi + 0x2404]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x23cc]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x241c], 0xff3cc896
mov dword [edi + 0x2434], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031440
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x23ac], 1
imul eax, dword [edi + 0x23ac], 0xeb
add eax, 0x14
mov dword [edi + 0x2398], eax
mov dword [edi + 0x23a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x23b0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_enemy2_vis
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x2450]
call fcn.1002cb50
mov dword [ebp - 4], 0x89
push str.glow_color
lea ecx, [ebp - 0x44]
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x8a
push eax
lea ecx, [edi + 0x24c0]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x2488]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x24d8], 0xffc8ffff
mov dword [edi + 0x24f0], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031450
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2468], 1
imul eax, dword [edi + 0x2468], 0xeb
add eax, 0x14
mov dword [edi + 0x2454], eax
mov dword [edi + 0x245c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x246c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_enemy_invis
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x250c]
call fcn.1002cb50
push str.color_invisible
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x8b
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [edi + 0x257c]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x2544]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2594], 0xffb4783c
mov dword [edi + 0x25ac], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031440
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2524], 1
imul eax, dword [edi + 0x2524], 0xeb
add eax, 0x14
mov dword [edi + 0x2510], eax
mov dword [edi + 0x2518], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2528], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea esi, [edi + 0x25c8]
push str.chams_enemy2_invis
lea ecx, [ebp - 0x5c]
call fcn.1002cb50
push str.glow_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x8d
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x8e
push eax
lea ecx, [edi + 0x2638]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x2600]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2650], 0xb4c8ffff
mov dword [edi + 0x2668], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031450
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x25e0], 1
imul eax, dword [edi + 0x25e0], 0xeb
add eax, 0x14
mov dword [edi + 0x25cc], eax
mov dword [edi + 0x25d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x25e4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x2974]
call fcn.100826b0
push str.chams_enemy_blend
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x8f
call fcn.1002cb50
push str.visible
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x90
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x91
push eax
lea ecx, [edi + 0x29ac]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x29dd], 1
push eax
lea ecx, [edi + 0x29fc]
call fcn.1004aba0
xor eax, eax
mov dword [edi + 0x29e8], 0
cmp byte [edi + 0x29dd], al
mov ecx, 0xf
mov dword [edi + 0x29ec], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x29e4], 0x42c80000
mov dword [edi + 0x2a2c], eax
add eax, 7
mov dword [edi + 0x2984], eax
mov dword [edi + 0x2988], eax
lea eax, [ebp - 0x78]
mov dword [edi + 0x29f8], 0
mov dword [edi + 0x29f0], 0x3f800000
push eax
lea ecx, [edi + 0x2a14]
call fcn.10082680
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031440
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x298c], 1
imul eax, dword [edi + 0x298c], 0xeb
add eax, 0x14
mov dword [edi + 0x2978], eax
mov dword [edi + 0x2980], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2990], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x2abc]
call fcn.100826b0
push str.chams_enemy_blend2
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x92
call fcn.1002cb50
push str.invis
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x93
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x94
push eax
lea ecx, [edi + 0x2af4]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2b25], 1
push eax
lea ecx, [edi + 0x2b44]
call fcn.1004aba0
xor eax, eax
mov dword [edi + 0x2b30], 0
cmp byte [edi + 0x2b25], al
mov ecx, 0xf
mov dword [edi + 0x2b34], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2b2c], 0x42480000
mov dword [edi + 0x2b74], eax
lea ecx, [edi + 0x2b5c]
add eax, 7
mov dword [edi + 0x2b40], 0
mov dword [edi + 0x2acc], eax
mov dword [edi + 0x2ad0], eax
lea eax, [ebp - 0x78]
push eax
mov dword [edi + 0x2b38], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031440
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
mov dword [edi + 0x2ad4], 1
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x2ad4], 0xeb
add eax, 0x14
mov dword [edi + 0x2ac0], eax
mov dword [edi + 0x2ac8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2ad8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_enemy_reflectivity
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x2684]
call fcn.1002cb50
push str.reflectivity_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x95
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x96
push eax
lea ecx, [edi + 0x26f4]
call fcn.1004aba0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [edi + 0x26bc]
call fcn.1004aba0
lea ecx, [ebp - 0x44]
mov dword [edi + 0x270c], 0xff00b2ff
mov dword [edi + 0x2724], 0
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031470
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x269c], 1
imul eax, dword [edi + 0x269c], 0xeb
add eax, 0x14
mov dword [edi + 0x2688], eax
mov dword [edi + 0x2690], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x26a0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x2740]
call fcn.100826b0
push str.chams_reflectivity
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x97
call fcn.1002cb50
push 0x100cdc9c
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x98
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x99
push eax
lea ecx, [edi + 0x2778]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x27a9], 1
push eax
lea ecx, [edi + 0x27c8]
call fcn.1004aba0
xor eax, eax
cmp byte [edi + 0x27a9], al
mov ecx, 0xf
mov dword [edi + 0x27b4], 0
cmovne eax, ecx
mov dword [edi + 0x27b8], 0x42c80000
mov dword [edi + 0x27f8], eax
lea ecx, [edi + 0x27e0]
add eax, 7
mov dword [edi + 0x27b0], 0x42860000
mov dword [edi + 0x2750], eax
mov dword [edi + 0x2754], eax
lea eax, [ebp - 0x78]
push eax
mov dword [edi + 0x27c4], 0
mov dword [edi + 0x27bc], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031470
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2758], 1
imul eax, dword [edi + 0x2758], 0xeb
add eax, 0x14
mov dword [edi + 0x2744], eax
mov dword [edi + 0x274c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x275c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x27fc]
call fcn.100826b0
push 0x100cdcb0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x9a
call fcn.1002cb50
push str.chams_enemy_shine
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x9b
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x9c
push eax
lea ecx, [edi + 0x2834]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2865], 1
push eax
lea ecx, [edi + 0x2884]
call fcn.1004aba0
xor eax, eax
mov dword [edi + 0x2870], 0
cmp byte [edi + 0x2865], al
mov ecx, 0xf
mov dword [edi + 0x2874], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x286c], 0x41200000
mov dword [edi + 0x28b4], eax
lea ecx, [edi + 0x289c]
add eax, 7
mov dword [edi + 0x2880], 0
mov dword [edi + 0x280c], eax
mov dword [edi + 0x2810], eax
lea eax, [ebp - 0x78]
push eax
mov dword [edi + 0x2878], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031470
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2814], 1
imul eax, dword [edi + 0x2814], 0xeb
add eax, 0x14
mov dword [edi + 0x2800], eax
mov dword [edi + 0x2808], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2818], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x28b8]
call fcn.100826b0
push str.chams_enemy_rim
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0x9d
call fcn.1002cb50
push 0x100cdcec
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x9e
call fcn.1002cb50
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x9f
push eax
lea ecx, [edi + 0x28f0]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2921], 1
push eax
lea ecx, [edi + 0x2940]
call fcn.1004aba0
xor eax, eax
mov dword [edi + 0x292c], 0
cmp byte [edi + 0x2921], al
mov ecx, 0xf
mov dword [edi + 0x2930], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2928], 0x41200000
mov dword [edi + 0x2970], eax
lea ecx, [edi + 0x2958]
add eax, 7
mov dword [edi + 0x293c], 0
mov dword [edi + 0x28c8], eax
mov dword [edi + 0x28cc], eax
lea eax, [ebp - 0x78]
push eax
mov dword [edi + 0x2934], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031470
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
mov dword [edi + 0x28d0], 1
imul eax, dword [edi + 0x28d0], 0xeb
add eax, 0x14
lea ecx, [edi + 0x18]
mov dword [edi + 0x28bc], eax
mov dword [edi + 0x28c4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x28d4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea ecx, [ebp - 0x79]
call fcn.10033ac0
push str.visible
lea ecx, [ebp - 0x1f0]
mov esi, eax
call fcn.1002cb50
push str.invisible
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0xa0
call fcn.1002cb50
lea eax, [ebp - 0x1c0]
mov dword [ebp - 4], 0xa1
push eax
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10082210
push esi
lea ecx, [ebp - 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.10082230
push 0x100cdcfc
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xa2
call fcn.1002cb50
push str.chams_friendly
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa3
call fcn.1002cb50
lea ecx, [ebp - 0x70]
call fcn.1002de00
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [edi + 0x2f14]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2f45], 1
push eax
lea ecx, [edi + 0x2f4c]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2f45], al
cmovne eax, ecx
lea ecx, [ebp - 0x50]
mov dword [edi + 0x2f80], eax
add eax, 0x14
mov dword [edi + 0x2eec], eax
mov dword [edi + 0x2ef0], eax
call fcn.1002c280
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.1004c500
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100646d9
lea ecx, [edi + 0x2f64]
mov dword [ebp - 0x18], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.100527b0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x100646c6
mov edi, dword [ebp - 0x28]
lea ecx, [ebp - 0x70]
call fcn.1002c280
mov esi, eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x1c], esi
call fcn.1004c500
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x100647a1
lea ecx, [edi + 0x2f74]
nop
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xd0]
push eax
call fcn.1002be40
lea ecx, [edi + 0x2f74]
mov esi, dword [eax]
lea eax, [ebp - 0xcc]
push eax
call fcn.1002be50
push esi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0xc8]
push dword [eax]
call fcn.1002d4b0
add esp, 8
lea ecx, [edi + 0x2f74]
mov esi, eax
lea eax, [ebp - 0xc4]
push eax
call fcn.1002be40
push eax
mov ecx, esi
call fcn.1002be20
lea ecx, [edi + 0x2f64]
mov byte [ebp - 0x29], al
call fcn.10033380
cmp dword [ebp - 0x24], eax
jae 0x10064777
lea eax, [ebp - 0x24]
push eax
lea ecx, [edi + 0x2f74]
call fcn.10043160
cmp byte [ebp - 0x29], 0
je 0x10064789
mov eax, dword [edi + 0x2f40]
test eax, eax
je 0x10064789
call eax
mov esi, dword [ebp - 0x1c]
lea ecx, [edi + 0x2f74]
add esi, 4
mov dword [ebp - 0x1c], esi
cmp esi, dword [ebp - 0x18]
jne 0x10064700
lea ecx, [ebp - 0x70]
call fcn.1002be60
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x50]
call fcn.1002bf30
push fcn.1002cb00
push 2
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031490
lea ecx, [edi + 0x2f34]
push eax
call fcn.10043160
lea eax, [edi + 0x2edc]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x2ef4], 1
imul eax, dword [edi + 0x2ef4], 0xeb
add eax, 0x14
mov dword [edi + 0x2ee0], eax
mov dword [edi + 0x2ee8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2ef8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea ecx, [ebp - 0x29]
call fcn.10033ac0
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xa6
call fcn.1002cb50
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xa7
call fcn.1002cb50
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xa8
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xa9
call fcn.1002cb50
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xaa
call fcn.1002cb50
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0xab
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10082210
push esi
lea ecx, [ebp - 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.10082230
mov byte [ebp - 4], 0xac
lea ecx, [ebp - 0x44]
push str.chams_friendly_mat
call fcn.1002cb50
push str.chams_friendly_material
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xad
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xae
push eax
lea ecx, [edi + 0x2fbc]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x2fed], 1
push eax
lea ecx, [edi + 0x2ff4]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2fed], al
cmovne eax, ecx
lea ecx, [ebp - 0x50]
mov dword [edi + 0x3024], eax
add eax, 0x14
mov dword [edi + 0x2f94], eax
mov dword [edi + 0x2f98], eax
call fcn.1002c280
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.1004c500
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1006499a
lea eax, [edi + 0x300c]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
push esi
mov ecx, eax
call fcn.100527b0
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x10064985
mov edi, dword [ebp - 0x28]
lea ecx, [edi + 0x300c]
call fcn.10033380
test eax, eax
je 0x100649b3
mov dword [edi + 0x301c], 0
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x50]
call fcn.1002bf30
push fcn.1002cb00
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031490
lea ecx, [edi + 0x2fdc]
push eax
call fcn.10043160
lea eax, [edi + 0x2f84]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x2f9c], 1
imul eax, dword [edi + 0x2f9c], 0xeb
add eax, 0x14
mov dword [edi + 0x2f88], eax
mov dword [edi + 0x2f90], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2fa0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_friendly_vis
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x3028]
call fcn.1002cb50
push str.color_visible
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xaf
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xb0
push eax
lea ecx, [edi + 0x3098]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x3060]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x30b0], 0xff00c8ff
mov dword [edi + 0x30c8], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031490
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3040], 1
imul eax, dword [edi + 0x3040], 0xeb
add eax, 0x14
mov dword [edi + 0x302c], eax
mov dword [edi + 0x3034], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3044], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_friendly_invis
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x30e4]
call fcn.1002cb50
mov dword [ebp - 4], 0xb1
push str.color_invisible
lea ecx, [ebp - 0x94]
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xb2
push eax
lea ecx, [edi + 0x3154]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x311c]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x316c], 0xff0032ff
mov dword [edi + 0x3184], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031490
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x30fc], 1
imul eax, dword [edi + 0x30fc], 0xeb
add eax, 0x14
mov dword [edi + 0x30e8], eax
mov dword [edi + 0x30f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3100], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x31a0]
call fcn.100826b0
push str.chams_friendly_blend
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xb3
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xb4
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xb5
push eax
lea ecx, [edi + 0x31d8]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x3209], 0
push eax
lea ecx, [edi + 0x3240]
mov dword [edi + 0x3258], 0
mov dword [edi + 0x31b0], 7
mov dword [edi + 0x31b4], 7
mov dword [edi + 0x3214], 0
mov dword [edi + 0x3218], 0x42c80000
mov dword [edi + 0x3210], 0x42c80000
mov dword [edi + 0x3224], 0
mov dword [edi + 0x321c], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10031490
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x31b8], 1
imul eax, dword [edi + 0x31b8], 0xeb
add eax, 0x14
mov dword [edi + 0x31a4], eax
mov dword [edi + 0x31ac], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x31bc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100cdd80
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x2a30]
call fcn.1002cb50
push str.chams_history
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xb6
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xb7
push eax
lea ecx, [edi + 0x2a68]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x2a99], 1
push eax
lea ecx, [edi + 0x2aa4]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov byte [edi + 0x2a9c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314a0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2a48], 1
imul eax, dword [edi + 0x2a48], 0xeb
add eax, 0x14
mov dword [edi + 0x2a34], eax
mov dword [edi + 0x2a3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2a4c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea ecx, [ebp - 0x79]
call fcn.10033ac0
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xb8
call fcn.1002cb50
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xb9
call fcn.1002cb50
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xba
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xbb
call fcn.1002cb50
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xbc
call fcn.1002cb50
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0xbd
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10082210
push esi
lea ecx, [ebp - 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.10082230
push str.chams_enemy_history_mat
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xbe
call fcn.1002cb50
push str.chams_history_material
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xbf
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xc0
push eax
lea ecx, [edi + 0x2bb0]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x2be1], 1
push eax
lea ecx, [edi + 0x2be8]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2be1], al
cmovne eax, ecx
lea ecx, [ebp - 0x50]
mov dword [edi + 0x2c18], eax
add eax, 0x14
mov dword [edi + 0x2b88], eax
mov dword [edi + 0x2b8c], eax
call fcn.1002c280
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.1004c500
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10064f36
lea eax, [edi + 0x2c00]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
push esi
mov ecx, eax
call fcn.100527b0
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x10064f21
mov edi, dword [ebp - 0x28]
lea ecx, [edi + 0x2c00]
call fcn.10033380
test eax, eax
je 0x10064f4f
mov dword [edi + 0x2c10], 0
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x50]
call fcn.1002bf30
push fcn.1002cb00
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314a0
lea ecx, [edi + 0x2bd0]
push eax
call fcn.10043160
lea eax, [edi + 0x2b78]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x2b90], 1
imul eax, dword [edi + 0x2b90], 0xeb
add eax, 0x14
mov dword [edi + 0x2b7c], eax
mov dword [edi + 0x2b84], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2b94], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_history_col
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x2c1c]
call fcn.1002cb50
push str.color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xc1
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xc2
push eax
lea ecx, [edi + 0x2c8c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x2c54]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x2ca4], 0xff000000
mov dword [edi + 0x2cbc], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314a0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2c34], 1
imul eax, dword [edi + 0x2c34], 0xeb
add eax, 0x14
mov dword [edi + 0x2c20], eax
mov dword [edi + 0x2c28], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2c38], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x2cd8]
call fcn.100826b0
mov dword [ebp - 4], 0xc3
push str.chams_history_blend
lea ecx, [ebp - 0x94]
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xc4
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xc5
push eax
lea ecx, [edi + 0x2d10]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x2d41], 0
push eax
lea ecx, [edi + 0x2d78]
mov dword [edi + 0x2d90], 0
mov dword [edi + 0x2ce8], 7
mov dword [edi + 0x2cec], 7
mov dword [edi + 0x2d4c], 0
mov dword [edi + 0x2d50], 0x42c80000
mov dword [edi + 0x2d48], 0x42c80000
mov dword [edi + 0x2d5c], 0
mov dword [edi + 0x2d54], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314a0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2cf0], 1
imul eax, dword [edi + 0x2cf0], 0xeb
add eax, 0x14
mov dword [edi + 0x2cdc], eax
mov dword [edi + 0x2ce4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2cf4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100cde4c
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x2d94]
call fcn.1002cb50
push str.history_skeleton
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xc6
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xc7
push eax
lea ecx, [edi + 0x2dcc]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x2dfd], 1
push eax
lea ecx, [edi + 0x2e08]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov byte [edi + 0x2e00], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314a0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2dac], 1
imul eax, dword [edi + 0x2dac], 0xeb
add eax, 0x14
mov dword [edi + 0x2d98], eax
mov dword [edi + 0x2da0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2db0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.history_skeleton_col
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x2e20]
call fcn.1002cb50
push str.color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xc8
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xc9
push eax
lea ecx, [edi + 0x2e90]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x2e58]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x2ea8], 0xffffffff
mov dword [edi + 0x2ec0], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314a0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2e38], 1
imul eax, dword [edi + 0x2e38], 0xeb
add eax, 0x14
mov dword [edi + 0x2e24], eax
mov dword [edi + 0x2e2c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2e3c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_fake
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x325c]
call fcn.1002cb50
push str.fake_chams
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xca
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xcb
push eax
lea ecx, [edi + 0x3294]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x32c5], 1
push eax
lea ecx, [edi + 0x32d0]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov byte [edi + 0x32c8], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314b0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3274], 1
imul eax, dword [edi + 0x3274], 0xeb
add eax, 0x14
mov dword [edi + 0x3260], eax
mov dword [edi + 0x3268], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3278], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea ecx, [ebp - 0x29]
call fcn.10033ac0
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xcc
call fcn.1002cb50
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xcd
call fcn.1002cb50
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xce
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xcf
call fcn.1002cb50
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xd0
call fcn.1002cb50
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0xd1
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10082210
push esi
lea ecx, [ebp - 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.10082230
push str.chams_fake_mat
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xd2
call fcn.1002cb50
push str.chams_material
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xd3
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xd4
push eax
lea ecx, [edi + 0x3320]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x3351], 1
push eax
lea ecx, [edi + 0x3358]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x3351], al
cmovne eax, ecx
lea ecx, [ebp - 0x50]
mov dword [edi + 0x3388], eax
add eax, 0x14
mov dword [edi + 0x32f8], eax
mov dword [edi + 0x32fc], eax
call fcn.1002c280
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.1004c500
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1006559b
lea eax, [edi + 0x3370]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
push esi
mov ecx, eax
call fcn.100527b0
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x10065586
mov edi, dword [ebp - 0x28]
lea ecx, [edi + 0x3370]
call fcn.10033380
test eax, eax
je 0x100655b4
mov dword [edi + 0x3380], 0
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x50]
call fcn.1002bf30
push fcn.1002cb00
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314b0
lea ecx, [edi + 0x3340]
push eax
call fcn.10043160
lea eax, [edi + 0x32e8]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x3300], 1
imul eax, dword [edi + 0x3300], 0xeb
add eax, 0x14
mov dword [edi + 0x32ec], eax
mov dword [edi + 0x32f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3304], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_fake_col
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x338c]
call fcn.1002cb50
push str.color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xd5
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xd6
push eax
lea ecx, [edi + 0x33fc]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x33c4]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x3414], 0xff00c8ff
mov dword [edi + 0x342c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314b0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x33a4], 1
imul eax, dword [edi + 0x33a4], 0xeb
add eax, 0x14
mov dword [edi + 0x3390], eax
mov dword [edi + 0x3398], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x33a8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_fake_glow_col
lea ecx, [ebp - 0x44]
add edi, 0x3448
call fcn.1002cb50
mov dword [ebp - 4], 0xd7
push str.glow_color
lea ecx, [ebp - 0x94]
call fcn.1002cb50
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0xd8
lea ecx, [esi + 0x34b8]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [esi + 0x3480]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [esi + 0x34d0], 0xff00c8ff
mov dword [esi + 0x34e8], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314b0
push eax
lea ecx, [edi + 0x58]
call fcn.10043160
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314e0
push eax
lea ecx, [edi + 0x58]
call fcn.10043160
mov dword [ebp - 0x18], edi
mov edi, esi
mov dword [edi + 0x3460], 1
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x3460], 0xeb
add eax, 0x14
mov dword [edi + 0x344c], eax
mov dword [edi + 0x3454], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3464], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x3504]
call fcn.100826b0
push str.chams_fake_blend
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xd9
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xda
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xdb
push eax
lea ecx, [edi + 0x353c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x356d], 0
push eax
lea ecx, [edi + 0x35a4]
mov dword [edi + 0x35bc], 0
mov dword [edi + 0x3514], 7
mov dword [edi + 0x3518], 7
mov dword [edi + 0x3578], 0
mov dword [edi + 0x357c], 0x42c80000
mov dword [edi + 0x3574], 0x42c80000
mov dword [edi + 0x3588], 0
mov dword [edi + 0x3580], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314b0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x351c], 1
imul eax, dword [edi + 0x351c], 0xeb
add eax, 0x14
mov dword [edi + 0x3508], eax
mov dword [edi + 0x3510], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3520], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_shot
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x35c0]
call fcn.1002cb50
push str.shot_chams
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xdc
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xdd
push eax
lea ecx, [edi + 0x35f8]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x3629], 1
push eax
lea ecx, [edi + 0x3634]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov byte [edi + 0x362c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314c0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x35d8], 1
imul eax, dword [edi + 0x35d8], 0xeb
add eax, 0x14
mov dword [edi + 0x35c4], eax
mov dword [edi + 0x35cc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x35dc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea ecx, [ebp - 0x79]
call fcn.10033ac0
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xde
call fcn.1002cb50
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xdf
call fcn.1002cb50
mov byte [ebp - 4], 0xe0
push str.gloss
lea ecx, [ebp - 0x118]
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xe1
call fcn.1002cb50
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xe2
call fcn.1002cb50
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0xe3
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10082210
push esi
lea ecx, [ebp - 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.10082230
push str.chams_shot_mat
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe4
call fcn.1002cb50
push str.chams_material
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xe5
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xe6
push eax
lea ecx, [edi + 0x3684]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x36b5], 1
push eax
lea ecx, [edi + 0x36bc]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x36b5], al
cmovne eax, ecx
lea ecx, [ebp - 0x50]
mov dword [edi + 0x36ec], eax
add eax, 0x14
mov dword [edi + 0x365c], eax
mov dword [edi + 0x3660], eax
call fcn.1002c280
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.1004c500
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10065b55
lea eax, [edi + 0x36d4]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
nop word [eax + eax]
push esi
mov ecx, eax
call fcn.100527b0
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x10065b40
mov edi, dword [ebp - 0x28]
lea ecx, [edi + 0x36d4]
call fcn.10033380
test eax, eax
je 0x10065b6e
mov dword [edi + 0x36e4], 0
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x50]
call fcn.1002bf30
push fcn.1002cb00
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314c0
lea ecx, [edi + 0x36a4]
push eax
call fcn.10043160
lea eax, [edi + 0x364c]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x3664], 1
imul eax, dword [edi + 0x3664], 0xeb
add eax, 0x14
mov dword [edi + 0x3650], eax
mov dword [edi + 0x3658], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3668], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.chams_shot_col
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x36f0]
call fcn.1002cb50
push str.color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xe7
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xe8
push eax
lea ecx, [edi + 0x3760]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x3728]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x3778], 0xffffffff
mov dword [edi + 0x3790], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314c0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3708], 1
imul eax, dword [edi + 0x3708], 0xeb
add eax, 0x14
mov dword [edi + 0x36f4], eax
mov dword [edi + 0x36fc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x370c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x37ac]
call fcn.100826b0
mov dword [ebp - 4], 0xe9
push str.chams_shot_blend
lea ecx, [ebp - 0x94]
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xea
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xeb
push eax
lea ecx, [edi + 0x37e4]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x3815], 0
push eax
lea ecx, [edi + 0x384c]
mov dword [edi + 0x3864], 0
mov dword [edi + 0x37bc], 7
mov dword [edi + 0x37c0], 7
mov dword [edi + 0x3820], 0x3f800000
mov dword [edi + 0x3824], 0x437f0000
mov dword [edi + 0x381c], 0x437f0000
mov dword [edi + 0x3830], 0
mov dword [edi + 0x3828], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314c0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x37c4], 1
imul eax, dword [edi + 0x37c4], 0xeb
add eax, 0x14
mov dword [edi + 0x37b0], eax
mov dword [edi + 0x37b8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x37c8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100cd23c
lea ecx, [ebp - 0x5c]
lea esi, [edi + 0x3868]
call fcn.100826b0
push str.chams_shot_fadetime
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xec
call fcn.1002cb50
push str.fade_time
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xed
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xee
push eax
lea ecx, [edi + 0x38a0]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x38d1], 1
push eax
lea ecx, [edi + 0x38f0]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x38d1], al
cmovne eax, ecx
mov dword [edi + 0x3920], eax
add eax, 7
mov dword [edi + 0x3878], eax
lea ecx, [edi + 0x3908]
mov dword [edi + 0x387c], eax
lea eax, [ebp - 0x5c]
push eax
mov dword [edi + 0x38dc], 0
mov dword [edi + 0x38e0], 0x41200000
mov dword [edi + 0x38d8], 0x3e99999a
mov dword [edi + 0x38ec], 1
mov dword [edi + 0x38e4], 0x3dcccccd
call fcn.10082680
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314c0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3880], 1
imul eax, dword [edi + 0x3880], 0xeb
add eax, 0x14
mov dword [edi + 0x386c], eax
mov dword [edi + 0x3874], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3884], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.weapon_chams
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x39e0]
call fcn.1002cb50
push 0x100cdf38
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xef
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xf0
push eax
lea ecx, [edi + 0x3a18]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x3a49], 1
push eax
lea ecx, [edi + 0x3a54]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov byte [edi + 0x3a4c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314d0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x39f8], 1
imul eax, dword [edi + 0x39f8], 0xeb
add eax, 0x14
mov dword [edi + 0x39e4], eax
mov dword [edi + 0x39ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x39fc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
lea ecx, [ebp - 0x29]
call fcn.10033ac0
mov esi, eax
push str.material
lea ecx, [ebp - 0x160]
call fcn.1002cb50
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xf1
call fcn.1002cb50
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xf2
call fcn.1002cb50
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xf3
call fcn.1002cb50
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xf4
call fcn.1002cb50
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xf5
call fcn.1002cb50
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0xf6
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0xbc]
call fcn.10082210
push esi
lea ecx, [ebp - 0x50]
push dword [eax + 4]
push dword [eax]
call fcn.10082230
push str.weapon_chams_mat
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xf7
call fcn.1002cb50
push str.weapon_material
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], pe_nt_image_headers32
call fcn.1002cb50
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xf9
push eax
lea ecx, [edi + 0x3aa4]
call fcn.1004aba0
lea eax, [ebp - 0x94]
mov byte [edi + 0x3ad5], 1
push eax
lea ecx, [edi + 0x3adc]
call fcn.1004aba0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x3ad5], al
cmovne eax, ecx
lea ecx, [ebp - 0x50]
mov dword [edi + 0x3b0c], eax
add eax, 0x14
mov dword [edi + 0x3a7c], eax
mov dword [edi + 0x3a80], eax
call fcn.1002c280
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.1004c500
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10066165
lea eax, [edi + 0x3af4]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
nop
push esi
mov ecx, eax
call fcn.100527b0
mov eax, dword [ebp - 0x20]
add esi, 0x18
cmp esi, edi
jne 0x10066150
mov edi, dword [ebp - 0x28]
lea ecx, [edi + 0x3af4]
call fcn.10033380
test eax, eax
je 0x1006617e
mov dword [edi + 0x3b04], 0
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
call fcn.1002cb00
lea ecx, [ebp - 0x50]
call fcn.1002bf30
push fcn.1002cb00
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100bc6f6
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314d0
lea ecx, [edi + 0x3ac4]
push eax
call fcn.10043160
lea eax, [edi + 0x3a6c]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x3a84], 1
imul eax, dword [edi + 0x3a84], 0xeb
add eax, 0x14
mov dword [edi + 0x3a70], eax
mov dword [edi + 0x3a78], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3a88], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.weapon_chams_col
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x3b10]
call fcn.1002cb50
push str.weapon_color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xfa
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xfb
push eax
lea ecx, [edi + 0x3b80]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x3b48]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x3b98], 0xff000000
mov dword [edi + 0x3bb0], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314d0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3b28], 1
imul eax, dword [edi + 0x3b28], 0xeb
add eax, 0x14
mov dword [edi + 0x3b14], eax
mov dword [edi + 0x3b1c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3b2c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x3c88]
call fcn.100826b0
mov dword [ebp - 4], 0xfc
push str.weapon_chams_blend
lea ecx, [ebp - 0x94]
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xfd
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xfe
push eax
lea ecx, [edi + 0x3cc0]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x3cf1], 0
push eax
lea ecx, [edi + 0x3d28]
mov dword [edi + 0x3d40], 0
mov dword [edi + 0x3c98], 7
mov dword [edi + 0x3c9c], 7
mov dword [edi + 0x3cfc], 0x3f800000
mov dword [edi + 0x3d00], 0x437f0000
mov dword [edi + 0x3cf8], 0x437f0000
mov dword [edi + 0x3d0c], 0
mov dword [edi + 0x3d04], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314d0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3ca0], 1
imul eax, dword [edi + 0x3ca0], 0xeb
add eax, 0x14
mov dword [edi + 0x3c8c], eax
mov dword [edi + 0x3c94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3ca4], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push str.weapon_chams_col2
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x3bcc]
call fcn.1002cb50
push str.weapon_color_2
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xff
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov dword [ebp - 4], 0x100
push eax
lea ecx, [edi + 0x3c3c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x3c04]
call fcn.1004aba0
lea ecx, [ebp - 0x94]
mov dword [edi + 0x3c54], 0xffffffff
mov dword [edi + 0x3c6c], 0
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.1002cb00
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314d0
lea ecx, [esi + 0x58]
push eax
call fcn.10043160
mov dword [ebp - 0x18], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3be4], 1
imul eax, dword [edi + 0x3be4], 0xeb
add eax, 0x14
mov dword [edi + 0x3bd0], eax
mov dword [edi + 0x3bd8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3be8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10043160
push 0x100ccc24
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x3d44]
call fcn.100826b0
push str.weapon_chams_blend2
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x101
call fcn.1002cb50
push 0x100ca876
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.1002cb50
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x3d7c]
call fcn.1004aba0
lea eax, [ebp - 0x44]
mov byte [edi + 0x3dad], 0
push eax
lea ecx, [edi + 0x3de4]
mov dword [edi + 0x3dfc], 0
mov dword [edi + 0x3d54], 7
mov dword [edi + 0x3d58], 7
mov dword [edi + 0x3db8], 0x3f800000
mov dword [edi + 0x3dbc], 0x437f0000
mov dword [edi + 0x3db4], 0x437f0000
mov dword [edi + 0x3dc8], 0
mov dword [edi + 0x3dc0], 0x3f800000
call fcn.10082680
lea ecx, [ebp - 0x5c]
call fcn.1002cb00
lea ecx, [ebp - 0x94]
call fcn.1002cb00
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10052a60
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100314d0
push eax
lea ecx, [edi + 0x3d9c]
call fcn.10043160
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 1
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10043160
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.100bc5fc
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret