Function at 0x1005e730
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 0x100ba5c3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x240
mov eax, dword [0x100d4364]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x24], edi
push str.players
lea ecx, [ebp - 0x48]
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.1004b4f0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 1
call fcn.1002bd20
push 0x100c56f8
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd70
push str.boxes
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 2
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x68]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1004b4f0
mov byte [edi + 0x9c], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 5
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x30]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.box_enemy
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.box_color
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 6
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0x128]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1004b4f0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xf0]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x140], eax
mov dword [edi + 0x158], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 8
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 9
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xb8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.dormant
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.dormant
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xa
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x1ac]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x1dd], 1
push eax
lea ecx, [edi + 0x1e4]
call fcn.1004b4f0
mov byte [edi + 0x1e0], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xc
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xd
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x174]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.offscreen
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.offscreen_esp
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xe
call fcn.1002bd70
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x234]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x265], 1
push eax
lea ecx, [edi + 0x26c]
call fcn.1004b4f0
mov byte [edi + 0x268], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x10
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x11
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1fc]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
mov esi, dword [0x100c2c34]
lea ecx, [ebp - 0x60]
push str.offscreen_color
call fcn.1002bd70
push str.offscreen_esp_color
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x12
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x2f4]
call fcn.1004b4f0
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x2bc]
call fcn.1004b4f0
mov dword [edi + 0x30c], esi
mov dword [edi + 0x324], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x15
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x284]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.name
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.name
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x16
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [edi + 0x378]
call fcn.1004b4f0
lea eax, [ebp - 0x48]
mov byte [edi + 0x3a9], 1
push eax
lea ecx, [edi + 0x3b0]
call fcn.1004b4f0
mov byte [edi + 0x3ac], 0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x18
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x19
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x340]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.enemy
lea ecx, [ebp - 0x130]
call fcn.1002bd70
push str.friendly
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x1a
call fcn.1002bd70
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0x130]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1002b800
push str.name_nigga
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x1c
call fcn.1002bd70
push str.name
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x1d
call fcn.1002bd70
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [edi + 0x400]
call fcn.1004b4f0
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
mov byte [edi + 0x431], 0
mov dword [edi + 0x46c], 0
mov dword [edi + 0x3d8], 0x14
mov dword [edi + 0x3dc], 0x14
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1005ecc7
lea eax, [edi + 0x450]
mov edi, eax
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x18]
jne 0x1005ecb4
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x58]
xor esi, esi
mov ecx, dword [ebp - 0x54]
sub ecx, edx
mov dword [ebp - 0x30], 0
add ecx, 3
mov dword [ebp - 0x1c], edx
shr ecx, 2
cmp edx, dword [ebp - 0x54]
cmova ecx, esi
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1005eda0
lea ecx, [edi + 0x460]
nop dword [eax + eax]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0x460]
mov esi, dword [eax]
lea eax, [ebp - 0xb4]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xb8]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0x460]
mov esi, eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0x450]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x1005ed70
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x460]
call fcn.10043a50
cmp esi, dword [ebp - 0x2c]
jne 0x1005ed81
mov eax, dword [edi + 0x42c]
test eax, eax
je 0x1005ed81
call eax
mov eax, dword [ebp - 0x30]
lea ecx, [edi + 0x460]
mov edx, dword [ebp - 0x1c]
inc eax
add edx, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
cmp eax, dword [ebp - 0x20]
jne 0x1005ed00
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x20
call fcn.1002b840
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x21
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x22
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x23
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10032cf0
lea esi, [edi + 0x3c8]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
mov esi, dword [0x100c2c34]
lea ecx, [ebp - 0x48]
push 0x100c5760
add edi, 0x470
call fcn.1002bd70
push str.name_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x24
call fcn.1002bd70
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x7c]
push eax
add ecx, 0x4e0
mov byte [ebp - 4], 0x25
call fcn.1004b4f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ecx + 0x4a8]
call fcn.1004b4f0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x4f8], esi
mov dword [eax + 0x510], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x26
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x27
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10032cf0
lea eax, [ebp - 0x20]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.health
lea ecx, [ebp - 0x48]
call fcn.1002bd70
push str.health
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x28
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [edi + 0x564]
call fcn.1004b4f0
lea eax, [ebp - 0x7c]
mov byte [edi + 0x595], 1
push eax
lea ecx, [edi + 0x59c]
call fcn.1004b4f0
mov byte [edi + 0x598], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x2a
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x2b
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x52c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.money
lea ecx, [ebp - 0x250]
call fcn.1002bd70
push str.armor
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0x2c
call fcn.1002bd70
push str.scoped
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 0x2d
call fcn.1002bd70
push str.flashed
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x2e
call fcn.1002bd70
push str.reloading
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 0x2f
call fcn.1002bd70
push str.bomb
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0x30
call fcn.1002bd70
push str.resolver_mode
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x31
call fcn.1002bd70
push str.resolve_chance
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x32
call fcn.1002bd70
push str.latency
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x33
call fcn.1002bd70
push str.lagcomp
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x34
call fcn.1002bd70
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x160]
push ecx
lea edx, [ebp - 0x250]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1002b800
push str.flags_enemy
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x36
call fcn.1002bd70
push str.flags
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x37
call fcn.1002bd70
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [edi + 0x5ec]
call fcn.1004b4f0
lea eax, [ebp - 0x7c]
mov byte [edi + 0x61d], 1
push eax
lea ecx, [edi + 0x624]
call fcn.1004b4f0
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
cmp byte [edi + 0x61d], cl
mov edx, 0xf
cmovne ecx, edx
mov dword [edi + 0x658], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x5c4], eax
mov dword [edi + 0x5c8], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x1005f16d
lea eax, [edi + 0x63c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x2c]
add esi, 0x18
cmp esi, edi
jne 0x1005f158
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x58]
xor esi, esi
mov ecx, dword [ebp - 0x54]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x30], edx
shr ecx, 2
cmp edx, dword [ebp - 0x54]
cmova ecx, esi
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1005f240
lea ecx, [edi + 0x64c]
nop
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0x64c]
mov esi, dword [eax]
lea eax, [ebp - 0xb8]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0x64c]
mov esi, eax
lea eax, [ebp - 0xb0]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0x63c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x1005f210
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x64c]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x1005f221
mov eax, dword [edi + 0x618]
test eax, eax
je 0x1005f221
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0x64c]
mov edx, dword [ebp - 0x30]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
cmp eax, dword [ebp - 0x2c]
jne 0x1005f1a0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3a
call fcn.1002b840
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x3b
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x3c
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3d
call fcn.1002be80
push fcn.1002bd20
push 0xa
push 0x18
lea eax, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0x5b4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.weapon
lea ecx, [ebp - 0x7c]
call fcn.1002bd70
push str.weapon
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x3e
call fcn.1002bd70
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0x694]
call fcn.1004b4f0
lea eax, [ebp - 0x94]
mov byte [edi + 0x6c5], 1
push eax
lea ecx, [edi + 0x6cc]
call fcn.1004b4f0
mov byte [edi + 0x6c8], 0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x40
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x41
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x65c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.text
lea ecx, [ebp - 0x130]
call fcn.1002bd70
push str.icon
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x42
call fcn.1002bd70
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0x130]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1002b800
push str.weapon_mode
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x44
call fcn.1002bd70
push 0x100c2118
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x45
call fcn.1002bd70
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [edi + 0x71c]
call fcn.1004b4f0
mov eax, dword [ebp - 0x38]
lea ecx, [edi + 0x76c]
mov esi, dword [ebp - 0x3c]
mov byte [edi + 0x74d], 0
mov dword [edi + 0x780], 0
mov dword [edi + 0x6f4], 0x14
mov dword [edi + 0x6f8], 0x14
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x1005f469
mov dword [ebp - 0x20], ecx
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x1005f450
mov edi, dword [ebp - 0x24]
lea ecx, [edi + 0x76c]
call fcn.1002b6e0
test eax, eax
je 0x1005f47c
mov dword [edi + 0x77c], 0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x47
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x48
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x49
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10032d00
lea esi, [edi + 0x6e4]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.ammo
lea ecx, [ebp - 0x7c]
call fcn.1002bd70
push str.ammo
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x4a
call fcn.1002bd70
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0x7bc]
call fcn.1004b4f0
lea eax, [ebp - 0x94]
mov byte [edi + 0x7ed], 1
push eax
lea ecx, [edi + 0x7f4]
call fcn.1004b4f0
mov byte [edi + 0x7f0], 0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x4c
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x4d
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x784]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
mov esi, dword [0x100c2c54]
lea ecx, [ebp - 0x7c]
push str.ammo_color
add edi, 0x80c
call fcn.1002bd70
push str.color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x4e
call fcn.1002bd70
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0x4f
lea ecx, [ecx + 0x87c]
call fcn.1004b4f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ecx + 0x844]
call fcn.1004b4f0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x894], esi
mov esi, eax
mov dword [esi + 0x8ac], 0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x50
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x51
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10032d10
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [esi + 0x18]
call fcn.10043a50
push str.lby_update
lea ecx, [ebp - 0x7c]
call fcn.1002bd70
push 0x100c5580
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x52
call fcn.1002bd70
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [esi + 0x900]
call fcn.1004b4f0
lea eax, [ebp - 0x94]
mov byte [esi + 0x931], 1
push eax
lea ecx, [esi + 0x938]
call fcn.1004b4f0
mov byte [esi + 0x934], 0
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x94]
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x55
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0x8c8]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [esi + 0x18]
call fcn.10043a50
lea edi, [esi + 0x950]
mov esi, dword [0x100c2c4c]
push str.lby_update_color
lea ecx, [ebp - 0x7c]
call fcn.1002bd70
push str.color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x56
call fcn.1002bd70
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x94]
push eax
mov byte [ebp - 4], 0x57
lea ecx, [ecx + 0x9c0]
call fcn.1004b4f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ecx + 0x988]
call fcn.1004b4f0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9d8], esi
mov dword [eax + 0x9f0], 0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x58
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x59
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10032d20
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.glow
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.glow
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x5a
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0xba8]
call fcn.1004b4f0
lea eax, [ebp - 0x94]
mov byte [edi + 0xbd9], 1
push eax
lea ecx, [edi + 0xbe0]
call fcn.1004b4f0
mov byte [edi + 0xbdc], 0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x5c
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x5d
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xb70]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.glow_enemy
lea ecx, [ebp - 0xac]
lea esi, [edi + 0xbf8]
call fcn.1002bd70
push str.enemy_color
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x5e
call fcn.1002bd70
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [edi + 0xc68]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1004b4f0
lea eax, [ebp - 0xac]
push eax
lea ecx, [edi + 0xc30]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xc80], eax
mov dword [edi + 0xc98], 0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x60
call fcn.1002bd20
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x61
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10032d30
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.enemy
lea ecx, [ebp - 0x160]
call fcn.1002bd70
push str.history
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x62
call fcn.1002bd70
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x63
push eax
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x160]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1002b800
push str.skeleton
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x64
call fcn.1002bd70
push str.skeleton
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x65
call fcn.1002bd70
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x67
push eax
lea ecx, [edi + 0xa44]
call fcn.1004b4f0
lea eax, [ebp - 0xac]
mov byte [edi + 0xa75], 1
push eax
lea ecx, [edi + 0xa7c]
call fcn.1004b4f0
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
cmp byte [edi + 0xa75], cl
mov edx, 0xf
cmovne ecx, edx
mov dword [edi + 0xab0], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0xa1c], eax
mov dword [edi + 0xa20], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x1005faf3
lea eax, [edi + 0xa94]
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.10052370
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x1005fae0
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x58]
xor esi, esi
mov ecx, dword [ebp - 0x54]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x30], edx
shr ecx, 2
cmp edx, dword [ebp - 0x54]
cmova ecx, esi
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1005fbc4
lea ecx, [edi + 0xaa4]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0xaa4]
mov esi, dword [eax]
lea eax, [ebp - 0xb8]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0xaa4]
mov esi, eax
lea eax, [ebp - 0xb0]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0xa94]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x1005fb94
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xaa4]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x1005fba5
mov eax, dword [edi + 0xa70]
test eax, eax
je 0x1005fba5
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xaa4]
mov edx, dword [ebp - 0x30]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
cmp eax, dword [ebp - 0x2c]
jne 0x1005fb24
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x68
call fcn.1002b840
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x69
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x6a
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x6b
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0xa0c]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.skeleton_enemy
lea ecx, [ebp - 0x7c]
call fcn.1002bd70
push str.skeleton_color
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x6c
call fcn.1002bd70
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0xb24]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1004b4f0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [edi + 0xaec]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xb3c], eax
mov dword [edi + 0xb54], 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x6e
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x6f
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xab4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.enemy
lea ecx, [ebp - 0xe8]
call fcn.1002bd70
push str.local
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0x70
call fcn.1002bd70
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x71
push eax
lea ecx, [ebp - 0xb8]
push ecx
lea edx, [ebp - 0xe8]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1002b800
push str.chams_mode
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x72
call fcn.1002bd70
push str.chams
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x73
call fcn.1002bd70
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x74
push eax
lea ecx, [edi + 0xcec]
call fcn.1004b4f0
lea eax, [ebp - 0xac]
mov byte [edi + 0xd1d], 1
push eax
lea ecx, [edi + 0xd24]
call fcn.1004b4f0
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
cmp byte [edi + 0xd1d], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0xd50], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0xcc4], eax
mov dword [edi + 0xcc8], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x1005fe15
lea eax, [edi + 0xd3c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
nop dword [eax]
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x2c]
add esi, 0x18
cmp esi, edi
jne 0x1005fe00
mov edi, dword [ebp - 0x24]
mov ecx, dword [edi + 0xd40]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0xd3c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1005fe3e
mov dword [edi + 0xd4c], 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x75
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x76
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x77
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [edi + 0xcb4]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.occlusion_fix
lea ecx, [ebp - 0x7c]
call fcn.1002bd70
push str.remove_model_occlusion
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x78
call fcn.1002bd70
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0xd8c]
call fcn.1004b4f0
lea eax, [ebp - 0xac]
mov byte [edi + 0xdbd], 1
push eax
lea ecx, [edi + 0xdc4]
call fcn.1004b4f0
mov byte [edi + 0xdc0], 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x7a
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x7b
call fcn.1002bd20
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xd54]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.visible
lea ecx, [ebp - 0x130]
call fcn.1002bd70
push str.invisible
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x7c
call fcn.1002bd70
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x7d
push eax
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0x130]
push edx
lea ecx, [ebp - 0x3c]
call fcn.1002b800
push str.chams_enemy
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x7e
call fcn.1002bd70
push str.enable
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x7f
call fcn.1002bd70
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x81
push eax
lea ecx, [edi + 0xe14]
call fcn.1004b4f0
lea eax, [ebp - 0xac]
mov byte [edi + 0xe45], 1
push eax
lea ecx, [edi + 0xe4c]
call fcn.1004b4f0
mov esi, dword [ebp - 0x3c]
xor ecx, ecx
cmp byte [edi + 0xe45], cl
mov eax, 0xf
cmovne ecx, eax
mov dword [edi + 0xe80], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0xdec], eax
mov dword [edi + 0xdf0], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x10060085
lea eax, [edi + 0xe64]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x2c]
add esi, 0x18
cmp esi, edi
jne 0x10060070
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x58]
xor esi, esi
mov ecx, dword [ebp - 0x54]
sub ecx, edx
mov dword [ebp - 0x1c], 0
add ecx, 3
mov dword [ebp - 0x30], edx
shr ecx, 2
cmp edx, dword [ebp - 0x54]
cmova ecx, esi
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x10060156
lea ecx, [edi + 0xe74]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002b5c0
lea ecx, [edi + 0xe74]
mov esi, dword [eax]
lea eax, [ebp - 0xb8]
push eax
call fcn.1002b5d0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.1002c6e0
add esp, 8
lea ecx, [edi + 0xe74]
mov esi, eax
lea eax, [ebp - 0xb0]
push eax
call fcn.1002b5c0
mov esi, dword [esi]
lea ecx, [edi + 0xe64]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
call fcn.1002b6e0
cmp dword [ebp - 0x18], eax
jae 0x10060126
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xe74]
call fcn.10043a50
cmp esi, dword [ebp - 0x20]
jne 0x10060137
mov eax, dword [edi + 0xe40]
test eax, eax
je 0x10060137
call eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edi + 0xe74]
mov edx, dword [ebp - 0x30]
inc eax
add edx, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
cmp eax, dword [ebp - 0x2c]
jne 0x100600b6
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x82
call fcn.1002b840
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x83
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x84
call fcn.1002bd20
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x85
call fcn.1002be80
push fcn.1002bd20
push 2
push 0x18
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100b36be
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b20
lea esi, [edi + 0xddc]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.chams_enemy_vis
lea ecx, [ebp - 0x7c]
lea esi, [edi + 0xf24]
call fcn.1002bd70
push str.visible
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x86
call fcn.1002bd70
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0x87
push eax
lea ecx, [edi + 0xf94]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1004b4f0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [edi + 0xf5c]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xfac], eax
mov dword [edi + 0xfc4], 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x88
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x89
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10033b20
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.chams_enemy_invis
lea ecx, [ebp - 0x100]
lea esi, [edi + 0xfe0]
call fcn.1002bd70
push str.invisible
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x8a
call fcn.1002bd70
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0x1050]
mov dword [ebp - 0x1c], 0xffe1b43c
call fcn.1004b4f0
lea eax, [ebp - 0x100]
push eax
lea ecx, [edi + 0x1018]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1068], eax
mov dword [edi + 0x1080], 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x8c
call fcn.1002bd20
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x8d
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10033b20
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push str.chams_enemy_material
lea ecx, [ebp - 0x148]
call fcn.1002bd70
push str.material
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x8e
call fcn.1002bd70
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x8f
push eax
lea ecx, [edi + 0xebc]
call fcn.1004b4f0
lea eax, [ebp - 0x100]
mov byte [edi + 0xeed], 1
push eax
lea ecx, [edi + 0xef4]
call fcn.1004b4f0
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0xeed], cl
cmovne ecx, eax
mov dword [edi + 0xf20], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0xe94], eax
mov dword [edi + 0xe98], eax
mov eax, dword [0x101b31d8]
mov esi, dword [0x101b31d4]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x10060465
lea eax, [edi + 0xf0c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
push esi
mov ecx, eax
call fcn.10052370
mov eax, dword [ebp - 0x2c]
add esi, 0x18
cmp esi, edi
jne 0x10060450
mov edi, dword [ebp - 0x24]
mov ecx, dword [edi + 0xf10]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0xf0c]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1006048e
mov dword [edi + 0xf1c], 0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x90
call fcn.1002bd20
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x91
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0xe84]
mov dword [ebp - 0x20], 0x10033b20
lea ecx, [esi + 0x58]
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
push 0x100c4e8c
lea ecx, [ebp - 0xac]
lea esi, [edi + 0x1214]
call fcn.1007afa0
push str.chams_enemy_ref_amt
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x92
call fcn.1002bd70
push str.reflect
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x93
call fcn.1002bd70
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x94
push eax
lea ecx, [edi + 0x124c]
call fcn.1004b4f0
lea eax, [ebp - 0x148]
mov byte [edi + 0x127d], 1
push eax
lea ecx, [edi + 0x129c]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0x1288], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x128c], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x1284], 0
mov dword [edi + 0x12cc], ecx
mov dword [edi + 0x1298], 0
mov dword [edi + 0x1290], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x1224], eax
lea ecx, [edi + 0x12b4]
mov dword [edi + 0x1228], eax
lea eax, [ebp - 0xac]
push eax
call fcn.1007af70
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x95
call fcn.1002bd20
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x96
call fcn.1002bd20
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0x97
call fcn.10052680
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10033b20
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
mov esi, dword [0x100c2c4c]
lea ecx, [ebp - 0x94]
push str.chams_enemy_reflect
add edi, 0x12d0
call fcn.1002bd70
push str.reflection_color
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x98
call fcn.1002bd70
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x99
lea ecx, [ecx + 0x1340]
call fcn.1004b4f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x94]
push eax
lea ecx, [ecx + 0x1308]
call fcn.1004b4f0
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x1358], esi
mov dword [eax + 0x1370], 0
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x9a
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x9b
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10033b20
push eax
call fcn.10043a50
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a50
lea esi, [edi + 0x109c]
push 0x100c4e8c
lea ecx, [ebp - 0x7c]
call fcn.1007afa0
mov dword [ebp - 4], 0x9c
lea ecx, [ebp - 0x48]
push dword [ebp - 0x64]
call fcn.1002cc70
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x9d
call fcn.1002c1b0
push str.chams_enemy_rim
lea ecx, [ebp - 0x48]
call fcn.1002c1d0
push 0x100c59d8
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x9e
call fcn.1002bd70
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x9f
push eax
lea ecx, [edi + 0x10d4]
call fcn.1004b4f0
lea eax, [ebp - 0x148]
mov byte [edi + 0x1105], 1
push eax
lea ecx, [edi + 0x1124]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0x1110], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x1114], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x110c], 0
mov dword [edi + 0x1154], ecx
mov dword [edi + 0x1120], 0
mov dword [edi + 0x1118], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x10ac], eax
lea ecx, [edi + 0x113c]
mov dword [edi + 0x10b0], eax
lea eax, [ebp - 0x7c]
push eax
call fcn.1007af70
lea ecx, [ebp - 0x148]
call fcn.1002bd20
lea ecx, [ebp - 0x48]
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b20
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c4e8c
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1158]
call fcn.1007afa0
mov dword [ebp - 4], 0xa0
push str.chams_enemy_shine
lea ecx, [ebp - 0x100]
call fcn.1002bd70
push str.shine
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xa1
call fcn.1002bd70
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xa2
push eax
lea ecx, [edi + 0x1190]
call fcn.1004b4f0
lea eax, [ebp - 0x148]
mov byte [edi + 0x11c1], 1
push eax
lea ecx, [edi + 0x11e0]
call fcn.1004b4f0
xor eax, eax
mov dword [edi + 0x11cc], 0
cmp byte [edi + 0x11c1], al
lea ecx, [edi + 0x11f8]
mov edx, 0xf
mov dword [edi + 0x11d0], 0x42c80000
cmovne eax, edx
mov dword [edi + 0x11c8], 0
mov dword [edi + 0x1210], eax
add eax, 8
mov dword [edi + 0x1168], eax
mov dword [edi + 0x116c], eax
lea eax, [ebp - 0x60]
push eax
mov dword [edi + 0x11dc], 0
mov dword [edi + 0x11d4], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0x148]
call fcn.1002bd20
lea ecx, [ebp - 0x100]
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b20
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c5a10
lea ecx, [ebp - 0x118]
lea esi, [edi + 0x138c]
call fcn.1002bd70
push str.chams_history
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xa3
call fcn.1002bd70
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xa4
push eax
lea ecx, [edi + 0x13c4]
call fcn.1004b4f0
lea eax, [ebp - 0x148]
mov byte [edi + 0x13f5], 1
push eax
lea ecx, [edi + 0x13fc]
call fcn.1004b4f0
lea ecx, [ebp - 0x148]
mov byte [edi + 0x13f8], 0
call fcn.1002bd20
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b20
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.chams_enemy_history_material
lea ecx, [ebp - 0xd0]
call fcn.1002bd70
push str.material
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xa5
call fcn.1002bd70
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xa6
push eax
lea ecx, [edi + 0x144c]
call fcn.1004b4f0
lea eax, [ebp - 0x118]
mov byte [edi + 0x147d], 1
push eax
lea ecx, [edi + 0x1484]
call fcn.1004b4f0
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x147d], cl
cmovne ecx, eax
mov dword [edi + 0x14b0], ecx
lea eax, [ecx + 0x14]
mov ecx, 0x101b31d4
mov dword [edi + 0x1424], eax
mov dword [edi + 0x1428], eax
call fcn.1002b9c0
mov ecx, 0x101b31d4
mov esi, eax
call fcn.100317e0
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x149c]
cmp esi, eax
je 0x10060b69
mov edi, ecx
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.10052340
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10060b50
mov edi, dword [ebp - 0x24]
lea ecx, [edi + 0x149c]
call fcn.1002b6e0
test eax, eax
je 0x10060b7c
mov dword [edi + 0x14ac], 0
lea ecx, [ebp - 0x118]
call fcn.1002bd20
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b20
lea esi, [edi + 0x1414]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.chams_history_col
lea ecx, [ebp - 0x148]
lea esi, [edi + 0x14b4]
call fcn.1002bd70
push str.color
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xa7
call fcn.1002bd70
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xa8
push eax
lea ecx, [edi + 0x1524]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.1004b4f0
lea eax, [ebp - 0x148]
push eax
lea ecx, [edi + 0x14ec]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xd0]
mov dword [edi + 0x153c], eax
mov dword [edi + 0x1554], 0
call fcn.1002bd20
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b20
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.chams_local
lea ecx, [ebp - 0x100]
lea esi, [edi + 0x1570]
call fcn.1002bd70
mov dword [ebp - 4], 0xa9
push str.enable
lea ecx, [ebp - 0xd0]
call fcn.1002bd70
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xaa
push eax
lea ecx, [edi + 0x15a8]
call fcn.1004b4f0
lea eax, [ebp - 0xd0]
mov byte [edi + 0x15d9], 1
push eax
lea ecx, [edi + 0x15e0]
call fcn.1004b4f0
lea ecx, [ebp - 0xd0]
mov byte [edi + 0x15dc], 0
call fcn.1002bd20
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.chams_local_material
lea ecx, [ebp - 0xac]
call fcn.1002bd70
push str.material
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xab
call fcn.1002bd70
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0xac
push eax
lea ecx, [edi + 0x1630]
call fcn.1004b4f0
lea eax, [ebp - 0xd0]
mov byte [edi + 0x1661], 1
push eax
lea ecx, [edi + 0x1668]
call fcn.1004b4f0
xor edx, edx
mov eax, 0xf
cmp byte [edi + 0x1661], dl
mov ecx, 0x101b31d4
cmovne edx, eax
mov dword [edi + 0x1694], edx
lea eax, [edx + 0x14]
mov dword [edi + 0x1608], eax
mov dword [edi + 0x160c], eax
call fcn.1002b9c0
mov ecx, 0x101b31d4
mov esi, eax
call fcn.100317e0
mov dword [ebp - 0x2c], eax
lea ecx, [edi + 0x1680]
cmp esi, eax
je 0x10060e4b
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10052340
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10060e32
mov edi, dword [ebp - 0x24]
lea ecx, [edi + 0x1680]
call fcn.1002b6e0
test eax, eax
je 0x10060e5e
mov dword [edi + 0x1690], 0
lea ecx, [ebp - 0xd0]
call fcn.1002bd20
lea ecx, [ebp - 0xac]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea esi, [edi + 0x15f8]
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c4e8c
lea ecx, [ebp - 0x148]
lea esi, [edi + 0x1988]
call fcn.1007afa0
push str.chams_local_reflect_amt
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xad
call fcn.1002bd70
push str.reflect
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xae
call fcn.1002bd70
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xaf
push eax
lea ecx, [edi + 0x19c0]
call fcn.1004b4f0
lea eax, [ebp - 0xd0]
mov byte [edi + 0x19f1], 1
push eax
lea ecx, [edi + 0x1a10]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0x19fc], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x1a00], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x19f8], 0
mov dword [edi + 0x1a40], ecx
mov dword [edi + 0x1a0c], 0
mov dword [edi + 0x1a04], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x1998], eax
lea ecx, [edi + 0x1a28]
mov dword [edi + 0x199c], eax
lea eax, [ebp - 0x148]
push eax
call fcn.1007af70
lea ecx, [ebp - 0xd0]
call fcn.1002bd20
lea ecx, [ebp - 0x118]
call fcn.1002bd20
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
mov esi, dword [0x100c2c4c]
lea ecx, [ebp - 0x100]
push str.chams_local_reflect
add edi, 0x1a44
call fcn.1002bd70
push str.reflection_color
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xb0
call fcn.1002bd70
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0xd0]
push eax
mov byte [ebp - 4], 0xb1
lea ecx, [ecx + 0x1ab4]
call fcn.1004b4f0
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x100]
push eax
lea ecx, [ecx + 0x1a7c]
call fcn.1004b4f0
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0xd0]
mov dword [eax + 0x1acc], esi
mov dword [eax + 0x1ae4], 0
call fcn.1002bd20
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea ecx, [edi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c4e8c
lea ecx, [ebp - 0x94]
lea esi, [edi + 0x1810]
call fcn.1007afa0
push str.chams_local_rim
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xb2
call fcn.1002bd70
push 0x100c59d8
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xb3
call fcn.1002bd70
mov byte [ebp - 4], 0xb4
lea eax, [ebp - 0x118]
push eax
lea ecx, [edi + 0x1848]
call fcn.1004b4f0
lea eax, [ebp - 0xd0]
mov byte [edi + 0x1879], 1
push eax
lea ecx, [edi + 0x1898]
call fcn.1004b4f0
xor ecx, ecx
mov dword [edi + 0x1884], 0
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x1888], 0x42c80000
cmovne ecx, eax
mov dword [edi + 0x1880], 0
mov dword [edi + 0x18c8], ecx
mov dword [edi + 0x1894], 0
mov dword [edi + 0x188c], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x1820], eax
lea ecx, [edi + 0x18b0]
mov dword [edi + 0x1824], eax
lea eax, [ebp - 0x94]
push eax
call fcn.1007af70
lea ecx, [ebp - 0xd0]
call fcn.1002bd20
lea ecx, [ebp - 0x118]
call fcn.1002bd20
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push 0x100c4e8c
lea ecx, [ebp - 0x7c]
lea esi, [edi + 0x18cc]
call fcn.1007afa0
push str.chams_local_shine
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xb5
call fcn.1002bd70
push str.shine
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xb6
call fcn.1002bd70
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xb7
push eax
lea ecx, [edi + 0x1904]
call fcn.1004b4f0
lea eax, [ebp - 0xd0]
mov byte [edi + 0x1935], 1
push eax
lea ecx, [edi + 0x1954]
call fcn.1004b4f0
xor eax, eax
mov edx, 0xf
cmp byte [edi + 0x1935], al
cmovne eax, edx
mov dword [edi + 0x1940], 0
mov dword [edi + 0x1984], eax
lea ecx, [edi + 0x196c]
add eax, 8
mov dword [edi + 0x1944], 0x42c80000
mov dword [edi + 0x18dc], eax
mov dword [edi + 0x18e0], eax
lea eax, [ebp - 0x7c]
push eax
mov dword [edi + 0x193c], 0
mov dword [edi + 0x1950], 0
mov dword [edi + 0x1948], 0x3f800000
call fcn.1007af70
lea ecx, [ebp - 0xd0]
call fcn.1002bd20
lea ecx, [ebp - 0x118]
call fcn.1002bd20
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0xffffffff
call fcn.100525b0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.chams_local_col
lea ecx, [ebp - 0x48]
lea esi, [edi + 0x1b00]
call fcn.1002bd70
push str.color
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xb8
call fcn.1002bd70
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0xb9
push eax
lea ecx, [edi + 0x1b70]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.1004b4f0
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x1b38]
call fcn.1004b4f0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xd0]
mov dword [edi + 0x1b88], eax
mov dword [edi + 0x1ba0], 0
call fcn.1002bd20
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
lea ecx, [esi + 0x58]
push eax
call fcn.10043a20
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10043a20
push str.chams_local_scope
lea ecx, [ebp - 0x60]
call fcn.1002bd70
push str.blend_when_scoped
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xba
call fcn.1002bd70
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xbb
push eax
lea ecx, [edi + 0x1bf4]
call fcn.1004b4f0
lea eax, [ebp - 0xd0]
mov byte [edi + 0x1c25], 1
push eax
lea ecx, [edi + 0x1c2c]
call fcn.1004b4f0
lea ecx, [ebp - 0xd0]
mov byte [edi + 0x1c28], 0
call fcn.1002bd20
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002bd20
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10033b30
push eax
lea ecx, [edi + 0x1c14]
call fcn.10043a20
lea eax, [edi + 0x1bbc]
mov dword [ebp - 0x18], eax
lea ecx, [edi + 0x18]
mov dword [eax + 0x18], 1
mov edx, dword [ebp - 0x18]
imul eax, dword [edx + 0x18], 0xeb
add eax, 0x14
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 0x2c]
mov dword [eax + 0x1c], edx
lea eax, [ebp - 0x18]
push eax
call fcn.10043a20
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.100b366f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret