Function at 0x408de2
Capabilities:
Check if file exists

Disassembly:
push 0x18c
mov eax, 0x632488
call fcn.004d66c3
mov ebx, ecx
call fcn.00406645
mov edi, eax
test edi, edi
je 0x4091ed
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 0
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x14]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 1
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x18]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 2
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x1c]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 0
push eax
call fcn.004a56ea
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 8]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 3
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x20]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 4
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x24]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 5
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x28]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov eax, esp
push 6
push eax
call fcn.004a56d0
pop ecx
pop ecx
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x2c]
sub esp, 0x18
mov esi, esp
call fcn.00401921
mov ecx, eax
call fcn.004a6ef8
push eax
push esi
call fcn.004b11a7
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 4]
sub esp, 0x18
push esp
call fcn.004b2bf8
mov eax, dword [edi]
pop ecx
mov ecx, edi
call dword [eax + 0x10]
sub esp, 0x18
mov esi, esp
call fcn.004af63f
push eax
push esi
call fcn.004b11a7
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0x30]
sub esp, 0x18
mov esi, esp
call fcn.00401921
mov ecx, eax
call fcn.004a6efe
push eax
push esi
call fcn.004b11a7
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0x40]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
push esp
call fcn.004096af
mov ecx, eax
call fcn.004b3dba
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x38]
lea eax, [ebp - 0x18c]
push 9
push eax
call fcn.004a56ea
pop ecx
pop ecx
mov esi, eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x15c]
push eax
call fcn.0040676a
mov ecx, eax
call fcn.004afc78
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 8
jb 0x409016
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x40901e
mov eax, dword [eax]
push esi
push eax
lea eax, [ebp - 0x12c]
push str._s_s_
push eax
call fcn.004b0f77
add esp, 0x10
lea ecx, [ebp - 0x15c]
call fcn.00401ce8
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 4
call fcn.00401ce8
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x409088
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call fcn.004b21b3
pop ecx
sub esp, 0x18
lea eax, [ebp - 0x12c]
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.00401ad6
push esi
call fcn.004b1b89
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x3c]
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x44]
sub esp, 0x18
push esp
call fcn.00401921
mov ecx, eax
call fcn.004a6c20
call fcn.004b14a7
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x198]
push eax
mov dword [ebp - 0x194], edx
call fcn.004f70ce
push dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
inc ecx
push ecx
add eax, 0x76c
push eax
lea eax, [ebp - 0x174]
push str._d_.2d_.2d
push eax
call fcn.004b0eb6
add esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
lea eax, [ebp - 0x174]
xor ebx, ebx
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004046a0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
mov esi, 0x104
lea eax, [ebp - 0x114]
push esi
push ebx
push eax
call fcn.004eddc0
add esp, 0xc
lea eax, [ebp - 0x114]
push esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], bl
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x15c]
call fcn.00404838
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.004b274e
pop ecx
pop ecx
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 6
call fcn.00405aa5
sub esp, 0x18
lea eax, [ebp - 0x144]
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004046a0
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea ecx, [ebp - 0x144]
call fcn.00405aa5
lea ecx, [ebp - 0x174]
call fcn.00405aa5
lea ecx, [ebp - 0x12c]
call fcn.00401ce8
call fcn.004d666d
ret