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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100caba4
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1e0
mov eax, dword [0x100e5364]
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 - 0x34], edi
push dword [ebp - 0x24]
lea ecx, [ebp - 0x80]
call fcn.100304a0
push 7
push str.players
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0
call fcn.100304c0
lea eax, [ebp - 0x80]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.1002f750
lea ecx, [ebp - 0x80]
call fcn.1002f780
push dword [ebp - 0x24]
lea ecx, [ebp - 0xb0]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 2
call fcn.100304c0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x98]
push dword [ebp - 0x24]
call fcn.100304a0
push 8
push str.friendly
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 5
push eax
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0xb0]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x24]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 3
push 0x100d4f78
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 7
call fcn.100304c0
push dword [ebp - 0x24]
lea ecx, [ebp - 0x80]
call fcn.100304a0
push 5
push str.boxes
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 9
call fcn.100304c0
lea ecx, [ebp - 0x48]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x68]
call fcn.1002f750
lea eax, [ebp - 0x80]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x99], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd4], eax
add eax, 0x14
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x1006372b
lea eax, [edi + 0xb8]
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x18]
jne 0x10063718
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x100637ed
lea ecx, [edi + 0xc8]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.1002eb80
lea ecx, [edi + 0xc8]
mov esi, dword [eax]
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0xc8]
mov esi, eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0xbc]
sub ecx, dword [edi + 0xb8]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1c], eax
jae 0x100637c4
lea eax, [ebp - 0x1c]
push eax
lea ecx, [edi + 0xc8]
call fcn.10049ef0
cmp esi, dword [ebp - 0x28]
jne 0x100637d5
mov eax, dword [edi + 0x94]
test eax, eax
je 0x100637d5
call eax
mov eax, dword [ebp - 0x18]
lea ecx, [edi + 0xc8]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x2c]
jne 0x10063745
lea ecx, [ebp - 0x48]
call fcn.1002ee60
lea ecx, [ebp - 0x80]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x30]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x2c]
mov dword [edi + 0x48], 0
imul eax, dword [edi + 0x48], 0xeb
push ecx
add eax, 0x14
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
lea eax, [edi + 0x18]
mov ecx, eax
mov dword [ebp - 0x1c], eax
call fcn.100895c0
push dword [ebp - 0x64]
mov esi, dword [0x100d319c]
lea ecx, [ebp - 0x80]
add edi, 0xd8
call fcn.100304a0
push 9
push str.box_enemy
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xc
call fcn.100304c0
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x60]
push dword [ebp - 0x64]
call fcn.100304a0
push 0xf
push str.box_enemy_color
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xe
call fcn.100304c0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xf
push ecx
lea ecx, [eax + 0x158]
mov dword [eax + 0x150], 0
mov dword [eax + 0x154], 0
mov byte [eax + 0x145], 0
call fcn.1002f750
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x80]
push eax
add ecx, 0x110
call fcn.1002f750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
mov dword [eax + 0x170], esi
mov esi, eax
mov dword [esi + 0x188], 0
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x2c], edi
mov dword [edi + 0x18], 0
imul eax, dword [edi + 0x18], 0xeb
add eax, 0x14
mov dword [edi + 4], eax
mov dword [edi + 0xc], 0xaf
lea ecx, [esi + 0x18]
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100895c0
push dword [ebp - 0x64]
lea edi, [esi + 0x1a8]
mov esi, dword [0x100d319c]
lea ecx, [ebp - 0x80]
call fcn.100304a0
push 0xc
push str.box_friendly
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x10
call fcn.100304c0
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x60]
push dword [ebp - 0x64]
call fcn.100304a0
push 0x12
push str.box_friendly_color
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x12
call fcn.100304c0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
push ecx
lea ecx, [eax + 0x228]
mov dword [eax + 0x220], 0
mov dword [eax + 0x224], 0
mov byte [eax + 0x215], 0
call fcn.1002f750
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x80]
push eax
lea ecx, [ecx + 0x1e0]
call fcn.1002f750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
mov dword [eax + 0x240], esi
mov dword [eax + 0x258], 0
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
mov dword [edi + 0x18], 0
imul eax, dword [edi + 0x18], 0xeb
add eax, 0x14
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100895c0
mov edi, dword [ebp - 0x34]
lea ecx, [ebp - 0x80]
push dword [ebp - 0x64]
lea esi, [edi + 0x278]
call fcn.100304a0
push 7
push str.dormant
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x14
call fcn.100304c0
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x60]
push dword [ebp - 0x64]
call fcn.100304a0
push 0xf
push str.dormant_enemies
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x16
call fcn.100304c0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [edi + 0x2b0]
call fcn.1002f750
lea eax, [ebp - 0x60]
mov byte [edi + 0x2e1], 1
push eax
lea ecx, [edi + 0x2e8]
call fcn.1002f750
lea ecx, [ebp - 0x60]
mov byte [edi + 0x2e4], 0
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x2c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100895c0
push dword [ebp - 0x64]
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x300]
call fcn.100304a0
push 9
push str.offscreen
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x18
call fcn.100304c0
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x60]
push dword [ebp - 0x64]
call fcn.100304a0
push 0x13
push str.enemy_offscreen_esp
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1a
call fcn.100304c0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [edi + 0x338]
call fcn.1002f750
lea eax, [ebp - 0x60]
mov byte [edi + 0x369], 1
push eax
lea ecx, [edi + 0x370]
call fcn.1002f750
lea ecx, [ebp - 0x60]
mov byte [edi + 0x36c], 0
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x2c], esi
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [edi + 0x18]
call fcn.100895c0
push dword [ebp - 0x64]
mov esi, dword [0x100d319c]
lea ecx, [ebp - 0x80]
add edi, 0x388
call fcn.100304a0
push 0xf
push str.offscreen_color
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x1c
call fcn.100304c0
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x60]
push dword [ebp - 0x64]
call fcn.100304a0
push 0x13
push str.offscreen_esp_color
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1e
call fcn.100304c0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1f
push ecx
lea ecx, [eax + 0x408]
mov dword [eax + 0x400], 0
mov dword [eax + 0x404], 0
mov byte [eax + 0x3f5], 0
call fcn.1002f750
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x80]
push eax
lea ecx, [ecx + 0x3c0]
call fcn.1002f750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
mov dword [eax + 0x420], esi
mov dword [eax + 0x438], 0
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edi
mov dword [edi + 0x18], 0
imul eax, dword [edi + 0x18], 0xeb
add eax, 0x14
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100895c0
push dword [ebp - 0x64]
mov edi, dword [ebp - 0x34]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x20
call fcn.100304c0
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x64]
call fcn.100304a0
push 8
mov byte [ebp - 4], 0x22
push str.friendly
lea ecx, [ebp - 0xe8]
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x100]
push edx
lea ecx, [ebp - 0x74]
call fcn.10088b80
push dword [ebp - 0x64]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 4
push str.name
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x25
call fcn.100304c0
push dword [ebp - 0x64]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 4
push str.name
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x27
call fcn.100304c0
lea ecx, [ebp - 0xc0]
call fcn.10030af0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [edi + 0x490]
call fcn.1002f750
lea eax, [ebp - 0x60]
mov byte [edi + 0x4c1], 1
push eax
lea ecx, [edi + 0x4c8]
call fcn.1002f750
mov esi, dword [ebp - 0x74]
xor eax, eax
cmp byte [edi + 0x4c1], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x4fc], eax
add eax, 0x14
mov dword [edi + 0x468], eax
mov dword [edi + 0x46c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x28], eax
cmp esi, eax
je 0x10063e03
lea eax, [edi + 0x4e0]
mov edi, eax
nop dword [eax + eax]
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10063df0
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10063ecb
lea ecx, [edi + 0x4f0]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x4f0]
mov esi, dword [eax]
lea eax, [ebp - 0xcc]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xc8]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x4f0]
mov esi, eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x4e4]
sub ecx, dword [edi + 0x4e0]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10063ea2
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x4f0]
call fcn.10049ef0
cmp esi, dword [ebp - 0x2c]
jne 0x10063eb3
mov eax, dword [edi + 0x4bc]
test eax, eax
je 0x10063eb3
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x4f0]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x24]
jne 0x10063e23
lea ecx, [ebp - 0xc0]
call fcn.1002ee60
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x458]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x470], 0
imul eax, dword [edi + 0x470], 0xeb
add eax, 0x14
mov dword [edi + 0x45c], eax
mov dword [edi + 0x464], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x474], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
mov esi, dword [0x100d319c]
lea ecx, [ebp - 0x60]
add edi, 0x500
call fcn.100304a0
push 0xa
push 0x100d4ff8
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x2a
call fcn.100304c0
mov dword [ebp - 4], 0x2b
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xa
push str.name_color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2c
call fcn.100304c0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2d
push ecx
lea ecx, [eax + 0x580]
mov dword [eax + 0x578], 0
mov dword [eax + 0x57c], 0
mov byte [eax + 0x56d], 0
call fcn.1002f750
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0x538]
call fcn.1002f750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x98]
mov dword [eax + 0x598], esi
mov dword [eax + 0x5b0], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x24], edi
mov dword [edi + 0x18], 0
imul eax, dword [edi + 0x18], 0xeb
add eax, 0x14
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
mov edi, dword [ebp - 0x34]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x2e
call fcn.100304c0
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x40]
call fcn.100304a0
push 8
push str.friendly
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x30
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x31
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x100]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 6
push str.health
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x33
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 6
push str.health
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x35
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [edi + 0x608]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x639], 1
push eax
lea ecx, [edi + 0x640]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x639], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x674], eax
add eax, 0x14
mov dword [edi + 0x5e0], eax
mov dword [edi + 0x5e4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10064193
lea eax, [edi + 0x658]
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10064180
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10064258
lea ecx, [edi + 0x668]
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x668]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x668]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x65c]
sub ecx, dword [edi + 0x658]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x1006422f
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x668]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10064240
mov eax, dword [edi + 0x634]
test eax, eax
je 0x10064240
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x668]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x100641b0
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x5d0]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x5e8], 0
imul eax, dword [edi + 0x5e8], 0xeb
add eax, 0x14
mov dword [edi + 0x5d4], eax
mov dword [edi + 0x5dc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x5ec], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x1f0]
call fcn.100304a0
push 5
push str.money
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 4], 0x38
call fcn.100304c0
mov dword [ebp - 4], 0x39
lea ecx, [ebp - 0x1d8]
push dword [ebp - 0x40]
call fcn.100304a0
push 5
push str.armor
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0x3a
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x1c0]
call fcn.100304a0
push 6
push str.scoped
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x3c
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x1a8]
call fcn.100304a0
push 7
push str.flashed
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x3e
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x190]
call fcn.100304a0
push 9
push str.reloading
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x40
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x178]
call fcn.100304a0
push 4
push str.bomb
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x42
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x160]
call fcn.100304a0
push 4
push str.ping
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x44
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x148]
call fcn.100304a0
push 4
push str.fake
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x46
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x130]
call fcn.100304a0
push 5
push str.cheat
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x48
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x118]
call fcn.100304a0
push 7
push str.lagcomp
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x4a
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 5
push str.state
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x4c
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
call fcn.100304a0
push 6
push str.lethal
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x4e
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x4f
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x1f0]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 0xb
push 0x100d5070
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x51
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0xb
push str.flags_enemy
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x53
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [edi + 0x6b0]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x6e1], 1
push eax
lea ecx, [edi + 0x6e8]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x6e1], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x71c], eax
add eax, 0x14
mov dword [edi + 0x688], eax
mov dword [edi + 0x68c], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10064589
lea eax, [edi + 0x700]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10064576
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x1006464b
lea ecx, [edi + 0x710]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x710]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x710]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x704]
sub ecx, dword [edi + 0x700]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10064622
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x710]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10064633
mov eax, dword [edi + 0x6dc]
test eax, eax
je 0x10064633
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x710]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x100645a3
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 0xc
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x678]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x690], 0
imul eax, dword [edi + 0x690], 0xeb
add eax, 0x14
mov dword [edi + 0x67c], eax
mov dword [edi + 0x684], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x694], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x160]
call fcn.100304a0
push 5
push str.money
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 0x56
call fcn.100304c0
mov dword [ebp - 4], 0x57
lea ecx, [ebp - 0x148]
push dword [ebp - 0x40]
call fcn.100304a0
push 5
push str.armor
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x58
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x130]
call fcn.100304a0
push 6
push str.scoped
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x5a
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x118]
call fcn.100304a0
push 7
push str.flashed
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x5c
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 9
push str.reloading
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x5e
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
call fcn.100304a0
push 4
push str.bomb
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x60
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x61
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x160]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 0xe
push 0x100d50a8
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x63
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0xe
push str.flags_friendly
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x65
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x67
push eax
lea ecx, [edi + 0x758]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x789], 1
push eax
lea ecx, [edi + 0x790]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x789], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x7c4], eax
add eax, 0x14
mov dword [edi + 0x730], eax
mov dword [edi + 0x734], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x100648a4
lea eax, [edi + 0x7a8]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10064891
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10064968
lea ecx, [edi + 0x7b8]
nop
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x7b8]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x7b8]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x7ac]
sub ecx, dword [edi + 0x7a8]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x1006493f
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x7b8]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10064950
mov eax, dword [edi + 0x784]
test eax, eax
je 0x10064950
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x7b8]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x100648c0
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x720]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x738], 0
imul eax, dword [edi + 0x738], 0xeb
add eax, 0x14
mov dword [edi + 0x724], eax
mov dword [edi + 0x72c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x73c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x68
call fcn.100304c0
mov dword [ebp - 4], 0x69
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x40]
call fcn.100304a0
push 8
push str.friendly
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x6a
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x6b
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x100]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 6
push str.weapon
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x6d
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 6
push str.weapon
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x6f
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [edi + 0x800]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x831], 1
push eax
lea ecx, [edi + 0x838]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x831], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x86c], eax
add eax, 0x14
mov dword [edi + 0x7d8], eax
mov dword [edi + 0x7dc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10064b33
lea eax, [edi + 0x850]
mov dword [ebp - 0x24], eax
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10064b20
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10064bf8
lea ecx, [edi + 0x860]
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x860]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x860]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x854]
sub ecx, dword [edi + 0x850]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10064bcf
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x860]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10064be0
mov eax, dword [edi + 0x82c]
test eax, eax
je 0x10064be0
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x860]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x10064b50
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x7c8]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x7e0], 0
imul eax, dword [edi + 0x7e0], 0xeb
add eax, 0x14
mov dword [edi + 0x7cc], eax
mov dword [edi + 0x7d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x7e4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 4
push str.text
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0x72
call fcn.100304c0
mov dword [ebp - 4], 0x73
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x40]
call fcn.100304a0
push 4
push str.icon
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x74
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x75
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x100]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0xb
push str.weapon_mode
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x77
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 0
push 0x100d1eec
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x79
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x7b
push eax
lea ecx, [edi + 0x8a8]
call fcn.1002f750
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc0]
mov byte [edi + 0x8d9], 0
mov dword [edi + 0x914], 0
mov dword [edi + 0x880], 0x14
mov dword [edi + 0x884], 0x14
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10064dab
lea eax, [edi + 0x8f8]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10064d98
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10064e6d
lea ecx, [edi + 0x908]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x908]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x908]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x8fc]
sub ecx, dword [edi + 0x8f8]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10064e44
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x908]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10064e55
mov eax, dword [edi + 0x8d4]
test eax, eax
je 0x10064e55
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x908]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x10064dc5
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x870]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x888], 0
imul eax, dword [edi + 0x888], 0xeb
add eax, 0x14
mov dword [edi + 0x874], eax
mov dword [edi + 0x87c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x88c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x9a0]
call fcn.100304a0
push 8
push str.distance
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x7c
call fcn.100304c0
mov dword [ebp - 4], 0x7d
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 8
push str.distance
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x7e
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [edi + 0x9d8]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0xa09], 1
push eax
lea ecx, [edi + 0xa10]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0xa0c], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea esi, [edi + 0x918]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 4
push str.ammo
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x80
call fcn.100304c0
mov dword [ebp - 4], 0x81
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 4
push str.ammo
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x82
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x83
push eax
lea ecx, [edi + 0x950]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x981], 1
push eax
lea ecx, [edi + 0x988]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x984], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
mov esi, dword [0x100d31a0]
lea ecx, [ebp - 0x60]
add edi, 0xa28
call fcn.100304a0
push 0xa
push str.ammo_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x84
call fcn.100304c0
mov dword [ebp - 4], 0x85
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 5
push str.color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x86
call fcn.100304c0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x87
push ecx
mov dword [eax + 0xaa0], 0
lea ecx, [eax + 0xaa8]
mov dword [eax + 0xaa4], 0
mov byte [eax + 0xa95], 1
mov dword [eax + 0xa3c], 0xfffffffb
mov dword [eax + 0xa38], 0xfffffffb
call fcn.1002f750
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0xa60]
call fcn.1002f750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x98]
mov dword [eax + 0xac0], esi
mov dword [eax + 0xad8], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov dword [edi + 0x18], 0
imul eax, dword [edi + 0x18], 0xeb
add eax, 0x14
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
mov edi, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
push dword [ebp - 0x40]
lea esi, [edi + 0xaf8]
call fcn.100304a0
push 0xa
push str.lby_update
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x88
call fcn.100304c0
mov dword [ebp - 4], 0x89
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xa
push 0x100d50f0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x8a
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0xb30]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0xb61], 1
push eax
lea ecx, [edi + 0xb68]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0xb64], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
mov esi, dword [0x100d319c]
lea ecx, [ebp - 0x60]
push dword [ebp - 0x40]
add edi, 0xb80
call fcn.100304a0
push 0x10
push str.lby_update_color
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x8c
call fcn.100304c0
mov dword [ebp - 4], 0x8d
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 5
push str.color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x8e
call fcn.100304c0
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x8f
push ecx
lea ecx, [eax + 0xc00]
mov dword [eax + 0xbf8], 0
mov dword [eax + 0xbfc], 0
mov byte [eax + 0xbed], 0
call fcn.1002f750
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x60]
push eax
lea ecx, [ecx + 0xbb8]
call fcn.1002f750
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x98]
mov dword [eax + 0xc18], esi
mov dword [eax + 0xc30], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov dword [edi + 0x18], 0
imul eax, dword [edi + 0x18], 0xeb
add eax, 0x14
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
mov edi, dword [ebp - 0x34]
lea ecx, [ebp - 0x60]
push dword [ebp - 0x40]
lea esi, [edi + 0xc50]
call fcn.100304a0
push 0xd
push 0x100d5138
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x90
call fcn.100304c0
mov dword [ebp - 4], 0x91
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xd
push str.ragdoll_force
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x92
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x93
push eax
lea ecx, [edi + 0xc88]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0xcb9], 1
push eax
lea ecx, [edi + 0xcc0]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0xcbc], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 1
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x118]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], 0x94
call fcn.100304c0
mov dword [ebp - 4], 0x95
lea ecx, [ebp - 0x100]
push dword [ebp - 0x40]
call fcn.100304a0
push 8
push str.friendly
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x96
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
call fcn.100304a0
push 5
push str.local
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x98
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x99
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x118]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 4
push str.glow
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x9b
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
mov byte [ebp - 4], 0x9d
push 4
push str.glow
lea ecx, [ebp - 0x98]
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x9f
push eax
lea ecx, [edi + 0xd10]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0xd41], 1
push eax
lea ecx, [edi + 0xd48]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0xd41], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd7c], eax
add eax, 0x14
mov dword [edi + 0xce8], eax
mov dword [edi + 0xcec], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x100655a9
lea eax, [edi + 0xd60]
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10065596
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x1006566b
lea ecx, [edi + 0xd70]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0xd70]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0xd70]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0xd64]
sub ecx, dword [edi + 0xd60]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10065642
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xd70]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10065653
mov eax, dword [edi + 0xd3c]
test eax, eax
je 0x10065653
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0xd70]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x100655c3
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 3
push 0x18
lea eax, [ebp - 0x118]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0xcd8]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0xcf0], 1
imul eax, dword [edi + 0xcf0], 0xeb
add eax, 0x14
mov dword [edi + 0xcdc], eax
mov dword [edi + 0xce4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xcf4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xd80]
call fcn.100304a0
push 0xa
push str.glow_enemy
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xa0
call fcn.100304c0
mov dword [ebp - 4], 0xa1
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xb
push str.enemy_color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xa2
call fcn.100304c0
mov byte [ebp - 4], 0xa3
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0xe00]
mov dword [edi + 0xdf8], 0
mov dword [edi + 0xdfc], 0
mov byte [edi + 0xded], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xdb8]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0xe18], 0xffffffff
mov dword [edi + 0xe30], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035790
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
mov dword [edi + 0xd98], 1
imul eax, dword [edi + 0xd98], 0xeb
add eax, 0x14
mov dword [edi + 0xd84], eax
mov dword [edi + 0xd8c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd9c], eax
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xe50]
call fcn.100304a0
push 0xa
push str.glow_local
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xa4
call fcn.100304c0
mov dword [ebp - 4], 0xa5
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0x10
push str.local_glow_color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xa6
call fcn.100304c0
mov byte [ebp - 4], 0xa7
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0xed0]
mov dword [edi + 0xec8], 0
mov dword [edi + 0xecc], 0
mov byte [edi + 0xebd], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xe88]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0xee8], 0xffffffff
mov dword [edi + 0xf00], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035750
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xe68], 1
imul eax, dword [edi + 0xe68], 0xeb
add eax, 0x14
mov dword [edi + 0xe54], eax
mov dword [edi + 0xe5c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xe6c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xf20]
call fcn.100304a0
push 0xd
push str.glow_friendly
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xa8
call fcn.100304c0
mov dword [ebp - 4], 0xa9
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
mov byte [ebp - 4], 0xaa
push 0xe
push str.friendly_color
lea ecx, [ebp - 0x98]
call fcn.100304c0
mov byte [ebp - 4], 0xab
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0xfa0]
mov dword [edi + 0xf98], 0
mov dword [edi + 0xf9c], 0
mov byte [edi + 0xf8d], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xf58]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0xfb8], 0xffffffff
mov dword [edi + 0xfd0], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035770
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xf38], 1
imul eax, dword [edi + 0xf38], 0xeb
add eax, 0x14
mov dword [edi + 0xf24], eax
mov dword [edi + 0xf2c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf3c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0x100]
mov dword [ebp - 4], 0xac
call fcn.100304c0
mov dword [ebp - 4], 0xad
lea ecx, [ebp - 0xe8]
push dword [ebp - 0x40]
call fcn.100304a0
push 8
push str.friendly
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xae
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0xaf
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x100]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 8
push str.skeleton
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xb1
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 8
push str.skeleton
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xb3
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb5
push eax
lea ecx, [edi + 0x1028]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1059], 1
push eax
lea ecx, [edi + 0x1060]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x1059], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1094], eax
add eax, 0x14
mov dword [edi + 0x1000], eax
mov dword [edi + 0x1004], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x10065b6a
lea eax, [edi + 0x1078]
mov dword [ebp - 0x24], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10065b57
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10065c2c
lea ecx, [edi + 0x1088]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x1088]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x1088]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x107c]
sub ecx, dword [edi + 0x1078]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10065c03
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1088]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10065c14
mov eax, dword [edi + 0x1054]
test eax, eax
je 0x10065c14
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x1088]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x10065b84
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0xff0]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1008], 1
imul eax, dword [edi + 0x1008], 0xeb
add eax, 0x14
mov dword [edi + 0xff4], eax
mov dword [edi + 0xffc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x100c], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1098]
call fcn.100304a0
push 0xe
push str.skeleton_enemy
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xb6
call fcn.100304c0
mov dword [ebp - 4], 0xb7
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xb
push str.enemy_color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xb8
call fcn.100304c0
mov byte [ebp - 4], 0xb9
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1118]
mov dword [edi + 0x1110], 0
mov dword [edi + 0x1114], 0
mov byte [edi + 0x1105], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x10d0]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1130], 0xffffffff
mov dword [edi + 0x1148], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035830
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
mov dword [edi + 0x10b0], 1
imul eax, dword [edi + 0x10b0], 0xeb
add eax, 0x14
mov dword [edi + 0x109c], eax
mov dword [edi + 0x10a4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x10b4], eax
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1168]
call fcn.100304a0
push 0x11
push str.skeleton_friendly
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xba
call fcn.100304c0
mov dword [ebp - 4], 0xbb
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xe
push str.friendly_color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xbc
call fcn.100304c0
mov byte [ebp - 4], 0xbd
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x11e8]
mov dword [edi + 0x11e0], 0
mov dword [edi + 0x11e4], 0
mov byte [edi + 0x11d5], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x11a0]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1200], 0xffffffff
mov dword [edi + 0x1218], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035810
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1180], 1
imul eax, dword [edi + 0x1180], 0xeb
add eax, 0x14
mov dword [edi + 0x116c], eax
mov dword [edi + 0x1174], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1184], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x178]
call fcn.100304a0
push 0xc
push str.glow_broken_
lea ecx, [ebp - 0x178]
mov dword [ebp - 4], 0xbe
call fcn.100304c0
mov dword [ebp - 4], 0xbf
lea ecx, [ebp - 0x160]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xd
mov byte [ebp - 4], 0xc0
push str.visible_chams
lea ecx, [ebp - 0x160]
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x148]
call fcn.100304a0
push 0xf
push str.invisible_chams
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xc2
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x130]
call fcn.100304a0
push 0xd
push str.history_chams
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xc4
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x118]
call fcn.100304a0
push 0x12
push str.shot_chams_broken_
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xc6
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 0xe
push str.weapon_chams_1
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xc8
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
call fcn.100304a0
push 0xe
push str.weapon_chams_2
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xca
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0xcb
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 0xf
push str.rainbow_visuals
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xcd
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0x17
mov byte [ebp - 4], 0xcf
lea ecx, [ebp - 0x98]
push str.rainbow_visual_elements
call fcn.100304c0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xd1
push eax
lea ecx, [edi + 0x1660]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1691], 1
push eax
lea ecx, [edi + 0x1698]
call fcn.1002f750
mov esi, dword [ebp - 0xc0]
xor eax, eax
cmp byte [edi + 0x1691], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x16cc], eax
add eax, 0x14
mov dword [edi + 0x1638], eax
mov dword [edi + 0x163c], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x100660d3
lea eax, [edi + 0x16b0]
mov dword [ebp - 0x24], eax
mov edi, eax
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x100660c0
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10066198
lea ecx, [edi + 0x16c0]
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x16c0]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x16c0]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x16b4]
sub ecx, dword [edi + 0x16b0]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x1006616f
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x16c0]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10066180
mov eax, dword [edi + 0x168c]
test eax, eax
je 0x10066180
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x16c0]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x100660f0
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 7
push 0x18
lea eax, [ebp - 0x178]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x1628]
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x1640], 1
imul eax, dword [edi + 0x1640], 0xeb
add eax, 0x14
mov dword [edi + 0x162c], eax
mov dword [edi + 0x1634], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1644], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x2a10]
call fcn.100304a0
push 0
push 0x100d43ec
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xd2
call fcn.100410f0
mov dword [ebp - 4], 0xd3
lea ecx, [ebp - 0x60]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xd
push 0x100d527c
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xd4
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0xd
push str.rainbow_speed
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xd6
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xd7
push eax
lea ecx, [edi + 0x2a48]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x2a79], 1
push eax
lea ecx, [edi + 0x2a98]
call fcn.1002f750
xor eax, eax
mov dword [edi + 0x2a84], 0x3f800000
cmp byte [edi + 0x2a79], al
mov ecx, 0xf
mov dword [edi + 0x2a88], 0x42480000
cmovne eax, ecx
mov dword [edi + 0x2a80], 0x3f800000
mov dword [edi + 0x2ac8], eax
add eax, 8
mov dword [edi + 0x2a20], eax
mov dword [edi + 0x2a24], eax
lea eax, [ebp - 0x80]
mov dword [edi + 0x2a94], 0
push eax
lea ecx, [edi + 0x2ab0]
mov dword [edi + 0x2a8c], 0x3f800000
call fcn.10088ec0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.10040670
mov dword [ebp - 0x24], esi
mov dword [esi + 0x18], 1
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x24]
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x178]
call fcn.100304a0
push 5
push str.local
lea ecx, [ebp - 0x178]
mov dword [ebp - 4], 0xd8
call fcn.100304c0
mov dword [ebp - 4], 0xd9
lea ecx, [ebp - 0x160]
push dword [ebp - 0x40]
call fcn.100304a0
push 5
push str.enemy
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xda
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x148]
call fcn.100304a0
push 8
push str.friendly
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xdc
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x130]
call fcn.100304a0
push 7
push str.history
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xde
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x118]
call fcn.100304a0
push 4
push str.fake
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xe0
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 0xc
push str.shot_broken_
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xe2
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
call fcn.100304a0
push 6
push str.weapon
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xe4
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0xe5
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0x74]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 0x16
push str.chams_entity_selection
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xe7
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0xf
push str.chams_selection
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xe9
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xea
push eax
lea ecx, [edi + 0x1270]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x12a1], 1
push eax
lea ecx, [edi + 0x12a8]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x12a1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x70]
mov dword [edi + 0x12d4], eax
add eax, 0x14
mov dword [edi + 0x1248], eax
mov dword [edi + 0x124c], eax
mov eax, dword [ebp - 0x74]
cmp eax, ecx
mov dword [ebp - 0x24], eax
lea eax, [edi + 0x12c0]
mov dword [ebp - 0x28], ecx
je 0x1006656c
mov esi, dword [ebp - 0x24]
mov edi, eax
mov dword [ebp - 0x2c], eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10066550
mov edi, dword [ebp - 0x34]
lea esi, [edi + 0x18]
lea eax, [edi + 0x12c0]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1006658e
mov dword [edi + 0x12d0], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055620
push fcn.1002f780
push 7
push 0x18
lea eax, [ebp - 0x178]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [edi + 0x1238]
mov ecx, esi
mov dword [ebp - 0x24], eax
mov dword [edi + 0x1250], 1
imul eax, dword [edi + 0x1250], 0xeb
add eax, 0x14
mov dword [edi + 0x123c], eax
mov dword [edi + 0x1244], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1254], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x12d8]
call fcn.100304a0
push 0xb
push 0x100d529c
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xeb
call fcn.100304c0
mov dword [ebp - 4], 0xec
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xb
push str.chams_local
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xed
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xee
push eax
lea ecx, [edi + 0x1310]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1341], 1
push eax
lea ecx, [edi + 0x1348]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x1344], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357b0
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x12f0], 1
mov ecx, esi
imul eax, dword [edi + 0x12f0], 0xeb
add eax, 0x14
mov dword [edi + 0x12dc], eax
mov dword [edi + 0x12e4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x12f4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x148]
call fcn.100304a0
push 8
push str.material
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xef
call fcn.100304c0
mov dword [ebp - 4], 0xf0
lea ecx, [ebp - 0x130]
push dword [ebp - 0x40]
call fcn.100304a0
push 4
push str.flat
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xf1
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x118]
call fcn.100304a0
push 8
push str.metallic
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xf3
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x100]
call fcn.100304a0
push 5
push str.gloss
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xf5
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xe8]
call fcn.100304a0
push 4
push str.glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0xf7
call fcn.100304c0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0xf8
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x148]
push edx
lea ecx, [ebp - 0x74]
call fcn.10088b80
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
call fcn.100304a0
push 0xf
push str.chams_local_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xfa
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 0x14
push str.chams_local_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xfc
call fcn.100304c0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xfd
push eax
lea ecx, [edi + 0x1420]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1451], 1
push eax
lea ecx, [edi + 0x1458]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1451], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x70]
mov dword [edi + 0x1484], eax
add eax, 0x14
mov dword [edi + 0x13f8], eax
mov dword [edi + 0x13fc], eax
mov eax, dword [ebp - 0x74]
cmp eax, ecx
mov dword [ebp - 0x24], eax
lea eax, [edi + 0x1470]
mov dword [ebp - 0x28], ecx
je 0x100668ac
mov esi, dword [ebp - 0x24]
mov edi, eax
mov dword [ebp - 0x2c], eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10066890
mov edi, dword [ebp - 0x34]
lea esi, [edi + 0x18]
lea eax, [edi + 0x1470]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100668ce
mov dword [edi + 0x1480], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055620
push fcn.1002f780
push 5
push 0x18
lea eax, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357b0
lea ecx, [edi + 0x1440]
push eax
call fcn.100895c0
lea eax, [edi + 0x13e8]
mov ecx, esi
mov dword [ebp - 0x24], eax
mov dword [edi + 0x1400], 1
imul eax, dword [edi + 0x1400], 0xeb
add eax, 0x14
mov dword [edi + 0x13ec], eax
mov dword [edi + 0x13f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1404], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1488]
call fcn.100304a0
push 0xf
push str.chams_local_col
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xfe
call fcn.100304c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x98]
call fcn.100304a0
push 5
push str.color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x100
call fcn.100304c0
mov dword [ebp - 4], 0x101
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1508]
mov dword [edi + 0x1500], 0
mov dword [edi + 0x1504], 0
mov byte [edi + 0x14f5], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x14c0]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1520], 0xff323232
mov dword [edi + 0x1538], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357b0
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
mov dword [edi + 0x14a0], 1
imul eax, dword [edi + 0x14a0], 0xeb
add eax, 0x14
mov dword [edi + 0x148c], eax
mov dword [edi + 0x1494], 0xaf
lea ecx, [edi + 0x18]
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x14a4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push dword [ebp - 0x40]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1558]
call fcn.100304a0
push 0x10
push str.chams_local2_col
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x102
call fcn.100304c0
mov dword [ebp - 4], 0x103
lea ecx, [ebp - 0x98]
push dword [ebp - 0x40]
call fcn.100304a0
push 0xa
push str.glow_color
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.100304c0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x15d8]
mov dword [edi + 0x15d0], 0
mov dword [edi + 0x15d4], 0
mov byte [edi + 0x15c5], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1590]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x15f0], 0xff3b2d09
mov dword [edi + 0x1608], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357c0
lea ecx, [esi + 0x58]
push eax
call fcn.100895c0
mov dword [ebp - 0x24], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1570], 1
mov ecx, esi
imul eax, dword [edi + 0x1570], 0xeb
add eax, 0x14
mov dword [edi + 0x155c], eax
mov dword [edi + 0x1564], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1574], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push str.visible
lea ecx, [ebp - 0x100]
call fcn.1002f7d0
push str.invisible
lea ecx, [ebp - 0xe8]
mov dword [ebp - 4], 0x106
call fcn.1002f7d0
lea eax, [ebp - 0x2d]
mov dword [ebp - 4], 0x107
lea ecx, [ebp - 0xd0]
push eax
lea edx, [ebp - 0x100]
push ecx
push edx
lea ecx, [ebp - 0xc0]
call fcn.10088b80
push 0x100d535c
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.1002f7d0
push str.chams_enemy
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 9
call fcn.1002f7d0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x1708]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1739], 1
push eax
lea ecx, [edi + 0x1740]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1739], al
cmovne eax, ecx
mov ecx, dword [ebp - 0xbc]
mov dword [edi + 0x1774], eax
add eax, 0x14
mov dword [edi + 0x16e0], eax
mov dword [edi + 0x16e4], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
cmp eax, ecx
je 0x10066c87
mov esi, dword [ebp - 0x24]
lea eax, [edi + 0x1758]
mov dword [ebp - 0x2c], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.100558b0
add esi, 0x18
cmp esi, dword [ebp - 0x28]
jne 0x10066c71
mov edi, dword [ebp - 0x34]
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x10066d4c
lea ecx, [edi + 0x1768]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
push eax
call fcn.1002eb80
lea ecx, [edi + 0x1768]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x1768]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
mov ecx, dword [edi + 0x175c]
sub ecx, dword [edi + 0x1758]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10066d20
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1768]
call fcn.10049ef0
cmp esi, dword [ebp - 0x24]
jne 0x10066d31
mov eax, dword [edi + 0x1734]
test eax, eax
je 0x10066d31
call eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x1768]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x2c]
jne 0x10066ca1
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x78]
call fcn.1002ee60
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055620
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357e0
lea ecx, [edi + 0x1728]
push eax
call fcn.100895c0
lea eax, [edi + 0x16d0]
mov ecx, esi
mov dword [ebp - 0x24], eax
mov dword [edi + 0x16e8], 1
imul eax, dword [edi + 0x16e8], 0xeb
add eax, 0x14
mov dword [edi + 0x16d4], eax
mov dword [edi + 0x16dc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x16ec], eax
lea eax, [ebp - 0x24]
push eax
call fcn.100895c0
push str.material
lea ecx, [ebp - 0x160]
call fcn.1002f7d0
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x10c
call fcn.1002f7d0
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xd
call fcn.1002f7d0
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xe
call fcn.1002f7d0
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xf
call fcn.1002f7d0
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x10
call fcn.1002f7d0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x111
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x44]
call fcn.10088b30
lea ecx, [ebp - 0x2d]
push ecx
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
push str.chams_enemy_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x12
call fcn.1002f7d0
push str.chams_enemy_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x13
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [edi + 0x17b0]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x17e1], 1
push eax
lea ecx, [edi + 0x17e8]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x17e1], al
cmovne eax, ecx
lea ecx, [ebp - 0x74]
mov dword [edi + 0x1814], eax
add eax, 0x14
mov dword [edi + 0x1788], eax
mov dword [edi + 0x178c], eax
call fcn.1002eb70
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x28], eax
call fcn.1002eb60
lea ecx, [edi + 0x1800]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x28], eax
je 0x10066f49
mov esi, dword [ebp - 0x28]
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10066f30
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
lea esi, [edi + 0x18]
call fcn.10035980
test eax, eax
je 0x10066f5c
mov dword [edi + 0x1810], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055360
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357e0
lea ecx, [edi + 0x17d0]
push eax
call fcn.10088b50
lea eax, [edi + 0x1778]
mov ecx, esi
mov dword [ebp - 0x24], eax
mov dword [edi + 0x1790], 1
imul eax, dword [edi + 0x1790], 0xeb
add eax, 0x14
mov dword [edi + 0x177c], eax
mov dword [edi + 0x1784], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1794], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_enemy_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1818]
call fcn.1002f7d0
push str.color_visible
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x115
call fcn.1002f7d0
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1898]
mov dword [edi + 0x1890], 0
mov dword [edi + 0x1894], 0
mov byte [edi + 0x1885], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1850]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x18b0], 0xff3cc896
mov dword [edi + 0x18c8], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357e0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1830], 1
imul eax, dword [edi + 0x1830], 0xeb
add eax, 0x14
mov dword [edi + 0x181c], eax
mov dword [edi + 0x1824], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1834], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_enemy2_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x18e8]
call fcn.1002f7d0
push str.glow_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x117
call fcn.1002f7d0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1968]
mov dword [edi + 0x1960], 0
mov dword [edi + 0x1964], 0
mov byte [edi + 0x1955], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1920]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1980], 0xffc8ffff
mov dword [edi + 0x1998], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357f0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1900], 1
imul eax, dword [edi + 0x1900], 0xeb
add eax, 0x14
mov dword [edi + 0x18ec], eax
mov dword [edi + 0x18f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1904], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_enemy_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x19b8]
call fcn.1002f7d0
push str.color_invisible
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x119
call fcn.1002f7d0
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1a38]
mov dword [edi + 0x1a30], 0
mov dword [edi + 0x1a34], 0
mov byte [edi + 0x1a25], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x19f0]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1a50], 0xffb4783c
mov dword [edi + 0x1a68], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357e0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
mov dword [edi + 0x19d0], 1
imul eax, dword [edi + 0x19d0], 0xeb
add eax, 0x14
mov dword [edi + 0x19bc], eax
mov dword [edi + 0x19c4], 0xaf
lea ecx, [edi + 0x18]
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x19d4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_enemy2_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1a88]
call fcn.1002f7d0
push str.glow_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x11b
call fcn.1002f7d0
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1b08]
mov dword [edi + 0x1b00], 0
mov dword [edi + 0x1b04], 0
mov byte [edi + 0x1af5], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1ac0]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1b20], 0xb4c8ffff
mov dword [edi + 0x1b38], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100357f0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1aa0], 1
imul eax, dword [edi + 0x1aa0], 0xeb
add eax, 0x14
mov dword [edi + 0x1a8c], eax
mov dword [edi + 0x1a94], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1aa4], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_enemy_reflectivity
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1b58]
call fcn.1002f7d0
push str.reflectivity_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x11d
call fcn.1002f7d0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x1bd8]
mov dword [edi + 0x1bd0], 0
mov dword [edi + 0x1bd4], 0
mov byte [edi + 0x1bc5], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1b90]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x1bf0], 0xff00b2ff
mov dword [edi + 0x1c08], 0
call fcn.1002f780
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035850
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1b70], 1
imul eax, dword [edi + 0x1b70], 0xeb
add eax, 0x14
mov dword [edi + 0x1b5c], eax
mov dword [edi + 0x1b64], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1b74], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push 0x100d4500
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x1c28]
call fcn.100402f0
push 0x100d5484
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x11f
call fcn.1002f7d0
push str.chams_reflectivity
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x20
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [edi + 0x1c60]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1c91], 1
push eax
lea ecx, [edi + 0x1cb0]
call fcn.1002f750
xor eax, eax
mov dword [edi + 0x1c9c], 0
cmp byte [edi + 0x1c91], al
mov ecx, 0xf
mov dword [edi + 0x1ca0], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x1c98], 0x42860000
mov dword [edi + 0x1ce0], eax
lea ecx, [edi + 0x1cc8]
add eax, 8
mov dword [edi + 0x1cac], 0
mov dword [edi + 0x1c38], eax
mov dword [edi + 0x1c3c], eax
lea eax, [ebp - 0x80]
push eax
mov dword [edi + 0x1ca4], 0x3f800000
call fcn.10088ec0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.100402e0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035850
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
mov dword [edi + 0x1c40], 1
imul eax, dword [edi + 0x1c40], 0xeb
add eax, 0x14
mov dword [edi + 0x1c2c], eax
mov dword [edi + 0x1c34], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1c44], eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [edi + 0x18]
call fcn.10088b50
push 0x100d4500
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x1ce4]
call fcn.100402f0
push 0x100d545c
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x122
call fcn.1002f7d0
push str.chams_enemy_shine
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x23
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [edi + 0x1d1c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1d4d], 1
push eax
lea ecx, [edi + 0x1d6c]
call fcn.1002f750
xor eax, eax
mov dword [edi + 0x1d58], 0
cmp byte [edi + 0x1d4d], al
mov ecx, 0xf
mov dword [edi + 0x1d5c], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x1d54], 0x41200000
mov dword [edi + 0x1d9c], eax
lea ecx, [edi + 0x1d84]
add eax, 8
mov dword [edi + 0x1d68], 0
mov dword [edi + 0x1cf4], eax
mov dword [edi + 0x1cf8], eax
lea eax, [ebp - 0x80]
push eax
mov dword [edi + 0x1d60], 0x3f800000
call fcn.10088ec0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.100402e0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035850
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1cfc], 1
imul eax, dword [edi + 0x1cfc], 0xeb
add eax, 0x14
mov dword [edi + 0x1ce8], eax
mov dword [edi + 0x1cf0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1d00], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push 0x100d4500
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x1da0]
call fcn.100402f0
push 0x100d54cc
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x125
call fcn.1002f7d0
mov byte [ebp - 4], 0x26
push str.chams_enemy_rim
lea ecx, [ebp - 0x98]
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [edi + 0x1dd8]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1e09], 1
push eax
lea ecx, [edi + 0x1e28]
call fcn.1002f750
xor eax, eax
mov dword [edi + 0x1e14], 0
cmp byte [edi + 0x1e09], al
mov ecx, 0xf
mov dword [edi + 0x1e18], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x1e10], 0x41200000
mov dword [edi + 0x1e58], eax
lea ecx, [edi + 0x1e40]
add eax, 8
mov dword [edi + 0x1e24], 0
mov dword [edi + 0x1db0], eax
mov dword [edi + 0x1db4], eax
lea eax, [ebp - 0x80]
push eax
mov dword [edi + 0x1e1c], 0x3f800000
call fcn.10088ec0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.100402e0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035850
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1db8], 1
imul eax, dword [edi + 0x1db8], 0xeb
add eax, 0x14
mov dword [edi + 0x1da4], eax
mov dword [edi + 0x1dac], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1dbc], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
lea ecx, [ebp - 0xc1]
call fcn.10048850
push str.visible
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.1002f7d0
push str.invisible
lea ecx, [ebp - 0xe8]
mov dword [ebp - 4], 0x128
call fcn.1002f7d0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x129
push eax
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x20]
call fcn.10088b30
push esi
lea ecx, [ebp - 0xc0]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
mov byte [ebp - 4], 0x2a
push 0x100d54ac
lea ecx, [ebp - 0x60]
call fcn.1002f7d0
push str.chams_friendly
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2b
call fcn.1002f7d0
lea ecx, [ebp - 0x78]
call fcn.10030af0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x2d
push eax
lea ecx, [edi + 0x21e4]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x2215], 1
push eax
lea ecx, [edi + 0x221c]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2215], al
cmovne eax, ecx
lea ecx, [ebp - 0xc0]
mov dword [edi + 0x2250], eax
add eax, 0x14
mov dword [edi + 0x21bc], eax
mov dword [edi + 0x21c0], eax
call fcn.1002eb70
lea ecx, [ebp - 0xc0]
mov esi, eax
call fcn.1002eb60
mov ecx, eax
lea eax, [edi + 0x2234]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], eax
cmp esi, ecx
je 0x10067963
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x2c]
jne 0x10067950
mov edi, dword [ebp - 0x34]
lea ecx, [ebp - 0x78]
call fcn.1002eb70
mov esi, eax
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x28], esi
call fcn.1002eb60
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x10067a2d
lea eax, [edi + 0x2244]
nop dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.1002eb80
lea ecx, [edi + 0x2244]
mov esi, dword [eax]
lea eax, [ebp - 0x64]
push eax
call fcn.1002eb90
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xcc]
push dword [eax]
call fcn.10030080
add esp, 8
lea ecx, [edi + 0x2244]
mov esi, eax
lea eax, [ebp - 0xc8]
push eax
call fcn.1002eb80
push eax
mov ecx, esi
call fcn.1002eb40
lea ecx, [edi + 0x2234]
mov byte [ebp - 0x2d], al
call fcn.10035980
cmp dword [ebp - 0x18], eax
jae 0x10067a03
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x2244]
call fcn.100480a0
cmp byte [ebp - 0x2d], 0
je 0x10067a15
mov eax, dword [edi + 0x2210]
test eax, eax
je 0x10067a15
call eax
mov esi, dword [ebp - 0x28]
lea eax, [edi + 0x2244]
add esi, 4
mov dword [ebp - 0x28], esi
cmp esi, dword [ebp - 0x24]
jne 0x10067990
lea ecx, [ebp - 0x78]
call fcn.1002eba0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0xc0]
call fcn.10055360
push fcn.1002f780
push 2
push 0x18
lea eax, [ebp - 0x100]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035870
lea esi, [edi + 0x21ac]
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x21c4], 1
imul eax, dword [edi + 0x21c4], 0xeb
add eax, 0x14
mov dword [edi + 0x21b0], eax
mov dword [edi + 0x21b8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x21c8], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
lea ecx, [ebp - 0x2d]
call fcn.10048850
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002f7d0
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x12e
call fcn.1002f7d0
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x2f
call fcn.1002f7d0
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x30
call fcn.1002f7d0
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x31
call fcn.1002f7d0
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x32
call fcn.1002f7d0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x133
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x44]
call fcn.10088b30
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x60]
push str.chams_friendly_mat
call fcn.1002f7d0
push str.chams_friendly_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x35
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [edi + 0x228c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x22bd], 1
push eax
lea ecx, [edi + 0x22c4]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x22bd], al
cmovne eax, ecx
lea ecx, [ebp - 0x74]
mov dword [edi + 0x22f0], eax
add eax, 0x14
mov dword [edi + 0x2264], eax
mov dword [edi + 0x2268], eax
call fcn.1002eb70
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.1002eb60
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x22dc]
mov dword [ebp - 0x28], ecx
cmp esi, eax
je 0x10067c26
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10067c10
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
call fcn.10035980
test eax, eax
je 0x10067c39
mov dword [edi + 0x22ec], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055360
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035870
lea esi, [edi + 0x2254]
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x226c], 1
imul eax, dword [edi + 0x226c], 0xeb
add eax, 0x14
mov dword [edi + 0x2258], eax
mov dword [edi + 0x2260], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2270], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_friendly_vis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x22f4]
call fcn.1002f7d0
push str.color_visible
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x137
call fcn.1002f7d0
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x2374]
mov dword [edi + 0x236c], 0
mov dword [edi + 0x2370], 0
mov byte [edi + 0x2361], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x232c]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x238c], 0xff00c8ff
mov dword [edi + 0x23a4], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035870
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x230c], 1
imul eax, dword [edi + 0x230c], 0xeb
add eax, 0x14
mov dword [edi + 0x22f8], eax
mov dword [edi + 0x2300], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2310], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_friendly_invis
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x23c4]
call fcn.1002f7d0
push str.color_invisible
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x139
call fcn.1002f7d0
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x2444]
mov dword [edi + 0x243c], 0
mov dword [edi + 0x2440], 0
mov byte [edi + 0x2431], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x23fc]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x245c], 0xff0032ff
mov dword [edi + 0x2474], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035870
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x23dc], 1
imul eax, dword [edi + 0x23dc], 0xeb
add eax, 0x14
mov dword [edi + 0x23c8], eax
mov dword [edi + 0x23d0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x23e0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push 0x100d5574
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1e5c]
call fcn.1002f7d0
push str.chams_history
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x13b
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x1e94]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1ec5], 1
push eax
lea ecx, [edi + 0x1ecc]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x1ec8], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035880
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
mov dword [edi + 0x1e74], 1
imul eax, dword [edi + 0x1e74], 0xeb
add eax, 0x14
mov dword [edi + 0x1e60], eax
mov dword [edi + 0x1e68], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1e78], eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [edi + 0x18]
call fcn.10088b50
lea ecx, [ebp - 0xc1]
call fcn.10048850
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002f7d0
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x13d
call fcn.1002f7d0
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x3e
call fcn.1002f7d0
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x3f
call fcn.1002f7d0
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x40
call fcn.1002f7d0
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x41
call fcn.1002f7d0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x142
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x44]
call fcn.10088b30
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
push str.chams_enemy_history_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x43
call fcn.1002f7d0
push str.chams_history_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x44
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x1f1c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x1f4d], 1
push eax
lea ecx, [edi + 0x1f54]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1f4d], al
cmovne eax, ecx
lea ecx, [ebp - 0x74]
mov dword [edi + 0x1f80], eax
add eax, 0x14
mov dword [edi + 0x1ef4], eax
mov dword [edi + 0x1ef8], eax
call fcn.1002eb70
mov esi, eax
lea ecx, [ebp - 0x74]
call fcn.1002eb60
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x1f6c]
mov dword [ebp - 0x28], ecx
cmp esi, eax
je 0x100680c6
mov edi, ecx
nop
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x100680b0
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
call fcn.10035980
test eax, eax
je 0x100680d9
mov dword [edi + 0x1f7c], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055360
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035880
lea esi, [edi + 0x1ee4]
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1efc], 1
imul eax, dword [edi + 0x1efc], 0xeb
add eax, 0x14
mov dword [edi + 0x1ee8], eax
mov dword [edi + 0x1ef0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1f00], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_history_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x1f84]
call fcn.1002f7d0
push str.color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x146
call fcn.1002f7d0
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x2004]
mov dword [edi + 0x1ffc], 0
mov dword [edi + 0x2000], 0
mov byte [edi + 0x1ff1], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x1fbc]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x201c], 0xff000000
mov dword [edi + 0x2034], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035880
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1f9c], 1
imul eax, dword [edi + 0x1f9c], 0xeb
add eax, 0x14
mov dword [edi + 0x1f88], eax
mov dword [edi + 0x1f90], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1fa0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.history_skeleton
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x2054]
call fcn.1002f7d0
push 0x100d5594
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x148
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [edi + 0x208c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x20bd], 1
push eax
lea ecx, [edi + 0x20c4]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x20c0], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035880
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x206c], 1
imul eax, dword [edi + 0x206c], 0xeb
add eax, 0x14
mov dword [edi + 0x2058], eax
mov dword [edi + 0x2060], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2070], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.history_skeleton_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x20dc]
call fcn.1002f7d0
push str.color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x14a
call fcn.1002f7d0
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x215c]
mov dword [edi + 0x2154], 0
mov dword [edi + 0x2158], 0
mov byte [edi + 0x2149], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x2114]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x2174], 0xffffffff
mov dword [edi + 0x218c], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035880
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
mov dword [edi + 0x20f4], 1
imul eax, dword [edi + 0x20f4], 0xeb
add eax, 0x14
mov dword [edi + 0x20e0], eax
mov dword [edi + 0x20e8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x20f8], eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [edi + 0x18]
call fcn.10088b50
push str.chams_fake
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x2494]
call fcn.1002f7d0
push str.fake_chams
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x14c
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [edi + 0x24cc]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x24fd], 1
push eax
lea ecx, [edi + 0x2504]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x2500], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035890
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x24ac], 1
imul eax, dword [edi + 0x24ac], 0xeb
add eax, 0x14
mov dword [edi + 0x2498], eax
mov dword [edi + 0x24a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x24b0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
lea ecx, [ebp - 0x2d]
call fcn.10048850
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002f7d0
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x14e
call fcn.1002f7d0
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x4f
call fcn.1002f7d0
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x50
call fcn.1002f7d0
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x51
call fcn.1002f7d0
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x52
call fcn.1002f7d0
mov dword [ebp - 4], 0x153
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x44]
call fcn.10088b30
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
push str.chams_fake_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x54
call fcn.1002f7d0
push str.chams_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x55
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [edi + 0x2554]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x2585], 1
push eax
lea ecx, [edi + 0x258c]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2585], al
cmovne eax, ecx
lea ecx, [ebp - 0x74]
mov dword [edi + 0x25b8], eax
add eax, 0x14
mov dword [edi + 0x252c], eax
mov dword [edi + 0x2530], eax
call fcn.1002eb70
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.1002eb60
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x25a4]
mov dword [ebp - 0x28], ecx
cmp esi, eax
je 0x1006862a
mov edi, ecx
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10068614
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
call fcn.10035980
test eax, eax
je 0x1006863d
mov dword [edi + 0x25b4], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055360
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035890
lea esi, [edi + 0x251c]
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2534], 1
imul eax, dword [edi + 0x2534], 0xeb
add eax, 0x14
mov dword [edi + 0x2520], eax
mov dword [edi + 0x2528], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2538], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_fake_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x25bc]
call fcn.1002f7d0
push str.color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x157
call fcn.1002f7d0
mov byte [ebp - 4], 0x58
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x263c]
mov dword [edi + 0x2634], 0
mov dword [edi + 0x2638], 0
mov byte [edi + 0x2629], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x25f4]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x2654], 0xff00c8ff
mov dword [edi + 0x266c], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035890
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x25d4], 1
imul eax, dword [edi + 0x25d4], 0xeb
add eax, 0x14
mov dword [edi + 0x25c0], eax
mov dword [edi + 0x25c8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x25d8], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_fake_glow_col
lea ecx, [ebp - 0x60]
add edi, 0x268c
call fcn.1002f7d0
push str.glow_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x159
call fcn.1002f7d0
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x5a
push eax
lea ecx, [esi + 0x270c]
mov dword [esi + 0x2704], 0
mov dword [esi + 0x2708], 0
mov byte [esi + 0x26f9], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [esi + 0x26c4]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [esi + 0x2724], 0xff00c8ff
mov dword [esi + 0x273c], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10035890
push eax
lea ecx, [edi + 0x58]
call fcn.10088b50
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358c0
push eax
lea ecx, [edi + 0x58]
call fcn.10088b50
mov dword [ebp - 0x24], edi
mov edi, esi
mov dword [edi + 0x26a4], 1
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x26a4], 0xeb
add eax, 0x14
mov dword [edi + 0x2690], eax
mov dword [edi + 0x2698], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x26a8], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_shot
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x275c]
call fcn.1002f7d0
push str.shot_chams
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x15b
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x5c
push eax
lea ecx, [edi + 0x2794]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x27c5], 1
push eax
lea ecx, [edi + 0x27cc]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x27c8], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358a0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
mov dword [edi + 0x2774], 1
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x2774], 0xeb
add eax, 0x14
mov dword [edi + 0x2760], eax
mov dword [edi + 0x2768], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2778], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
lea ecx, [ebp - 0xc1]
call fcn.10048850
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002f7d0
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x15d
call fcn.1002f7d0
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x5e
call fcn.1002f7d0
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x5f
call fcn.1002f7d0
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x60
call fcn.1002f7d0
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x61
call fcn.1002f7d0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x162
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x44]
call fcn.10088b30
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
push str.chams_shot_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x63
call fcn.1002f7d0
push str.chams_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x64
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x65
push eax
lea ecx, [edi + 0x281c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x284d], 1
push eax
lea ecx, [edi + 0x2854]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x284d], al
cmovne eax, ecx
mov dword [edi + 0x2880], eax
add eax, 0x14
lea ecx, [ebp - 0x74]
mov dword [edi + 0x27f4], eax
mov dword [edi + 0x27f8], eax
call fcn.1002eb70
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.1002eb60
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x286c]
mov dword [ebp - 0x28], ecx
cmp esi, eax
je 0x10068ae6
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10068ad0
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
call fcn.10035980
test eax, eax
je 0x10068af9
mov dword [edi + 0x287c], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055360
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358a0
lea esi, [edi + 0x27e4]
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x27fc], 1
imul eax, dword [edi + 0x27fc], 0xeb
add eax, 0x14
mov dword [edi + 0x27e8], eax
mov dword [edi + 0x27f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2800], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.chams_shot_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x2884]
call fcn.1002f7d0
push str.color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x166
call fcn.1002f7d0
mov byte [ebp - 4], 0x67
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x2904]
mov dword [edi + 0x28fc], 0
mov dword [edi + 0x2900], 0
mov byte [edi + 0x28f1], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x28bc]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x291c], 0xffffffff
mov dword [edi + 0x2934], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358a0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x289c], 1
imul eax, dword [edi + 0x289c], 0xeb
add eax, 0x14
mov dword [edi + 0x2888], eax
mov dword [edi + 0x2890], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x28a0], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push 0x100d4b14
lea ecx, [ebp - 0x80]
lea esi, [edi + 0x2954]
call fcn.100402f0
push str.chams_shot_fadetime
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x168
call fcn.1002f7d0
push str.fade_time
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x69
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0x298c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x29bd], 1
push eax
lea ecx, [edi + 0x29dc]
call fcn.1002f750
xor eax, eax
mov dword [edi + 0x29c8], 0
cmp byte [edi + 0x29bd], al
mov ecx, 0xf
mov dword [edi + 0x29cc], 0x41200000
cmovne eax, ecx
mov dword [edi + 0x29c4], 0x3e99999a
mov dword [edi + 0x2a0c], eax
lea ecx, [edi + 0x29f4]
add eax, 8
mov dword [edi + 0x29d8], 1
mov dword [edi + 0x2964], eax
mov dword [edi + 0x2968], eax
lea eax, [ebp - 0x80]
push eax
mov dword [edi + 0x29d0], 0x3dcccccd
call fcn.10088ec0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0xffffffff
call fcn.100402e0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358a0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x296c], 1
imul eax, dword [edi + 0x296c], 0xeb
add eax, 0x14
mov dword [edi + 0x2958], eax
mov dword [edi + 0x2960], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2970], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push 0x100d56c0
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x2acc]
call fcn.1002f7d0
push str.weapon_chams
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x16b
call fcn.1002f7d0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [edi + 0x2b04]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x2b35], 1
push eax
lea ecx, [edi + 0x2b3c]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov byte [edi + 0x2b38], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358b0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2ae4], 1
imul eax, dword [edi + 0x2ae4], 0xeb
add eax, 0x14
mov dword [edi + 0x2ad0], eax
mov dword [edi + 0x2ad8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2ae8], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
lea ecx, [ebp - 0x2d]
call fcn.10048850
push str.material
lea ecx, [ebp - 0x160]
mov esi, eax
call fcn.1002f7d0
push str.flat
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0x16d
call fcn.1002f7d0
push str.metallic
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x6e
call fcn.1002f7d0
push str.gloss
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x6f
call fcn.1002f7d0
push str.glow
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x70
call fcn.1002f7d0
push str.outline_glow
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x71
call fcn.1002f7d0
lea eax, [ebp - 0xd0]
mov dword [ebp - 4], 0x172
push eax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x44]
call fcn.10088b30
push esi
lea ecx, [ebp - 0x74]
push dword [eax + 4]
push dword [eax]
call fcn.10088b80
push str.weapon_chams_mat
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x73
call fcn.1002f7d0
push str.weapon_material
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x74
call fcn.1002f7d0
mov byte [ebp - 4], 0x75
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x2b8c]
call fcn.1002f750
lea eax, [ebp - 0x98]
mov byte [edi + 0x2bbd], 1
push eax
lea ecx, [edi + 0x2bc4]
call fcn.1002f750
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2bbd], al
cmovne eax, ecx
lea ecx, [ebp - 0x74]
mov dword [edi + 0x2bf0], eax
add eax, 0x14
mov dword [edi + 0x2b64], eax
mov dword [edi + 0x2b68], eax
call fcn.1002eb70
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.1002eb60
mov dword [ebp - 0x24], eax
lea ecx, [edi + 0x2bdc]
mov dword [ebp - 0x28], ecx
cmp esi, eax
je 0x10068fd8
mov edi, ecx
push esi
mov ecx, edi
call fcn.10055330
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10068fc2
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
call fcn.10035980
test eax, eax
je 0x10068feb
mov dword [edi + 0x2bec], 0
lea ecx, [ebp - 0x98]
call fcn.1002f780
lea ecx, [ebp - 0x60]
call fcn.1002f780
lea ecx, [ebp - 0x74]
call fcn.10055360
push fcn.1002f780
push 6
push 0x18
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.100c2720
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358b0
lea esi, [edi + 0x2b54]
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2b6c], 1
imul eax, dword [edi + 0x2b6c], 0xeb
add eax, 0x14
mov dword [edi + 0x2b58], eax
mov dword [edi + 0x2b60], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2b70], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.weapon_chams_col
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x2bf4]
call fcn.1002f7d0
push str.weapon_color
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x176
call fcn.1002f7d0
mov byte [ebp - 4], 0x77
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x2c74]
mov dword [edi + 0x2c6c], 0
mov dword [edi + 0x2c70], 0
mov byte [edi + 0x2c61], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x2c2c]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x2c8c], 0xff000000
mov dword [edi + 0x2ca4], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358b0
lea ecx, [esi + 0x58]
push eax
call fcn.10088b50
mov dword [ebp - 0x24], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2c0c], 1
imul eax, dword [edi + 0x2c0c], 0xeb
add eax, 0x14
mov dword [edi + 0x2bf8], eax
mov dword [edi + 0x2c00], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2c10], eax
lea eax, [ebp - 0x24]
push eax
call fcn.10088b50
push str.weapon_chams_col2
lea ecx, [ebp - 0x60]
lea esi, [edi + 0x2cc4]
call fcn.1002f7d0
push str.weapon_color_2
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x178
call fcn.1002f7d0
mov byte [ebp - 4], 0x79
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x2d44]
mov dword [edi + 0x2d3c], 0
mov dword [edi + 0x2d40], 0
mov byte [edi + 0x2d31], 0
call fcn.1002f750
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x2cfc]
call fcn.1002f750
lea ecx, [ebp - 0x98]
mov dword [edi + 0x2d5c], 0xffffffff
mov dword [edi + 0x2d74], 0
call fcn.1002f780
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.1002f780
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100358b0
push eax
lea ecx, [edi + 0x2d1c]
call fcn.10088b50
mov dword [ebp - 0x28], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 1
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x28]
push eax
call fcn.10088b50
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.100c2626
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret