Function at 0x401200
Capabilities:
Check if file exists

Disassembly:
push 0x27c
mov eax, 0x57fa97
call fcn.004245be
call fcn.00401695
lea eax, [ebp - 0x70]
push eax
call fcn.004018a1
mov ecx, eax
call fcn.0040a962
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x60], ebx
ja 0x401332
lea ecx, [ebp - 0x1e8]
call fcn.00418c00
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 1
call fcn.00418b90
push ebx
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 2
call fcn.0041c9c0
push ebx
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.004017ac
mov ecx, eax
call fcn.0041cd00
test al, al
je 0x40130f
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], ebx
cmovae eax, dword [ebp - 0x88]
push eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], bl
call fcn.00404554
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0040c665
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.00404598
lea ecx, [ebp - 0xd8]
call fcn.00404683
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.004045fa
cmp dword [ebp - 0x60], ebx
jbe 0x40130f
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
mov dword [ebp - 0x284], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404362
mov byte [ebp - 4], 4
call fcn.004018a1
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.0040b07c
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x8c], vtable.CParseUserLocality.0
call fcn.004045fa
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], bl
call fcn.0041b5c0
lea eax, [ebp - 0x40]
push eax
call fcn.0040171d
mov byte [ebp - 4], 5
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x401457
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x284], esp
push 0x5f0dac
call fcn.00404313
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x288], esp
push str.31413128
call fcn.00404313
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
call fcn.004018a1
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.0040a72d
mov byte [ebp - 4], 8
call fcn.0040e0ed
test al, al
je 0x401419
mov eax, dword [0x60ace0]
test eax, eax
je 0x401419
cmp dword [eax + 4], 4
jl 0x401419
sub esp, 0xc
push 0x27
push str.CSoftStrategy::SaveStrategy
push ecx
lea ecx, [ebp - 0x280]
call fcn.004040e0
mov edi, eax
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 9
mov edx, str._____get_sss_time_____
call fcn.0040210d
mov esi, dword [0x60ace0]
lea eax, [ebp - 0x40]
push eax
push ecx
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0040191d
pop ecx
mov ecx, eax
call fcn.0040191d
push eax
mov ecx, esi
call fcn.004041c0
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 8
call fcn.0040245b
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 3
cmovae eax, dword [ebp - 0x28]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00404313
call fcn.0040bef3
add esp, 0x18
push edx
push eax
call fcn.0040fe82
add esp, 0xc
lea ecx, [ebp - 0x28]
test eax, eax
je 0x401673
mov byte [ebp - 4], 5
call fcn.00404683
push ebx
call fcn.0043f95c
pop ecx
push edx
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.0040bdd8
add esp, 0xc
mov byte [ebp - 4], 0xa
call fcn.0040e0ed
test al, al
je 0x4014ec
mov eax, dword [0x60ace0]
test eax, eax
je 0x4014ec
cmp dword [eax + 4], 4
jl 0x4014ec
sub esp, 0xc
push 0x2f
push str.CSoftStrategy::SaveStrategy
push ecx
lea ecx, [ebp - 0x280]
call fcn.004040e0
mov edi, eax
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 0xb
mov edx, str._____save_sss_time_____
call fcn.0040210d
mov esi, dword [0x60ace0]
lea eax, [ebp - 0x40]
push eax
push ecx
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
call fcn.0040191d
pop ecx
mov ecx, eax
call fcn.0040191d
push eax
mov ecx, esi
call fcn.004041c0
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0xa
call fcn.0040245b
sub esp, 0x18
lea eax, [ebp - 0xc0]
mov ecx, esp
mov dword [ebp - 0x288], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404362
sub esp, 0x18
mov byte [ebp - 4], 0xc
mov ecx, esp
mov dword [ebp - 0x284], esp
push str.31413128
call fcn.00404313
mov byte [ebp - 4], 0xd
call fcn.004018a1
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.0040afed
lea ecx, [ebp - 0x160]
call fcn.00418bd0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xe
call fcn.00418b60
push 0x1e
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xf
call fcn.0041c9c0
sub esp, 0x18
mov dword [ebp - 0x288], esp
mov esi, esp
push 0x3a8
sub esp, 0x18
push esp
call fcn.004018a1
mov ecx, eax
call fcn.0040ac84
push esi
call fcn.0040c0da
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, esp
push 0x5f0c1c
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], 0xf
mov byte [ecx], bl
call fcn.00404554
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xf
call fcn.0041bb30
push ebx
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.004017ac
mov ecx, eax
call fcn.0041cd00
test al, al
jne 0x4015fe
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.004017ac
mov ecx, eax
call fcn.0041cd00
test al, al
je 0x40164d
push 0x10
push 0x10
push 0x5f0c20
push 0x5f0c34
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004100f0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x40]
push dword [ebp - 0x48]
cmovae ecx, dword [ebp - 0x58]
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00410387
add esp, 0x24
lea ecx, [ebp - 0x58]
mov bl, 1
call fcn.004045fa
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa8], vtable.CParseSoftStrategy.0
call fcn.004045fa
lea ecx, [ebp - 0x160]
call fcn.0041b5c0
lea ecx, [ebp - 0xc0]
call fcn.00404683
lea ecx, [ebp - 0x40]
call fcn.00404683
lea ecx, [ebp - 0x70]
call fcn.00404683
mov al, bl
call fcn.00424568
ret