Function at 0x441350
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x598129
mov eax, dword fs:[0]
push eax
sub esp, 0x2bc
mov eax, dword [0x6204e0]
xor eax, esp
mov dword [esp + 0x2b8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6204e0]
xor eax, esp
push eax
lea eax, [esp + 0x2d0]
mov dword fs:[0], eax
mov ecx, dword [esp + 0x2e4]
mov eax, dword [esp + 0x2e0]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x14]
xor ebp, ebp
cmp ecx, ebp
jne 0x4413ad
mov al, 1
jmp 0x4418f2
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebp
mov byte [esp + 0x38], 0
call fcn.0040b880
mov eax, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x2d8], ebp
cmp eax, ebp
jbe 0x441426
cmp esi, eax
jbe 0x4413e9
call sub.MSVCR90.dll__invalid_parameter_noinfo
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov edi, 0x10
cmp dword [esp + 0x40], edi
jae 0x4413fc
lea ecx, [esp + 0x2c]
cmp byte [ecx + esi], 0x2f
jne 0x441421
cmp esi, eax
jbe 0x44140b
call sub.MSVCR90.dll__invalid_parameter_noinfo
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x40], edi
jae 0x441419
lea eax, [esp + 0x2c]
mov byte [eax + esi], 0x5c
mov eax, dword [esp + 0x3c]
inc esi
cmp esi, eax
jb 0x4413e9
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x2e0], 1
call fcn.0043d560
mov esi, dword [esp + 0x20]
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4418c3
test al, 0x10
je 0x4418c3
mov eax, dword [esp + 0x3c]
lea esi, [eax - 1]
mov byte [esp + 0x17], 1
cmp esi, eax
jbe 0x441479
call sub.MSVCR90.dll__invalid_parameter_noinfo
mov eax, dword [esp + 0x2c]
mov ebp, 0x10
cmp dword [esp + 0x40], ebp
jae 0x44148c
lea eax, [esp + 0x2c]
cmp byte [eax + esi], 0x5c
je 0x4414a2
push 1
push 0x5a2450
lea ecx, [esp + 0x30]
call fcn.0040b960
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.0043d560
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
inc eax
lea ecx, [eax + eax]
push ecx
push edx
mov dword [esp + 0x2c], eax
call sub.MSVCR90.dll_realloc
mov ebx, eax
mov edi, ebx
add esp, 0x10
mov dword [esp + 0x18], ebx
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4414d6
mov eax, dword [0x5a3750]
lea ecx, [esp + 0x7c]
push ecx
push ebx
mov dword [edi], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
mov dword [esp + 0x24], esi
cmp esi, 0xffffffff
je 0x441782
mov ecx, 0x5a374c
lea eax, [esp + 0xa8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x441536
test dx, dx
je 0x441532
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x441536
add eax, 4
add ecx, 4
test dx, dx
jne 0x441510
xor eax, eax
jmp 0x44153b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x441767
mov ecx, 0x5a3744
lea eax, [esp + 0xa8]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x441576
test dx, dx
je 0x441572
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x441576
add eax, 4
add ecx, 4
test dx, dx
jne 0x441550
xor eax, eax
jmp 0x44157b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x441767
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
xor ebp, ebp
add eax, edx
je 0x4416b4
jmp 0x4415b0
lea ecx, [esp + 0xa8]
push ecx
lea edx, [esp + 0x48]
push edx
call fcn.0043e5b0
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x70]
push ecx
mov byte [esp + 0x2ec], 2
call fcn.0040c7a0
add esp, 0x14
cmp dword [esp + 0x5c], 0x10
mov byte [esp + 0x2d8], 4
jb 0x4415f9
mov edx, dword [esp + 0x48]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0x20]
push ebp
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
call fcn.0044ae10
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
cmp ebx, 0x10
jae 0x441629
lea edx, [esp + 0x64]
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x441632
mov edi, dword [esp + 0x74]
mov ecx, esi
cmp esi, edi
jb 0x44163e
mov ecx, edi
cmp dword [eax + 0x18], 0x10
jb 0x441649
mov eax, dword [eax + 4]
jmp 0x44164c
add eax, 4
push ecx
push edx
push eax
call fcn.00406ca0
add esp, 0xc
test eax, eax
jne 0x44166c
cmp esi, edi
jb 0x44166c
cmp esi, edi
setne al
test eax, eax
je 0x441749
mov byte [esp + 0x2d8], 1
cmp ebx, 0x10
jb 0x441686
mov eax, dword [esp + 0x64]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
inc ebp
add ecx, edx
cmp ebp, ecx
jb 0x4415b0
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
test byte [esp + 0x7c], 0x10
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x60]
push eax
mov esi, 0x10
push ecx
je 0x4417b8
call fcn.0043e5b0
push eax
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x2ec], 5
call fcn.0040c7a0
push edi
push eax
mov byte [esp + 0x2f4], 6
call fcn.00441350
and byte [esp + 0x33], al
add esp, 0x1c
cmp dword [esp + 0x5c], esi
jb 0x441717
mov ecx, dword [esp + 0x48]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x78], esi
jb 0x441763
mov edx, dword [esp + 0x64]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x441767
mov byte [esp + 0x2d8], 1
cmp ebx, 0x10
jb 0x441763
mov edx, dword [esp + 0x64]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x7c]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x441504
lea ebp, [eax + 0x10]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x44184c
test ebx, ebx
je 0x44179e
push ebx
call sub.MSVCR90.dll_free
add esp, 4
cmp dword [esp + 0x40], ebp
jb 0x4417b1
mov edx, dword [esp + 0x2c]
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
xor al, al
jmp 0x4418f2
call fcn.0043e5b0
push eax
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x2ec], 7
call fcn.0040c7a0
add esp, 0x14
mov byte [esp + 0x2d8], 1
cmp dword [esp + 0x78], esi
jb 0x4417f3
mov ecx, dword [esp + 0x64]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.0043d560
mov ebx, dword [esp + 0x20]
add esp, 8
test byte [esp + 0x7c], 1
je 0x44181c
push 0x80
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov cl, byte [esp + 0x17]
test cl, al
setne dl
mov byte [esp + 0x17], dl
cmp dword [esp + 0x5c], esi
jb 0x441763
mov eax, dword [esp + 0x48]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
jmp 0x441767
cmp esi, 0xffffffff
je 0x441858
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [esp + 0x17], 0
je 0x44189b
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.0043d560
mov esi, dword [esp + 0x20]
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
setne bl
test esi, esi
je 0x44188e
push esi
call sub.MSVCR90.dll_free
add esp, 4
cmp dword [esp + 0x40], ebp
jb 0x4418f0
mov edx, dword [esp + 0x2c]
push edx
jmp 0x4418e8
test ebx, ebx
je 0x4418a8
push ebx
call sub.MSVCR90.dll_free
add esp, 4
cmp dword [esp + 0x40], ebp
jb 0x4417b1
mov eax, dword [esp + 0x2c]
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
xor al, al
jmp 0x4418f2
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
setne bl
cmp esi, ebp
je 0x4418dc
push esi
call sub.MSVCR90.dll_free
add esp, 4
cmp dword [esp + 0x40], 0x10
jb 0x4418f0
mov ecx, dword [esp + 0x2c]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x2d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2b8]
xor ecx, esp
call fcn.0058ecc6
add esp, 0x2c8
ret