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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a2977
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1f0
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 - 0x54], edi
push 7
push str.players
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
call fcn.1001e490
lea eax, [ebp - 0x80]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1004eb4b
cmp dword [ebp - 0x6c], 0x10
mov ecx, edi
push dword [ebp - 0x70]
cmovae eax, dword [ebp - 0x80]
push eax
call fcn.10022b40
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x1004eb86
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004eb7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
push 5
push str.enemy
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x98]
push 8
push str.friendly
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 2
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34]
push 3
push 0x100ac68c
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4c]
push 5
push str.boxes
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004ec8c
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004ecb1
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
mov esi, dword [ebp - 0x68]
xor eax, eax
cmp byte [edi + 0x99], al
mov ecx, 0xf
cmovne eax, ecx
mov dword [edi + 0xd4], eax
add eax, 0x14
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x50], eax
cmp esi, eax
je 0x1004ed16
lea ecx, [edi + 0xb8]
mov eax, dword [edi + 0xbc]
push esi
cmp eax, dword [edi + 0xc0]
je 0x1004ed02
mov ecx, eax
call fcn.10022880
add dword [edi + 0xbc], 0x18
jmp 0x1004ed08
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0xb8]
cmp esi, dword [ebp - 0x50]
jne 0x1004ece3
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004ed4a
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ed40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004ed74
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x1004ed84
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004ed7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004ed7a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x48], 0
lea edx, [edi + 0x30]
mov dword [edi + 0x34], 0x14
mov dword [edi + 0x3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4c], eax
lea eax, [edi + 0x18]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x50], eax
cmp ecx, dword [eax + 8]
je 0x1004eddf
mov dword [ecx], edx
add dword [eax + 4], 4
jmp 0x1004edeb
lea edx, [ebp - 0x1c]
push edx
push ecx
mov ecx, eax
call fcn.1001e880
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x4c]
push 9
push str.box_enemy
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x34]
push 0xf
push str.box_enemy_color
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
lea ecx, [edi + 0x148]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004ee62
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
lea ecx, [edi + 0x110]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004ee80
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x160], esi
mov dword [edi + 0x164], 0
cmp ecx, 0x10
jb 0x1004eec8
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004eebe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004ef03
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004eef9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0xf0], 0
lea edx, [edi + 0xd8]
mov dword [edi + 0xdc], 0x14
mov dword [edi + 0xe4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf4], eax
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0x1c], edx
cmp ecx, dword [edi + 0x20]
je 0x1004ef43
mov dword [ecx], edx
add dword [edi + 0x1c], 4
jmp 0x1004ef50
lea edx, [ebp - 0x1c]
push edx
push ecx
lea ecx, [edi + 0x18]
call fcn.1001e880
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x4c]
push 0xc
push str.box_friendly
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x34]
push 0x12
push str.box_friendly_color
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
lea ecx, [edi + 0x1d8]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004efc7
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
lea ecx, [edi + 0x1a0]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004efe5
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x1f0], esi
mov dword [edi + 0x1f4], 0
cmp ecx, 0x10
jb 0x1004f02d
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f023
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004f068
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f05e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0x180], 0
lea ecx, [edi + 0x168]
mov dword [edi + 0x16c], 0x14
mov dword [edi + 0x174], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x184], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 0x20]
je 0x1004f0a8
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004f0b5
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e880
push 7
push str.dormant
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x34]
push 0xf
push str.dormant_enemies
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
lea ecx, [edi + 0x230]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004f126
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x268]
mov byte [edi + 0x261], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004f14b
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x264], 0
cmp ecx, 0x10
jb 0x1004f18a
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f180
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004f1c5
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f1bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0x210], 0
lea ecx, [edi + 0x1f8]
mov dword [edi + 0x1fc], 0x14
mov dword [edi + 0x204], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x214], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 0x20]
je 0x1004f205
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004f212
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e880
push 9
push str.offscreen
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x34]
push 0x13
push str.enemy_offscreen_esp
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
lea ecx, [edi + 0x2b8]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004f283
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x2f0]
mov byte [edi + 0x2e9], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004f2a8
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x20]
mov byte [edi + 0x2ec], 0
cmp ecx, 0x10
jb 0x1004f2e7
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f2dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004f322
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f318
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0x298], 0
lea ecx, [edi + 0x280]
mov dword [edi + 0x284], 0x14
mov dword [edi + 0x28c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x29c], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 0x20]
je 0x1004f362
mov dword [eax], ecx
add dword [edi + 0x1c], 4
jmp 0x1004f36f
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.1001e880
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x4c]
push 0xf
push str.offscreen_color
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x34]
push 0x13
push str.offscreen_esp_color
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
lea ecx, [edi + 0x378]
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004f3e6
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
lea ecx, [edi + 0x340]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004f404
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x390], esi
mov dword [edi + 0x394], 0
cmp ecx, 0x10
jb 0x1004f44c
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f442
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004f487
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f47d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0x320], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x30c], 0x14
lea ecx, [edi + 0x308]
mov dword [edi + 0x314], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x324], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x1004f4ca
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004f4d6
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 5
push str.enemy
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x98]
push 8
push str.friendly
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x12
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x4c]
push 4
push str.name
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x34]
push 4
push str.name
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x3d0]
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004f5df
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x408]
mov byte [edi + 0x401], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004f604
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x401], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x43c], eax
add eax, 0x14
mov dword [edi + 0x3a8], eax
mov dword [edi + 0x3ac], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x18], ecx
cmp eax, ecx
je 0x1004f676
lea ecx, [edi + 0x420]
mov esi, eax
nop
mov eax, dword [edi + 0x424]
push esi
cmp eax, dword [edi + 0x428]
je 0x1004f65f
mov ecx, eax
call fcn.10022880
add dword [edi + 0x424], 0x18
jmp 0x1004f665
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x420]
cmp esi, dword [ebp - 0x18]
jne 0x1004f640
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x1004f6aa
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f6a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f6d4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004f6e4
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f6da
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004f6da
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x3b0], 0
lea ecx, [edi + 0x398]
mov dword [edi + 0x39c], 0x14
mov dword [edi + 0x3a4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3b4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x1004f748
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004f754
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x4c]
push 0xa
push str.name_color
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x34]
push 0xa
push 0x100ac748
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
lea ecx, [edi + 0x4b0]
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004f7cb
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
lea ecx, [edi + 0x478]
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004f7e9
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x4c8], esi
mov dword [edi + 0x4cc], 0
cmp ecx, 0x10
jb 0x1004f82d
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f823
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004f85a
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004f86a
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004f860
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004f860
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0x458], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x444], 0x14
lea ecx, [edi + 0x440]
mov dword [edi + 0x44c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x45c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x1004f8ad
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004f8b9
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 5
push str.enemy
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x98]
push 8
push str.friendly
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x1a
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x4c]
push 6
push str.health
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x34]
push 6
push str.health
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x508]
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004f9c2
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x540]
mov byte [edi + 0x539], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004f9e7
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x539], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x574], eax
add eax, 0x14
mov dword [edi + 0x4e0], eax
mov dword [edi + 0x4e4], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x1004fa57
lea ecx, [edi + 0x558]
mov esi, eax
mov eax, dword [edi + 0x55c]
push esi
cmp eax, dword [edi + 0x560]
je 0x1004fa40
mov ecx, eax
call fcn.10022880
add dword [edi + 0x55c], 0x18
jmp 0x1004fa46
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x558]
cmp esi, dword [ebp - 0x1c]
jne 0x1004fa21
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x1004fa8b
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fa81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004fab5
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004fac5
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fabb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004fabb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x4e8], 0
lea ecx, [edi + 0x4d0]
mov dword [edi + 0x4d4], 0x14
mov dword [edi + 0x4dc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4ec], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x1004fb29
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004fb35
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 5
push str.money
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
call fcn.1001e490
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x158]
push 5
push str.armor
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
call fcn.1001e490
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x140]
push 6
push str.scoped
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x128]
push 7
push str.flashed
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
call fcn.1001e490
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x110]
push 9
push str.reloading
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
call fcn.1001e490
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xf8]
push 4
push str.bomb
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
call fcn.1001e490
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xe0]
push 4
push str.ping
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.1001e490
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xc8]
push 4
push str.fake
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.1001e490
lea ecx, [ebp - 0x170]
mov dword [ebp - 4], 0x26
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x27
push 0xb
push str.flags_enemy
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x34]
push 0xb
push 0x100ac7a4
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x5b0]
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x1004fd79
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x5e8]
mov byte [edi + 0x5e1], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x1004fd9e
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x5e1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x61c], eax
add eax, 0x14
mov dword [edi + 0x588], eax
mov dword [edi + 0x58c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x1004fe16
lea ecx, [edi + 0x600]
mov esi, eax
nop dword [eax + eax]
mov eax, dword [edi + 0x604]
push esi
cmp eax, dword [edi + 0x608]
je 0x1004fdff
mov ecx, eax
call fcn.10022880
add dword [edi + 0x604], 0x18
jmp 0x1004fe05
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x600]
cmp esi, dword [ebp - 0x1c]
jne 0x1004fde0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x1004fe4a
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fe40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004fe74
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x1004fe84
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004fe7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004fe7a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 8
push 0x18
lea eax, [ebp - 0x170]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x590], 0
lea ecx, [edi + 0x578]
mov dword [edi + 0x57c], 0x14
mov dword [edi + 0x584], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x594], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x1004fee8
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1004fef4
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 5
push str.money
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
call fcn.1001e490
mov dword [ebp - 4], 0x2b
lea ecx, [ebp - 0x140]
push 5
push str.armor
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x128]
push 6
push str.scoped
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
call fcn.1001e490
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x110]
push 7
push str.flashed
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
call fcn.1001e490
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xf8]
push 9
push str.reloading
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
call fcn.1001e490
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xe0]
push 4
push str.bomb
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.1001e490
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0xc8]
push 4
push str.ping
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.1001e490
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], 0x31
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x4c]
push 0xe
push str.flags_friendly
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov byte [ebp - 4], 0x33
push 0xe
push 0x100ac7bc
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x658]
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x10050104
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x690]
mov byte [edi + 0x689], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x10050129
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x689], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x6c4], eax
add eax, 0x14
mov dword [edi + 0x630], eax
mov dword [edi + 0x634], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10050199
lea ecx, [edi + 0x6a8]
mov esi, eax
mov eax, dword [edi + 0x6ac]
push esi
cmp eax, dword [edi + 0x6b0]
je 0x10050182
mov ecx, eax
call fcn.10022880
add dword [edi + 0x6ac], 0x18
jmp 0x10050188
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x6a8]
cmp esi, dword [ebp - 0x1c]
jne 0x10050163
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x100501cd
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100501c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100501f7
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x10050207
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100501fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100501fd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 7
push 0x18
lea eax, [ebp - 0x158]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x638], 0
lea ecx, [edi + 0x620]
mov dword [edi + 0x624], 0x14
mov dword [edi + 0x62c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x63c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x1005026b
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10050277
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 5
push str.enemy
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov dword [ebp - 4], 0x36
lea ecx, [ebp - 0x98]
push 8
push str.friendly
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x37
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x4c]
push 6
push str.weapon
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x34]
push 6
push str.weapon
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x700]
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x4c]
cmp ecx, eax
je 0x10050380
cmp dword [ebp - 0x38], 0x10
push dword [ebp - 0x3c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.10022b40
lea ecx, [edi + 0x738]
mov byte [edi + 0x731], 1
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x100503a5
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x731], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x76c], eax
add eax, 0x14
mov dword [edi + 0x6d8], eax
mov dword [edi + 0x6dc], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10050416
lea ecx, [edi + 0x750]
mov esi, eax
nop
mov eax, dword [edi + 0x754]
push esi
cmp eax, dword [edi + 0x758]
je 0x100503ff
mov ecx, eax
call fcn.10022880
add dword [edi + 0x754], 0x18
jmp 0x10050405
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x750]
cmp esi, dword [ebp - 0x1c]
jne 0x100503e0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x1005044a
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10050440
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10050474
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x10050484
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005047a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005047a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x6e0], 0
lea ecx, [edi + 0x6c8]
mov dword [edi + 0x6cc], 0x14
mov dword [edi + 0x6d4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x6e4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 8]
je 0x100504e8
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x100504f4
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 4
push str.text
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov dword [ebp - 4], 0x3c
lea ecx, [ebp - 0x98]
push 4
push str.icon
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x3d
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x34]
push 0xb
push str.weapon_mode
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x4c]
push 0
push 0x100a95f1
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.1001e490
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea ecx, [edi + 0x7a8]
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x34]
cmp ecx, eax
je 0x100505fd
cmp dword [ebp - 0x20], 0x10
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.10022b40
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
mov byte [edi + 0x7d9], 0
mov dword [edi + 0x814], 0
mov dword [edi + 0x780], 0x14
mov dword [edi + 0x784], 0x14
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10050676
lea ecx, [edi + 0x7f8]
mov esi, eax
nop word [eax + eax]
mov eax, dword [edi + 0x7fc]
push esi
cmp eax, dword [edi + 0x800]
je 0x1005065f
mov ecx, eax
call fcn.10022880
add dword [edi + 0x7fc], 0x18
jmp 0x10050665
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x7f8]
cmp esi, dword [ebp - 0x1c]
jne 0x10050640
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x100506aa
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100506a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100506d4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x10
jb 0x100506e4
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100506da
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100506da
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x788], 0
lea eax, [edi + 0x770]
mov dword [edi + 0x774], 0x14
mov dword [edi + 0x77c], 0xaf
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x78c], eax
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x1005074d
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.10072e10
jmp 0x10050759
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push str.distance
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x8a0]
call fcn.1001dd80
push str.distance
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x42
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [edi + 0x8d8]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x909], 1
push eax
lea ecx, [edi + 0x910]
call fcn.100386a0
lea ecx, [ebp - 0x34]
mov byte [edi + 0x90c], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 0
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.ammo
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x818]
call fcn.1001dd80
push str.ammo
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x44
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x850]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x881], 1
push eax
lea ecx, [edi + 0x888]
call fcn.100386a0
lea ecx, [ebp - 0x34]
mov byte [edi + 0x884], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 0
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
mov esi, dword [0x100aa890]
lea ecx, [ebp - 0x4c]
push 0x100ac800
add edi, 0x928
call fcn.1001dd80
mov dword [ebp - 4], 0x46
lea ecx, [ebp - 0x34]
push str.color
call fcn.1001dd80
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x34]
push eax
add ecx, 0x998
mov byte [ebp - 4], 0x47
call fcn.100386a0
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ecx + 0x960]
call fcn.100386a0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x34]
mov dword [eax + 0x9b0], esi
mov dword [eax + 0x9b4], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0x14
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.10072420
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x4c]
push 0x100ac814
lea esi, [edi + 0x9b8]
call fcn.1001dd80
push str.lby_update
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x48
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x49
push eax
lea ecx, [edi + 0x9f0]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0xa21], 1
push eax
lea ecx, [edi + 0xa28]
call fcn.100386a0
lea ecx, [ebp - 0x34]
mov byte [edi + 0xa24], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 0
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0x14
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
mov esi, dword [0x100aa8a4]
lea ecx, [ebp - 0x4c]
push str.lby_update_color
add edi, 0xa40
call fcn.1001dd80
push str.color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x4a
call fcn.1001dd80
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x34]
push eax
lea ecx, [ecx + 0xab0]
call fcn.100386a0
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ecx + 0xa78]
call fcn.100386a0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x34]
mov dword [eax + 0xac8], esi
mov dword [eax + 0xacc], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov ecx, esi
mov dword [edi + 0x18], 0
mov dword [edi + 4], 0x14
mov dword [edi + 0xc], 0xaf
mov eax, dword [eax + 0x2c]
mov dword [edi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.10072420
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x1b8]
push str.enemy
call fcn.1001dd80
push str.friendly
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 4], 0x4c
call fcn.1001dd80
push str.backtrack
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x4d
call fcn.1001dd80
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 4], 0x4e
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.10072450
push str.skeleton
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x4f
call fcn.1001dd80
push str.skeleton
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x50
call fcn.1001dd80
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [edi + 0xb08]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0xb39], 1
push eax
lea ecx, [edi + 0xb40]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xb39], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x70]
mov dword [edi + 0xb74], eax
add eax, 0x14
mov dword [edi + 0xae0], eax
mov dword [edi + 0xae4], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10050b96
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0xb58]
mov edi, eax
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10050b80
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x68]
call fcn.1001d230
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x74]
call fcn.1003fc20
push fcn.1001dd30
push 3
push 0x18
lea eax, [ebp - 0x1b8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0xae8], 1
lea eax, [edi + 0xad0]
mov dword [edi + 0xad4], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xadc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xaec], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.skeleton_enemy
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0xb78]
call fcn.1001dd80
push str.enemy_color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x53
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x54
push eax
lea ecx, [edi + 0xbe8]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0xbb0]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0xc00], eax
mov dword [edi + 0xc04], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.skeleton_friendly
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0xc98]
call fcn.1001dd80
push str.friendly_color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x55
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x56
push eax
lea ecx, [edi + 0xd08]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0xcd0]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0xd20], eax
mov dword [edi + 0xd24], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.skeleton_backtrack
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0xc08]
call fcn.1001dd80
push str.backtrack_color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x57
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x58
push eax
lea ecx, [edi + 0xc78]
mov dword [ebp - 0x1c], 0xffffffff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0xc40]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0xc90], eax
mov dword [edi + 0xc94], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 1
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.10072420
push str.enemy
lea ecx, [ebp - 0xb0]
call fcn.1001dd80
push str.friendly
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x59
call fcn.1001dd80
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x5a
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x4c]
push str.glow
call fcn.1001dd80
push str.glow
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x5c
call fcn.1001dd80
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [edi + 0xd60]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0xd91], 1
push eax
lea ecx, [edi + 0xd98]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xd91], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0xdcc], eax
add eax, 0x14
mov dword [edi + 0xd38], eax
mov dword [edi + 0xd3c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10050ef6
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0xdb0]
mov dword [ebp - 0x50], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10050ee0
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x78]
call fcn.1001d230
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0xd40], 1
lea eax, [edi + 0xd28]
mov dword [edi + 0xd2c], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xd34], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd44], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.glow_enemy
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0xdd0]
call fcn.1001dd80
push str.enemy_color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x5f
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [edi + 0xe40]
mov dword [ebp - 0x1c], 0xff783cb4
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0xe08]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0xe58], eax
mov dword [edi + 0xe5c], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.glow_friendly
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0xe60]
call fcn.1001dd80
push str.friendly_color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x61
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [edi + 0xed0]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0xe98]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0xee8], eax
mov dword [edi + 0xeec], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [esi + 0x18], 1
lea ecx, [edi + 0x18]
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push 0x100abef8
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0xef0]
call fcn.10072760
push str.glow_blend
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x63
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x64
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x65
push eax
lea ecx, [edi + 0xf28]
call fcn.100386a0
mov byte [edi + 0xf59], 0
lea eax, [ebp - 0x4c]
mov dword [edi + 0xfa8], 0
lea ecx, [edi + 0xf90]
mov dword [edi + 0xf00], 8
mov dword [edi + 0xf04], 8
mov dword [edi + 0xf64], 0x41200000
mov dword [edi + 0xf68], 0x42c80000
mov dword [edi + 0xf60], 0x42700000
mov dword [edi + 0xf74], 0
push eax
mov dword [edi + 0xf6c], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x80]
call fcn.1001dd30
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
mov dword [esi + 0x18], 1
mov dword [esi + 4], 0xff
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
push eax
mov ecx, esi
call fcn.10072420
push str.enemy
lea ecx, [ebp - 0x1d0]
call fcn.1001dd80
push str.enemy___history
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 4], 0x66
call fcn.1001dd80
push str.friendly
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x67
call fcn.1001dd80
push str.local
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x68
call fcn.1001dd80
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 4], 0x69
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.10072450
push str.chams_selection
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x6a
call fcn.1001dd80
push 0x100ac90c
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x6b
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x6c
push eax
lea ecx, [edi + 0xfe4]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x1015], 1
push eax
lea ecx, [edi + 0x101c]
call fcn.100386a0
mov edx, dword [ebp - 0x70]
xor eax, eax
cmp byte [edi + 0x1015], al
mov ecx, 0xf
mov dword [ebp - 0x1c], edx
cmovne eax, ecx
lea ecx, [edi + 0x1034]
mov dword [edi + 0x1048], eax
add eax, 0x14
mov dword [edi + 0xfbc], eax
mov dword [edi + 0xfc0], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], ecx
cmp eax, edx
je 0x100512c1
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x100512a8
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
lea esi, [edi + 0x18]
call fcn.100227b0
test eax, eax
je 0x100512d4
mov dword [edi + 0x1044], 0
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x74]
call fcn.1003fc20
push fcn.1001dd30
push 4
push 0x18
lea eax, [ebp - 0x1d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0xfc4], 1
lea eax, [edi + 0xfac]
mov dword [edi + 0xfb0], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xfb8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xfc8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.visible
lea ecx, [ebp - 0xb0]
call fcn.1001dd80
push str.invisible
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x6d
call fcn.1001dd80
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x6e
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
push str.chams_enemy
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x6f
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x70
call fcn.1001dd80
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x72
push eax
lea ecx, [edi + 0x1084]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x10b5], 1
push eax
lea ecx, [edi + 0x10bc]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x10b5], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x10f0], eax
add eax, 0x14
mov dword [edi + 0x105c], eax
mov dword [edi + 0x1060], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x1005143d
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x10d4]
mov dword [ebp - 0x1c], eax
mov edi, ecx
push esi
mov ecx, eax
call fcn.1003f7d0
mov eax, dword [ebp - 0x1c]
add esi, 0x18
cmp esi, edi
jne 0x10051425
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x78]
call fcn.1001d230
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f50
lea ecx, [edi + 0x10a4]
push eax
call fcn.10072420
mov dword [edi + 0x1064], 1
lea eax, [edi + 0x104c]
mov dword [edi + 0x1050], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1058], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1068], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.texture
lea ecx, [ebp - 0x200]
call fcn.1001dd80
push str.flat
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 4], 0x73
call fcn.1001dd80
push str.metallic
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0x74
call fcn.1001dd80
push str.glow
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x75
call fcn.1001dd80
push str.wireframe
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x76
call fcn.1001dd80
push str.metallic2
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x77
call fcn.1001dd80
lea ecx, [ebp - 0x200]
mov dword [ebp - 4], 0x78
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.10072450
push str.chams_enemy_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x79
call fcn.1001dd80
push str.material
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x7a
call fcn.1001dd80
mov byte [ebp - 4], 0x7b
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x112c]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x115d], 1
push eax
lea ecx, [edi + 0x1164]
call fcn.100386a0
mov edx, dword [ebp - 0x70]
xor eax, eax
cmp byte [edi + 0x115d], al
mov ecx, 0xf
mov dword [ebp - 0x1c], edx
cmovne eax, ecx
lea ecx, [edi + 0x117c]
mov dword [edi + 0x1190], eax
add eax, 0x14
mov dword [edi + 0x1104], eax
mov dword [edi + 0x1108], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], ecx
cmp eax, edx
je 0x10051609
mov esi, eax
mov edi, ecx
nop dword [eax]
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x100515f0
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
lea esi, [edi + 0x18]
call fcn.100227b0
test eax, eax
je 0x1005161c
mov dword [edi + 0x118c], 0
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x74]
call fcn.1003fc20
push fcn.1001dd30
push 6
push 0x18
lea eax, [ebp - 0x200]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f50
lea ecx, [edi + 0x114c]
push eax
call fcn.10072420
mov dword [edi + 0x110c], 1
lea eax, [edi + 0x10f4]
mov dword [edi + 0x10f8], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1100], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1110], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.chams_enemy_vis
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1194]
call fcn.1001dd80
push str.visible
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x7c
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x7d
push eax
lea ecx, [edi + 0x1204]
mov dword [ebp - 0x1c], 0xff3cc896
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x11cc]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0x121c], eax
mov dword [edi + 0x1220], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f50
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x11ac], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1198], 0xff
mov dword [edi + 0x11a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x11b0], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.chams_enemy_invis
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1224]
call fcn.1001dd80
push str.invisible
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x7e
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x7f
push eax
lea ecx, [edi + 0x1294]
mov dword [ebp - 0x1c], 0xffe1b43c
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x125c]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0x12ac], eax
mov dword [edi + 0x12b0], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f50
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x123c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1228], 0xff
mov dword [edi + 0x1230], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1240], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push 0x100abef8
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x12b4]
call fcn.10072760
push str.chams_enemy_blend
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x80
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x81
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x82
push eax
lea ecx, [edi + 0x12ec]
call fcn.100386a0
mov byte [edi + 0x131d], 0
lea eax, [ebp - 0x4c]
mov dword [edi + 0x136c], 0
lea ecx, [edi + 0x1354]
mov dword [edi + 0x12c4], 8
mov dword [edi + 0x12c8], 8
mov dword [edi + 0x1328], 0x3f800000
mov dword [edi + 0x132c], 0x42c80000
mov dword [edi + 0x1324], 0x42c80000
mov dword [edi + 0x1338], 0
push eax
mov dword [edi + 0x1330], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x80]
call fcn.1001dd30
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f50
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [ebp - 0x18], esi
mov dword [edi + 0x12cc], 1
mov dword [edi + 0x12b8], 0xff
lea ecx, [edi + 0x18]
mov dword [edi + 0x12c0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x12d0], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.chams_history
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1370]
call fcn.1001dd80
push str.enable
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x83
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x84
push eax
lea ecx, [edi + 0x13a8]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x13d9], 1
push eax
lea ecx, [edi + 0x13e0]
call fcn.100386a0
lea ecx, [ebp - 0x34]
mov byte [edi + 0x13dc], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f60
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x1388], 1
mov dword [edi + 0x1374], 0xff
mov dword [edi + 0x137c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x138c], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.texture
lea ecx, [ebp - 0x140]
call fcn.1001dd80
push str.flat
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0x85
call fcn.1001dd80
push str.metallic
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x86
call fcn.1001dd80
push str.glow
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x87
call fcn.1001dd80
push str.wireframe
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x88
call fcn.1001dd80
push str.metallic2
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x89
call fcn.1001dd80
mov dword [ebp - 4], 0x8a
lea ecx, [ebp - 0x140]
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.10072450
push str.chams_enemy_history_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x8b
call fcn.1001dd80
push str.material
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x8c
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x8d
push eax
lea ecx, [edi + 0x1430]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x1461], 1
push eax
lea ecx, [edi + 0x1468]
call fcn.100386a0
mov edx, dword [ebp - 0x70]
xor eax, eax
cmp byte [edi + 0x1461], al
mov ecx, 0xf
mov dword [ebp - 0x1c], edx
cmovne eax, ecx
lea ecx, [edi + 0x1480]
mov dword [edi + 0x1494], eax
add eax, 0x14
mov dword [edi + 0x1408], eax
mov dword [edi + 0x140c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], ecx
cmp eax, edx
je 0x10051b31
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10051b18
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
lea esi, [edi + 0x18]
call fcn.100227b0
test eax, eax
je 0x10051b44
mov dword [edi + 0x1490], 0
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x74]
call fcn.1003fc20
push fcn.1001dd30
push 6
push 0x18
lea eax, [ebp - 0x140]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f60
lea ecx, [edi + 0x1450]
push eax
call fcn.10072420
mov dword [edi + 0x1410], 1
lea eax, [edi + 0x13f8]
mov dword [edi + 0x13fc], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1404], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1414], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.chams_history_col
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1498]
call fcn.1001dd80
push str.color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x8e
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x8f
push eax
lea ecx, [edi + 0x1508]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x14d0]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0x1520], eax
mov dword [edi + 0x1524], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f60
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x14b0], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x149c], 0xff
mov dword [edi + 0x14a4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x14b4], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push 0x100abef8
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1528]
call fcn.10072760
push str.chams_history_blend
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x90
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x91
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x92
push eax
lea ecx, [edi + 0x1560]
call fcn.100386a0
mov byte [edi + 0x1591], 0
lea eax, [ebp - 0x4c]
mov dword [edi + 0x15e0], 0
lea ecx, [edi + 0x15c8]
mov dword [edi + 0x1538], 8
mov dword [edi + 0x153c], 8
mov dword [edi + 0x159c], 0x3f800000
mov dword [edi + 0x15a0], 0x42c80000
mov dword [edi + 0x1598], 0x42c80000
mov dword [edi + 0x15ac], 0
push eax
mov dword [edi + 0x15a4], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x80]
call fcn.1001dd30
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f60
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x1540], 1
mov dword [edi + 0x152c], 0xff
mov dword [edi + 0x1534], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1544], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.visible
lea ecx, [ebp - 0xb0]
call fcn.1001dd80
push str.invisible
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x93
call fcn.1001dd80
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x94
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10072450
push str.chams_friendly
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x95
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x96
call fcn.1001dd80
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov byte [ebp - 4], 0x98
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x161c]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x164d], 1
push eax
lea ecx, [edi + 0x1654]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x164d], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x64]
mov dword [edi + 0x1688], eax
add eax, 0x14
mov dword [edi + 0x15f4], eax
mov dword [edi + 0x15f8], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10051ea6
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x166c]
mov dword [ebp - 0x50], eax
mov edi, eax
nop dword [eax]
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10051e90
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x78]
call fcn.1001d230
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x68]
call fcn.1003fc20
push fcn.1001dd30
push 2
push 0x18
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f70
lea ecx, [edi + 0x163c]
push eax
call fcn.10072420
mov dword [edi + 0x15fc], 1
lea eax, [edi + 0x15e4]
mov dword [edi + 0x15e8], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x15f0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1600], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.texture
lea ecx, [ebp - 0x140]
call fcn.1001dd80
push str.flat
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0x99
call fcn.1001dd80
push str.metallic
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x9a
call fcn.1001dd80
push str.glow
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x9b
call fcn.1001dd80
push str.wireframe
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x9c
call fcn.1001dd80
push str.metallic2
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x9d
call fcn.1001dd80
lea ecx, [ebp - 0x140]
mov dword [ebp - 4], 0x9e
push ecx
lea eax, [ebp - 0xb0]
push eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.10072450
push str.chams_friendly_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x9f
call fcn.1001dd80
push str.material
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa0
call fcn.1001dd80
mov byte [ebp - 4], 0xa1
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x16c4]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x16f5], 1
push eax
lea ecx, [edi + 0x16fc]
call fcn.100386a0
mov edx, dword [ebp - 0x70]
xor eax, eax
cmp byte [edi + 0x16f5], al
mov ecx, 0xf
mov dword [ebp - 0x1c], edx
cmovne eax, ecx
lea ecx, [edi + 0x1714]
mov dword [edi + 0x1728], eax
add eax, 0x14
mov dword [edi + 0x169c], eax
mov dword [edi + 0x16a0], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], ecx
cmp eax, edx
je 0x1005206b
mov esi, eax
mov edi, ecx
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10052052
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
lea esi, [edi + 0x18]
call fcn.100227b0
test eax, eax
je 0x1005207e
mov dword [edi + 0x1724], 0
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x74]
call fcn.1003fc20
push fcn.1001dd30
push 6
push 0x18
lea eax, [ebp - 0x140]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f70
lea ecx, [edi + 0x16e4]
push eax
call fcn.10072420
mov dword [edi + 0x16a4], 1
lea eax, [edi + 0x168c]
mov dword [edi + 0x1690], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x1698], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x16a8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.chams_friendly_vis
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x172c]
call fcn.1001dd80
push str.visible
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xa2
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xa3
push eax
lea ecx, [edi + 0x179c]
mov dword [ebp - 0x1c], 0xff00c8ff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x1764]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0x17b4], eax
mov dword [edi + 0x17b8], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f70
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x1744], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1730], 0xff
mov dword [edi + 0x1738], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1748], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.chams_friendly_invis
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x17bc]
call fcn.1001dd80
push str.invisible
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xa4
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xa5
push eax
lea ecx, [edi + 0x182c]
mov dword [ebp - 0x1c], 0xff0032ff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x17f4]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0x1844], eax
mov dword [edi + 0x1848], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f70
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x17d4], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x17c0], 0xff
mov dword [edi + 0x17c8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x17d8], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push 0x100abef8
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x184c]
call fcn.10072760
push str.chams_friendly_blend
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xa6
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xa7
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xa8
push eax
lea ecx, [edi + 0x1884]
call fcn.100386a0
mov byte [edi + 0x18b5], 0
lea eax, [ebp - 0x4c]
mov dword [edi + 0x1904], 0
lea ecx, [edi + 0x18ec]
mov dword [edi + 0x185c], 8
mov dword [edi + 0x1860], 8
mov dword [edi + 0x18c0], 0x3f800000
mov dword [edi + 0x18c4], 0x42c80000
mov dword [edi + 0x18bc], 0x42c80000
mov dword [edi + 0x18d0], 0
push eax
mov dword [edi + 0x18c8], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x80]
call fcn.1001dd30
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f70
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [ebp - 0x18], esi
mov dword [edi + 0x1864], 1
mov dword [edi + 0x1850], 0xff
lea ecx, [edi + 0x18]
mov dword [edi + 0x1858], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1868], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.chams_local
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1908]
call fcn.1001dd80
push str.enable
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xa9
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xaa
push eax
lea ecx, [edi + 0x1940]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x1971], 1
push eax
lea ecx, [edi + 0x1978]
call fcn.100386a0
lea ecx, [ebp - 0x34]
mov byte [edi + 0x1974], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f80
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x1920], 1
mov dword [edi + 0x190c], 0xff
mov dword [edi + 0x1914], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0x1924], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.texture
lea ecx, [ebp - 0x200]
call fcn.1001dd80
push str.flat
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 4], 0xab
call fcn.1001dd80
push str.metallic
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0xac
call fcn.1001dd80
push str.glow
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0xad
call fcn.1001dd80
push str.wireframe
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0xae
call fcn.1001dd80
push str.metallic2
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0xaf
call fcn.1001dd80
mov dword [ebp - 4], 0xb0
lea ecx, [ebp - 0x200]
push ecx
lea eax, [ebp - 0x170]
push eax
push ecx
lea ecx, [ebp - 0x74]
call fcn.10072450
push str.chams_local_mat
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb1
call fcn.1001dd80
push str.material
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb2
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xb3
push eax
lea ecx, [edi + 0x19c8]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x19f9], 1
push eax
lea ecx, [edi + 0x1a00]
call fcn.100386a0
mov edx, dword [ebp - 0x70]
xor eax, eax
cmp byte [edi + 0x19f9], al
mov ecx, 0xf
mov dword [ebp - 0x1c], edx
cmovne eax, ecx
lea ecx, [edi + 0x1a18]
mov dword [edi + 0x1a2c], eax
add eax, 0x14
mov dword [edi + 0x19a0], eax
mov dword [edi + 0x19a4], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], ecx
cmp eax, edx
je 0x10052599
mov esi, eax
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x1c]
jne 0x10052580
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
lea esi, [edi + 0x18]
call fcn.100227b0
test eax, eax
je 0x100525ac
mov dword [edi + 0x1a28], 0
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
call fcn.1001dd30
lea ecx, [ebp - 0x74]
call fcn.1003fc20
push fcn.1001dd30
push 6
push 0x18
lea eax, [ebp - 0x200]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f80
lea ecx, [edi + 0x19e8]
push eax
call fcn.10072420
mov dword [edi + 0x19a8], 1
lea eax, [edi + 0x1990]
mov dword [edi + 0x1994], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x199c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x19ac], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.chams_local_col
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1a30]
call fcn.1001dd80
push str.color
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xb4
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xb5
push eax
lea ecx, [edi + 0x1aa0]
mov dword [ebp - 0x1c], 0xffc8ffff
call fcn.100386a0
lea eax, [ebp - 0x4c]
push eax
lea ecx, [edi + 0x1a68]
call fcn.100386a0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x34]
mov dword [edi + 0x1ab8], eax
mov dword [edi + 0x1abc], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f80
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x1a48], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1a34], 0xff
mov dword [edi + 0x1a3c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1a4c], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push 0x100abef8
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1ac0]
call fcn.10072760
push str.chams_local_blend
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xb6
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xb7
call fcn.1001dd80
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xb8
push eax
lea ecx, [edi + 0x1af8]
call fcn.100386a0
mov byte [edi + 0x1b29], 0
lea eax, [ebp - 0x4c]
mov dword [edi + 0x1b78], 0
lea ecx, [edi + 0x1b60]
mov dword [edi + 0x1ad0], 8
mov dword [edi + 0x1ad4], 8
mov dword [edi + 0x1b34], 0x3f800000
mov dword [edi + 0x1b38], 0x42c80000
mov dword [edi + 0x1b30], 0x42c80000
mov dword [edi + 0x1b44], 0
push eax
mov dword [edi + 0x1b3c], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x80]
call fcn.1001dd30
lea ecx, [ebp - 0x34]
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f80
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x1ad8], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1ac4], 0xff
mov dword [edi + 0x1acc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1adc], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.chams_local_scope
lea ecx, [ebp - 0x4c]
lea esi, [edi + 0x1b7c]
call fcn.1001dd80
push str.blend_when_scoped
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xb9
call fcn.1001dd80
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xba
push eax
lea ecx, [edi + 0x1bb4]
call fcn.100386a0
lea eax, [ebp - 0x34]
mov byte [edi + 0x1be5], 1
push eax
lea ecx, [edi + 0x1bec]
call fcn.100386a0
lea ecx, [ebp - 0x34]
mov byte [edi + 0x1be8], 0
call fcn.1001dd30
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021f80
push eax
lea ecx, [edi + 0x1bd4]
call fcn.10072420
mov dword [esi + 0x18], 1
mov dword [esi + 4], 0xff
mov dword [ebp - 0x18], esi
mov dword [esi + 0xc], 0xaf
mov eax, dword [edi + 0x2c]
lea ecx, [edi + 0x18]
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
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.1009c0b6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret