Function at 0x10052090
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Get number of processors
Get process heap flags
Get process heap force flags
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a42d0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3f0
mov eax, dword [0x100ba008]
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 - 0x48], edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x60]
call fcn.10023a40
push 7
push str.players
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0
call fcn.10023a60
lea eax, [ebp - 0x60]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.10022f40
lea ecx, [ebp - 0x60]
call fcn.10022f70
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x30]
call fcn.10023a40
push 9
push str.teammates
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 2
call fcn.10023a60
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 9
push str.teammates
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 4
call fcn.10023a60
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 5
push eax
lea ecx, [edi + 0x68]
call fcn.10022f40
lea eax, [ebp - 0x60]
mov byte [edi + 0x99], 1
push eax
lea ecx, [edi + 0xa0]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov byte [edi + 0x9c], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x20]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
push ecx
lea ecx, [edi + 0x18]
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x374]
call fcn.10023a40
push 7
push str.dormant
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 6
call fcn.10023a60
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 7
push str.dormant
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.10023a60
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 9
push eax
lea ecx, [edi + 0x3ac]
call fcn.10022f40
lea eax, [ebp - 0x60]
mov byte [edi + 0x3dd], 1
push eax
lea ecx, [edi + 0x3e4]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov byte [edi + 0x3e0], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x20], 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 - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0xb8]
call fcn.10023a40
push 3
push 0x100acd00
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xa
call fcn.10023a60
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 0xc
push str.bounding_box
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.10023a60
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [edi + 0xf0]
call fcn.10022f40
lea eax, [ebp - 0x60]
mov byte [edi + 0x121], 1
push eax
lea ecx, [edi + 0x128]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov byte [edi + 0x124], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x20], 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 ecx, [edi + 0x18]
lea eax, [ebp - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x140]
call fcn.10023a40
push 9
push str.box_enemy
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xe
call fcn.10023a60
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 0x12
push str.bounding_box_color
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x10
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [edi + 0x1b0]
call fcn.10022f40
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x178]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov dword [edi + 0x1c8], 0xb4ffffff
mov dword [edi + 0x1e0], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10025c30
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x20], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x158], 0
imul eax, dword [edi + 0x158], 0xeb
add eax, 0x14
mov dword [edi + 0x144], eax
mov dword [edi + 0x14c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x15c], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x11c0]
call fcn.10023a40
push 1
push 0x100ac564
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x12
call fcn.10045a50
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 0xd
push str.box_esp_alpha
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x14
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0xd
push str.box_esp_alpha
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x16
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [edi + 0x11f8]
call fcn.10022f40
lea eax, [ebp - 0x98]
mov byte [edi + 0x1229], 0
push eax
lea ecx, [edi + 0x1260]
mov dword [edi + 0x1278], 0
mov dword [edi + 0x11d0], 7
mov dword [edi + 0x11d4], 7
mov dword [edi + 0x1234], 0
mov dword [edi + 0x1238], 0x437f0000
mov dword [edi + 0x1230], 0x432a0000
mov dword [edi + 0x1244], 0
mov dword [edi + 0x123c], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x60]
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10025c30
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x20], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x11d8], 0
imul eax, dword [edi + 0x11d8], 0xeb
add eax, 0x14
mov dword [edi + 0x11c4], eax
mov dword [edi + 0x11cc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x11dc], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x884]
call fcn.10023a40
push 6
push str.health
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x18
call fcn.10023a60
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 0xa
push str.health_bar
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1a
call fcn.10023a60
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [edi + 0x8bc]
call fcn.10022f40
mov byte [edi + 0x8ed], 1
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0x8f4]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov byte [edi + 0x8f0], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x20], 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 - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x684]
call fcn.10023a40
push 4
push str.name
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x1c
call fcn.10023a60
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 8
push str.name_esp
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x1e
call fcn.10023a60
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [edi + 0x6bc]
call fcn.10022f40
lea eax, [ebp - 0x60]
mov byte [edi + 0x6ed], 1
push eax
lea ecx, [edi + 0x6f4]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov byte [edi + 0x6f0], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x20], 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 - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x70c]
call fcn.10023a40
push 0xa
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x98]
push str.name_color
call fcn.10023a60
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 0xe
push str.name_esp_color
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x22
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [edi + 0x77c]
call fcn.10022f40
lea eax, [ebp - 0x98]
push eax
lea ecx, [edi + 0x744]
call fcn.10022f40
lea ecx, [ebp - 0x60]
mov dword [edi + 0x794], 0xffffffff
mov dword [edi + 0x7ac], 0
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10025c40
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x20], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x724], 0
imul eax, dword [edi + 0x724], 0xeb
add eax, 0x14
mov dword [edi + 0x710], eax
mov dword [edi + 0x718], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x728], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x98]
lea esi, [edi + 0x1fc]
call fcn.10023a40
push 1
push 0x100ac564
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x24
call fcn.10045a50
mov dword [ebp - 4], 0x25
lea ecx, [ebp - 0x60]
push dword [ebp - 0x1c]
call fcn.10023a40
push 0xe
push str.name_esp_alpha
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x26
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0xe
push str.name_esp_alpha
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x28
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [edi + 0x234]
call fcn.10022f40
lea eax, [ebp - 0x98]
mov byte [edi + 0x265], 0
push eax
lea ecx, [edi + 0x29c]
mov dword [edi + 0x2b4], 0
mov dword [edi + 0x20c], 7
mov dword [edi + 0x210], 7
mov dword [edi + 0x270], 0
mov dword [edi + 0x274], 0x437f0000
mov dword [edi + 0x26c], 0x43160000
mov dword [edi + 0x280], 0
mov dword [edi + 0x278], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x60]
call fcn.10022f70
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x10025c40
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x20], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x214], 0
imul eax, dword [edi + 0x214], 0xeb
add eax, 0x14
mov dword [edi + 0x200], eax
mov dword [edi + 0x208], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x218], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10072990
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1f0]
call fcn.10023a40
push 5
push str.money
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 4], 0x2a
call fcn.10023a60
mov dword [ebp - 4], 0x2b
lea ecx, [ebp - 0x1d8]
push dword [ebp - 0x1c]
call fcn.10023a40
push 6
push str.reload
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0x2c
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c0]
call fcn.10023a40
push 5
push str.armor
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x2e
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1a8]
call fcn.10023a40
push 7
push str.flashed
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x30
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x190]
call fcn.10023a40
push 4
push str.zoom
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x32
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x178]
call fcn.10023a40
push 4
push str.bomb
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x34
call fcn.10023a60
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x35
push eax
lea ecx, [ebp - 0x160]
push ecx
lea edx, [ebp - 0x1f0]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10071e70
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xc0]
call fcn.10023a40
push 0xb
push str.flags_enemy
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x37
call fcn.10023a60
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x60]
call fcn.10023a40
push 0xb
push 0x100acdc8
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x39
call fcn.10023a60
lea ecx, [ebp - 0xa8]
call fcn.10023ef0
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [edi + 0xa00]
call fcn.10022f40
lea eax, [ebp - 0x60]
mov byte [edi + 0xa31], 1
push eax
lea ecx, [edi + 0xa38]
call fcn.10022f40
mov esi, dword [ebp - 0x8c]
xor eax, eax
cmp byte [edi + 0xa31], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xa6c], eax
add eax, 0x14
mov dword [edi + 0x9d8], eax
mov dword [edi + 0x9dc], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x18], eax
cmp esi, eax
je 0x10052b96
lea eax, [edi + 0xa50]
mov edi, eax
push esi
mov ecx, edi
call fcn.100459b0
add esi, 0x18
cmp esi, dword [ebp - 0x18]
jne 0x10052b83
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x10052c6b
lea ecx, [edi + 0xa60]
nop word [eax + eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x10c]
push eax
call fcn.100225a0
lea ecx, [edi + 0xa60]
mov esi, dword [eax]
lea eax, [ebp - 0x110]
push eax
call fcn.100225b0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x114]
push dword [eax]
call fcn.100237f0
add esp, 8
lea ecx, [edi + 0xa60]
mov esi, eax
lea eax, [ebp - 0x28]
push eax
call fcn.100225a0
mov ecx, dword [edi + 0xa54]
sub ecx, dword [edi + 0xa50]
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 0x10052c42
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0xa60]
call fcn.100396d0
cmp esi, dword [ebp - 0x24]
jne 0x10052c53
mov eax, dword [edi + 0xa2c]
test eax, eax
je 0x10052c53
call eax
mov eax, dword [ebp - 0x20]
lea ecx, [edi + 0xa60]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x1c]
jne 0x10052bc0
lea ecx, [ebp - 0xa8]
call fcn.100225c0
lea ecx, [ebp - 0x60]
call fcn.10022f70
lea ecx, [ebp - 0xc0]
call fcn.10022f70
lea ecx, [ebp - 0x8c]
call fcn.100231b0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [edi + 0x9c8]
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x9e0], 0
imul eax, dword [edi + 0x9e0], 0xeb
add eax, 0x14
mov dword [edi + 0x9cc], eax
mov dword [edi + 0x9d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x9e4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xaf8]
call fcn.10023a40
push 0xa
push str.weapontext
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x3c
call fcn.10023a60
mov dword [ebp - 4], 0x3d
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xb
push str.weapon_text
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x3e
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0xb30]
call fcn.10022f40
lea eax, [ebp - 0xc0]
mov byte [edi + 0xb61], 1
push eax
lea ecx, [edi + 0xb68]
call fcn.10022f40
lea ecx, [ebp - 0xc0]
mov byte [edi + 0xb64], 0
call fcn.10022f70
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea esi, [edi + 0xa70]
lea ecx, [ebp - 0x60]
call fcn.10023a40
push 0xa
push str.weaponicon
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x40
call fcn.10023a60
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xb
push str.weapon_icon
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x42
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0xaa8]
call fcn.10022f40
lea eax, [ebp - 0xc0]
mov byte [edi + 0xad9], 1
push eax
lea ecx, [edi + 0xae0]
call fcn.10022f40
lea ecx, [ebp - 0xc0]
mov byte [edi + 0xadc], 0
call fcn.10022f70
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xb80]
call fcn.10023a40
push 0xb
push str.weaponcolor
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x44
call fcn.10023a60
mov dword [ebp - 4], 0x45
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x11
push str.weapon_icon_color
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x46
call fcn.10023a60
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [edi + 0xbf0]
call fcn.10022f40
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xbb8]
call fcn.10022f40
mov dword [edi + 0xc08], 0xffffffff
lea ecx, [ebp - 0xc0]
mov dword [edi + 0xc20], 0
call fcn.10022f70
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025c50
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xb98], 0
imul eax, dword [edi + 0xb98], 0xeb
add eax, 0x14
mov dword [edi + 0xb84], eax
mov dword [edi + 0xb8c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xb9c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xcf8]
call fcn.10023a40
push 4
push str.ammo
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x48
call fcn.10023a60
mov dword [ebp - 4], 0x49
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 4
push str.ammo
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x4a
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0xd30]
call fcn.10022f40
lea eax, [ebp - 0xc0]
mov byte [edi + 0xd61], 1
push eax
lea ecx, [edi + 0xd68]
call fcn.10022f40
lea ecx, [ebp - 0xc0]
mov byte [edi + 0xd64], 0
call fcn.10022f70
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xe08]
call fcn.10023a40
push 0xa
push 0x100ace30
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x4c
call fcn.10023a60
mov dword [ebp - 4], 0x4d
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xa
push str.ammo_color
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x4e
call fcn.10023a60
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x4f
push eax
lea ecx, [edi + 0xe78]
call fcn.10022f40
lea eax, [ebp - 0x60]
push eax
lea ecx, [edi + 0xe40]
call fcn.10022f40
lea ecx, [ebp - 0xc0]
mov dword [edi + 0xe90], 0xebc88c50
mov dword [edi + 0xea8], 0
call fcn.10022f70
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cb0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xe20], 0
imul eax, dword [edi + 0xe20], 0xeb
add eax, 0x14
mov dword [edi + 0xe0c], eax
mov dword [edi + 0xe14], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xe24], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
lea esi, [edi + 0xd80]
call fcn.10023a40
push 8
push str.distance
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0x50
call fcn.10023a60
mov dword [ebp - 4], 0x51
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 8
push str.distance
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x52
call fcn.10023a60
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [edi + 0xdb8]
call fcn.10022f40
lea eax, [ebp - 0xc0]
mov byte [edi + 0xde9], 1
push eax
lea ecx, [edi + 0xdf0]
call fcn.10022f40
lea ecx, [ebp - 0xc0]
mov byte [edi + 0xdec], 0
call fcn.10022f70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x298]
lea esi, [edi + 0xec4]
call fcn.10023a40
push 0xa
push str.lby_update
lea ecx, [ebp - 0x298]
mov dword [ebp - 4], 0x54
call fcn.10023a60
mov dword [ebp - 4], 0x55
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x28]
call fcn.10023a40
push 9
push str.lby_timer
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x56
call fcn.10023a60
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x57
push eax
lea ecx, [edi + 0xefc]
call fcn.10022f40
lea eax, [ebp - 0xc0]
mov byte [edi + 0xf2d], 1
push eax
lea ecx, [edi + 0xf34]
call fcn.10022f40
lea ecx, [ebp - 0xc0]
mov byte [edi + 0xf30], 0
call fcn.10022f70
lea ecx, [ebp - 0x298]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x2b0]
lea esi, [edi + 0xf4c]
call fcn.10023a40
push 0x10
push str.lby_update_color
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], 0x58
call fcn.10023a60
mov dword [ebp - 4], 0x59
lea ecx, [ebp - 0x298]
push dword [ebp - 0x28]
call fcn.10023a40
mov byte [ebp - 4], 0x5a
push 0xf
push str.lby_timer_color
lea ecx, [ebp - 0x298]
call fcn.10023a60
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x5b
push eax
lea ecx, [edi + 0xfbc]
call fcn.10022f40
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [edi + 0xf84]
call fcn.10022f40
lea ecx, [ebp - 0x298]
mov dword [edi + 0xfd4], 0xffff00ff
mov dword [edi + 0xfec], 0
call fcn.10022f70
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025c90
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0xf64], 0
imul eax, dword [edi + 0xf64], 0xeb
add eax, 0x14
mov dword [edi + 0xf50], eax
mov dword [edi + 0xf58], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf68], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x208]
lea esi, [edi + 0x1468]
call fcn.10023a40
push 4
push str.glow
lea ecx, [ebp - 0x208]
mov dword [ebp - 4], 0x5c
call fcn.10023a60
mov dword [ebp - 4], 0x5d
lea ecx, [ebp - 0x2b0]
push dword [ebp - 0x28]
call fcn.10023a40
push 4
push str.glow
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x5e
call fcn.10023a60
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [edi + 0x14a0]
call fcn.10022f40
lea eax, [ebp - 0x2b0]
mov byte [edi + 0x14d1], 1
push eax
lea ecx, [edi + 0x14d8]
call fcn.10022f40
lea ecx, [ebp - 0x2b0]
mov byte [edi + 0x14d4], 0
call fcn.10022f70
lea ecx, [ebp - 0x208]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
lea ecx, [edi + 0x18]
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x220]
lea esi, [edi + 0x14f0]
call fcn.10023a40
push 0xa
push str.glow_enemy
lea ecx, [ebp - 0x220]
mov dword [ebp - 4], 0x60
call fcn.10023a60
mov dword [ebp - 4], 0x61
lea ecx, [ebp - 0x208]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xa
push str.glow_color
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x62
call fcn.10023a60
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 0x63
push eax
lea ecx, [edi + 0x1560]
call fcn.10022f40
lea eax, [ebp - 0x220]
push eax
lea ecx, [edi + 0x1528]
call fcn.10022f40
lea ecx, [ebp - 0x208]
mov dword [edi + 0x1578], 0xff7739b4
mov dword [edi + 0x1590], 0
call fcn.10022f70
lea ecx, [ebp - 0x220]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025ca0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1508], 0
imul eax, dword [edi + 0x1508], 0xeb
add eax, 0x14
mov dword [edi + 0x14f4], eax
mov dword [edi + 0x14fc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x150c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x238]
lea esi, [edi + 0x15ac]
call fcn.10023a40
push 1
push 0x100ac564
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0x64
call fcn.10045a50
mov dword [ebp - 4], 0x65
lea ecx, [ebp - 0x220]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xa
mov byte [ebp - 4], 0x66
push str.glow_blend
lea ecx, [ebp - 0x220]
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x208]
call fcn.10023a40
push 0
push 0x100aa68e
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x68
call fcn.10023a60
lea eax, [ebp - 0x220]
mov byte [ebp - 4], 0x69
push eax
lea ecx, [edi + 0x15e4]
call fcn.10022f40
lea eax, [ebp - 0x238]
mov byte [edi + 0x1615], 0
push eax
lea ecx, [edi + 0x164c]
mov dword [edi + 0x1664], 0
mov dword [edi + 0x15bc], 7
mov dword [edi + 0x15c0], 7
mov dword [edi + 0x1620], 0
mov dword [edi + 0x1624], 0x42c80000
mov dword [edi + 0x161c], 0x41f00000
mov dword [edi + 0x1630], 0
mov dword [edi + 0x1628], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x208]
call fcn.10022f70
lea ecx, [ebp - 0x220]
call fcn.10022f70
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025ca0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x15c4], 0
imul eax, dword [edi + 0x15c4], 0xeb
add eax, 0x14
mov dword [edi + 0x15b0], eax
mov dword [edi + 0x15b8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x15c8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x250]
lea esi, [edi + 0x1008]
call fcn.10023a40
push 9
push str.hitmarker
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0x6a
call fcn.10023a60
mov dword [ebp - 4], 0x6b
lea ecx, [ebp - 0x238]
push dword [ebp - 0x28]
call fcn.10023a40
push 9
push str.hitmarker
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x6c
call fcn.10023a60
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x6d
push eax
lea ecx, [edi + 0x1040]
call fcn.10022f40
lea eax, [ebp - 0x238]
mov byte [edi + 0x1071], 1
push eax
lea ecx, [edi + 0x1078]
call fcn.10022f40
lea ecx, [ebp - 0x238]
mov byte [edi + 0x1074], 0
call fcn.10022f70
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x268]
lea esi, [edi + 0x1090]
call fcn.10023a40
push 0xf
push str.hitmarker_sound
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 0x6e
call fcn.10023a60
mov dword [ebp - 4], 0x6f
lea ecx, [ebp - 0x250]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xf
push 0x100acec8
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x70
call fcn.10023a60
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [edi + 0x10c8]
call fcn.10022f40
lea eax, [ebp - 0x250]
mov byte [edi + 0x10f9], 1
push eax
lea ecx, [edi + 0x1100]
call fcn.10022f40
lea ecx, [ebp - 0x250]
mov byte [edi + 0x10fc], 0
call fcn.10022f70
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x127c]
call fcn.10023a40
mov dword [ebp - 4], 0x72
push 8
push str.skeleton
lea ecx, [ebp - 0x15c]
call fcn.10023a60
mov dword [ebp - 4], 0x73
lea ecx, [ebp - 0x268]
push dword [ebp - 0x28]
call fcn.10023a40
push 8
push str.skeleton
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x74
call fcn.10023a60
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x12b4]
call fcn.10022f40
lea eax, [ebp - 0x268]
mov byte [edi + 0x12e5], 1
push eax
lea ecx, [edi + 0x12ec]
call fcn.10022f40
lea ecx, [ebp - 0x268]
mov byte [edi + 0x12e8], 0
call fcn.10022f70
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x1304]
call fcn.10023a40
push 0xe
push str.skeleton_enemy
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0x76
call fcn.10023a60
mov dword [ebp - 4], 0x77
lea ecx, [ebp - 0x15c]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xe
push str.skeleton_color
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x78
call fcn.10023a60
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [edi + 0x1374]
call fcn.10022f40
lea eax, [ebp - 0xd8]
push eax
lea ecx, [edi + 0x133c]
call fcn.10022f40
lea ecx, [ebp - 0x15c]
mov dword [edi + 0x138c], 0xffaaffff
mov dword [edi + 0x13a4], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025c60
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x131c], 0
imul eax, dword [edi + 0x131c], 0xeb
add eax, 0x14
mov dword [edi + 0x1308], eax
mov dword [edi + 0x1310], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1320], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x1724]
call fcn.10023a40
push 1
push 0x100ac564
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0x7a
call fcn.10045a50
mov dword [ebp - 4], 0x7b
lea ecx, [ebp - 0xd8]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xe
push str.skeleton_alpha
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x7c
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x15c]
call fcn.10023a40
push 0
push 0x100aa68e
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x7e
call fcn.10023a60
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [edi + 0x175c]
call fcn.10022f40
lea eax, [ebp - 0xf0]
mov byte [edi + 0x178d], 0
push eax
lea ecx, [edi + 0x17c4]
mov dword [edi + 0x17dc], 0
mov dword [edi + 0x1734], 7
mov dword [edi + 0x1738], 7
mov dword [edi + 0x1798], 0
mov dword [edi + 0x179c], 0x437f0000
mov dword [edi + 0x1794], 0x437f0000
mov dword [edi + 0x17a8], 0
mov dword [edi + 0x17a0], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x15c]
call fcn.10022f70
lea ecx, [ebp - 0xd8]
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025c60
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
mov dword [edi + 0x173c], 0
imul eax, dword [edi + 0x173c], 0xeb
lea ecx, [edi + 0x18]
add eax, 0x14
mov dword [edi + 0x1728], eax
mov dword [edi + 0x1730], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1740], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x3fc]
call fcn.10023a40
push 9
push str.offscreen
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x80
call fcn.10023a60
mov dword [ebp - 4], 0x81
lea ecx, [ebp - 0xf0]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x10
push str.out_of_pov_arrow
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x82
call fcn.10023a60
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x83
push eax
lea ecx, [edi + 0x434]
call fcn.10022f40
lea eax, [ebp - 0xf0]
mov byte [edi + 0x465], 1
push eax
lea ecx, [edi + 0x46c]
call fcn.10022f40
lea ecx, [ebp - 0xf0]
mov byte [edi + 0x468], 0
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
mov esi, dword [0x100ab104]
lea ecx, [ebp - 0x12c]
add edi, 0x484
call fcn.10023a40
push 0xf
push str.offscreen_color
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0x84
call fcn.10023a60
mov dword [ebp - 4], 0x85
lea ecx, [ebp - 0x108]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x13
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x108]
push str.offscreen_esp_color
call fcn.10023a60
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x108]
push eax
add ecx, 0x4f4
mov byte [ebp - 4], 0x87
call fcn.10022f40
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ecx + 0x4bc]
call fcn.10022f40
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x108]
mov dword [eax + 0x50c], esi
mov dword [eax + 0x524], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025c70
lea ecx, [edi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x48]
mov dword [edi + 0x49c], 0
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x49c], 0xeb
add eax, 0x14
mov dword [edi + 0x488], eax
mov dword [edi + 0x490], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4a0], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
lea esi, [edi + 0x540]
call fcn.10023a40
push 8
push str.footstep
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x88
call fcn.10023a60
mov dword [ebp - 4], 0x89
lea ecx, [ebp - 0x12c]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x10
push str.visualize_sounds
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x8a
call fcn.10023a60
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x8b
push eax
lea ecx, [edi + 0x578]
call fcn.10022f40
lea eax, [ebp - 0x12c]
mov byte [edi + 0x5a9], 1
push eax
lea ecx, [edi + 0x5b0]
call fcn.10022f40
lea ecx, [ebp - 0x12c]
mov byte [edi + 0x5ac], 0
call fcn.10022f70
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
mov dword [ebp - 0x1c], esi
mov dword [esi + 0x18], 0
imul eax, dword [esi + 0x18], 0xeb
add eax, 0x14
mov dword [esi + 4], eax
lea ecx, [edi + 0x18]
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
lea esi, [edi + 0x5c8]
call fcn.10023a40
push 0xb
push str.footstepcol
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x8c
call fcn.10023a60
mov dword [ebp - 4], 0x8d
lea ecx, [ebp - 0x78]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x16
push str.visualize_sounds_color
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x8e
call fcn.10023a60
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x8f
push eax
lea ecx, [edi + 0x638]
call fcn.10022f40
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x600]
call fcn.10022f40
lea ecx, [ebp - 0x78]
mov dword [edi + 0x650], 0xff3c3cfa
mov dword [edi + 0x668], 0
call fcn.10022f70
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025c80
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x5e0], 0
imul eax, dword [edi + 0x5e0], 0xeb
add eax, 0x14
mov dword [edi + 0x5cc], eax
mov dword [edi + 0x5d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x5e4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x358]
call fcn.10023a40
push 4
push str.glow
lea ecx, [ebp - 0x358]
mov dword [ebp - 4], 0x90
call fcn.10023a60
mov dword [ebp - 4], 0x91
lea ecx, [ebp - 0x340]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xd
mov byte [ebp - 4], 0x92
push str.visible_chams
lea ecx, [ebp - 0x340]
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x328]
call fcn.10023a40
push 0xf
push str.invisible_chams
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0x94
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x310]
call fcn.10023a40
push 0xd
push str.history_chams
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x96
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x2f8]
call fcn.10023a40
push 0xa
push str.shot_chams
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 4], 0x98
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x2e0]
call fcn.10023a40
push 0xe
push str.weapon_chams_1
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x9a
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x2c8]
call fcn.10023a40
push 0xe
push str.weapon_chams_2
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x9c
call fcn.10023a60
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0x9d
push eax
lea ecx, [ebp - 0x2b0]
push ecx
lea edx, [ebp - 0x358]
push edx
lea ecx, [ebp - 0xa8]
call fcn.10071e70
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0xf
push str.rainbow_visuals
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x9f
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0x17
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x44]
push str.rainbow_visual_elements
call fcn.10023a60
lea ecx, [ebp - 0x90]
call fcn.10023ef0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xa3
push eax
lea ecx, [edi + 0x13f8]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x1429], 1
push eax
lea ecx, [edi + 0x1430]
call fcn.10022f40
mov esi, dword [ebp - 0xa8]
xor eax, eax
cmp byte [edi + 0x1429], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0x1464], eax
add eax, 0x14
mov dword [edi + 0x13d0], eax
mov dword [edi + 0x13d4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x24], eax
cmp esi, eax
je 0x100541f3
lea eax, [edi + 0x1448]
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.100459b0
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x100541e0
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x100542be
lea ecx, [edi + 0x1458]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
push eax
call fcn.100225a0
lea ecx, [edi + 0x1458]
mov esi, dword [eax]
lea eax, [ebp - 0x114]
push eax
call fcn.100225b0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x110]
push dword [eax]
call fcn.100237f0
add esp, 8
lea ecx, [edi + 0x1458]
mov esi, eax
lea eax, [ebp - 0x10c]
push eax
call fcn.100225a0
mov ecx, dword [edi + 0x144c]
sub ecx, dword [edi + 0x1448]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10054295
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1458]
call fcn.100396d0
cmp esi, dword [ebp - 0x1c]
jne 0x100542a6
mov eax, dword [edi + 0x1424]
test eax, eax
je 0x100542a6
call eax
mov eax, dword [ebp - 0x20]
lea ecx, [edi + 0x1458]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x24]
jne 0x10054213
lea ecx, [ebp - 0x90]
call fcn.100225c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0xa8]
call fcn.100231b0
push fcn.10022f70
push 7
push 0x18
lea eax, [ebp - 0x358]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [edi + 0x13c0]
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x18]
mov dword [edi + 0x13d8], 1
imul eax, dword [edi + 0x13d8], 0xeb
add eax, 0x14
mov dword [edi + 0x13c4], eax
mov dword [edi + 0x13cc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x13dc], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x3460]
call fcn.10023a40
push 0
push 0x100ac664
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xa4
call fcn.10045a50
mov dword [ebp - 4], 0xa5
lea ecx, [ebp - 0x78]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xd
push str.rainbow_speed
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa6
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0xd
push 0x100ad030
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa8
call fcn.10023a60
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xa9
push eax
lea ecx, [edi + 0x3498]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x34c9], 1
push eax
lea ecx, [edi + 0x34e8]
call fcn.10022f40
xor eax, eax
mov dword [edi + 0x34d4], 0x3f800000
cmp byte [edi + 0x34c9], al
mov ecx, 0xf
mov dword [edi + 0x34d8], 0x42480000
cmovne eax, ecx
mov dword [edi + 0x34d0], 0x3f800000
mov dword [edi + 0x3518], eax
add eax, 7
mov dword [edi + 0x3470], eax
mov dword [edi + 0x3474], eax
lea eax, [ebp - 0x12c]
mov dword [edi + 0x34e4], 0
push eax
lea ecx, [edi + 0x3500]
mov dword [edi + 0x34dc], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
mov dword [ebp - 0x1c], 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 - 0x1c]
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x400]
call fcn.10023a40
push 5
push str.local
lea ecx, [ebp - 0x400]
mov dword [ebp - 4], 0xaa
call fcn.10023a60
mov dword [ebp - 4], 0xab
lea ecx, [ebp - 0x3e8]
push dword [ebp - 0x28]
call fcn.10023a40
push 5
push str.enemy
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0xac
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x3d0]
call fcn.10023a40
push 8
push str.friendly
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0xae
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x3b8]
call fcn.10023a40
push 7
push str.history
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0xb0
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x3a0]
call fcn.10023a40
push 4
push str.fake
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0xb2
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x388]
call fcn.10023a40
push 4
push str.shot
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0xb4
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x370]
call fcn.10023a40
push 6
push str.weapon
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0xb6
call fcn.10023a60
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0xb7
push eax
lea ecx, [ebp - 0x358]
push ecx
lea edx, [ebp - 0x400]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10071e70
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0x16
push str.chams_entity_selection
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xb9
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0xf
push str.chams_selection
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xbb
call fcn.10023a60
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xbc
push eax
lea ecx, [edi + 0x1818]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x1849], 1
push eax
lea ecx, [edi + 0x1850]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1849], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x88]
mov dword [edi + 0x187c], eax
add eax, 0x14
mov dword [edi + 0x17f0], eax
mov dword [edi + 0x17f4], eax
mov eax, dword [ebp - 0x8c]
cmp eax, ecx
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x1868]
mov dword [ebp - 0x20], ecx
je 0x1005468f
mov esi, dword [ebp - 0x1c]
mov edi, eax
mov dword [ebp - 0x24], eax
push esi
mov ecx, edi
call fcn.100459b0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10054673
mov edi, dword [ebp - 0x48]
lea esi, [edi + 0x18]
lea eax, [edi + 0x1868]
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 0x100546b1
mov dword [edi + 0x1878], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x8c]
call fcn.100231b0
push fcn.10022f70
push 7
push 0x18
lea eax, [ebp - 0x400]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [edi + 0x17e0]
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x17f8], 1
imul eax, dword [edi + 0x17f8], 0xeb
add eax, 0x14
mov dword [edi + 0x17e4], eax
mov dword [edi + 0x17ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x17fc], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x1880]
call fcn.10023a40
push 0xb
push 0x100ad0a4
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xbd
call fcn.10023a60
mov dword [ebp - 4], 0xbe
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xb
push str.chams_local
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xbf
call fcn.10023a60
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0xc0
push eax
lea ecx, [edi + 0x18b8]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x18e9], 1
push eax
lea ecx, [edi + 0x18f0]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x18ec], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cc0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1898], 1
mov ecx, esi
imul eax, dword [edi + 0x1898], 0xeb
add eax, 0x14
mov dword [edi + 0x1884], eax
mov dword [edi + 0x188c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x189c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1d8]
call fcn.10023a40
push 8
push str.material
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0xc1
call fcn.10023a60
mov dword [ebp - 4], 0xc2
lea ecx, [ebp - 0x1c0]
push dword [ebp - 0x28]
call fcn.10023a40
push 4
push str.flat
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0xc3
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1a8]
call fcn.10023a40
push 8
push str.metallic
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0xc5
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x190]
call fcn.10023a40
push 5
push str.gloss
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0xc7
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x178]
call fcn.10023a40
push 4
push str.glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0xc9
call fcn.10023a60
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0xca
push eax
lea ecx, [ebp - 0x160]
push ecx
lea edx, [ebp - 0x1d8]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10071e70
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0xf
push str.chams_local_mat
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xcc
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0x14
push str.chams_local_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xce
call fcn.10023a60
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xcf
push eax
lea ecx, [edi + 0x19c8]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x19f9], 1
push eax
lea ecx, [edi + 0x1a00]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x19f9], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x88]
mov dword [edi + 0x1a2c], eax
add eax, 0x14
mov dword [edi + 0x19a0], eax
mov dword [edi + 0x19a4], eax
mov eax, dword [ebp - 0x8c]
cmp eax, ecx
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x1a18]
mov dword [ebp - 0x20], ecx
je 0x100549cc
mov esi, dword [ebp - 0x1c]
mov edi, eax
mov dword [ebp - 0x24], eax
nop
push esi
mov ecx, edi
call fcn.100459b0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x100549b0
mov edi, dword [ebp - 0x48]
lea esi, [edi + 0x18]
lea eax, [edi + 0x1a18]
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 0x100549ee
mov dword [edi + 0x1a28], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x8c]
call fcn.100231b0
push fcn.10022f70
push 5
push 0x18
lea eax, [ebp - 0x1d8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cc0
lea ecx, [edi + 0x19e8]
push eax
call fcn.100396d0
lea eax, [edi + 0x1990]
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x19a8], 1
imul eax, dword [edi + 0x19a8], 0xeb
add eax, 0x14
mov dword [edi + 0x1994], eax
mov dword [edi + 0x199c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x19ac], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x1a30]
call fcn.10023a40
push 0xf
push str.chams_local_col
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xd0
call fcn.10023a60
mov dword [ebp - 4], 0xd1
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.10023a40
push 5
push str.color
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xd2
call fcn.10023a60
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xd3
push eax
lea ecx, [edi + 0x1aa0]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x1a68]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1ab8], 0xff323232
mov dword [edi + 0x1ad0], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cc0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
mov dword [edi + 0x1a48], 1
imul eax, dword [edi + 0x1a48], 0xeb
add eax, 0x14
mov dword [edi + 0x1a34], eax
mov dword [edi + 0x1a3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1a4c], eax
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x1aec]
call fcn.10023a40
push 0x10
push str.chams_local2_col
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xd4
call fcn.10023a60
mov dword [ebp - 4], 0xd5
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.10023a40
push 0xa
push str.glow_color
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xd6
call fcn.10023a60
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xd7
push eax
lea ecx, [edi + 0x1b5c]
call fcn.10022f40
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x1b24]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1b74], 0xff3b2d09
mov dword [edi + 0x1b8c], 0
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cd0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1b04], 1
imul eax, dword [edi + 0x1b04], 0xeb
add eax, 0x14
mov dword [edi + 0x1af0], eax
mov dword [edi + 0x1af8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1b08], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x1ba8]
call fcn.10023a40
push 1
push 0x100ac564
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xd8
call fcn.10045a50
mov dword [ebp - 4], 0xd9
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x11
push str.chams_local_blend
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xda
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xdc
call fcn.10023a60
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xdd
push eax
lea ecx, [edi + 0x1be0]
call fcn.10022f40
lea eax, [ebp - 0xf0]
mov byte [edi + 0x1c11], 0
push eax
lea ecx, [edi + 0x1c48]
mov dword [edi + 0x1c60], 0
mov dword [edi + 0x1bb8], 7
mov dword [edi + 0x1bbc], 7
mov dword [edi + 0x1c1c], 0
mov dword [edi + 0x1c20], 0x42c80000
mov dword [edi + 0x1c18], 0x42c80000
mov dword [edi + 0x1c2c], 0
mov dword [edi + 0x1c24], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cc0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1bc0], 1
imul eax, dword [edi + 0x1bc0], 0xeb
add eax, 0x14
mov dword [edi + 0x1bac], eax
mov dword [edi + 0x1bb4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1bc4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x1c64]
call fcn.10023a40
push 0x11
push str.chams_local_scope
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xde
call fcn.10023a60
mov dword [ebp - 4], 0xdf
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x11
push str.blend_when_scoped
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe0
call fcn.10023a60
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0xe1
push eax
lea ecx, [edi + 0x1c9c]
call fcn.10022f40
mov byte [edi + 0x1ccd], 1
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x1cd4]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x1cd0], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cc0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1c7c], 1
imul eax, dword [edi + 0x1c7c], 0xeb
add eax, 0x14
mov dword [edi + 0x1c68], eax
mov dword [edi + 0x1c70], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1c80], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x1cec]
call fcn.10023a40
push 1
push 0x100ac564
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xe2
call fcn.10045a50
mov dword [ebp - 4], 0xe3
lea ecx, [ebp - 0x44]
push dword [ebp - 0x28]
call fcn.10023a40
push 0x17
push str.chams_local_scope_blend
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe4
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xe6
call fcn.10023a60
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xe7
push eax
lea ecx, [edi + 0x1d24]
call fcn.10022f40
lea eax, [ebp - 0x15c]
mov byte [edi + 0x1d55], 0
push eax
lea ecx, [edi + 0x1d8c]
mov dword [edi + 0x1da4], 0
mov dword [edi + 0x1cfc], 7
mov dword [edi + 0x1d00], 7
mov dword [edi + 0x1d60], 0
mov dword [edi + 0x1d64], 0x42c80000
mov dword [edi + 0x1d5c], 0x42c80000
mov dword [edi + 0x1d70], 0
mov dword [edi + 0x1d68], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cc0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1d04], 1
mov ecx, esi
imul eax, dword [edi + 0x1d04], 0xeb
add eax, 0x14
mov dword [edi + 0x1cf0], eax
mov dword [edi + 0x1cf8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1d08], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push dword [ebp - 0x28]
lea ecx, [ebp - 0x280]
call fcn.10023a40
push 7
push str.visible
lea ecx, [ebp - 0x280]
mov dword [ebp - 4], 0xe8
call fcn.10023a60
mov dword [ebp - 4], 0xe9
lea ecx, [ebp - 0x268]
push dword [ebp - 0x28]
call fcn.10023a40
push 9
push str.invisible
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0xea
call fcn.10023a60
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0xeb
push eax
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x280]
push edx
lea ecx, [ebp - 0xa8]
call fcn.10071e70
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0xb
push str.chams_enemy
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xed
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0xb
push 0x100ad1b0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xef
call fcn.10023a60
lea ecx, [ebp - 0x90]
call fcn.10023ef0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xf1
push eax
lea ecx, [edi + 0x1de0]
call fcn.10022f40
mov byte [edi + 0x1e11], 1
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x1e18]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1e11], al
cmovne eax, ecx
mov ecx, dword [ebp - 0xa4]
mov dword [edi + 0x1e4c], eax
add eax, 0x14
mov dword [edi + 0x1db8], eax
mov dword [edi + 0x1dbc], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x10055166
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0x1e30]
mov dword [ebp - 0x24], eax
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.100459b0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10055150
mov edi, dword [ebp - 0x48]
lea esi, [edi + 0x18]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x10055234
lea ecx, [edi + 0x1e40]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
push eax
call fcn.100225a0
lea ecx, [edi + 0x1e40]
mov esi, dword [eax]
lea eax, [ebp - 0x114]
push eax
call fcn.100225b0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x110]
push dword [eax]
call fcn.100237f0
add esp, 8
lea ecx, [edi + 0x1e40]
mov esi, eax
lea eax, [ebp - 0x10c]
push eax
call fcn.100225a0
mov ecx, dword [edi + 0x1e34]
sub ecx, dword [edi + 0x1e30]
mov esi, dword [esi]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jae 0x10055208
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x1e40]
call fcn.100396d0
cmp esi, dword [ebp - 0x1c]
jne 0x10055219
mov eax, dword [edi + 0x1e0c]
test eax, eax
je 0x10055219
call eax
mov eax, dword [ebp - 0x20]
lea ecx, [edi + 0x1e40]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x24]
jne 0x10055186
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x90]
call fcn.100225c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0xa8]
call fcn.100231b0
push fcn.10022f70
push 2
push 0x18
lea eax, [ebp - 0x280]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cf0
lea ecx, [edi + 0x1e00]
push eax
call fcn.100396d0
lea eax, [edi + 0x1da8]
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1dc0], 1
imul eax, dword [edi + 0x1dc0], 0xeb
add eax, 0x14
mov dword [edi + 0x1dac], eax
mov dword [edi + 0x1db4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1dc4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push str.material
lea ecx, [ebp - 0x1f0]
call fcn.10022fc0
push str.flat
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0xf2
call fcn.10022fc0
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1c0]
call fcn.10023a40
push 8
push str.metallic
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0xf4
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1a8]
call fcn.10023a40
push 5
push str.gloss
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0xf6
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x190]
call fcn.10023a40
push 4
push str.glow
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], pe_nt_image_headers32
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x178]
call fcn.10023a40
push 0xc
push str.outline_glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0xfa
call fcn.10023a60
lea eax, [ebp - 0x29]
mov dword [ebp - 4], 0xfb
push eax
lea ecx, [ebp - 0x160]
push ecx
lea edx, [ebp - 0x1f0]
push edx
lea ecx, [ebp - 0x8c]
call fcn.10071e70
push dword [ebp - 0x28]
lea ecx, [ebp - 0x78]
call fcn.10023a40
push 0xf
push str.chams_enemy_mat
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xfd
call fcn.10023a60
push dword [ebp - 0x28]
lea ecx, [ebp - 0x44]
call fcn.10023a40
push 0x14
push str.chams_enemy_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xff
call fcn.10023a60
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0x100
push eax
lea ecx, [edi + 0x1e88]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x1eb9], 1
push eax
lea ecx, [edi + 0x1ec0]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1eb9], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x88]
mov dword [edi + 0x1eec], eax
add eax, 0x14
mov dword [edi + 0x1e60], eax
mov dword [edi + 0x1e64], eax
mov eax, dword [ebp - 0x8c]
cmp eax, ecx
mov dword [ebp - 0x1c], eax
lea eax, [edi + 0x1ed8]
mov dword [ebp - 0x20], ecx
je 0x1005547c
mov esi, dword [ebp - 0x1c]
mov edi, eax
mov dword [ebp - 0x24], eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.100459b0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10055460
mov edi, dword [ebp - 0x48]
lea esi, [edi + 0x18]
lea eax, [edi + 0x1ed8]
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 0x1005549e
mov dword [edi + 0x1ee8], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x8c]
call fcn.100231b0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cf0
lea ecx, [edi + 0x1ea8]
push eax
call fcn.100396d0
lea eax, [edi + 0x1e50]
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [edi + 0x1e68], 1
imul eax, dword [edi + 0x1e68], 0xeb
add eax, 0x14
mov dword [edi + 0x1e54], eax
mov dword [edi + 0x1e5c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1e6c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push str.chams_enemy_vis
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x1ef0]
call fcn.10022fc0
push str.color_visible
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x101
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 2
push eax
lea ecx, [edi + 0x1f60]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x1f28]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x1f78], 0xff3cc896
mov dword [edi + 0x1f90], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cf0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1f08], 1
imul eax, dword [edi + 0x1f08], 0xeb
add eax, 0x14
mov dword [edi + 0x1ef4], eax
mov dword [edi + 0x1efc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1f0c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push str.chams_enemy2_vis
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x1fac]
call fcn.10022fc0
mov dword [ebp - 4], 0x103
push str.glow_color
lea ecx, [ebp - 0x44]
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 4
push eax
lea ecx, [edi + 0x201c]
call fcn.10022f40
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x1fe4]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2034], 0xffc8ffff
mov dword [edi + 0x204c], 0
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d00
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x1fc4], 1
imul eax, dword [edi + 0x1fc4], 0xeb
add eax, 0x14
mov dword [edi + 0x1fb0], eax
mov dword [edi + 0x1fb8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1fc8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
push str.chams_enemy_invis
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x2068]
call fcn.10022fc0
push str.color_invisible
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x105
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 6
push eax
lea ecx, [edi + 0x20d8]
call fcn.10022f40
lea eax, [ebp - 0xf0]
push eax
lea ecx, [edi + 0x20a0]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x20f0], 0xffb4783c
mov dword [edi + 0x2108], 0
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cf0
lea ecx, [esi + 0x58]
push eax
call fcn.100396d0
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2080], 1
imul eax, dword [edi + 0x2080], 0xeb
add eax, 0x14
mov dword [edi + 0x206c], eax
mov dword [edi + 0x2074], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2084], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10072990
lea esi, [edi + 0x2124]
push str.chams_enemy2_invis
lea ecx, [ebp - 0xd8]
call fcn.10022fc0
push str.glow_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x107
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 8
push eax
lea ecx, [edi + 0x2194]
call fcn.10022f40
lea eax, [ebp - 0xd8]
push eax
lea ecx, [edi + 0x215c]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x21ac], 0xb4c8ffff
mov dword [edi + 0x21c4], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d00
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x213c], 1
imul eax, dword [edi + 0x213c], 0xeb
add eax, 0x14
mov dword [edi + 0x2128], eax
mov dword [edi + 0x2130], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2140], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x24d0]
call fcn.100721f0
push str.chams_enemy_blend
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x109
call fcn.10022fc0
push str.visible
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [edi + 0x2508]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2539], 1
push eax
lea ecx, [edi + 0x2558]
call fcn.10022f40
xor eax, eax
mov dword [edi + 0x2544], 0
cmp byte [edi + 0x2539], al
mov ecx, 0xf
mov dword [edi + 0x2548], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2540], 0x42c80000
mov dword [edi + 0x2588], eax
add eax, 7
mov dword [edi + 0x24e0], eax
mov dword [edi + 0x24e4], eax
lea eax, [ebp - 0x15c]
mov dword [edi + 0x2554], 0
mov dword [edi + 0x254c], 0x3f800000
push eax
lea ecx, [edi + 0x2570]
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cf0
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x24e8], 1
imul eax, dword [edi + 0x24e8], 0xeb
add eax, 0x14
mov dword [edi + 0x24d4], eax
mov dword [edi + 0x24dc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x24ec], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x268]
lea esi, [edi + 0x2614]
call fcn.100721f0
push str.chams_enemy_blend2
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x10c
call fcn.10022fc0
push str.invis
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xd
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [edi + 0x264c]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x267d], 1
push eax
lea ecx, [edi + 0x269c]
call fcn.10022f40
xor eax, eax
mov dword [edi + 0x2688], 0
cmp byte [edi + 0x267d], al
mov ecx, 0xf
mov dword [edi + 0x268c], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2684], 0x42480000
mov dword [edi + 0x26cc], eax
lea ecx, [edi + 0x26b4]
add eax, 7
mov dword [edi + 0x2698], 0
mov dword [edi + 0x2624], eax
mov dword [edi + 0x2628], eax
lea eax, [ebp - 0x268]
push eax
mov dword [edi + 0x2690], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025cf0
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
mov dword [edi + 0x262c], 1
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x262c], 0xeb
add eax, 0x14
mov dword [edi + 0x2618], eax
mov dword [edi + 0x2620], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2630], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_enemy_reflectivity
lea ecx, [ebp - 0x250]
lea esi, [edi + 0x21e0]
call fcn.10022fc0
push str.reflectivity_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x10f
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [edi + 0x2250]
call fcn.10022f40
lea eax, [ebp - 0x250]
push eax
lea ecx, [edi + 0x2218]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2268], 0xff00b2ff
mov dword [edi + 0x2280], 0
call fcn.10022f70
lea ecx, [ebp - 0x250]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d20
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x21f8], 1
imul eax, dword [edi + 0x21f8], 0xeb
add eax, 0x14
mov dword [edi + 0x21e4], eax
mov dword [edi + 0x21ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x21fc], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x238]
lea esi, [edi + 0x229c]
call fcn.100721f0
push str.chams_reflectivity
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x111
call fcn.10022fc0
push 0x100ad2cc
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x22d4]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2305], 1
push eax
lea ecx, [edi + 0x2324]
call fcn.10022f40
xor eax, eax
cmp byte [edi + 0x2305], al
mov ecx, 0xf
mov dword [edi + 0x2310], 0
cmovne eax, ecx
mov dword [edi + 0x2314], 0x42c80000
mov dword [edi + 0x2354], eax
lea ecx, [edi + 0x233c]
add eax, 7
mov dword [edi + 0x230c], 0x42860000
mov dword [edi + 0x22ac], eax
mov dword [edi + 0x22b0], eax
lea eax, [ebp - 0x238]
push eax
mov dword [edi + 0x2320], 0
mov dword [edi + 0x2318], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x238]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d20
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x22b4], 1
imul eax, dword [edi + 0x22b4], 0xeb
add eax, 0x14
mov dword [edi + 0x22a0], eax
mov dword [edi + 0x22a8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x22b8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x220]
lea esi, [edi + 0x2358]
call fcn.100721f0
push str.chams_enemy_shine
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x114
call fcn.10022fc0
push 0x100ad2f4
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x15
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [edi + 0x2390]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x23c1], 1
push eax
lea ecx, [edi + 0x23e0]
call fcn.10022f40
xor eax, eax
mov dword [edi + 0x23cc], 0
cmp byte [edi + 0x23c1], al
mov ecx, 0xf
mov dword [edi + 0x23d0], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x23c8], 0x41200000
mov dword [edi + 0x2410], eax
lea ecx, [edi + 0x23f8]
add eax, 7
mov dword [edi + 0x23dc], 0
mov dword [edi + 0x2368], eax
mov dword [edi + 0x236c], eax
lea eax, [ebp - 0x220]
push eax
mov dword [edi + 0x23d4], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x220]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d20
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2370], 1
imul eax, dword [edi + 0x2370], 0xeb
add eax, 0x14
mov dword [edi + 0x235c], eax
mov dword [edi + 0x2364], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2374], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x208]
lea esi, [edi + 0x2414]
call fcn.100721f0
push str.chams_enemy_rim
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x117
call fcn.10022fc0
push 0x100ad31c
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x18
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [edi + 0x244c]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x247d], 1
push eax
lea ecx, [edi + 0x249c]
call fcn.10022f40
xor eax, eax
mov dword [edi + 0x2488], 0
cmp byte [edi + 0x247d], al
mov ecx, 0xf
mov dword [edi + 0x248c], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x2484], 0x41200000
mov dword [edi + 0x24cc], eax
lea ecx, [edi + 0x24b4]
add eax, 7
mov dword [edi + 0x2498], 0
mov dword [edi + 0x2424], eax
mov dword [edi + 0x2428], eax
lea eax, [ebp - 0x208]
push eax
mov dword [edi + 0x2490], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x208]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d20
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
mov dword [edi + 0x242c], 1
imul eax, dword [edi + 0x242c], 0xeb
add eax, 0x14
lea ecx, [edi + 0x18]
mov dword [edi + 0x2418], eax
mov dword [edi + 0x2420], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2430], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
lea ecx, [ebp - 0x79]
call fcn.10037c50
push str.visible
lea ecx, [ebp - 0x144]
mov esi, eax
call fcn.10022fc0
push str.invisible
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0x11a
call fcn.10022fc0
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0x11b
push eax
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10071e20
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.10071e70
push str.chams_friendly
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1c
call fcn.10022fc0
push 0x100ad33c
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1d
call fcn.10022fc0
lea ecx, [ebp - 0x90]
call fcn.10023ef0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [edi + 0x2a64]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2a95], 1
push eax
lea ecx, [edi + 0x2a9c]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2a95], al
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0x2ad0], eax
add eax, 0x14
mov dword [edi + 0x2a3c], eax
mov dword [edi + 0x2a40], eax
call fcn.10045480
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100400c0
mov ecx, eax
lea eax, [edi + 0x2ab4]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
cmp esi, ecx
je 0x10056093
mov edi, eax
nop
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x24]
jne 0x10056080
mov edi, dword [ebp - 0x48]
lea ecx, [ebp - 0x90]
call fcn.10045480
mov esi, eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x20], esi
call fcn.100400c0
mov dword [ebp - 0x1c], eax
cmp esi, eax
je 0x10056160
lea eax, [edi + 0x2ac4]
nop
mov ecx, dword [esi]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.100225a0
lea ecx, [edi + 0x2ac4]
mov esi, dword [eax]
lea eax, [ebp - 0x114]
push eax
call fcn.100225b0
push esi
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x110]
push dword [eax]
call fcn.100237f0
add esp, 8
lea ecx, [edi + 0x2ac4]
mov esi, eax
lea eax, [ebp - 0x10c]
push eax
call fcn.100225a0
push eax
mov ecx, esi
call fcn.10022580
lea ecx, [edi + 0x2ab4]
mov byte [ebp - 0x29], al
call fcn.10027950
cmp dword [ebp - 0x18], eax
jae 0x10056136
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x2ac4]
call fcn.10037490
cmp byte [ebp - 0x29], 0
je 0x10056148
mov eax, dword [edi + 0x2a90]
test eax, eax
je 0x10056148
call eax
mov esi, dword [ebp - 0x20]
lea eax, [edi + 0x2ac4]
add esi, 4
mov dword [ebp - 0x20], esi
cmp esi, dword [ebp - 0x1c]
jne 0x100560c0
lea ecx, [ebp - 0x90]
call fcn.100225c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x54]
call fcn.100226a0
push fcn.10022f70
push 2
push 0x18
lea eax, [ebp - 0x144]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d40
lea esi, [edi + 0x2a2c]
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2a44], 1
imul eax, dword [edi + 0x2a44], 0xeb
add eax, 0x14
mov dword [edi + 0x2a30], eax
mov dword [edi + 0x2a38], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2a48], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
lea ecx, [ebp - 0x29]
call fcn.10037c50
push str.material
lea ecx, [ebp - 0x1f0]
mov esi, eax
call fcn.10022fc0
push str.flat
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0x120
call fcn.10022fc0
push str.metallic
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x21
call fcn.10022fc0
push str.gloss
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x22
call fcn.10022fc0
push str.glow
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x23
call fcn.10022fc0
push str.outline_glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x24
call fcn.10022fc0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x125
push eax
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10071e20
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.10071e70
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x78]
push str.chams_friendly_mat
call fcn.10022fc0
push str.chams_friendly_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x27
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [edi + 0x2b0c]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2b3d], 1
push eax
lea ecx, [edi + 0x2b44]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2b3d], al
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0x2b70], eax
add eax, 0x14
mov dword [edi + 0x2ae4], eax
mov dword [edi + 0x2ae8], eax
call fcn.10045480
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100400c0
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x2b5c]
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x10056356
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10056340
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
call fcn.10027950
test eax, eax
je 0x10056369
mov dword [edi + 0x2b6c], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x54]
call fcn.100226a0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d40
lea esi, [edi + 0x2ad4]
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2aec], 1
imul eax, dword [edi + 0x2aec], 0xeb
add eax, 0x14
mov dword [edi + 0x2ad8], eax
mov dword [edi + 0x2ae0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2af0], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_friendly_vis
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x2b74]
call fcn.10022fc0
push str.color_visible
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x129
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2a
push eax
lea ecx, [edi + 0x2be4]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x2bac]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2bfc], 0xff00c8ff
mov dword [edi + 0x2c14], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d40
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2b8c], 1
imul eax, dword [edi + 0x2b8c], 0xeb
add eax, 0x14
mov dword [edi + 0x2b78], eax
mov dword [edi + 0x2b80], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2b90], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_friendly_invis
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x2c30]
call fcn.10022fc0
mov dword [ebp - 4], 0x12b
push str.color_invisible
lea ecx, [ebp - 0x44]
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [edi + 0x2ca0]
call fcn.10022f40
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x2c68]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2cb8], 0xff0032ff
mov dword [edi + 0x2cd0], 0
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d40
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2c48], 1
imul eax, dword [edi + 0x2c48], 0xeb
add eax, 0x14
mov dword [edi + 0x2c34], eax
mov dword [edi + 0x2c3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2c4c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x2cec]
call fcn.100721f0
push str.chams_friendly_blend
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x12d
call fcn.10022fc0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x2e
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [edi + 0x2d24]
call fcn.10022f40
lea eax, [ebp - 0xf0]
mov byte [edi + 0x2d55], 0
push eax
lea ecx, [edi + 0x2d8c]
mov dword [edi + 0x2da4], 0
mov dword [edi + 0x2cfc], 7
mov dword [edi + 0x2d00], 7
mov dword [edi + 0x2d60], 0
mov dword [edi + 0x2d64], 0x42c80000
mov dword [edi + 0x2d5c], 0x42c80000
mov dword [edi + 0x2d70], 0
mov dword [edi + 0x2d68], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d40
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2d04], 1
imul eax, dword [edi + 0x2d04], 0xeb
add eax, 0x14
mov dword [edi + 0x2cf0], eax
mov dword [edi + 0x2cf8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2d08], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ad3b4
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x258c]
call fcn.10022fc0
push str.chams_history
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x130
call fcn.10022fc0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x31
push eax
lea ecx, [edi + 0x25c4]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x25f5], 1
push eax
lea ecx, [edi + 0x25fc]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x25f8], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d50
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x25a4], 1
imul eax, dword [edi + 0x25a4], 0xeb
add eax, 0x14
mov dword [edi + 0x2590], eax
mov dword [edi + 0x2598], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x25a8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
lea ecx, [ebp - 0x79]
call fcn.10037c50
push str.material
lea ecx, [ebp - 0x1f0]
mov esi, eax
call fcn.10022fc0
push str.flat
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0x132
call fcn.10022fc0
push str.metallic
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x33
call fcn.10022fc0
push str.gloss
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x34
call fcn.10022fc0
push str.glow
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x35
call fcn.10022fc0
push str.outline_glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x36
call fcn.10022fc0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x137
push eax
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10071e20
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.10071e70
push str.chams_enemy_history_mat
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x38
call fcn.10022fc0
push str.chams_history_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x39
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [edi + 0x2708]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2739], 1
push eax
lea ecx, [edi + 0x2740]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2739], al
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0x276c], eax
add eax, 0x14
mov dword [edi + 0x26e0], eax
mov dword [edi + 0x26e4], eax
call fcn.10045480
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100400c0
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x2758]
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x100568e6
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x100568d0
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
call fcn.10027950
test eax, eax
je 0x100568f9
mov dword [edi + 0x2768], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x54]
call fcn.100226a0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d50
lea esi, [edi + 0x26d0]
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x26e8], 1
imul eax, dword [edi + 0x26e8], 0xeb
add eax, 0x14
mov dword [edi + 0x26d4], eax
mov dword [edi + 0x26dc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x26ec], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_history_col
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x2770]
call fcn.10022fc0
push str.color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x13b
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [edi + 0x27e0]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x27a8]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x27f8], 0xff000000
mov dword [edi + 0x2810], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d50
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2788], 1
imul eax, dword [edi + 0x2788], 0xeb
add eax, 0x14
mov dword [edi + 0x2774], eax
mov dword [edi + 0x277c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x278c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x282c]
call fcn.100721f0
mov dword [ebp - 4], 0x13d
push str.chams_history_blend
lea ecx, [ebp - 0x44]
call fcn.10022fc0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x3e
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [edi + 0x2864]
call fcn.10022f40
lea eax, [ebp - 0x108]
mov byte [edi + 0x2895], 0
push eax
lea ecx, [edi + 0x28cc]
mov dword [edi + 0x28e4], 0
mov dword [edi + 0x283c], 7
mov dword [edi + 0x2840], 7
mov dword [edi + 0x28a0], 0
mov dword [edi + 0x28a4], 0x42c80000
mov dword [edi + 0x289c], 0x42c80000
mov dword [edi + 0x28b0], 0
mov dword [edi + 0x28a8], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d50
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2844], 1
imul eax, dword [edi + 0x2844], 0xeb
add eax, 0x14
mov dword [edi + 0x2830], eax
mov dword [edi + 0x2838], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2848], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ad430
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x28e8]
call fcn.10022fc0
push str.history_skeleton
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x140
call fcn.10022fc0
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [edi + 0x2920]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2951], 1
push eax
lea ecx, [edi + 0x2958]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x2954], 0
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d50
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2900], 1
imul eax, dword [edi + 0x2900], 0xeb
add eax, 0x14
mov dword [edi + 0x28ec], eax
mov dword [edi + 0x28f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2904], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.history_skeleton_col
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x2970]
call fcn.10022fc0
push str.color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x142
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0x29e0]
call fcn.10022f40
lea eax, [ebp - 0xd8]
push eax
lea ecx, [edi + 0x29a8]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x29f8], 0xffffffff
mov dword [edi + 0x2a10], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d50
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2988], 1
imul eax, dword [edi + 0x2988], 0xeb
add eax, 0x14
mov dword [edi + 0x2974], eax
mov dword [edi + 0x297c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x298c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_fake
lea ecx, [ebp - 0x15c]
lea esi, [edi + 0x2da8]
call fcn.10022fc0
push str.fake_chams
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x144
call fcn.10022fc0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x2de0]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2e11], 1
push eax
lea ecx, [edi + 0x2e18]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x2e14], 0
call fcn.10022f70
lea ecx, [ebp - 0x15c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d60
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2dc0], 1
imul eax, dword [edi + 0x2dc0], 0xeb
add eax, 0x14
mov dword [edi + 0x2dac], eax
mov dword [edi + 0x2db4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2dc4], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
lea ecx, [ebp - 0x29]
call fcn.10037c50
push str.material
lea ecx, [ebp - 0x1f0]
mov esi, eax
call fcn.10022fc0
push str.flat
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0x146
call fcn.10022fc0
push str.metallic
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x47
call fcn.10022fc0
push str.gloss
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x48
call fcn.10022fc0
push str.glow
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x49
call fcn.10022fc0
push str.outline_glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x4a
call fcn.10022fc0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x14b
push eax
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10071e20
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.10071e70
push str.chams_fake_mat
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x4c
call fcn.10022fc0
push str.chams_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x4d
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [edi + 0x2e68]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x2e99], 1
push eax
lea ecx, [edi + 0x2ea0]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2e99], al
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0x2ecc], eax
add eax, 0x14
mov dword [edi + 0x2e40], eax
mov dword [edi + 0x2e44], eax
call fcn.10045480
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100400c0
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x2eb8]
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x10056f39
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10056f23
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
call fcn.10027950
test eax, eax
je 0x10056f4c
mov dword [edi + 0x2ec8], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x54]
call fcn.100226a0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d60
lea esi, [edi + 0x2e30]
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2e48], 1
imul eax, dword [edi + 0x2e48], 0xeb
add eax, 0x14
mov dword [edi + 0x2e34], eax
mov dword [edi + 0x2e3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2e4c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_fake_col
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x2ed0]
call fcn.10022fc0
push str.color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x14f
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x50
push eax
lea ecx, [edi + 0x2f40]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x2f08]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x2f58], 0xff00c8ff
mov dword [edi + 0x2f70], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d60
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x2ee8], 1
imul eax, dword [edi + 0x2ee8], 0xeb
add eax, 0x14
mov dword [edi + 0x2ed4], eax
mov dword [edi + 0x2edc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2eec], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_fake_glow_col
lea ecx, [ebp - 0x108]
add edi, 0x2f8c
call fcn.10022fc0
mov dword [ebp - 4], 0x151
push str.glow_color
lea ecx, [ebp - 0x44]
call fcn.10022fc0
mov esi, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0x52
lea ecx, [esi + 0x2ffc]
call fcn.10022f40
lea eax, [ebp - 0x108]
push eax
lea ecx, [esi + 0x2fc4]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [esi + 0x3014], 0xff00c8ff
mov dword [esi + 0x302c], 0
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d60
push eax
lea ecx, [edi + 0x58]
call fcn.10037490
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d90
push eax
lea ecx, [edi + 0x58]
call fcn.10037490
mov dword [ebp - 0x1c], edi
mov edi, esi
mov dword [edi + 0x2fa4], 1
lea ecx, [edi + 0x18]
imul eax, dword [edi + 0x2fa4], 0xeb
add eax, 0x14
mov dword [edi + 0x2f90], eax
mov dword [edi + 0x2f98], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2fa8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x3048]
call fcn.100721f0
push str.chams_fake_blend
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x153
call fcn.10022fc0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x54
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [edi + 0x3080]
call fcn.10022f40
lea eax, [ebp - 0xf0]
mov byte [edi + 0x30b1], 0
push eax
lea ecx, [edi + 0x30e8]
mov dword [edi + 0x3100], 0
mov dword [edi + 0x3058], 7
mov dword [edi + 0x305c], 7
mov dword [edi + 0x30bc], 0
mov dword [edi + 0x30c0], 0x42c80000
mov dword [edi + 0x30b8], 0x42c80000
mov dword [edi + 0x30cc], 0
mov dword [edi + 0x30c4], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d60
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3060], 1
imul eax, dword [edi + 0x3060], 0xeb
add eax, 0x14
mov dword [edi + 0x304c], eax
mov dword [edi + 0x3054], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3064], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_shot
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x3104]
call fcn.10022fc0
push str.shot_chams
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x156
call fcn.10022fc0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x57
push eax
lea ecx, [edi + 0x313c]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x316d], 1
push eax
lea ecx, [edi + 0x3174]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x3170], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d70
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x311c], 1
imul eax, dword [edi + 0x311c], 0xeb
add eax, 0x14
mov dword [edi + 0x3108], eax
mov dword [edi + 0x3110], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3120], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
lea ecx, [ebp - 0x79]
call fcn.10037c50
push str.material
lea ecx, [ebp - 0x1f0]
mov esi, eax
call fcn.10022fc0
push str.flat
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0x158
call fcn.10022fc0
push str.metallic
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x59
call fcn.10022fc0
mov byte [ebp - 4], 0x5a
push str.gloss
lea ecx, [ebp - 0x1a8]
call fcn.10022fc0
push str.glow
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x5b
call fcn.10022fc0
push str.outline_glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x5c
call fcn.10022fc0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x15d
push eax
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10071e20
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.10071e70
push str.chams_shot_mat
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x5e
call fcn.10022fc0
push str.chams_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x5f
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [edi + 0x31c4]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x31f5], 1
push eax
lea ecx, [edi + 0x31fc]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x31f5], al
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0x3228], eax
add eax, 0x14
mov dword [edi + 0x319c], eax
mov dword [edi + 0x31a0], eax
call fcn.10045480
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100400c0
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x3214]
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x100574db
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x100574c5
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
call fcn.10027950
test eax, eax
je 0x100574ee
mov dword [edi + 0x3224], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x54]
call fcn.100226a0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d70
lea esi, [edi + 0x318c]
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x31a4], 1
imul eax, dword [edi + 0x31a4], 0xeb
add eax, 0x14
mov dword [edi + 0x3190], eax
mov dword [edi + 0x3198], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x31a8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.chams_shot_col
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x322c]
call fcn.10022fc0
push str.color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x161
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [edi + 0x329c]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x3264]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x32b4], 0xffffffff
mov dword [edi + 0x32cc], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d70
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3244], 1
imul eax, dword [edi + 0x3244], 0xeb
add eax, 0x14
mov dword [edi + 0x3230], eax
mov dword [edi + 0x3238], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3248], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x32e8]
call fcn.100721f0
mov dword [ebp - 4], 0x163
push str.chams_shot_blend
lea ecx, [ebp - 0x44]
call fcn.10022fc0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x64
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x65
push eax
lea ecx, [edi + 0x3320]
call fcn.10022f40
lea eax, [ebp - 0x108]
mov byte [edi + 0x3351], 0
push eax
lea ecx, [edi + 0x3388]
mov dword [edi + 0x33a0], 0
mov dword [edi + 0x32f8], 7
mov dword [edi + 0x32fc], 7
mov dword [edi + 0x335c], 0x3f800000
mov dword [edi + 0x3360], 0x437f0000
mov dword [edi + 0x3358], 0x437f0000
mov dword [edi + 0x336c], 0
mov dword [edi + 0x3364], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d70
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3300], 1
imul eax, dword [edi + 0x3300], 0xeb
add eax, 0x14
mov dword [edi + 0x32ec], eax
mov dword [edi + 0x32f4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3304], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac9d8
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x33a4]
call fcn.100721f0
push str.chams_shot_fadetime
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x166
call fcn.10022fc0
push str.fade_time
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x67
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x68
push eax
lea ecx, [edi + 0x33dc]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x340d], 1
push eax
lea ecx, [edi + 0x342c]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x340d], al
cmovne eax, ecx
mov dword [edi + 0x345c], eax
add eax, 7
mov dword [edi + 0x33b4], eax
lea ecx, [edi + 0x3444]
mov dword [edi + 0x33b8], eax
lea eax, [ebp - 0xf0]
push eax
mov dword [edi + 0x3418], 0
mov dword [edi + 0x341c], 0x41200000
mov dword [edi + 0x3414], 0x3e99999a
mov dword [edi + 0x3428], 1
mov dword [edi + 0x3420], 0x3dcccccd
call fcn.100721c0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d70
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x33bc], 1
imul eax, dword [edi + 0x33bc], 0xeb
add eax, 0x14
mov dword [edi + 0x33a8], eax
mov dword [edi + 0x33b0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x33c0], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ad548
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x351c]
call fcn.10022fc0
push str.weapon_chams
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x169
call fcn.10022fc0
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0x3554]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x3585], 1
push eax
lea ecx, [edi + 0x358c]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov byte [edi + 0x3588], 0
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d80
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3534], 1
imul eax, dword [edi + 0x3534], 0xeb
add eax, 0x14
mov dword [edi + 0x3520], eax
mov dword [edi + 0x3528], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3538], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
lea ecx, [ebp - 0x29]
call fcn.10037c50
mov esi, eax
push str.material
lea ecx, [ebp - 0x1f0]
call fcn.10022fc0
push str.flat
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 4], 0x16b
call fcn.10022fc0
push str.metallic
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0x6c
call fcn.10022fc0
push str.gloss
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 0x6d
call fcn.10022fc0
push str.glow
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x6e
call fcn.10022fc0
push str.outline_glow
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x6f
call fcn.10022fc0
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x170
push eax
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10071e20
push esi
lea ecx, [ebp - 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.10071e70
push str.weapon_chams_mat
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x71
call fcn.10022fc0
push str.weapon_material
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x72
call fcn.10022fc0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [edi + 0x35dc]
call fcn.10022f40
lea eax, [ebp - 0x44]
mov byte [edi + 0x360d], 1
push eax
lea ecx, [edi + 0x3614]
call fcn.10022f40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x360d], al
cmovne eax, ecx
lea ecx, [ebp - 0x54]
mov dword [edi + 0x3640], eax
add eax, 0x14
mov dword [edi + 0x35b4], eax
mov dword [edi + 0x35b8], eax
call fcn.10045480
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.100400c0
mov dword [ebp - 0x1c], eax
lea ecx, [edi + 0x362c]
mov dword [ebp - 0x20], ecx
cmp esi, eax
je 0x10057ad7
mov edi, ecx
push esi
mov ecx, edi
call fcn.10045490
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10057ac1
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x20]
call fcn.10027950
test eax, eax
je 0x10057aea
mov dword [edi + 0x363c], 0
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x54]
call fcn.100226a0
push fcn.10022f70
push 6
push 0x18
lea eax, [ebp - 0x1f0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009dfa2
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d80
lea esi, [edi + 0x35a4]
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x35bc], 1
imul eax, dword [edi + 0x35bc], 0xeb
add eax, 0x14
mov dword [edi + 0x35a8], eax
mov dword [edi + 0x35b0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x35c0], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.weapon_chams_col
lea ecx, [ebp - 0x12c]
lea esi, [edi + 0x3644]
call fcn.10022fc0
push str.weapon_color
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x174
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [edi + 0x36b4]
call fcn.10022f40
lea eax, [ebp - 0x12c]
push eax
lea ecx, [edi + 0x367c]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x36cc], 0xff000000
mov dword [edi + 0x36e4], 0
call fcn.10022f70
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d80
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x365c], 1
imul eax, dword [edi + 0x365c], 0xeb
add eax, 0x14
mov dword [edi + 0x3648], eax
mov dword [edi + 0x3650], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3660], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0x108]
lea esi, [edi + 0x37bc]
call fcn.100721f0
mov dword [ebp - 4], 0x176
push str.weapon_chams_blend
lea ecx, [ebp - 0x44]
call fcn.10022fc0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x77
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x78
push eax
lea ecx, [edi + 0x37f4]
call fcn.10022f40
lea eax, [ebp - 0x108]
mov byte [edi + 0x3825], 0
push eax
lea ecx, [edi + 0x385c]
mov dword [edi + 0x3874], 0
mov dword [edi + 0x37cc], 7
mov dword [edi + 0x37d0], 7
mov dword [edi + 0x3830], 0x3f800000
mov dword [edi + 0x3834], 0x437f0000
mov dword [edi + 0x382c], 0x437f0000
mov dword [edi + 0x3840], 0
mov dword [edi + 0x3838], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d80
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x37d4], 1
imul eax, dword [edi + 0x37d4], 0xeb
add eax, 0x14
mov dword [edi + 0x37c0], eax
mov dword [edi + 0x37c8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x37d8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push str.weapon_chams_col2
lea ecx, [ebp - 0xf0]
lea esi, [edi + 0x3700]
call fcn.10022fc0
push str.weapon_color_2
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x179
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x7a
push eax
lea ecx, [edi + 0x3770]
call fcn.10022f40
lea eax, [ebp - 0xf0]
push eax
lea ecx, [edi + 0x3738]
call fcn.10022f40
lea ecx, [ebp - 0x44]
mov dword [edi + 0x3788], 0xffffffff
mov dword [edi + 0x37a0], 0
call fcn.10022f70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.10022f70
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d80
lea ecx, [esi + 0x58]
push eax
call fcn.10037490
mov dword [ebp - 0x1c], esi
lea ecx, [edi + 0x18]
mov dword [edi + 0x3718], 1
imul eax, dword [edi + 0x3718], 0xeb
add eax, 0x14
mov dword [edi + 0x3704], eax
mov dword [edi + 0x370c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x371c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10071e40
push 0x100ac564
lea ecx, [ebp - 0xd8]
lea esi, [edi + 0x3878]
call fcn.100721f0
push str.weapon_chams_blend2
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x17b
call fcn.10022fc0
push 0x100aa68e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x7c
call fcn.10022fc0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [edi + 0x38b0]
call fcn.10022f40
lea eax, [ebp - 0xd8]
mov byte [edi + 0x38e1], 0
push eax
lea ecx, [edi + 0x3918]
mov dword [edi + 0x3930], 0
mov dword [edi + 0x3888], 7
mov dword [edi + 0x388c], 7
mov dword [edi + 0x38ec], 0x3f800000
mov dword [edi + 0x38f0], 0x437f0000
mov dword [edi + 0x38e8], 0x437f0000
mov dword [edi + 0x38fc], 0
mov dword [edi + 0x38f4], 0x3f800000
call fcn.100721c0
lea ecx, [ebp - 0x78]
call fcn.10022f70
lea ecx, [ebp - 0x44]
call fcn.10022f70
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 0xffffffff
call fcn.10045790
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x10025d80
push eax
lea ecx, [edi + 0x38d0]
call fcn.10037490
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.10071e40
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.1009df56
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret