Function at 0x100527e0
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 0x100c73cc
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2e0
mov eax, dword [0x100f03c8]
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 - 0x2c], edi
push str.players
lea ecx, [ebp - 0x64]
call fcn.1001e9d0
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.1003c550
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 1
call fcn.1001e940
push str.teammates
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e9d0
push str.teammates
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 2
call fcn.1001e9d0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x68]
call fcn.1003c550
lea eax, [ebp - 0x64]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1003c550
mov byte [edi + 0x9c], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 4
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 5
call fcn.1001e940
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.10033da0
push str.dormant
lea ecx, [ebp - 0xb0]
call fcn.1001e9d0
push str.dormant
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 6
call fcn.1001e9d0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0xf4]
call fcn.1003c550
lea eax, [ebp - 0x64]
mov byte [edi + 0x125], 1
push eax
lea ecx, [edi + 0x12c]
call fcn.1003c550
mov byte [edi + 0x128], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x64]
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 9
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xbc]
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.10033da0
push 0x100dde00
lea ecx, [ebp - 0xb0]
call fcn.1001e9d0
push 0x100dde00
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xa
call fcn.1001e9d0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x180]
call fcn.1003c550
lea eax, [ebp - 0x64]
mov byte [edi + 0x1b1], 1
push eax
lea ecx, [edi + 0x1b8]
call fcn.1003c550
mov byte [edi + 0x1b4], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xc
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xd
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x148]
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.10033da0
push str.box_color
lea ecx, [ebp - 0xb0]
lea esi, [edi + 0x1d4]
call fcn.1001e9d0
push 0x100dddec
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0xe
call fcn.1001e9d0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x64]
mov dword [ebp - 0x1c], 0x82ffffff
push eax
lea ecx, [edi + 0x244]
call fcn.1003c550
lea eax, [ebp - 0xb0]
push eax
lea ecx, [edi + 0x20c]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x25c], eax
mov dword [edi + 0x274], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x10
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x11
call fcn.1001e940
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x24], 0x10023db0
push eax
call fcn.10033da0
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.10033da0
push str.health
lea ecx, [ebp - 0xb0]
call fcn.1001e9d0
push str.health
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0x12
call fcn.1001e9d0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x2c8]
call fcn.1003c550
lea eax, [ebp - 0x64]
mov byte [edi + 0x2f9], 1
push eax
lea ecx, [edi + 0x300]
call fcn.1003c550
mov byte [edi + 0x2fc], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x14
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x15
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x290]
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.10033da0
push str.name
lea ecx, [ebp - 0xb0]
call fcn.1001e9d0
push str.name
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0x16
call fcn.1001e9d0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [edi + 0x354]
call fcn.1003c550
lea eax, [ebp - 0x64]
mov byte [edi + 0x385], 1
push eax
lea ecx, [edi + 0x38c]
call fcn.1003c550
mov byte [edi + 0x388], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x18
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x19
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x31c]
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.10033da0
push str.name_color
lea ecx, [ebp - 0xb0]
lea esi, [edi + 0x3a8]
call fcn.1001e9d0
push 0x100dde10
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0x1a
call fcn.1001e9d0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [edi + 0x418]
mov dword [ebp - 0x1c], 0x91ffffff
call fcn.1003c550
lea eax, [ebp - 0xb0]
push eax
lea ecx, [edi + 0x3e0]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x430], eax
mov dword [edi + 0x448], 0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x1c
call fcn.1001e940
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x1d
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0x10023dc0
lea eax, [ebp - 0x24]
lea ecx, [esi + 0x58]
push eax
call fcn.10033da0
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.10033da0
push str.money
lea ecx, [ebp - 0x2f0]
call fcn.1001e9d0
push str.armor
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 4], 0x1e
call fcn.1001e9d0
push str.zoom
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x1f
call fcn.1001e9d0
push str.flashed
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x20
call fcn.1001e9d0
push str.reload
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x21
call fcn.1001e9d0
push str.bomb
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x22
call fcn.1001e9d0
push str.lagcomp
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x23
call fcn.1001e9d0
push str.ping
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x24
call fcn.1001e9d0
push str.lethal
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x25
call fcn.1001e9d0
push str.fake
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0x26
call fcn.1001e9d0
lea eax, [ebp - 0x25]
mov dword [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x200]
push ecx
lea edx, [ebp - 0x2f0]
push edx
lea ecx, [ebp - 0x58]
call fcn.1006b860
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x7c]
push str.flags
call fcn.1001e9d0
push str.flags
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x29
call fcn.1001e9d0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [edi + 0x7e8]
call fcn.1003c550
lea eax, [ebp - 0x94]
mov byte [edi + 0x819], 1
push eax
lea ecx, [edi + 0x820]
call fcn.1003c550
mov esi, dword [ebp - 0x58]
xor ecx, ecx
cmp byte [edi + 0x819], cl
mov edx, 0xf
cmovne ecx, edx
mov dword [edi + 0x854], ecx
lea eax, [ecx + 0x14]
mov dword [edi + 0x7c0], eax
mov dword [edi + 0x7c4], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x10052f5a
lea eax, [edi + 0x838]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
push esi
mov ecx, eax
call fcn.10043030
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x10052f45
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xa8]
xor esi, esi
mov ecx, dword [ebp - 0xa4]
sub ecx, edx
mov dword [ebp - 0x24], 0
add ecx, 3
mov dword [ebp - 0x1c], edx
shr ecx, 2
cmp edx, dword [ebp - 0xa4]
cmova ecx, esi
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x10053037
lea ecx, [edi + 0x848]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c4]
push eax
call fcn.1001e200
lea ecx, [edi + 0x848]
mov esi, dword [eax]
lea eax, [ebp - 0x1c8]
push eax
call fcn.1001e210
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x1cc]
push dword [eax]
call fcn.10020620
add esp, 8
lea ecx, [edi + 0x848]
mov esi, eax
lea eax, [ebp - 0xe4]
push eax
call fcn.1001e200
mov esi, dword [esi]
lea ecx, [edi + 0x838]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
call fcn.1001e300
cmp dword [ebp - 0x18], eax
jae 0x10053007
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x848]
call fcn.10033da0
cmp esi, dword [ebp - 0x30]
jne 0x10053018
mov eax, dword [edi + 0x814]
test eax, eax
je 0x10053018
call eax
mov eax, dword [ebp - 0x24]
lea ecx, [edi + 0x848]
mov edx, dword [ebp - 0x1c]
inc eax
add edx, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edx
cmp eax, dword [ebp - 0x20]
jne 0x10052f94
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2c
call fcn.1001e430
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x2d
call fcn.1001e940
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x2e
call fcn.1001e940
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x2f
call fcn.1001f990
push fcn.1001e940
push 0xa
push 0x18
lea eax, [ebp - 0x2f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100999ee
lea eax, [edi + 0x7b0]
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.10033da0
push str.text_weapon
lea ecx, [ebp - 0x94]
call fcn.1001e9d0
push str.weapon_text
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x30
call fcn.1001e9d0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [edi + 0x49c]
call fcn.1003c550
lea eax, [ebp - 0x7c]
mov byte [edi + 0x4cd], 1
push eax
lea ecx, [edi + 0x4d4]
call fcn.1003c550
mov byte [edi + 0x4d0], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x32
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x33
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x464]
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.10033da0
push str.text_weaponcol
lea ecx, [ebp - 0x94]
lea esi, [edi + 0x4f0]
call fcn.1001e9d0
push str.weapon_text_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x34
call fcn.1001e9d0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [edi + 0x560]
mov dword [ebp - 0x1c], 0xd2ffffff
call fcn.1003c550
lea eax, [ebp - 0x94]
push eax
lea ecx, [edi + 0x528]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x578], eax
mov dword [edi + 0x590], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x36
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x37
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023d80
push eax
call fcn.10033da0
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.10033da0
push 0x100ddea0
lea ecx, [ebp - 0x94]
call fcn.1001e9d0
push str.weapon_icon
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x38
call fcn.1001e9d0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x39
push eax
lea ecx, [edi + 0x5e4]
call fcn.1003c550
lea eax, [ebp - 0x7c]
mov byte [edi + 0x615], 1
push eax
lea ecx, [edi + 0x61c]
call fcn.1003c550
mov byte [edi + 0x618], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x3a
call fcn.1001e940
mov dword [ebp - 4], 0x3b
lea ecx, [ebp - 0x94]
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x5ac]
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.10033da0
push str.weapon_iconcol
lea ecx, [ebp - 0x94]
lea esi, [edi + 0x6f4]
call fcn.1001e9d0
push str.weapon_icon_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x3c
call fcn.1001e9d0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [edi + 0x764]
mov dword [ebp - 0x1c], 0xd2ffffff
call fcn.1003c550
lea eax, [ebp - 0x94]
push eax
lea ecx, [edi + 0x72c]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x77c], eax
mov dword [edi + 0x794], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x3e
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x3f
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023d90
push eax
call fcn.10033da0
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.10033da0
push str.ammo_bar
lea ecx, [ebp - 0x94]
call fcn.1001e9d0
push str.ammo
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x40
call fcn.1001e9d0
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x94]
push eax
lea ecx, [edi + 0x938]
call fcn.1003c550
lea eax, [ebp - 0x7c]
mov byte [edi + 0x969], 1
push eax
lea ecx, [edi + 0x970]
call fcn.1003c550
mov byte [edi + 0x96c], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x42
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x43
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x900]
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.10033da0
push 0x100ddf2c
lea ecx, [ebp - 0x94]
lea esi, [edi + 0x98c]
call fcn.1001e9d0
push str.ammo_bar_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x44
call fcn.1001e9d0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x9fc]
mov dword [ebp - 0x1c], 0xbec88c50
call fcn.1003c550
lea eax, [ebp - 0x94]
push eax
lea ecx, [edi + 0x9c4]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xa14], eax
mov dword [edi + 0xa2c], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x46
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x47
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023da0
push eax
call fcn.10033da0
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0x18]
call fcn.10033da0
push 0x100ddf14
lea ecx, [ebp - 0x94]
call fcn.1001e9d0
push str.lby_timer
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x48
call fcn.1001e9d0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [edi + 0xa80]
call fcn.1003c550
lea eax, [ebp - 0x7c]
mov byte [edi + 0xab1], 1
push eax
lea ecx, [edi + 0xab8]
call fcn.1003c550
mov byte [edi + 0xab4], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x4a
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x4b
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xa48]
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.10033da0
push 0x100ddf60
lea ecx, [ebp - 0x94]
lea esi, [edi + 0xad4]
call fcn.1001e9d0
push str.lby_timer_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x4c
call fcn.1001e9d0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [edi + 0xb44]
mov dword [ebp - 0x1c], 0xffff00ff
call fcn.1003c550
lea eax, [ebp - 0x94]
push eax
lea ecx, [edi + 0xb0c]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xb5c], eax
mov dword [edi + 0xb74], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x4e
call fcn.1001e940
mov dword [ebp - 4], 0x4f
lea ecx, [ebp - 0x94]
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023df0
push eax
call fcn.10033da0
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.10033da0
push str.glow
lea ecx, [ebp - 0x94]
call fcn.1001e9d0
push str.glow
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x50
call fcn.1001e9d0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [edi + 0xd10]
call fcn.1003c550
lea eax, [ebp - 0x7c]
mov byte [edi + 0xd41], 1
push eax
lea ecx, [edi + 0xd48]
call fcn.1003c550
mov byte [edi + 0xd44], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x52
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x53
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xcd8]
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.10033da0
push 0x100ddf54
lea ecx, [ebp - 0x94]
lea esi, [edi + 0xd64]
call fcn.1001e9d0
push str.glow_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x54
call fcn.1001e9d0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x55
mov dword [ebp - 0x1c], 0x997639b4
push eax
lea ecx, [edi + 0xdd4]
call fcn.1003c550
lea eax, [ebp - 0x94]
push eax
lea ecx, [edi + 0xd9c]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xdec], eax
mov dword [edi + 0xe04], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x56
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x57
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023e00
push eax
call fcn.10033da0
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.10033da0
push str.skeleton
lea ecx, [ebp - 0x94]
call fcn.1001e9d0
push str.skeleton
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x58
call fcn.1001e9d0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [edi + 0xe58]
call fcn.1003c550
lea eax, [ebp - 0x7c]
mov byte [edi + 0xe89], 1
push eax
lea ecx, [edi + 0xe90]
call fcn.1003c550
mov byte [edi + 0xe8c], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x5a
call fcn.1001e940
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0x5b
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xe20]
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.10033da0
push 0x100ddf80
lea ecx, [ebp - 0x1e4]
lea esi, [edi + 0xeac]
call fcn.1001e9d0
push str.skeleton_color
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0x5c
call fcn.1001e9d0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x5d
push eax
lea ecx, [edi + 0xf1c]
mov dword [ebp - 0x1c], 0xffaaffff
call fcn.1003c550
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [edi + 0xee4]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0xf34], eax
mov dword [edi + 0xf4c], 0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x5e
call fcn.1001e940
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x5f
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023e80
push eax
call fcn.10033da0
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.10033da0
push str.out_of_pov
lea ecx, [ebp - 0x130]
call fcn.1001e9d0
push str.out_of_pov_arrow
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 4], 0x60
call fcn.1001e9d0
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x61
push eax
lea ecx, [edi + 0x10e8]
call fcn.1003c550
lea eax, [ebp - 0x1e4]
mov byte [edi + 0x1119], 1
push eax
lea ecx, [edi + 0x1120]
call fcn.1003c550
mov byte [edi + 0x111c], 0
lea ecx, [ebp - 0x1e4]
mov byte [ebp - 4], 0x62
call fcn.1001e940
mov dword [ebp - 4], 0x63
lea ecx, [ebp - 0x130]
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x10b0]
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.10033da0
mov esi, dword [0x100dc2a4]
lea ecx, [ebp - 0x148]
push str.out_of_pov_color
add edi, 0x113c
call fcn.1001e9d0
push str.out_of_pov_arrow_color
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x64
call fcn.1001e9d0
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x130]
push eax
add ecx, 0x11ac
mov byte [ebp - 4], 0x65
call fcn.1003c550
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x148]
push eax
lea ecx, [ecx + 0x1174]
call fcn.1003c550
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x11c4], esi
mov dword [eax + 0x11dc], 0
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x66
call fcn.1001e940
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x67
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x58]
mov dword [ebp - 0x20], 0x10023dd0
push eax
call fcn.10033da0
mov dword [ebp - 0x1c], edi
mov dword [edi + 0x18], 0
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
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.10033da0
push 0x100dd950
lea ecx, [ebp - 0x1fc]
lea esi, [edi + 0x11f8]
call fcn.1006b9c0
mov dword [ebp - 4], 0x68
lea ecx, [ebp - 0x130]
push str.offscreen_mode
call fcn.1001e9d0
push str.offscreen_size
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x69
call fcn.1001e9d0
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0x1230]
call fcn.1003c550
lea eax, [ebp - 0x148]
mov byte [edi + 0x1261], 1
push eax
lea ecx, [edi + 0x1280]
call fcn.1003c550
xor ecx, ecx
mov dword [edi + 0x126c], 0x41a00000
cmp byte [esi + 0x69], cl
mov eax, 0xf
mov dword [edi + 0x1270], 0x43480000
cmovne ecx, eax
mov dword [edi + 0x1268], 0x42c80000
mov dword [edi + 0x12b0], ecx
mov dword [edi + 0x127c], 0
mov dword [edi + 0x1274], 0x3f800000
lea eax, [ecx + 8]
mov dword [edi + 0x1208], eax
lea ecx, [edi + 0x1298]
mov dword [edi + 0x120c], eax
lea eax, [ebp - 0x1fc]
push eax
call fcn.1006b990
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x6b
call fcn.1001e940
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x6c
call fcn.1001e940
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 4], 0x6d
call fcn.100432d0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023dd0
push eax
call fcn.10033da0
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.10033da0
push 0x100dd950
lea ecx, [ebp - 0x160]
lea esi, [edi + 0x12b4]
call fcn.1006b9c0
push str.offscreen_mode1
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x6e
call fcn.1001e9d0
push str.offscreen_position
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x6f
call fcn.1001e9d0
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x70
push eax
lea ecx, [edi + 0x12ec]
call fcn.1003c550
lea eax, [ebp - 0x1fc]
mov byte [edi + 0x131d], 1
push eax
lea ecx, [edi + 0x133c]
call fcn.1003c550
xor eax, eax
mov dword [edi + 0x1328], 0x41a00000
cmp byte [edi + 0x131d], al
mov ecx, 0xf
mov dword [edi + 0x132c], 0x43480000
cmovne eax, ecx
mov dword [edi + 0x1324], 0x43480000
mov dword [edi + 0x136c], eax
lea ecx, [edi + 0x1354]
add eax, 8
mov dword [edi + 0x1338], 0
mov dword [edi + 0x12c4], eax
mov dword [edi + 0x12c8], eax
lea eax, [ebp - 0x160]
push eax
mov dword [edi + 0x1330], 0x3f800000
call fcn.1006b990
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x71
call fcn.1001e940
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x72
call fcn.1001e940
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0x73
call fcn.100432d0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023dd0
push eax
call fcn.10033da0
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.10033da0
push str.chams_enemy_vis_enable
lea ecx, [ebp - 0x118]
call fcn.1001e9d0
push str.chams
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0x74
call fcn.1001e9d0
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x1448]
call fcn.1003c550
lea eax, [ebp - 0x160]
mov byte [edi + 0x1479], 1
push eax
lea ecx, [edi + 0x1480]
call fcn.1003c550
mov byte [edi + 0x147c], 0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x76
call fcn.1001e940
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x77
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1410]
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.10033da0
push str.chams_enemy_vis
lea ecx, [ebp - 0x100]
lea esi, [edi + 0x149c]
call fcn.1001e9d0
push str.chams_color_visible
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x78
call fcn.1001e9d0
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0x150c]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.1003c550
lea eax, [ebp - 0x100]
push eax
lea ecx, [edi + 0x14d4]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1524], eax
mov dword [edi + 0x153c], 0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x7a
call fcn.1001e940
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x7b
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023de0
push eax
call fcn.10033da0
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.10033da0
push str.chams_enemy_invis_enable
lea ecx, [ebp - 0xe0]
call fcn.1001e9d0
push str.chams_through_walls
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x7c
call fcn.1001e9d0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [edi + 0x1590]
call fcn.1003c550
lea eax, [ebp - 0x100]
mov byte [edi + 0x15c1], 1
push eax
lea ecx, [edi + 0x15c8]
call fcn.1003c550
mov byte [edi + 0x15c4], 0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x7e
call fcn.1001e940
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x7f
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1558]
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.10033da0
push str.chams_enemy_invis
lea ecx, [ebp - 0xc8]
lea esi, [edi + 0x15e4]
call fcn.1001e9d0
push str.chams_through_walls_color
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x80
call fcn.1001e9d0
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x81
push eax
lea ecx, [edi + 0x1654]
mov dword [ebp - 0x1c], 0xffb4783c
call fcn.1003c550
lea eax, [ebp - 0xc8]
push eax
lea ecx, [edi + 0x161c]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x166c], eax
mov dword [edi + 0x1684], 0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x82
call fcn.1001e940
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x83
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023e10
push eax
call fcn.10033da0
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.10033da0
push 0x100de100
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x16a0]
call fcn.1001e9d0
push str.chams_enemy_reflectivity
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x84
call fcn.1001e9d0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x85
push eax
lea ecx, [edi + 0x1710]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.1003c550
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x16d8]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x1728], eax
mov dword [edi + 0x1740], 0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x86
call fcn.1001e940
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x87
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023de0
push eax
call fcn.10033da0
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 1
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.10033da0
push str.default
lea ecx, [ebp - 0x1a8]
call fcn.1001e9d0
push str.flat
lea ecx, [ebp - 0x190]
mov dword [ebp - 4], 0x88
call fcn.1001e9d0
push str.metallic
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x89
call fcn.1001e9d0
mov dword [ebp - 4], 0x8a
lea edx, [ebp - 0x1a8]
lea eax, [ebp - 0x25]
push eax
lea ecx, [ebp - 0x160]
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.1006b860
push str.chams_style
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x8b
call fcn.1001e9d0
push 0x100da104
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x8c
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x8d
push eax
lea ecx, [edi + 0x13a8]
call fcn.1003c550
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov byte [edi + 0x13d9], 0
mov dword [edi + 0x140c], 0
mov dword [edi + 0x1380], 0x14
mov dword [edi + 0x1384], 0x14
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x100543be
mov esi, dword [ebp - 0x20]
lea eax, [edi + 0x13f8]
mov edi, eax
push esi
mov ecx, edi
call fcn.10043030
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x100543a8
mov edi, dword [ebp - 0x2c]
lea esi, [edi + 0x18]
mov ecx, dword [edi + 0x13fc]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x13f8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100543e7
mov dword [edi + 0x1408], 0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x8e
call fcn.1001e940
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x8f
call fcn.1001e940
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x90
call fcn.1001f990
push fcn.1001e940
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100999ee
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e20
lea ecx, [edi + 0x13c8]
push eax
call fcn.10033da0
lea eax, [edi + 0x1370]
mov dword [ebp - 0x1c], eax
mov dword [eax + 0x18], 1
mov ecx, dword [ebp - 0x1c]
imul eax, dword [ecx + 0x18], 0xeb
add eax, 0x14
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0xaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + 0x2c]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.10033da0
push str.skeleton_history
lea ecx, [ebp - 0xc8]
call fcn.1001e9d0
push 0x100de138
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x91
call fcn.1001e9d0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0xfa0]
call fcn.1003c550
lea eax, [ebp - 0x4c]
mov byte [edi + 0xfd1], 1
push eax
lea ecx, [edi + 0xfd8]
call fcn.1003c550
mov byte [edi + 0xfd4], 0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x93
call fcn.1001e940
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x94
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0xf68]
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]
mov ecx, esi
push eax
call fcn.10033da0
push str.skeleton_history_col
lea ecx, [ebp - 0xe0]
lea esi, [edi + 0xff4]
call fcn.1001e9d0
push str.skeleton_history_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x95
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x96
push eax
lea ecx, [edi + 0x1064]
mov dword [ebp - 0x1c], 0xffebebeb
call fcn.1003c550
lea eax, [ebp - 0xe0]
push eax
lea ecx, [edi + 0x102c]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x107c], eax
mov dword [edi + 0x1094], 0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x97
call fcn.1001e940
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x98
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
lea ecx, [esi + 0x58]
mov dword [ebp - 0x20], 0x10023e90
push eax
call fcn.10033da0
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.10033da0
push str.chams_local
lea ecx, [ebp - 0x100]
call fcn.1001e9d0
push str.local_player
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x99
call fcn.1001e9d0
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x9a
push eax
lea ecx, [edi + 0x1cac]
call fcn.1003c550
lea eax, [ebp - 0x4c]
mov byte [edi + 0x1cdd], 1
push eax
lea ecx, [edi + 0x1ce4]
call fcn.1003c550
mov byte [edi + 0x1ce0], 0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x9b
call fcn.1001e940
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x9c
call fcn.1001e940
mov dword [ebp - 4], 0xffffffff
lea eax, [edi + 0x1c74]
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.10033da0
push str.chams_local_col
lea ecx, [ebp - 0x118]
lea esi, [edi + 0x1d00]
call fcn.1001e9d0
push str.local_player_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x9d
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x9e
push eax
lea ecx, [edi + 0x1d70]
mov dword [ebp - 0x1c], 0xff323232
call fcn.1003c550
lea eax, [ebp - 0x118]
push eax
lea ecx, [edi + 0x1d38]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1d88], eax
mov dword [edi + 0x1da0], 0
call fcn.1001e940
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e40
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
lea ecx, [ebp - 0x31]
call fcn.100190c0
push str.default
lea ecx, [ebp - 0x1a8]
mov esi, eax
call fcn.1001e9d0
push str.flat
lea ecx, [ebp - 0x190]
mov dword [ebp - 4], 0x9f
call fcn.1001e9d0
mov byte [ebp - 4], 0xa0
push str.metallic
lea ecx, [ebp - 0x178]
call fcn.1001e9d0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xa1
push eax
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.1006b840
push esi
lea ecx, [ebp - 0x58]
push dword [eax + 4]
push dword [eax]
call fcn.1006b860
push str.chams_local_style
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa2
call fcn.1001e9d0
push 0x100da104
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xa3
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xa4
push eax
lea ecx, [edi + 0x1df4]
call fcn.1003c550
lea ecx, [ebp - 0x58]
mov byte [edi + 0x1e25], 0
mov dword [edi + 0x1e58], 0
mov dword [edi + 0x1dcc], 0x14
mov dword [edi + 0x1dd0], 0x14
call fcn.10042ff0
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.1003d650
mov dword [ebp - 0x30], eax
lea ecx, [edi + 0x1e44]
cmp esi, eax
je 0x100548a9
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10043000
add esi, 0x18
cmp esi, dword [ebp - 0x30]
jne 0x10054890
mov edi, dword [ebp - 0x2c]
lea ecx, [edi + 0x1e44]
call fcn.1001e300
test eax, eax
je 0x100548bc
mov dword [edi + 0x1e54], 0
lea ecx, [ebp - 0x118]
call fcn.1001e940
lea ecx, [ebp - 0x4c]
call fcn.1001e940
lea ecx, [ebp - 0x58]
call fcn.1001e320
push fcn.1001e940
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100999ee
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e40
lea esi, [edi + 0x1dbc]
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
push str.chams_local_scope
lea ecx, [ebp - 0xc8]
call fcn.1001e9d0
push str.local_player_transparency_on_scope
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xa5
call fcn.1001e9d0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0xa6
push eax
lea ecx, [edi + 0x1e94]
call fcn.1003c550
lea eax, [ebp - 0x4c]
mov byte [edi + 0x1ec5], 1
push eax
lea ecx, [edi + 0x1ecc]
call fcn.1003c550
lea ecx, [ebp - 0x4c]
mov byte [edi + 0x1ec8], 0
call fcn.1001e940
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [edi + 0x1e5c]
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.10033d70
push 0x100dd6c0
lea ecx, [ebp - 0xe0]
lea esi, [edi + 0x1ee8]
call fcn.1006b9c0
mov dword [ebp - 4], 0xa7
push str.chams_local_scope_amt
lea ecx, [ebp - 0x4c]
call fcn.1001e9d0
push 0x100da104
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xa8
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xa9
push eax
lea ecx, [edi + 0x1f20]
call fcn.1003c550
lea eax, [ebp - 0xe0]
mov byte [edi + 0x1f51], 0
push eax
lea ecx, [edi + 0x1f88]
mov dword [edi + 0x1fa0], 0
mov dword [edi + 0x1ef8], 8
mov dword [edi + 0x1efc], 8
mov dword [edi + 0x1f5c], 0
mov dword [edi + 0x1f60], 0x42c80000
mov dword [edi + 0x1f58], 0x42480000
mov dword [edi + 0x1f6c], 0
mov dword [edi + 0x1f64], 0x3f800000
call fcn.1006b990
lea ecx, [ebp - 0xc8]
call fcn.1001e940
lea ecx, [ebp - 0x4c]
call fcn.1001e940
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
call fcn.10043200
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e50
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
push str.chams_history
lea ecx, [ebp - 0x100]
call fcn.1001e9d0
push str.enemy_backtrack_matrix
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xaa
call fcn.1001e9d0
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0xab
push eax
lea ecx, [edi + 0x1794]
call fcn.1003c550
lea eax, [ebp - 0x4c]
mov byte [edi + 0x17c5], 1
push eax
lea ecx, [edi + 0x17cc]
call fcn.1003c550
lea ecx, [ebp - 0x4c]
mov byte [edi + 0x17c8], 0
call fcn.1001e940
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [edi + 0x175c]
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.10033d70
lea ecx, [ebp - 0x25]
call fcn.100190c0
push str.default
lea ecx, [ebp - 0x1a8]
mov esi, eax
call fcn.1001e9d0
push str.flat
lea ecx, [ebp - 0x190]
mov dword [ebp - 4], 0xac
call fcn.1001e9d0
push str.metallic
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0xad
call fcn.1001e9d0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xae
push eax
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0xe8]
call fcn.1006b840
push esi
lea ecx, [ebp - 0x58]
push dword [eax + 4]
push dword [eax]
call fcn.1006b860
push str.chams_history_style
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xaf
call fcn.1001e9d0
push 0x100da104
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0xb0
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xb1
push eax
lea ecx, [edi + 0x1820]
call fcn.1003c550
lea ecx, [ebp - 0x58]
mov byte [edi + 0x1851], 0
mov dword [edi + 0x1884], 0
mov dword [edi + 0x17f8], 0x14
mov dword [edi + 0x17fc], 0x14
call fcn.10042ff0
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.1003d650
mov dword [ebp - 0x30], eax
lea ecx, [edi + 0x1870]
cmp esi, eax
je 0x10054cdd
mov dword [ebp - 0x20], ecx
mov edi, ecx
push esi
mov ecx, edi
call fcn.10043000
add esi, 0x18
cmp esi, dword [ebp - 0x30]
jne 0x10054cc4
mov edi, dword [ebp - 0x2c]
lea ecx, [edi + 0x1870]
call fcn.1001e300
test eax, eax
je 0x10054cf0
mov dword [edi + 0x1880], 0
lea ecx, [ebp - 0xe0]
call fcn.1001e940
lea ecx, [ebp - 0x4c]
call fcn.1001e940
lea ecx, [ebp - 0x58]
call fcn.1001e320
push fcn.1001e940
push 3
push 0x18
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100999ee
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e60
lea esi, [edi + 0x17e8]
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
push str.chams_history_col
lea ecx, [ebp - 0xc8]
lea esi, [edi + 0x1888]
call fcn.1001e9d0
push str.shadows_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xb2
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xb3
push eax
lea ecx, [edi + 0x18f8]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.1003c550
lea eax, [ebp - 0xc8]
push eax
lea ecx, [edi + 0x18c0]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x1910], eax
mov dword [edi + 0x1928], 0
call fcn.1001e940
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e60
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
lea ecx, [ebp - 0x31]
call fcn.100190c0
push 0x100dd8f8
lea ecx, [ebp - 0x1c0]
mov esi, eax
call fcn.1001e9d0
push 0x100de27c
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 4], 0xb4
call fcn.1001e9d0
push str.target_only
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0xb5
call fcn.1001e9d0
push str.target_only__all
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0xb6
call fcn.1001e9d0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xb7
push eax
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0xe8]
call fcn.1006b840
push esi
lea ecx, [ebp - 0x58]
push dword [eax + 4]
push dword [eax]
call fcn.1006b860
push str.shot_matrix
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xb8
call fcn.1001e9d0
push str.shot_hitbox_matrix
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb9
call fcn.1001e9d0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0xba
push eax
lea ecx, [edi + 0x2068]
call fcn.1003c550
lea eax, [ebp - 0x4c]
mov byte [edi + 0x2099], 1
push eax
lea ecx, [edi + 0x20a0]
call fcn.1003c550
xor ecx, ecx
mov eax, 0xf
cmp byte [edi + 0x2099], cl
cmovne ecx, eax
mov dword [edi + 0x20cc], ecx
lea eax, [ecx + 0x14]
lea ecx, [ebp - 0x58]
mov dword [edi + 0x2040], eax
mov dword [edi + 0x2044], eax
call fcn.10042ff0
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.1003d650
mov dword [ebp - 0x30], eax
lea ecx, [edi + 0x20b8]
cmp esi, eax
je 0x10054f89
mov dword [ebp - 0x20], ecx
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10043000
add esi, 0x18
cmp esi, dword [ebp - 0x30]
jne 0x10054f70
mov edi, dword [ebp - 0x2c]
lea ecx, [edi + 0x20b8]
call fcn.1001e300
test eax, eax
je 0x10054f9c
mov dword [edi + 0x20c8], 0
lea ecx, [ebp - 0x4c]
call fcn.1001e940
lea ecx, [ebp - 0xc8]
call fcn.1001e940
lea ecx, [ebp - 0x58]
call fcn.1001e320
push fcn.1001e940
push 4
push 0x18
lea eax, [ebp - 0x1c0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100999ee
lea eax, [edi + 0x2030]
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.10033d70
push str.matrix_shot_clr_target
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x1c], 0x960000ff
lea esi, [edi + 0x20d0]
call fcn.1001e9d0
push str.target_hitbox_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xbb
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xbc
push eax
lea ecx, [edi + 0x2140]
call fcn.1003c550
lea eax, [ebp - 0xe0]
push eax
lea ecx, [edi + 0x2108]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x2158], eax
mov dword [edi + 0x2170], 0
call fcn.1001e940
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e70
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
lea esi, [edi + 0x218c]
mov dword [ebp - 0x1c], 0x14969696
push str.matrix_shot_clr
lea ecx, [ebp - 0x100]
call fcn.1001e9d0
push str.hitbox_color
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xbd
call fcn.1001e9d0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xbe
push eax
lea ecx, [edi + 0x21fc]
call fcn.1003c550
lea eax, [ebp - 0x100]
push eax
lea ecx, [edi + 0x21c4]
call fcn.1003c550
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x2214], eax
mov dword [edi + 0x222c], 0
call fcn.1001e940
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e70
lea ecx, [esi + 0x58]
push eax
call fcn.10033d70
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.10033d70
push str.matrix_behind_wall
lea ecx, [ebp - 0x118]
call fcn.1001e9d0
push str.draw_matrix_behind_walls
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xbf
call fcn.1001e9d0
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0xc0
push eax
lea ecx, [edi + 0x2280]
call fcn.1003c550
lea eax, [ebp - 0x4c]
mov byte [edi + 0x22b1], 1
push eax
lea ecx, [edi + 0x22b8]
call fcn.1003c550
lea ecx, [ebp - 0x4c]
mov byte [edi + 0x22b4], 0
call fcn.1001e940
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0xffffffff
call fcn.1001e940
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10023e70
push eax
lea ecx, [edi + 0x22a0]
call fcn.10033d70
lea eax, [edi + 0x2248]
mov dword [ebp - 0x18], eax
mov dword [eax + 0x18], 1
mov edx, dword [ebp - 0x18]
imul eax, dword [edx + 0x18], 0xeb
add eax, 0x14
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x18]
lea ecx, [edi + 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.10033d70
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.1009999a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret