Function at 0x1003a970
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10042995
mov eax, dword fs:[0]
push eax
sub esp, 0x2a4
push ebx
push esi
push edi
lea edi, [ebp - 0x1f0]
mov ecx, 0x79
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x1004e038]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
mov ecx, 0x10058869
call fcn.10016c3f
lea ecx, [ebp - 0x14]
call fcn.10016320
mov byte [ebp - 4], 1
mov eax, dword [ebp + 8]
push eax
push str._s_valveuserconfig.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0xe0], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016c44
add esp, 4
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003aa22
lea ecx, [ebp - 0x14]
call fcn.1001646a
mov esi, esp
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp esi, esp
call fcn.100168f2
mov eax, dword [ebp + 8]
push eax
push str._s_valve_autoexec.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x6f
push ecx
mov ecx, esp
mov dword [ebp - 0xec], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003aa80
push 0x6f
push ecx
mov ecx, esp
mov dword [ebp - 0xf8], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvedefault.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x70
push ecx
mov ecx, esp
mov dword [ebp - 0x104], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003aade
push 0x70
push ecx
mov ecx, esp
mov dword [ebp - 0x110], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvelanguage.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x71
push ecx
mov ecx, esp
mov dword [ebp - 0x11c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ab3c
push 0x71
push ecx
mov ecx, esp
mov dword [ebp - 0x128], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_valve.rc
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x72
push ecx
mov ecx, esp
mov dword [ebp - 0x134], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ab9a
push 0x72
push ecx
mov ecx, esp
mov dword [ebp - 0x140], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_violence.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x73
push ecx
mov ecx, esp
mov dword [ebp - 0x14c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003abf8
push 0x73
push ecx
mov ecx, esp
mov dword [ebp - 0x158], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_server.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x164], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016c44
add esp, 4
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ac54
push 0x78
push ecx
mov ecx, esp
mov dword [ebp - 0x170], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvelistenserver.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x17c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016c44
add esp, 4
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003acb0
push 0x77
push ecx
mov ecx, esp
mov dword [ebp - 0x188], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_resourceLoadingDialog.res
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x6c
push ecx
mov ecx, esp
mov dword [ebp - 0x194], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ad0e
push 0x6c
push ecx
mov ecx, esp
mov dword [ebp - 0x1a0], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_resourceLoadingDialogNoBanner.res
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x6d
push ecx
mov ecx, esp
mov dword [ebp - 0x1ac], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ad6c
push 0x6d
push ecx
mov ecx, esp
mov dword [ebp - 0x1b8], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_resourceLoadingDialogNoBannerSingle.res
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x6e
push ecx
mov ecx, esp
mov dword [ebp - 0x1c4], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003adca
push 0x6e
push ecx
mov ecx, esp
mov dword [ebp - 0x1d0], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_resourceLoadingDialogVAC.res
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x76
push ecx
mov ecx, esp
mov dword [ebp - 0x1dc], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ae28
push 0x76
push ecx
mov ecx, esp
mov dword [ebp - 0x1e8], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_resourceGameMenu.res
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x6b
push ecx
mov ecx, esp
mov dword [ebp - 0x1f4], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003ae86
push 0x6b
push ecx
mov ecx, esp
mov dword [ebp - 0x200], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvehwATIRage128.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x7b
push ecx
mov ecx, esp
mov dword [ebp - 0x20c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003aee4
push 0x7b
push ecx
mov ecx, esp
mov dword [ebp - 0x218], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvehwATIRage128d3d.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x7c
push ecx
mov ecx, esp
mov dword [ebp - 0x224], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003af42
push 0x7c
push ecx
mov ecx, esp
mov dword [ebp - 0x230], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvehwd3d.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x7d
push ecx
mov ecx, esp
mov dword [ebp - 0x23c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003afa0
push 0x7d
push ecx
mov ecx, esp
mov dword [ebp - 0x248], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvehwgeforce.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x7e
push ecx
mov ecx, esp
mov dword [ebp - 0x254], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003affe
push 0x7e
push ecx
mov ecx, esp
mov dword [ebp - 0x260], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valvehw_nvidiad3d.cfg
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x7f
push ecx
mov ecx, esp
mov dword [ebp - 0x26c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003b05c
push 0x7f
push ecx
mov ecx, esp
mov dword [ebp - 0x278], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_steamcomm.lst
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x74
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003b0ba
push 0x74
push ecx
mov ecx, esp
mov dword [ebp - 0x290], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov eax, dword [ebp + 8]
push eax
push str._s_valve_valvecomm.lst
lea ecx, [ebp - 0x14]
push ecx
call fcn.10016956
add esp, 0xc
push 0x75
push ecx
mov ecx, esp
mov dword [ebp - 0x29c], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.10016cda
add esp, 8
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
je 0x1003b118
push 0x75
push ecx
mov ecx, esp
mov dword [ebp - 0x2a8], esp
lea eax, [ebp - 0x14]
push eax
call fcn.100160f5
call fcn.1001690b
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.100161c7
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.100161c7
push edx
mov ecx, ebp
push eax
lea edx, [0x1003b164]
call fcn.1001677b
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x2b0
cmp ebp, esp
call fcn.100168f2
mov esp, ebp
pop ebp
ret