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

Disassembly:
mov eax, 0x4510e1
call fcn.004508fc
sub esp, 0x10
push ebx
push esi
push edi
test ecx, ecx
jne 0x42aaba
mov edi, dword [ebp + 8]
cmp dword [edi + 0x494], ecx
jne 0x42aaae
xor al, al
jmp 0x42acc3
mov eax, dword [edi + 0x490]
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x42aad0
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42aabf
sub eax, esi
cmp eax, 0x10
ja 0x42aaa7
mov edi, dword [ebp + 8]
push ecx
xor ebx, ebx
call fcn.004278d5
push eax
mov dword [ebp - 0x1c], eax
call fcn.0043c63c
pop ecx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x42ab46
test al, 0x10
je 0x42ab46
mov eax, dword [edi + 0x480]
mov esi, eax
test eax, eax
jne 0x42ab05
mov esi, 0x454bbf
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42ab0a
push dword [ebp + 0xc]
sub eax, ecx
lea ebx, [eax + 0x35]
call fcn.004278d5
push dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
push esi
mov eax, 0x45569c
push eax
push str.mupdb
push eax
push dword [ebp + 0xc]
push str._s_s_s_s_s__s
push dword [ebp - 0x10]
call fcn.0043c3ca
add esp, 0x20
jmp 0x42ab53
push dword [ebp + 0xc]
xor ebx, ebx
call fcn.004278d5
mov dword [ebp - 0x10], eax
xor ebx, ebx
push 0x36c
mov dword [ebp - 0x18], ebx
call fcn.0043b528
pop ecx
mov dword [ebp + 0xc], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x42ab7f
push dword [ebp - 0x10]
mov esi, eax
call fcn.0042fcd7
mov edi, dword [ebp + 8]
mov dword [ebp + 0xc], eax
jmp 0x42ab82
mov dword [ebp + 0xc], ebx
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
push 0x454bbf
call fcn.0043244d
xor eax, eax
mov esi, edi
call fcn.004288a5
mov esi, eax
cmp esi, ebx
je 0x42ac81
mov edi, dword [ebp + 8]
inc dword [ebp - 0x18]
push esi
xor ebx, ebx
call fcn.004278d5
mov ebx, eax
push ebx
mov dword [ebp - 0x14], ebx
call fcn.0043c63c
pop ecx
push 0x2d
push ebx
call fcn.0043b920
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42ac05
mov byte [edi], 0
inc edi
push edi
call fcn.0043c63c
mov eax, dword [ebp - 0x1c]
pop ecx
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x42abfc
test cl, cl
je 0x42abf8
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x42abfc
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x42abde
xor eax, eax
jmp 0x42ac01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ac6c
mov ecx, dword [ebp + 8]
push 0
mov edi, 0x454bbf
push edi
push edi
push str.hash
mov eax, esi
call fcn.004287fe
push eax
push str.server
push ebx
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00432146
mov esi, str.local
push esi
push dword [ebp - 0x14]
mov eax, ebx
call fcn.00431656
test al, al
jne 0x42ac4f
push 0
push edi
push edi
push esi
push dword [ebp - 0x14]
push ebx
call fcn.00432146
push 0
push edi
push edi
push str.fileset
push dword [ebp - 0x14]
push ebx
call fcn.00432146
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x14]
call fcn.004279f5
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
call fcn.004288a5
mov esi, eax
test esi, esi
jne 0x42aba6
push dword [ebp - 0x10]
mov ebx, dword [ebp + 0xc]
call fcn.00432482
mov esi, dword [ebp + 8]
mov bl, al
call fcn.0042b577
cmp dword [ebp + 0xc], 0
je 0x42acad
mov eax, dword [ebp + 0xc]
call fcn.0042fd87
push dword [ebp + 0xc]
call fcn.0043b4d0
pop ecx
lea edi, [ebp - 0x10]
mov eax, esi
call fcn.004279f5
lea edi, [ebp - 0x1c]
mov eax, esi
call fcn.004279f5
mov al, bl
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8