Function at 0x405a50
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x360
mov eax, dword [0x430034]
xor eax, ebp
mov dword [ebp - 8], eax
cmp word [0x433660], 0
mov al, byte [0x453692]
push ebx
push esi
mov ebx, edx
mov dword [ebp - 0x354], ecx
push edi
mov dword [ebp - 0x35c], ebx
mov esi, 0x433660
mov byte [ebp - 0x358], al
je 0x405a99
nop
add esi, 2
cmp word [esi], 0
jne 0x405a90
sub esi, 0x433660
mov dword [ebp - 0x340], 0
sar esi, 1
lea eax, [esi + 1]
push eax
call fcn.00414236
add esp, 4
lea ecx, [esi + esi]
mov edi, eax
lea eax, [ebp - 0x340]
mov dword [ebp - 0x348], edi
push ecx
push 0x433660
push eax
push esi
push edi
call dword [sym.imp.ntdll.dll_RtlUnicodeToMultiByteN]
mov eax, dword [ebp - 0x340]
mov byte [eax + edi], 0
xor edi, edi
movzx eax, bx
mov dword [ebp - 0x350], eax
nop dword [eax]
mov ebx, dword [edi + 0x42c3e0]
test ebx, ebx
jne 0x405afe
xor esi, esi
jmp 0x405b13
cmp word [ebx], 0
mov esi, ebx
je 0x405b0f
add esi, 2
cmp word [esi], 0
jne 0x405b06
sub esi, ebx
sar esi, 1
lea eax, [esi + 1]
mov dword [ebp - 0x344], 0
push eax
call fcn.00414236
add esp, 4
mov dword [ebp - 0x34c], eax
lea ecx, [esi + esi]
push ecx
push ebx
lea ecx, [ebp - 0x344]
push ecx
push esi
push eax
call dword [sym.imp.ntdll.dll_RtlUnicodeToMultiByteN]
mov ecx, dword [ebp - 0x344]
lea eax, [ebp - 0x10c]
mov esi, dword [ebp - 0x34c]
push 0x100
push 0
push eax
mov byte [ecx + esi], 0
call fcn.0040ffd0
mov ebx, dword [ebp - 0x354]
lea eax, [ebp - 0x10c]
add esp, 0xc
push dword [ebp - 0x350]
push ebx
push esi
mov esi, dword [ebp - 0x348]
push esi
push str.GET__pages__s__s.html_HTTP_1.1_r_nHost:__s:_d_r_nConnection:_close_r_n_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x104
lea eax, [ebp - 0x314]
push 0
push eax
call fcn.0040ffd0
add esp, 0x24
lea eax, [ebp - 0x314]
push dword [edi + 0x42c3e0]
push 0x453e10
push str._s_s.html
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x314]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x405c50
nop word [eax + eax]
sub esp, 8
mov dword [ebp - 0x318], 0
lea eax, [ebp - 0x318]
mov edx, ebx
lea ecx, [ebp - 0x314]
push eax
push dword [ebp - 0x358]
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x35c]
call fcn.004051d0
mov ecx, dword [ebp - 0x318]
add esp, 0x18
mov dword [edi + 0x4323f0], ecx
test al, al
jne 0x405cd0
lea eax, [ebp - 0x324]
mov dword [ebp - 0x324], 0xff676980
push eax
push 0
mov dword [ebp - 0x320], 0xffffffff
call dword [sym.imp.ntdll.dll_NtDelayExecution]
jmp 0x405be0
sub esp, 0x10
lea edx, [ebp - 0x314]
mov ecx, 1
push dword [sym.imp.ntdll.dll_ZwCreateFile]
push 0x80
call fcn.0040b6c0
mov esi, eax
test esi, esi
je 0x405cca
push 5
push 0x18
lea eax, [ebp - 0x33c]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x31c]
movq qword [ebp - 0x32c], xmm0
push eax
push esi
movups xmmword [ebp - 0x33c], xmm0
movq qword [ebp - 0x31c], xmm0
call dword [sym.imp.ntdll.dll_NtQueryInformationFile]
xor ecx, ecx
lea edx, [edi + 0x4323f0]
test eax, eax
cmovns ecx, dword [ebp - 0x334]
push ecx
mov ecx, esi
call fcn.0040bb00
add esp, 4
push esi
call dword [sym.imp.ntdll.dll_ZwClose]
mov esi, dword [ebp - 0x348]
push dword [ebp - 0x34c]
call fcn.0041421b
add edi, 4
add esp, 4
cmp edi, 0x1c
jle 0x405af0
push esi
call fcn.0041421b
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0040e688
mov esp, ebp
pop ebp
ret 4