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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x42e0b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov byte [ebp - 0x14], 1
mov esi, 0x104
mov dword [ebp - 0x18], eax
push esi
push eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x10], esi
push eax
mov edi, ecx
call fcn.00417fbd
xor eax, eax
lea ecx, [ebp - 0x220]
add esp, 0xc
cmp byte [ebp - 0x14], al
sete al
dec eax
and eax, 0x7ee3
add eax, esi
push eax
call fcn.0040e3f0
test eax, eax
js 0x4081ae
push 0x24
pop ecx
call fcn.0040dcd0
mov esi, eax
test esi, esi
je 0x41b092
mov ecx, esi
mov dword [esi], edi
call fcn.00408f21
mov eax, dword [esi + 0x18]
mov ecx, 0xffce
mov ebx, dword [esi]
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], ebx
call fcn.0040dcd0
test eax, eax
je 0x41b092
push 0
mov edx, 0x7fe7
mov dword [0x4367a4], eax
mov ecx, eax
call fcn.00408e9e
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x41b069
mov edx, dword [ebp - 0x10]
push ebx
call fcn.00411cd5
test eax, eax
jne 0x4081ae
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x41b074
push 0x5c
pop eax
mov edx, eax
call fcn.004101f5
xor ecx, ecx
mov word [eax + 2], cx
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x41b07f
push eax
mov ecx, 0x448bf0
call fcn.0040a641
test edi, edi
je 0x4081da
movzx eax, word [edi]
push 0x3a
pop edx
cmp ax, dx
je 0x4081da
push 0x5c
pop ecx
cmp ax, cx
jne 0x40817e
cmp edi, ebx
je 0x41b08a
mov eax, ebx
xor ecx, ecx
cmp word [eax], cx
je 0x408166
mov ecx, eax
add eax, 2
cmp eax, edi
jne 0x408156
movzx eax, word [ecx]
cmp ax, dx
je 0x41b08a
push 0x5c
pop ecx
cmp ax, cx
je 0x41b08a
movzx ebx, word [edi]
xor eax, eax
push dword [ebp - 0x224]
mov word [edi], ax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4081d6
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [0x4367a8], eax
mov word [edi], bx
cmp dword [0x4367a8], 0
je 0x4081da
xor esi, esi
inc esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x18], ecx
test eax, eax
je 0x4081c5
push eax
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void__]
pop ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00416b30
leave
ret
xor eax, eax
jmp 0x40819d
mov ecx, esi
call fcn.00408f21
mov eax, dword [ebp - 0x228]
mov dword [esi + 0x18], eax
jmp 0x4081b1
mov eax, dword [ebp + 0x40]
push eax
mov ecx, dword [ebp + 0x3c]
push ecx
mov edx, dword [ebp + 0x38]
push edx
mov eax, dword [ebp + 0x34]
push eax
mov ecx, dword [ebp + 0x30]
push ecx
mov edx, dword [ebp + 0x2c]
push edx
mov eax, dword [ebp + 0x28]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
push 0xa
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0041b070
add esp, 0x5c
mov esp, ebp
pop ebp
ret
int3
in al, dx
xchg esp, eax
add byte [eax], al
add byte [ebp + 0x45891445], cl
invalid
or al, 0x89
push ebp
in al, 0x6a
js 0x41b01e
lea ebp, [edi + edi*8 - 1]
call dword [ecx - 0x18]
xlatb
mov esp, 0xc483ffff
or bh, al
inc ebp
cld
add byte [eax], al
add byte [eax], al
insb byte es:[edi], dx
invalid