Function at 0x100528e0
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 0x100a2e26
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1c0
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.visuals
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.1001e490
lea eax, [ebp - 0x70]
mov dword [ebp - 4], 0
cmp edi, eax
je 0x1005296b
cmp dword [ebp - 0x5c], 0x10
mov ecx, edi
push dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.10022b40
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x100529a6
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005299c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
push 0xf
push str.dropped_weapons
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.1001e490
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xc8]
push 0x1a
push str.dropped_weapons__distance_
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.1001e490
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb0]
push 0x16
push str.dropped_weapons__ammo_
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98]
push 0xb
push str.projectiles
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 4
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10072450
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x50]
push 5
push str.items
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x38]
push 5
push str.items
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 8
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10052b14
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0xa0]
mov byte [edi + 0x99], 1
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10052b39
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
mov esi, dword [ebp - 0x80]
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 - 0x7c]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x10052ba3
lea ecx, [edi + 0xb8]
nop dword [eax + eax]
mov eax, dword [edi + 0xbc]
push esi
cmp eax, dword [edi + 0xc0]
je 0x10052b8f
mov ecx, eax
call fcn.10022880
add dword [edi + 0xbc], 0x18
jmp 0x10052b95
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0xb8]
cmp esi, dword [ebp - 0x20]
jne 0x10052b70
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10052bd7
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10052bcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10052c01
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10052c11
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10052c07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10052c07
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 - 0x80]
call fcn.1003fc20
push fcn.1001dd30
push 4
push 0x18
lea eax, [ebp - 0xe0]
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
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0x20], edx
cmp ecx, dword [edi + 0x20]
je 0x10052c66
mov dword [ecx], edx
add dword [edi + 0x1c], 4
jmp 0x10052c73
lea edx, [ebp - 0x20]
push edx
push ecx
lea ecx, [edi + 0x18]
call fcn.1001e880
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x38]
push 0xa
push str.item_color
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x50]
push 0x14
push str.dropped_weapon_color
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x148]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10052cea
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x110]
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10052d08
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x160], esi
mov dword [edi + 0x164], 0
cmp ecx, 0x10
jb 0x10052d50
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10052d46
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10052d8b
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10052d81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov eax, dword [edi + 0x134]
lea ecx, [edi + 0x130]
mov dword [ebp - 0x20], 0x10021ee0
cmp eax, dword [ecx + 8]
je 0x10052daf
mov dword [eax], 0x10021ee0
add dword [ecx + 4], 4
jmp 0x10052db9
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.1001e880
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 - 0x20], edx
cmp ecx, dword [edi + 0x20]
je 0x10052df9
mov dword [ecx], edx
add dword [edi + 0x1c], 4
jmp 0x10052e06
lea edx, [ebp - 0x20]
push edx
push ecx
lea ecx, [edi + 0x18]
call fcn.1001e880
mov esi, dword [0x100aa890]
lea ecx, [ebp - 0x38]
push 0xe
push str.dropammo_color
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x50]
push 0xa
push str.ammo_color
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x1d8]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10052e7d
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x1a0]
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10052e9b
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x1f0], esi
mov dword [edi + 0x1f4], 0
cmp ecx, 0x10
jb 0x10052ee3
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10052ed9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10052f1e
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10052f14
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov eax, dword [edi + 0x1c4]
lea ecx, [edi + 0x1c0]
mov dword [ebp - 0x20], 0x10021f00
cmp eax, dword [ecx + 8]
je 0x10052f42
mov dword [eax], 0x10021f00
add dword [ecx + 4], 4
jmp 0x10052f4c
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x180], 0
lea edx, [edi + 0x168]
mov dword [edi + 0x16c], 0x14
mov dword [edi + 0x174], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x184], eax
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0x20], edx
cmp ecx, dword [edi + 0x20]
je 0x10052f8c
mov dword [ecx], edx
add dword [edi + 0x1c], 4
jmp 0x10052f99
lea edx, [ebp - 0x20]
push edx
push ecx
lea ecx, [edi + 0x18]
call fcn.1001e880
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x38]
push 0xa
push str.proj_color
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x50]
push 0x10
push str.projectile_color
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x268]
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10053010
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x230]
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x1005302e
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x280], esi
mov dword [edi + 0x284], 0
cmp ecx, 0x10
jb 0x10053076
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005306c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100530b1
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100530a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov eax, dword [edi + 0x254]
lea ecx, [edi + 0x250]
mov dword [ebp - 0x20], 0x10021f20
cmp eax, dword [ecx + 8]
je 0x100530d5
mov dword [eax], 0x10021f20
add dword [ecx + 4], 4
jmp 0x100530df
lea edx, [ebp - 0x20]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x210], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x1fc], 0x14
lea ecx, [edi + 0x1f8]
mov dword [edi + 0x204], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x214], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 8]
je 0x10053122
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005312e
lea ecx, [ebp - 0x20]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 0xe
push str.on_screen__2D_
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.1001e490
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0xc8]
push 0xc
push str.on_bomb__3D_
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.1001e490
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xb0]
push 0xf
push str.bomb_timer__2D_
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x98]
push 0xf
push str.bomb_rimer__3D_
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x12
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10072450
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38]
push 0xa
push str.planted_c4
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x50]
push 0xa
push 0x100acbf4
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea ecx, [edi + 0x2c0]
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x1005329f
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
lea ecx, [edi + 0x2f8]
mov byte [edi + 0x2f1], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100532c4
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x2f1], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0x32c], eax
add eax, 0x14
mov dword [edi + 0x298], eax
mov dword [edi + 0x29c], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
je 0x10053336
lea ecx, [edi + 0x310]
mov esi, eax
nop
mov eax, dword [edi + 0x314]
push esi
cmp eax, dword [edi + 0x318]
je 0x1005331f
mov ecx, eax
call fcn.10022880
add dword [edi + 0x314], 0x18
jmp 0x10053325
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x310]
cmp esi, dword [ebp - 0x1c]
jne 0x10053300
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x1005336a
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053360
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10053394
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100533a4
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005339a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005339a
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 - 0x80]
call fcn.1003fc20
push fcn.1001dd30
push 4
push 0x18
lea eax, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x2a0], 0
lea ecx, [edi + 0x288]
mov dword [edi + 0x28c], 0x14
mov dword [edi + 0x294], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x2a4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10053408
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10053414
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 5
push str.night
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
call fcn.1001e490
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0xc8]
push 0xa
push str.fullbright
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.1001e490
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xb0]
push 0x11
push str.prop_transparency
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x98]
push 0xe
push str.fog_modulation
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
call fcn.1001e490
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0x1a
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10072450
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x38]
push 5
push str.world
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x50]
push 5
push str.world
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea ecx, [edi + 0x368]
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10053585
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
lea ecx, [edi + 0x3a0]
mov byte [edi + 0x399], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100535aa
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x399], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0x3d4], eax
add eax, 0x14
mov dword [edi + 0x340], eax
mov dword [edi + 0x344], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x10053626
lea ecx, [edi + 0x3b8]
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0x3bc]
push esi
cmp eax, dword [edi + 0x3c0]
je 0x1005360f
mov ecx, eax
call fcn.10022880
add dword [edi + 0x3bc], 0x18
jmp 0x10053615
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x3b8]
cmp esi, dword [ebp - 0x20]
jne 0x100535f0
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x1005365a
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053650
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10053684
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10053694
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005368a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005368a
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 - 0x80]
call fcn.1003fc20
push fcn.1001dd30
push 4
push 0x18
lea eax, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x394], fcn.10091680
lea ecx, [edi + 0x330]
mov dword [edi + 0x348], 0
mov dword [edi + 0x334], 0x14
mov dword [edi + 0x33c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x34c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10053702
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005370e
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 1
push 0x100abef8
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.10040080
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x38]
push 0xe
push str.night_darkness
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x50]
push 0xe
push str.world_darkness
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x410]
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x100537a7
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
lea ecx, [edi + 0x460]
mov byte [edi + 0x441], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100537cc
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
xor eax, eax
mov dword [edi + 0x44c], 0
cmp byte [edi + 0x441], al
mov ecx, 0xf
mov dword [edi + 0x450], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x448], 0x41200000
mov dword [edi + 0x490], eax
lea ecx, [edi + 0x478]
add eax, 8
mov dword [edi + 0x45c], 0
mov dword [edi + 0x3e8], eax
mov dword [edi + 0x3ec], eax
lea eax, [ebp - 0x70]
mov dword [edi + 0x454], 0x3f800000
cmp ecx, eax
je 0x10053841
cmp dword [ebp - 0x5c], 8
push dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.100727b0
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10053879
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005386f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100538b1
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100538a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 8
jb 0x100538f2
mov edx, dword [ebp - 0x70]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100538e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [edi + 0x430]
mov dword [edi + 0x43c], 0x10091680
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1c], 0x10021cb0
cmp eax, dword [ecx + 8]
je 0x1005391d
mov dword [eax], 0x10021cb0
add dword [ecx + 4], 4
jmp 0x10053927
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x3f0], 0
lea ecx, [edi + 0x3d8]
mov dword [edi + 0x3dc], 0x14
mov dword [edi + 0x3e4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3f4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10053967
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10053973
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 1
push 0x100abef8
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.10040080
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x38]
push 0x18
push str.transparent_props_amount
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x50]
push 0x11
push str.prop_transparency
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x4cc]
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10053a0c
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
lea ecx, [edi + 0x51c]
mov byte [edi + 0x4fd], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10053a31
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
xor eax, eax
mov dword [edi + 0x508], 0
cmp byte [edi + 0x4fd], al
mov ecx, 0xf
mov dword [edi + 0x50c], 0x42c80000
cmovne eax, ecx
mov dword [edi + 0x504], 0x42c80000
mov dword [edi + 0x54c], eax
lea ecx, [edi + 0x534]
add eax, 8
mov dword [edi + 0x518], 0
mov dword [edi + 0x4a4], eax
mov dword [edi + 0x4a8], eax
lea eax, [ebp - 0x70]
mov dword [edi + 0x510], 0x3f800000
cmp ecx, eax
je 0x10053aa6
cmp dword [ebp - 0x5c], 8
push dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.100727b0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10053ade
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053ad4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10053b16
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053b0c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 8
jb 0x10053b57
mov edx, dword [ebp - 0x70]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10053b4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
lea ecx, [edi + 0x4ec]
mov dword [edi + 0x4f8], 0x10091680
mov eax, dword [ecx + 4]
mov dword [ebp - 0x1c], 0x10021c90
cmp eax, dword [ecx + 8]
je 0x10053b82
mov dword [eax], 0x10021c90
add dword [ecx + 4], 4
jmp 0x10053b8c
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x4ac], 0
lea ecx, [edi + 0x494]
mov dword [edi + 0x498], 0x14
mov dword [edi + 0x4a0], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x4b0], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10053bcc
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10053bd8
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 0xb
push str.enemy_radar
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov dword [ebp - 4], 0x25
lea ecx, [ebp - 0x50]
push 0x16
push str.force_enemies_on_radar
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x588]
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10053c49
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
lea ecx, [edi + 0x5c0]
mov byte [edi + 0x5b9], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10053c6e
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 0x5bc], 0
cmp ecx, 0x10
jb 0x10053cad
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053ca3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10053ce8
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053cde
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [edi + 0x568], 0
lea ecx, [edi + 0x550]
mov dword [edi + 0x554], 0x14
mov dword [edi + 0x55c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x56c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10053d28
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10053d34
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
mov esi, dword [0x100aa8b8]
lea ecx, [ebp - 0x38]
push 8
push str.FogColor
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x50]
push 9
push str.fog_color
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
lea ecx, [edi + 0x648]
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10053dab
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x610]
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x10053dc9
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x660], esi
mov dword [edi + 0x664], 0
cmp ecx, 0x10
jb 0x10053e11
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053e07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x10053e4c
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10053e42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov eax, dword [edi + 0x634]
lea ecx, [edi + 0x630]
mov dword [ebp - 0x1c], 0x10021cd0
cmp eax, dword [ecx + 8]
je 0x10053e70
mov dword [eax], 0x10021cd0
add dword [ecx + 4], 4
jmp 0x10053e7a
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x5f0], 0
lea esi, [edi + 0x18]
mov dword [edi + 0x5dc], 0x14
lea ecx, [edi + 0x5d8]
mov dword [edi + 0x5e4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x5f4], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10053ebd
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10053ec9
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 1
push 0x100abef8
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.10040080
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0x50]
push 9
push str.Fog_start
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x70]
push 9
push str.fog_start
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.1001e490
lea ecx, [edi + 0x6a0]
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x10053f62
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x708]
mov byte [edi + 0x6d1], 0
lea eax, [ebp - 0x38]
mov dword [edi + 0x720], 0
mov dword [edi + 0x678], 8
mov dword [edi + 0x67c], 8
mov dword [edi + 0x6dc], 0
mov dword [edi + 0x6e0], 0x451c4000
mov dword [edi + 0x6d8], 0x42c80000
mov dword [edi + 0x6ec], 0
mov dword [edi + 0x6e4], 0x3f800000
cmp ecx, eax
je 0x10053fd7
cmp dword [ebp - 0x24], 8
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.100727b0
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x1005400f
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054005
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10054047
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005403d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 8
jb 0x10054088
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1005407e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov eax, dword [edi + 0x6c4]
lea ecx, [edi + 0x6c0]
mov dword [ebp - 0x1c], 0x10021cd0
cmp eax, dword [ecx + 8]
je 0x100540ac
mov dword [eax], 0x10021cd0
add dword [ecx + 4], 4
jmp 0x100540b6
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x680], 0
lea ecx, [edi + 0x668]
mov dword [edi + 0x66c], 0x14
mov dword [edi + 0x674], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x684], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x100540f6
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10054102
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 1
push 0x100abef8
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.10040080
mov dword [ebp - 4], 0x2c
lea ecx, [ebp - 0x50]
push 7
push str.Fog_end
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x70]
push 7
push str.fog_end
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.1001e490
lea ecx, [edi + 0x75c]
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x1005419b
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x7c4]
mov byte [edi + 0x78d], 0
lea eax, [ebp - 0x38]
mov dword [edi + 0x7dc], 0
mov dword [edi + 0x734], 8
mov dword [edi + 0x738], 8
mov dword [edi + 0x798], 0
mov dword [edi + 0x79c], 0x451c4000
mov dword [edi + 0x794], 0x42c80000
mov dword [edi + 0x7a8], 0
mov dword [edi + 0x7a0], 0x3f800000
cmp ecx, eax
je 0x10054210
cmp dword [ebp - 0x24], 8
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.100727b0
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x10054248
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005423e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x10054280
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054276
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 8
jb 0x100542c1
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100542b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov eax, dword [edi + 0x780]
lea ecx, [edi + 0x77c]
mov dword [ebp - 0x1c], 0x10021cd0
cmp eax, dword [ecx + 8]
je 0x100542e5
mov dword [eax], 0x10021cd0
add dword [ecx + 4], 4
jmp 0x100542ef
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x73c], 0
lea ecx, [edi + 0x724]
mov dword [edi + 0x728], 0x14
mov dword [edi + 0x730], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x740], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x1005432f
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005433b
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 1
push 0x100abef8
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.10040080
mov dword [ebp - 4], 0x2f
lea ecx, [ebp - 0x50]
push 0xb
push str.Fog_density
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x70]
push 0xb
push str.fog_density
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
call fcn.1001e490
lea ecx, [edi + 0x818]
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x100543d4
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
lea ecx, [edi + 0x880]
mov byte [edi + 0x849], 0
lea eax, [ebp - 0x38]
mov dword [edi + 0x898], 0
mov dword [edi + 0x7f0], 8
mov dword [edi + 0x7f4], 8
mov dword [edi + 0x854], 0
mov dword [edi + 0x858], 0x42c80000
mov dword [edi + 0x850], 0x42c80000
mov dword [edi + 0x864], 0
mov dword [edi + 0x85c], 0x3f800000
cmp ecx, eax
je 0x10054449
cmp dword [ebp - 0x24], 8
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.100727b0
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x1005447d
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10054473
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100544b1
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100544a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100544e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp ecx, 8
jb 0x100544f4
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100544ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100544ea
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 eax, dword [edi + 0x83c]
lea ecx, [edi + 0x838]
mov dword [ebp - 0x1c], 0x10021cd0
cmp eax, dword [ecx + 8]
je 0x10054518
mov dword [eax], 0x10021cd0
add dword [ecx + 4], 4
jmp 0x10054522
lea edx, [ebp - 0x1c]
push edx
push eax
call fcn.1001e880
mov dword [edi + 0x7f8], 0
lea ecx, [edi + 0x7e0]
mov dword [edi + 0x7e4], 0x14
mov dword [edi + 0x7ec], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x7fc], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10054562
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x1005456e
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push 0xd
push str.visual_recoil
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
call fcn.1001e490
mov dword [ebp - 4], 0x32
lea ecx, [ebp - 0x1a0]
push 5
push str.smoke
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x188]
push 3
push 0x100acd24
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
call fcn.1001e490
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x170]
push 5
push str.flash
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x158]
push 0xd
push str.scope_overlay
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
call fcn.1001e490
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x140]
push 7
push str.sleeves
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
call fcn.1001e490
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x128]
push 7
push str.shadows
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
call fcn.1001e490
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x110]
push 9
push str.teammates
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
call fcn.1001e490
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0xf8]
push 0xf
push str.post_processing
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
call fcn.1001e490
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x1b8]
push ecx
lea eax, [ebp - 0xe0]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10072450
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x38]
push 8
push str.removals
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
call fcn.1001e490
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x50]
push 8
push str.removals
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
call fcn.1001e490
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea ecx, [edi + 0x8d4]
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x38]
cmp ecx, eax
je 0x100547e6
cmp dword [ebp - 0x24], 0x10
push dword [ebp - 0x28]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.10022b40
lea ecx, [edi + 0x90c]
mov byte [edi + 0x905], 1
lea eax, [ebp - 0x50]
cmp ecx, eax
je 0x1005480b
cmp dword [ebp - 0x3c], 0x10
push dword [ebp - 0x40]
cmovae eax, dword [ebp - 0x50]
push eax
call fcn.10022b40
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x905], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0x940], eax
add eax, 0x14
mov dword [edi + 0x8ac], eax
mov dword [edi + 0x8b0], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x10054886
lea ecx, [edi + 0x924]
mov esi, eax
nop word [eax + eax]
mov eax, dword [edi + 0x928]
push esi
cmp eax, dword [edi + 0x92c]
je 0x1005486f
mov ecx, eax
call fcn.10022880
add dword [edi + 0x928], 0x18
jmp 0x10054875
push eax
call fcn.100405c0
add esi, 0x18
lea ecx, [edi + 0x924]
cmp esi, dword [ebp - 0x20]
jne 0x10054850
lea esi, [edi + 0x18]
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x10
jb 0x100548ba
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100548b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100548e4
push ecx
push edx
call fcn.1009c531
add esp, 8
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x100548f4
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100548ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100548ea
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 - 0x80]
call fcn.1003fc20
push fcn.1001dd30
push 9
push 0x18
lea eax, [ebp - 0x1b8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x8b4], 1
lea ecx, [edi + 0x89c]
mov dword [edi + 0x8a0], 0xff
mov dword [edi + 0x8a8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x8b8], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [esi + 8]
je 0x10054958
mov dword [eax], ecx
add dword [esi + 4], 4
jmp 0x10054964
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov ecx, esi
call fcn.1001e880
push str.normal
lea ecx, [ebp - 0xc8]
call fcn.1001dd80
push str.scoped
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x3f
call fcn.1001dd80
push str.viewmodel
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x40
call fcn.1001dd80
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0x41
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x64]
call fcn.10072450
push 0x100abe44
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x42
call fcn.1001dd80
push str.override_fov_states
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x43
call fcn.1001dd80
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [edi + 0x97c]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0x9ad], 1
push eax
lea ecx, [edi + 0x9b4]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x9ad], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x60]
mov dword [edi + 0x9e8], eax
add eax, 0x14
mov dword [edi + 0x954], eax
mov dword [edi + 0x958], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1c], eax
cmp eax, ecx
je 0x10054a78
mov esi, dword [ebp - 0x1c]
lea eax, [edi + 0x9cc]
mov dword [ebp - 0x18], eax
mov edi, ecx
nop word [eax + eax]
push esi
mov ecx, eax
call fcn.1003f7d0
mov eax, dword [ebp - 0x18]
add esi, 0x18
cmp esi, edi
jne 0x10054a60
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x80]
call fcn.1001d230
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
call fcn.1001dd30
lea ecx, [ebp - 0x64]
call fcn.1003fc20
push fcn.1001dd30
push 3
push 0x18
lea eax, [ebp - 0xc8]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0x95c], 1
lea eax, [edi + 0x944]
mov dword [edi + 0x948], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0x950], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x960], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push 0x100abe5c
lea ecx, [ebp - 0x70]
lea esi, [edi + 0x9ec]
call fcn.10072760
push str.fov_amt
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x46
call fcn.1001dd80
push 0x100abe44
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x47
call fcn.1001dd80
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [edi + 0xa24]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0xa55], 1
push eax
lea ecx, [edi + 0xa74]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xa55], al
cmovne eax, ecx
lea ecx, [edi + 0xa8c]
mov dword [edi + 0xaa4], eax
add eax, 8
mov dword [edi + 0x9fc], eax
mov dword [edi + 0xa00], eax
lea eax, [ebp - 0x70]
mov dword [edi + 0xa60], 0x42700000
mov dword [edi + 0xa64], 0x430c0000
mov dword [edi + 0xa5c], 0x42b40000
mov dword [edi + 0xa70], 0
push eax
mov dword [edi + 0xa68], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
call fcn.1001dd30
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021ea0
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [ebp - 0x18], esi
mov dword [edi + 0xa04], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x9f0], 0xff
mov dword [edi + 0x9f8], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xa08], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push 0x100abe5c
lea ecx, [ebp - 0x70]
lea esi, [edi + 0xaa8]
call fcn.10072760
push str.viewmodel_fov_amt
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x49
call fcn.1001dd80
push str.viewmodel_fov
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x4a
call fcn.1001dd80
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [edi + 0xae0]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0xb11], 1
push eax
lea ecx, [edi + 0xb30]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xb11], al
cmovne eax, ecx
lea ecx, [edi + 0xb48]
mov dword [edi + 0xb60], eax
add eax, 8
mov dword [edi + 0xab8], eax
mov dword [edi + 0xabc], eax
lea eax, [ebp - 0x70]
mov dword [edi + 0xb1c], 0x42700000
mov dword [edi + 0xb20], 0x430c0000
mov dword [edi + 0xb18], 0x42b40000
mov dword [edi + 0xb2c], 0
push eax
mov dword [edi + 0xb24], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
call fcn.1001dd30
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021ec0
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0xac0], 1
mov dword [edi + 0xaac], 0xff
mov dword [edi + 0xab4], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x18], esi
lea esi, [edi + 0x18]
mov dword [edi + 0xac4], eax
mov ecx, esi
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push 0x100acdd8
lea ecx, [ebp - 0x1d0]
call fcn.1001dd80
mov dword [ebp - 4], 0x4c
lea ecx, [ebp - 0x1b8]
push str.lag_compensation
call fcn.1001dd80
push 0x100acdec
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x4d
call fcn.1001dd80
push str.override_damage
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x4e
call fcn.1001dd80
push str.manual_anti_aim_arrows
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x4f
call fcn.1001dd80
push str.penetration_crosshair
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x50
call fcn.1001dd80
push str.penetration_crosshair__damage_
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x51
call fcn.1001dd80
push str.show_spectator_list
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x52
call fcn.1001dd80
push str.force_crosshair
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x53
call fcn.1001dd80
push str.visualize_spread
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x54
call fcn.1001dd80
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 4], 0x55
push ecx
lea eax, [ebp - 0xe0]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10072450
push str.indicators
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x56
call fcn.1001dd80
push str.indicators
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x57
call fcn.1001dd80
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x59
push eax
lea ecx, [edi + 0xce8]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0xd19], 1
push eax
lea ecx, [edi + 0xd20]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xd19], al
cmovne eax, ecx
mov dword [edi + 0xd54], eax
add eax, 0x14
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0xcc0], eax
mov dword [edi + 0xcc4], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x10054eed
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0xd38]
mov dword [ebp - 0x1c], eax
mov edi, eax
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10054ed7
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x68]
call fcn.1001d230
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
call fcn.1001dd30
lea ecx, [ebp - 0x80]
call fcn.1003fc20
push fcn.1001dd30
push 0xa
push 0x18
lea eax, [ebp - 0x1d0]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.1009c102
mov dword [edi + 0xcc8], 1
lea eax, [edi + 0xcb0]
mov dword [edi + 0xcb4], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xcbc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xccc], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
mov esi, dword [0x100aa8b8]
lea ecx, [ebp - 0x38]
push str.spread_xhair_col
add edi, 0xb64
call fcn.1001dd80
push str.visualize_spread_color
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x5a
call fcn.1001dd80
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
push eax
add ecx, 0xbd4
mov byte [ebp - 4], 0x5b
call fcn.100386a0
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ecx + 0xb9c]
call fcn.100386a0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x50]
mov dword [eax + 0xbec], esi
mov dword [eax + 0xbf0], 0
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021d90
lea ecx, [edi + 0x58]
push eax
call fcn.10072420
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x54]
mov dword [edi + 0xb7c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xb68], 0xff
mov dword [edi + 0xb70], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xb80], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push 0x100abef8
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xbf4]
call fcn.10072760
push str.spread_xhair_blend
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x5c
call fcn.1001dd80
push 0x100a95f1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x5d
call fcn.1001dd80
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [edi + 0xc2c]
call fcn.100386a0
mov byte [edi + 0xc5d], 0
lea eax, [ebp - 0x38]
mov dword [edi + 0xcac], 0
lea ecx, [edi + 0xc94]
mov dword [edi + 0xc04], 8
mov dword [edi + 0xc08], 8
mov dword [edi + 0xc68], 0x41200000
mov dword [edi + 0xc6c], 0x42c80000
mov dword [edi + 0xc64], 0x42c80000
mov dword [edi + 0xc78], 0
push eax
mov dword [edi + 0xc70], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x70]
call fcn.1001dd30
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021d90
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0xc0c], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xbf8], 0xff
mov dword [edi + 0xc00], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xc10], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
mov esi, dword [0x100aa88c]
lea ecx, [ebp - 0x38]
push str.color_manul_antiaim
add edi, 0xd58
call fcn.1001dd80
push str.manual_anti_aim_color
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x5f
call fcn.1001dd80
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x60
lea ecx, [ecx + 0xdc8]
call fcn.100386a0
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ecx + 0xd90]
call fcn.100386a0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x50]
mov dword [eax + 0xde0], esi
mov dword [eax + 0xde4], 0
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021d70
lea ecx, [edi + 0x58]
push eax
call fcn.10072420
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x54]
mov dword [edi + 0xd70], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0xd5c], 0xff
mov dword [edi + 0xd64], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xd74], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push str.tracers
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xde8]
call fcn.1001dd80
push str.grenade_simulation
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x61
call fcn.1001dd80
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [edi + 0xe20]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0xe51], 1
push eax
lea ecx, [edi + 0xe58]
call fcn.100386a0
lea ecx, [ebp - 0x50]
mov byte [edi + 0xe54], 0
call fcn.1001dd30
lea ecx, [ebp - 0x38]
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.bullet_impacts
lea ecx, [ebp - 0x38]
lea esi, [edi + 0xe70]
call fcn.1001dd80
push 0x100acf18
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x63
call fcn.1001dd80
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x64
push eax
lea ecx, [edi + 0xea8]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0xed9], 1
push eax
lea ecx, [edi + 0xee0]
call fcn.100386a0
lea ecx, [ebp - 0x50]
mov byte [edi + 0xedc], 0
call fcn.1001dd30
lea ecx, [ebp - 0x38]
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
push eax
lea esi, [edi + 0x18]
mov ecx, esi
call fcn.10072420
push str.local
lea ecx, [ebp - 0xb0]
call fcn.1001dd80
push str.enemy
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 0x65
call fcn.1001dd80
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0x66
push ecx
lea eax, [ebp - 0x80]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10072450
push str.impact_beams
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x67
call fcn.1001dd80
push 0x100acf38
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x68
call fcn.1001dd80
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [edi + 0xf30]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0xf61], 1
push eax
lea ecx, [edi + 0xf68]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0xf61], al
cmovne eax, ecx
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0xf9c], eax
add eax, 0x14
mov dword [edi + 0xf08], eax
mov dword [edi + 0xf0c], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], eax
cmp eax, ecx
je 0x1005543d
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0xf80]
mov edi, eax
push esi
mov ecx, edi
call fcn.1003f7d0
add esi, 0x18
cmp esi, dword [ebp - 0x20]
jne 0x10055427
mov edi, dword [ebp - 0x54]
lea esi, [edi + 0x18]
lea ecx, [ebp - 0x68]
call fcn.1001d230
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
call fcn.1001dd30
lea ecx, [ebp - 0x80]
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 + 0xf10], 1
lea eax, [edi + 0xef8]
mov dword [edi + 0xefc], 0xff
mov ecx, esi
mov dword [ebp - 0x18], eax
mov dword [edi + 0xf04], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0xf14], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
mov esi, dword [0x100aa890]
lea ecx, [ebp - 0x38]
push str.impact_beams_local_color
add edi, 0xfa0
call fcn.1001dd80
push str.local_beam_color
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x6b
call fcn.1001dd80
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x6c
lea ecx, [ecx + 0x1010]
call fcn.100386a0
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ecx + 0xfd8]
call fcn.100386a0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x50]
mov dword [eax + 0x1028], esi
mov esi, eax
mov dword [esi + 0x102c], 0
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021d50
lea ecx, [edi + 0x58]
push eax
call fcn.10072420
mov dword [esi + 0xfb8], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0xfa4], 0xff
mov dword [esi + 0xfac], 0xaf
mov eax, dword [esi + 0x2c]
mov dword [esi + 0xfbc], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], edi
call fcn.10072420
lea edi, [esi + 0x1030]
mov esi, dword [0x100aa8a4]
push str.impact_beams_enemy_color
lea ecx, [ebp - 0x38]
call fcn.1001dd80
mov dword [ebp - 4], 0x6d
lea ecx, [ebp - 0x50]
push str.enemy_beam_color
call fcn.1001dd80
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x6e
lea ecx, [ecx + 0x10a0]
call fcn.100386a0
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ecx + 0x1068]
call fcn.100386a0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x50]
mov dword [eax + 0x10b8], esi
mov dword [eax + 0x10bc], 0
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021d30
lea ecx, [edi + 0x58]
push eax
call fcn.10072420
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x54]
mov dword [edi + 0x1048], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x1034], 0xff
mov dword [edi + 0x103c], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x104c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.10072420
push 0x100ac34c
lea ecx, [ebp - 0x70]
lea esi, [edi + 0x10c0]
call fcn.10072760
push str.impact_beams_time
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x6f
call fcn.1001dd80
push 0x100acfb8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x70
call fcn.1001dd80
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x71
push eax
lea ecx, [edi + 0x10f8]
call fcn.100386a0
lea eax, [ebp - 0x50]
mov byte [edi + 0x1129], 1
push eax
lea ecx, [edi + 0x1148]
call fcn.100386a0
xor eax, eax
mov ecx, 0xf
cmp byte [edi + 0x1129], al
cmovne eax, ecx
lea ecx, [edi + 0x1160]
mov dword [edi + 0x1178], eax
add eax, 8
mov dword [edi + 0x10d0], eax
mov dword [edi + 0x10d4], eax
lea eax, [ebp - 0x70]
mov dword [edi + 0x1134], 0x3f800000
mov dword [edi + 0x1138], 0x41200000
mov dword [edi + 0x1130], 0x3f800000
mov dword [edi + 0x1144], 0
push eax
mov dword [edi + 0x113c], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
call fcn.1001dd30
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10021cf0
lea ecx, [esi + 0x58]
push eax
call fcn.10072420
mov dword [edi + 0x10d8], 1
lea ecx, [edi + 0x18]
mov dword [edi + 0x10c4], 0xff
mov dword [edi + 0x10cc], 0xaf
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x10dc], eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push str.thirdperson
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x117c]
call fcn.1001dd80
push str.thirdperson
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x72
call fcn.1001dd80
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x73
push eax
lea ecx, [edi + 0x11ec]
call fcn.100386a0
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x11b4]
call fcn.100386a0
lea ecx, [ebp - 0x50]
mov dword [edi + 0x11e8], 0xffffffff
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1001dd30
mov dword [edi + 0x1208], 0x10020eb0
lea ecx, [edi + 0x18]
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]
push eax
mov dword [ebp - 0x18], esi
call fcn.10072420
push 0x100abe5c
lea ecx, [ebp - 0x38]
lea esi, [edi + 0x120c]
call fcn.10072760
push str.thirdperson_distance
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0x74
call fcn.1001dd80
push 0x100aa354
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x75
call fcn.1001dd80
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x76
push eax
lea ecx, [edi + 0x1244]
call fcn.100386a0
mov byte [edi + 0x1275], 0
mov dword [edi + 0x12c4], 0
mov dword [edi + 0x121c], 8
mov dword [edi + 0x1220], 8
mov dword [edi + 0x1280], 0x42480000
mov dword [edi + 0x1284], 0x43960000
lea eax, [ebp - 0x38]
mov dword [edi + 0x127c], 0x43160000
lea ecx, [edi + 0x12ac]
mov dword [edi + 0x1290], 0
push eax
mov dword [edi + 0x1288], 0x3f800000
call fcn.10072730
lea ecx, [ebp - 0x70]
call fcn.1001dd30
lea ecx, [ebp - 0x50]
call fcn.1001dd30
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.1003fb10
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
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