Function at 0x483826
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
mov eax, 0x497eb0
call fcn.00497a30
sub esp, 0x178
mov eax, dword [0x4b8484]
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
push edi
mov byte [esi], bl
mov edi, ecx
mov byte [eax], bl
cmp byte [edi + 8], bl
jne 0x483a62
cmp byte [edi + 9], bl
je 0x48386c
push dword [edi + 0x3f4]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [edi + 9], bl
lea esi, [edi + 0xb]
cmp byte [esi], bl
mov dword [ebp - 0x184], esi
je 0x483a94
push esi
call fcn.00482491
test al, al
pop ecx
je 0x48391f
mov esi, dword [ebp + 0x14]
cmp esi, ebx
jne 0x483896
lea esi, [ebp - 0x40]
mov eax, 0x12cf9510
push 2
mov dword [esi + 0x20], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x24], eax
pop eax
push dword [ebp - 0x184]
mov word [esi + 6], 0x4180
mov dword [esi], eax
mov word [esi + 4], bx
mov word [esi + 0xa], bx
mov word [esi + 0xc], bx
mov dword [esi + 0x10], eax
mov word [esi + 8], 1
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x483a94
test al, 1
mov word [esi + 0xc], ax
je 0x4838eb
and byte [esi + 6], 0x7f
test al, 2
je 0x4838fb
mov eax, dword [ebp + 0x10]
and word [esi + 6], 0xfe7f
mov byte [eax], 1
mov esi, dword [ebp + 0xc]
push esi
push dword [ebp - 0x184]
mov byte [edi + 8], 1
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.MSVCR71.dll_strncpy]
add esp, 0xc
mov byte [edi + esi - 1], bl
jmp 0x483ae1
lea eax, [ebp - 0x180]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
call esi
cmp eax, 0xffffffff
mov dword [edi + 0x3f4], eax
jne 0x483985
cmp byte [edi + 0xa], bl
je 0x483985
push dword [ebp - 0x184]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push str..lnk
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP71.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
mov dword [edi + 0x3f4], eax
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
cmp dword [edi + 0x3f4], 0xffffffff
je 0x483a94
mov esi, dword [ebp + 8]
mov byte [edi + 9], 1
mov byte [edi + 8], 1
mov edi, dword [ebp + 0xc]
push edi
lea eax, [ebp - 0x154]
push eax
push esi
call dword [sym.imp.MSVCR71.dll_strncpy]
mov ecx, dword [ebp - 0x180]
add esp, 0xc
push 2
mov dword [ebp + 8], ecx
pop eax
and dword [ebp + 8], eax
mov byte [esi + edi - 1], bl
je 0x4839cd
mov edx, dword [ebp + 0x10]
mov byte [edx], 1
mov esi, dword [ebp + 0x14]
cmp esi, ebx
je 0x483ae1
push 1
push ebx
push ebx
push dword [ebp - 0x164]
mov dword [esi], eax
mov word [esi + 4], bx
mov word [esi + 0xa], bx
mov word [esi + 0xc], cx
mov dword [esi + 0x10], eax
mov word [esi + 8], 1
call fcn.00497b00
mov ecx, dword [ebp - 0x160]
xor edi, edi
add eax, ecx
mov dword [esi + 0x18], eax
mov al, byte [ebp - 0x180]
adc edx, edi
and al, 0x10
neg al
mov word [esi + 6], 0x180
mov dword [esi + 0x1c], edx
sbb eax, eax
and eax, 0xffffc000
add eax, 0x8180
test byte [ebp - 0x180], 1
mov word [esi + 6], ax
je 0x483a3d
and byte [esi + 6], 0x7f
cmp dword [ebp + 8], ebx
je 0x483a48
and word [esi + 6], 0xfe7f
cmp dword [ebp - 0x168], ebx
je 0x483a98
lea eax, [ebp - 0x16c]
push eax
call fcn.0048203f
pop ecx
mov dword [esi + 0x24], eax
jmp 0x483a9f
cmp byte [edi + 9], bl
je 0x483a91
lea eax, [ebp - 0x180]
push eax
push dword [edi + 0x3f4]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x48399d
push dword [edi + 0x3f4]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [edi + 9], bl
mov byte [edi + 8], bl
xor al, al
jmp 0x483ae3
mov dword [esi + 0x24], 0x12cf9510
cmp dword [ebp - 0x178], ebx
je 0x483ab9
lea eax, [ebp - 0x17c]
push eax
call fcn.0048203f
pop ecx
mov dword [esi + 0x28], eax
jmp 0x483ac0
mov dword [esi + 0x28], 0x12cf9510
cmp dword [ebp - 0x170], ebx
je 0x483ada
lea eax, [ebp - 0x174]
push eax
call fcn.0048203f
pop ecx
mov dword [esi + 0x20], eax
jmp 0x483ae1
mov dword [esi + 0x20], 0x12cf9510
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.00497a1c
leave
ret 0x10