Function at 0x404ef4
Capabilities:
Check if file exists

Disassembly:
push 0x244
mov eax, 0x40a32d
call fcn.0040a1bb
mov ebx, ecx
cmp dword [ebx + 0x58], 0
mov dword [ebp - 0x238], ebx
je 0x4053cd
mov esi, 0x40e08c
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, dword [esi - 0x1c]
cmp eax, ecx
jne 0x404f91
push 0x103
lea eax, [ebp - 0x223]
push 0
push eax
mov byte [ebp - 0x224], 0
call sub.MSVCR100.dll_memset
add esp, 0xc
test esi, esi
je 0x404f54
lea edi, [ebp - 0x224]
mov ecx, esi
call fcn.0040567f
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov dword [esi + 0x12c], eax
movzx eax, word [esi - 0x18]
xor ecx, ecx
inc ecx
cmp cx, ax
jne 0x404f78
add ebx, 4
jmp 0x404f83
push 2
pop ecx
cmp cx, ax
jne 0x404f91
add ebx, 0x14
lea eax, [esi - 0x1c]
call fcn.00405843
mov ebx, dword [ebp - 0x238]
add esi, 0x14c
cmp esi, 0x40f54c
jl 0x404f1a
push 0x103
lea eax, [ebp - 0x11b]
push 0
push eax
mov byte [ebp - 0x11c], 0
call sub.MSVCR100.dll_memset
xor eax, eax
mov ecx, 0x40b8c4
add esp, 0xc
cmp eax, ecx
je 0x404fd6
lea edi, [ebp - 0x11c]
call fcn.0040567f
mov ebx, dword [ebp - 0x238]
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x234], 0xe70f1aa0
mov eax, 0xab8b
mov word [ebp - 0x230], ax
mov dword [ebp - 0x22e], 0xa38c11cf
mov dword [ebp - 0x22a], 0x485f8000
mov word [ebp - 0x226], 0x92a1
lea esi, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
push 6
push 1
movsd dword es:[edi], dword [esi]
push 0x10
push 0x10
movsd dword es:[edi], dword [esi]
push 2
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.004053d3
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
push 0x11
push 2
movsd dword es:[edi], dword [esi]
push 0x10
push 0x10
movsd dword es:[edi], dword [esi]
push 2
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.004053d3
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
push esi
push 3
push 0x10
push 0x10
push 2
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
call fcn.004053d3
mov eax, 0xc273
mov dword [ebp - 0x234], 0x8d5f1830
mov word [ebp - 0x230], ax
mov dword [ebp - 0x22e], 0xc89511cf
mov dword [ebp - 0x22a], 0x485f8000
mov word [ebp - 0x226], 0x92a1
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x240], esi
lea eax, [ebp - 0x248]
push eax
mov dword [ebp - 4], esi
call fcn.004054a9
mov eax, dword [ebp - 0x244]
sub eax, dword [ebp - 0x248]
mov dword [ebp - 0x238], esi
sar eax, 2
mov dword [ebp - 0x250], eax
cmp eax, esi
jbe 0x405175
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x248]
sub esp, 0x10
mov edi, esp
lea eax, [eax + ecx*4]
push dword [eax]
lea esi, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
push 5
movsd dword es:[edi], dword [esi]
push 0x14
push 0x14
mov dword [ebp - 0x24c], eax
movsd dword es:[edi], dword [esi]
push 0x11
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.004053d3
mov eax, dword [ebp - 0x24c]
sub esp, 0x10
mov edi, esp
push dword [eax]
lea esi, [ebp - 0x234]
movsd dword es:[edi], dword [esi]
push 2
movsd dword es:[edi], dword [esi]
push 0x14
push 0x14
movsd dword es:[edi], dword [esi]
push 0x11
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.004053d3
inc dword [ebp - 0x238]
mov eax, dword [ebp - 0x238]
cmp eax, dword [ebp - 0x250]
jb 0x4050f8
mov eax, 0x3ba8
mov word [ebp - 0x230], ax
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 6
mov dword [ebp - 0x234], 0x6642243a
mov dword [ebp - 0x22e], 0xa5ba4aa6
mov dword [ebp - 0x22a], 0x1fd70b2e
mov word [ebp - 0x226], 0x83dd
cmp eax, ecx
jne 0x4051c9
push 0xf
lea eax, [ebp - 0x234]
push eax
mov edx, 0x40b9c0
mov ecx, ebx
call fcn.00405578
mov eax, 0xb2bc
mov word [ebp - 0x230], ax
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 6
mov dword [ebp - 0x234], 0x964acba2
mov dword [ebp - 0x22e], 0x6a8c40eb
mov dword [ebp - 0x22a], 0x1640dba6
mov word [ebp - 0x226], 0xae1c
cmp eax, ecx
jne 0x40521d
push 0x25
lea eax, [ebp - 0x234]
push eax
mov edx, 0x40b9e4
mov ecx, ebx
call fcn.00405578
mov edi, 0x766d
mov eax, edi
mov word [ebp - 0x230], ax
mov esi, 0x4976
mov eax, esi
mov word [ebp - 0x22e], ax
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 6
mov dword [ebp - 0x234], 0x3fe89ce
mov dword [ebp - 0x22c], 0x9bbbc1b9
mov dword [ebp - 0x228], 0x4d7b2cc4
cmp eax, ecx
jne 0x405278
push 0x27
lea eax, [ebp - 0x234]
push eax
mov edx, str._SystemRoot__system32pnrpnsp.dll
mov ecx, ebx
call fcn.00405578
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 6
mov dword [ebp - 0x234], 0x3fe89cd
mov dword [ebp - 0x230], 0x4976766d
mov dword [ebp - 0x22c], 0x9bbbc1b9
mov dword [ebp - 0x228], 0x4d7b2cc4
cmp eax, ecx
jne 0x4052c1
push 0x26
lea eax, [ebp - 0x234]
push eax
mov edx, str._SystemRoot__system32pnrpnsp.dll
mov ecx, ebx
call fcn.00405578
mov eax, 0x7e9e
mov word [ebp - 0x230], ax
mov esi, 0x11cf
mov eax, esi
mov word [ebp - 0x22e], ax
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 7
mov dword [ebp - 0x234], 0x22059d40
mov dword [ebp - 0x22c], 0xaa005aae
mov dword [ebp - 0x228], 0x2b11a700
cmp eax, ecx
jne 0x40531a
push 0xc
lea eax, [ebp - 0x234]
push eax
mov edx, 0x40b8c4
mov ecx, ebx
call fcn.00405578
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 7
mov dword [ebp - 0x234], 0x3b2637ee
mov dword [ebp - 0x230], 0x11cfe580
mov dword [ebp - 0x22c], 0xc00055a5
mov dword [ebp - 0x228], 0xacd4d84f
cmp eax, ecx
jne 0x405363
push 0x20
lea eax, [ebp - 0x234]
push eax
mov edx, str._SystemRoot_System32winrnr.dll
mov ecx, ebx
call fcn.00405578
mov eax, 0x3ba8
mov word [ebp - 0x230], ax
mov eax, dword [ebx + 0x58]
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x234], 0x6642243a
mov dword [ebp - 0x22e], 0xa5ba4aa6
mov dword [ebp - 0x22a], 0x1fd70b2e
mov word [ebp - 0x226], 0x83dd
cmp eax, ecx
jne 0x4053b7
push 0xf
lea eax, [ebp - 0x234]
push eax
mov edx, 0x40b8c4
mov ecx, ebx
call fcn.00405578
cmp dword [ebp - 0x248], 0
je 0x4053cd
push dword [ebp - 0x248]
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
pop ecx
call fcn.0040a205
ret