Function at 0x40f9b9
Capabilities:
Copy file
Delete file
Print debug messages

Disassembly:
push 0x54c
mov eax, 0x540d7c
call fcn.004e6a52
mov ebx, ecx
mov dword [ebp - 0x2e8], ebx
push str.1222222222
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], eax
push 0x577420
lea ecx, [ebp - 0x138]
mov dword [ebp - 4], eax
call fcn.004024f3
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 1
push eax
push 0
lea ecx, [ebp - 0x2f4]
call fcn.00407516
lea ecx, [ebp - 0x138]
call fcn.0040258a
xor eax, eax
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], eax
sub esp, 0x18
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push 0x577424
call fcn.004024f3
sub esp, 0x18
mov byte [ebp - 4], 3
mov ecx, esp
lea esi, [ebp - 0x334]
xor eax, eax
add ebx, 0x3b4
mov dword [ebp - 0x2cc], ebx
push ebx
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.00402603
xor dl, dl
mov byte [ebp - 4], 2
mov ecx, esi
call fcn.00403805
mov edi, dword [ebp - 0x330]
add esp, 0x30
mov esi, dword [ebp - 0x334]
cmp esi, edi
je 0x40fb2b
push 0x18
pop ebx
xor eax, eax
lea ecx, [ebp - 0x60]
push esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
call fcn.00402603
cmp dword [ebp - 0x4c], 8
lea eax, [ebp - 0x60]
cmovae eax, dword [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x4c]
cmp eax, 8
jb 0x40fb1f
mov ecx, dword [ebp - 0x60]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 0x2c8], ecx
cmp eax, 0x1000
jb 0x40fb16
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2c8]
push eax
call fcn.00401403
mov eax, dword [ebp - 0x2c4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c8]
push eax
push ecx
call fcn.004e6456
pop ecx
pop ecx
add esi, ebx
cmp esi, edi
jne 0x40faaa
mov ebx, dword [ebp - 0x2cc]
push 0x5740d8
lea ecx, [ebp - 0x90]
call fcn.004024f3
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0x2f0]
cmp edi, dword [ebp - 0x2ec]
je 0x40fb72
xor eax, eax
mov ecx, edi
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
lea eax, [ebp - 0x90]
push eax
call fcn.0040266b
push 0x18
pop eax
add edi, eax
mov dword [ebp - 0x2f0], edi
jmp 0x40fb8b
lea eax, [ebp - 0x90]
push eax
push edi
lea ecx, [ebp - 0x2f4]
call fcn.00407516
mov edi, dword [ebp - 0x2f0]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 2
call fcn.0040258a
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
cmp eax, edi
je 0x410aad
mov esi, dword [ebp - 0x2e8]
add esi, 0x430
mov dword [ebp - 0x2e0], esi
and dword [ebp - 0x60], 0
lea ecx, [ebp - 0x60]
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
push eax
call fcn.00402603
push str.1
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
mov dword [ebp - 0x64], 0xf
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x78], al
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
push esi
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.00402603
lea ecx, [ebp - 0x78]
call fcn.00407028
xor eax, eax
add esp, 0x18
cmp dword [ebp - 0x68], eax
je 0x410a95
sub esp, 0x18
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x78]
push eax
call fcn.004055b2
push 0x2c
lea eax, [ebp - 0x320]
push eax
call fcn.00409ab1
mov byte [ebp - 4], 7
mov edx, dword [eax]
cmp dword [edx + 0x14], 0x10
jb 0x40fc51
mov edx, dword [edx]
lea ecx, [ebp - 0xd8]
call fcn.00406de6
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 9
call fcn.004072c3
push str.12
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0xd8]
mov edx, str.https:__vip.123pan.cn_1830969120_v_ManifestAutoUpdate_
push eax
lea ecx, [ebp - 0x40]
call fcn.004134ed
pop ecx
mov esi, str..zip
mov byte [ebp - 4], 0xa
push esi
mov edx, eax
lea ecx, [ebp - 0xf0]
call fcn.0041353b
pop ecx
lea ecx, [ebp - 0x40]
call fcn.0040258a
xor eax, eax
mov dword [ebp - 0xf4], 7
mov dword [ebp - 0x108], eax
mov dword [ebp - 0xf8], eax
mov word [ebp - 0x108], ax
push str.123
mov byte [ebp - 4], 0xd
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x308]
push 1
push eax
call fcn.004be4e0
pop ecx
pop ecx
test al, al
je 0x410a6a
push str._ManifestAutoUpdate_
lea eax, [ebp - 0xa8]
push ebx
push eax
call fcn.00406bc5
add esp, 0xc
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xe
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00406c0f
add esp, 0xc
push esi
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xc0]
call fcn.0041353b
pop ecx
lea ecx, [ebp - 0x40]
call fcn.0040258a
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x12
call fcn.0040258a
cmp dword [ebp - 0xac], 8
lea esi, [ebp - 0xc0]
mov ecx, dword [ebp - 0x308]
lea edx, [ebp - 0xf0]
cmovae esi, dword [ebp - 0xc0]
cmp dword [ebp - 0xdc], 8
push esi
cmovae edx, dword [ebp - 0xf0]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
test al, al
je 0x4103ff
xor eax, eax
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], eax
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, esp
lea esi, [ebp - 0x2dc]
push ebx
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.00402603
xor dl, dl
mov ecx, esi
call fcn.00403b54
mov ebx, dword [ebp - 0x2dc]
add esp, 0x18
mov eax, dword [ebp - 0x2d8]
cmp ebx, eax
je 0x40fea7
mov edi, eax
xor eax, eax
lea ecx, [ebp - 0x28]
push ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00402603
push 0x577424
mov byte [ebp - 4], 0x14
call fcn.004ff4a6
cmp dword [ebp - 0x14], 8
mov esi, dword [ebp - 0x28]
pop ecx
push eax
push 0x577424
push 0
push dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
cmovae ecx, esi
push ecx
call fcn.00406097
add esp, 0x14
cmp eax, 0xffffffff
je 0x40fe44
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00402603
call fcn.00403594
mov esi, dword [ebp - 0x28]
add esp, 0x18
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x40fe94
lea eax, [eax*2 + 2]
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c8], eax
cmp eax, 0x1000
jb 0x40fe8b
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00401403
mov eax, dword [ebp - 0x2c8]
mov esi, dword [ebp - 0x2c4]
pop ecx
pop ecx
push eax
push esi
call fcn.004e6456
pop ecx
pop ecx
push 0x18
pop eax
add ebx, eax
cmp ebx, edi
jne 0x40fdd8
mov edi, dword [ebp - 0x2f0]
push str.1234
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x1b4]
call fcn.0040ca05
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x15
call fcn.004069ba
mov ecx, eax
xor eax, eax
cmp edx, eax
jg 0x410080
jl 0x40fee6
cmp ecx, 0x1f4
jae 0x410080
lea ecx, [ebp - 0x1a0]
call fcn.0040258a
mov esi, dword [ebp - 0x2dc]
test esi, esi
je 0x40ff8b
mov ebx, dword [ebp - 0x2d8]
cmp esi, ebx
je 0x40ff25
push 0x18
pop edi
mov ecx, esi
call fcn.0040258a
add esi, edi
cmp esi, ebx
jne 0x40ff0c
mov edi, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x2d4]
mov ebx, 0x1000
sub eax, esi
mov dword [ebp - 0x2c4], esi
push 0x18
cdq
pop ecx
idiv ecx
imul eax, eax, 0x18
mov dword [ebp - 0x2c8], eax
cmp eax, ebx
jb 0x40ff6c
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00401403
mov eax, dword [ebp - 0x2c8]
mov esi, dword [ebp - 0x2c4]
pop ecx
pop ecx
push eax
push esi
call fcn.004e6456
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], eax
jmp 0x40ff90
mov ebx, 0x1000
lea ecx, [ebp - 0xc0]
call fcn.0040258a
lea ecx, [ebp - 0xf0]
call fcn.0040258a
lea ecx, [ebp - 0xd8]
call fcn.0040258a
mov eax, dword [ebp - 0x64]
cmp eax, 0x10
jb 0x40fff7
mov ecx, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c4], ecx
cmp eax, ebx
jb 0x40ffee
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00401403
mov eax, dword [ebp - 0x2c8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c4]
push eax
push ecx
call fcn.004e6456
pop ecx
pop ecx
and dword [ebp - 0x68], 0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp eax, 8
jb 0x410056
mov ecx, dword [ebp - 0x60]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c4], ecx
cmp eax, ebx
jb 0x41004d
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00401403
mov eax, dword [ebp - 0x2c8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c4]
push eax
push ecx
call fcn.004e6456
pop ecx
pop ecx
mov ebx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2f8]
push 0x18
pop ecx
add eax, ecx
mov dword [ebp - 0x2f8], eax
cmp eax, edi
je 0x410aad
mov esi, dword [ebp - 0x2e0]
jmp 0x40fbc0
mov ebx, dword [ebp - 0x2cc]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2c8], esp
push ebx
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
call fcn.00402603
sub esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, esp
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00402603
push 1
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x15
call fcn.0040cbc2
cmp al, 1
jne 0x4103e9
lea ecx, [ebp - 0xc0]
call fcn.00406aaa
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push str._ManifestAutoUpdate_
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.00406bc5
add esp, 0xc
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x17
push ecx
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.00406c0f
add esp, 0xc
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x19
call fcn.0040258a
push str._depotcache
lea eax, [ebp - 0xa8]
push ebx
push eax
call fcn.00406bc5
add esp, 0xc
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x14], 8
jb 0x410147
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x90]
call fcn.004024f3
lea ecx, [ebp - 0x90]
call fcn.00403db0
lea ecx, [ebp - 0x90]
call fcn.0040258a
lea ecx, [ebp - 0xa8]
call fcn.0040258a
xor eax, eax
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], eax
sub esp, 0x18
mov byte [ebp - 4], 0x1b
mov ecx, esp
mov dword [ebp - 0x2c8], esp
push 0x5740d8
call fcn.004024f3
sub esp, 0x18
mov byte [ebp - 4], 0x1c
mov ecx, esp
lea esi, [ebp - 0x314]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x138]
push eax
call fcn.00402603
xor dl, dl
mov byte [ebp - 4], 0x1b
mov ecx, esi
call fcn.00403805
mov esi, str._depotcache
lea eax, [ebp - 0x40]
push esi
push ebx
push eax
call fcn.00406bc5
add esp, 0x3c
mov ecx, eax
call fcn.00403d4d
lea ecx, [ebp - 0x40]
mov bl, al
call fcn.0040258a
test bl, bl
jne 0x41021d
push esi
push dword [ebp - 0x2cc]
lea eax, [ebp - 0x40]
push eax
call fcn.00406bc5
add esp, 0xc
mov ecx, eax
call fcn.00403d81
lea ecx, [ebp - 0x40]
call fcn.0040258a
mov esi, dword [ebp - 0x314]
mov ebx, dword [ebp - 0x310]
cmp esi, ebx
je 0x410364
mov edi, dword [ebp - 0x2cc]
xor eax, eax
lea ecx, [ebp - 0x28]
push esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.00402603
push 0x5740c4
mov byte [ebp - 4], 0x1d
call fcn.004ff4a6
cmp dword [ebp - 0x14], 8
pop ecx
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
push eax
push 0x5740c4
push 0xffffffffffffffff
push dword [ebp - 0x18]
push ecx
call fcn.00405fd4
add esp, 0x18
lea ecx, [ebp - 0x28]
inc eax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00404ae6
push str._depotcache_
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x1e
push edi
push eax
call fcn.00406bc5
add esp, 0xc
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x1f
push ecx
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00406c0f
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x4102cb
mov eax, dword [eax]
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
push 1
cmovae ecx, dword [ebp - 0x28]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x40]
call fcn.0040258a
lea ecx, [ebp - 0xa8]
call fcn.0040258a
lea ecx, [ebp - 0x90]
call fcn.0040258a
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x410351
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2c4], ecx
cmp eax, 0x1000
jb 0x410348
lea eax, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.00401403
mov eax, dword [ebp - 0x2c8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c4]
push eax
push ecx
call fcn.004e6456
pop ecx
pop ecx
push 0x18
pop eax
add esi, eax
cmp esi, ebx
jne 0x410237
mov edi, dword [ebp - 0x2f0]
mov ebx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x120]
push str._depotcache_config.vdf
push ebx
push eax
call fcn.00406bc5
add esp, 0xc
cmp dword [ebp - 0x10c], 8
lea eax, [ebp - 0x120]
cmovae eax, dword [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x120]
call fcn.00406905
test al, al
jne 0x410444
xor eax, eax
push eax
push eax
mov eax, dword [ebp - 0x2e8]
push 0x57777c
push dword [eax + 0x248]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x120]
call fcn.0040258a
lea ecx, [ebp - 0x314]
call fcn.0040726f
lea ecx, [ebp - 0x138]
call fcn.0040258a
lea ecx, [ebp - 0x1a0]
call fcn.0040258a
lea ecx, [ebp - 0x2dc]
call fcn.0040726f
lea ecx, [ebp - 0xc0]
call fcn.0040258a
lea ecx, [ebp - 0x108]
call fcn.0040258a
lea ecx, [ebp - 0xf0]
call fcn.0040258a
lea ecx, [ebp - 0xd8]
call fcn.0040258a
lea ecx, [ebp - 0x78]
call fcn.0040545f
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
call fcn.0040258a
jmp 0x41005c
xor eax, eax
mov dword [ebp - 0x13c], 0xf
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x140], eax
mov byte [ebp - 0x150], al
sub esp, 0x18
mov byte [ebp - 4], 0x21
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x120]
push eax
call fcn.00402603
lea ecx, [ebp - 0x150]
call fcn.00407028
add esp, 0xc
lea eax, [ebp - 0x150]
lea ecx, [ebp - 0x558]
push eax
call fcn.004048fe
xor eax, eax
mov byte [ebp - 4], 0x22
mov byte [ebp - 0x2c1], al
lea edx, [ebp - 0x558]
lea eax, [ebp - 0x2c3]
mov word [ebp - 0x2c3], 1
push eax
lea ecx, [ebp - 0x268]
call fcn.004135e1
mov edi, dword [ebp - 0x2e8]
pop ecx
push eax
lea ecx, [edi + 0x448]
call fcn.0040f92e
lea ecx, [ebp - 0x268]
call fcn.0040d038
push str._config_config.vdf
lea eax, [ebp - 0x90]
push ebx
push eax
call fcn.00406bc5
xor eax, eax
mov dword [ebp - 0x154], 0xf
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x158], eax
mov byte [ebp - 0x168], al
sub esp, 0xc
mov byte [ebp - 4], 0x24
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x90]
push eax
call fcn.00402603
lea ecx, [ebp - 0x168]
call fcn.00407028
add esp, 0xc
lea eax, [ebp - 0x168]
lea ecx, [ebp - 0x3f0]
push eax
call fcn.004048fe
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x394], 0
je 0x4109ef
xor eax, eax
mov word [ebp - 0x2c3], 1
mov byte [ebp - 0x2c1], al
lea edx, [ebp - 0x3f0]
lea eax, [ebp - 0x2c3]
push eax
lea ecx, [ebp - 0x210]
call fcn.004135e1
pop ecx
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0x26
call fcn.00412b50
push str.Valve
lea ecx, [ebp - 0x180]
call fcn.00404cd2
push str.Software
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x27
call fcn.00404cd2
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0041391c
push 0x20
pop ebx
mov eax, dword [eax]
mov ecx, dword [eax + ebx]
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x304]
add ecx, 0x38
push eax
call fcn.0041391c
lea ecx, [ebp - 0x328]
mov eax, dword [eax]
add eax, ebx
push eax
call fcn.00412b28
lea ecx, [ebp - 0x28]
call fcn.0040545f
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0x2b
call fcn.0040545f
mov esi, dword [ebp - 0x328]
test esi, esi
jne 0x4106b2
push str.valve
lea ecx, [ebp - 0x40]
call fcn.00404cd2
push str.Software
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2c
call fcn.00404cd2
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0041391c
mov eax, dword [eax]
mov ecx, dword [eax + ebx]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x304]
add ecx, 0x38
push eax
call fcn.0041391c
lea ecx, [ebp - 0x328]
mov eax, dword [eax]
add eax, ebx
push eax
call fcn.00412abd
lea ecx, [ebp - 0xa8]
call fcn.0040545f
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2b
call fcn.0040545f
mov esi, dword [ebp - 0x328]
push str.Steam
lea ecx, [ebp - 0x40]
call fcn.00404cd2
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x31c]
lea ecx, [esi + 0x38]
push eax
call fcn.0041391c
lea ecx, [ebp - 0x304]
mov eax, dword [eax]
add eax, ebx
push eax
call fcn.00412b28
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x30
call fcn.0040545f
mov ebx, dword [ebp - 0x304]
test ebx, ebx
je 0x4109c7
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str.steam__null
call esi
push str.depots
lea ecx, [ebp - 0xa8]
call fcn.00404cd2
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x2e4]
lea ecx, [ebx + 0x38]
push eax
call fcn.0041391c
lea ecx, [ebp - 0x31c]
mov eax, dword [eax]
add eax, 0x20
push eax
call fcn.00412b28
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x33
call fcn.0040545f
mov eax, dword [ebp - 0x31c]
test eax, eax
jne 0x410902
push str.dddd__null
call esi
lea ecx, [ebp - 0x2e0]
call fcn.0041363a
mov edi, dword [eax]
and dword [eax], 0
mov dword [ebp - 0x2c8], edi
mov dword [ebp - 0x2c4], edi
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x34
call fcn.00412aa3
sub esp, 0x18
mov ecx, esp
push str.depots
call fcn.00404cd2
mov ecx, edi
call fcn.00412b80
mov eax, dword [ebp - 0x2e8]
mov ebx, dword [eax + 0x484]
mov esi, dword [ebx]
cmp esi, ebx
je 0x41080e
lea eax, [edi + 0x38]
mov dword [ebp - 0x2f8], eax
mov edi, eax
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040f974
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x2fc]
mov ecx, edi
push eax
call fcn.004141df
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x34
call fcn.00412af9
lea ecx, [ebp - 0x48]
call fcn.0040545f
mov eax, dword [esi]
mov esi, eax
cmp eax, ebx
jne 0x4107ca
mov edi, dword [ebp - 0x2c8]
and dword [ebp - 0x2c4], 0
push ecx
mov ecx, dword [ebp - 0x304]
mov eax, esp
mov dword [eax], edi
call fcn.00412baa
sub esp, 0xc
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x2c0]
push eax
call fcn.00412a66
push 0
lea edx, [ebp - 0x210]
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2c0]
call fcn.0041368e
pop ecx
lea ecx, [ebp - 0x2c0]
call fcn.00412a36
push str._noset.txt
push dword [ebp - 0x2cc]
lea eax, [ebp - 0x40]
push eax
call fcn.00406bc5
add esp, 0xc
mov esi, eax
mov byte [ebp - 4], 0x37
cmp dword [esi + 0x14], 8
jb 0x410882
mov eax, dword [esi]
push 0x5c
push 0xffffffffffffffff
push dword [esi + 0x10]
push eax
call fcn.00406c38
add esp, 0x10
mov ecx, esi
push eax
push 0
lea eax, [ebp - 0x28]
push eax
call fcn.00404ae6
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
cmp dword [esi + 0x14], 8
jb 0x4108bc
mov esi, dword [esi]
push 0x57505c
push esi
call fcn.0050130f
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x4108e7
push esi
push 1
push 6
push str.ddddd
call fcn.00500661
push esi
call fcn.00500101
add esp, 0x14
lea ecx, [ebp - 0x28]
call fcn.0040258a
lea ecx, [ebp - 0x40]
call fcn.0040258a
lea ecx, [ebp - 0x2c0]
jmp 0x4109b7
mov edi, dword [edi + 0x484]
mov esi, dword [edi]
cmp esi, edi
je 0x410947
lea ebx, [eax + 0x38]
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040f974
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0x2e4]
mov ecx, ebx
push eax
call fcn.004141df
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x33
call fcn.0040f9a6
mov eax, dword [esi]
mov esi, eax
cmp eax, edi
jne 0x410911
sub esp, 0xc
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x4a0]
push eax
call fcn.00412a66
push 0
lea edx, [ebp - 0x210]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x4a0]
call fcn.0041368e
pop ecx
lea ecx, [ebp - 0x4a0]
call fcn.00412a36
push str._noset.txt
push dword [ebp - 0x2cc]
lea eax, [ebp - 0x40]
push eax
call fcn.00406bc5
add esp, 0xc
push 6
mov edx, str.ddddd
mov byte [ebp - 4], 0x3a
mov ecx, eax
call fcn.00406a04
pop ecx
lea ecx, [ebp - 0x40]
call fcn.0040258a
lea ecx, [ebp - 0x4a0]
call fcn.00403b03
lea ecx, [ebp - 0x31c]
call fcn.00412af9
lea ecx, [ebp - 0x304]
call fcn.00412af9
lea ecx, [ebp - 0x328]
call fcn.00412af9
lea ecx, [ebp - 0x210]
call fcn.0040d038
mov byte [ebp - 0x2d0], 1
lea ecx, [ebp - 0x3f0]
call fcn.00403ab2
lea ecx, [ebp - 0x168]
call fcn.0040545f
lea ecx, [ebp - 0x90]
call fcn.0040258a
lea ecx, [ebp - 0x558]
call fcn.00403ab2
lea ecx, [ebp - 0x150]
call fcn.0040545f
lea ecx, [ebp - 0x120]
call fcn.0040258a
lea ecx, [ebp - 0x314]
call fcn.0040726f
lea ecx, [ebp - 0x138]
call fcn.0040258a
lea ecx, [ebp - 0x1a0]
call fcn.0040258a
lea ecx, [ebp - 0x2dc]
call fcn.0040726f
lea ecx, [ebp - 0xc0]
call fcn.0040258a
jmp 0x410a72
xor eax, eax
mov dword [ebp - 0x2d0], eax
lea ecx, [ebp - 0x108]
call fcn.0040258a
lea ecx, [ebp - 0xf0]
call fcn.0040258a
lea ecx, [ebp - 0xd8]
call fcn.0040258a
jmp 0x410a9b
mov dword [ebp - 0x2d0], eax
lea ecx, [ebp - 0x78]
call fcn.0040545f
lea ecx, [ebp - 0x60]
call fcn.0040258a
jmp 0x410ab5
xor eax, eax
mov dword [ebp - 0x2d0], eax
lea ecx, [ebp - 0x334]
call fcn.0040726f
lea ecx, [ebp - 0x2f4]
call fcn.0040726f
mov al, byte [ebp - 0x2d0]
call fcn.004e6a01
ret