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

Disassembly:
mov eax, 0x45138d
call fcn.00450bbc
sub esp, 0x10
push ebx
push esi
push edi
test ecx, ecx
jne 0x42adae
mov edi, dword [ebp + 8]
cmp dword [edi + 0x49c], ecx
jne 0x42ada2
xor al, al
jmp 0x42afb7
mov eax, dword [edi + 0x498]
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x42adc4
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42adb3
sub eax, esi
cmp eax, 0x10
ja 0x42ad9b
mov edi, dword [ebp + 8]
push ecx
xor ebx, ebx
call fcn.00427ae9
push eax
mov dword [ebp - 0x1c], eax
call fcn.0043c8ec
pop ecx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x42ae3a
test al, 0x10
je 0x42ae3a
mov eax, dword [edi + 0x488]
mov esi, eax
test eax, eax
jne 0x42adf9
mov esi, 0x454bc7
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42adfe
push dword [ebp + 0xc]
sub eax, ecx
lea ebx, [eax + 0x35]
call fcn.00427ae9
push dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
push esi
mov eax, 0x4556b4
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.0043c67a
add esp, 0x20
jmp 0x42ae47
push dword [ebp + 0xc]
xor ebx, ebx
call fcn.00427ae9
mov dword [ebp - 0x10], eax
xor ebx, ebx
push 0x36c
mov dword [ebp - 0x18], ebx
call fcn.0043b7d8
pop ecx
mov dword [ebp + 0xc], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x42ae73
push dword [ebp - 0x10]
mov esi, eax
call fcn.0042ff88
mov edi, dword [ebp + 8]
mov dword [ebp + 0xc], eax
jmp 0x42ae76
mov dword [ebp + 0xc], ebx
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
push 0x454bc7
call fcn.004326fe
xor eax, eax
mov esi, edi
call fcn.00428ae1
mov esi, eax
cmp esi, ebx
je 0x42af75
mov edi, dword [ebp + 8]
inc dword [ebp - 0x18]
push esi
xor ebx, ebx
call fcn.00427ae9
mov ebx, eax
push ebx
mov dword [ebp - 0x14], ebx
call fcn.0043c8ec
pop ecx
push 0x2d
push ebx
call fcn.0043bbd0
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x42aef9
mov byte [edi], 0
inc edi
push edi
call fcn.0043c8ec
mov eax, dword [ebp - 0x1c]
pop ecx
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x42aef0
test cl, cl
je 0x42aeec
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x42aef0
inc edi
inc edi
inc eax
inc eax
test cl, cl
jne 0x42aed2
xor eax, eax
jmp 0x42aef5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42af60
mov ecx, dword [ebp + 8]
push 0
mov edi, 0x454bc7
push edi
push edi
push str.hash
mov eax, esi
call fcn.00428a3a
push eax
push str.server
push ebx
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.004323f7
mov esi, str.local
push esi
push dword [ebp - 0x14]
mov eax, ebx
call fcn.00431907
test al, al
jne 0x42af43
push 0
push edi
push edi
push esi
push dword [ebp - 0x14]
push ebx
call fcn.004323f7
push 0
push edi
push edi
push str.fileset
push dword [ebp - 0x14]
push ebx
call fcn.004323f7
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x14]
call fcn.00427c09
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp + 8]
call fcn.00428ae1
mov esi, eax
test esi, esi
jne 0x42ae9a
push dword [ebp - 0x10]
mov ebx, dword [ebp + 0xc]
call fcn.00432733
mov esi, dword [ebp + 8]
mov bl, al
call fcn.0042b86b
cmp dword [ebp + 0xc], 0
je 0x42afa1
mov eax, dword [ebp + 0xc]
call fcn.00430038
push dword [ebp + 0xc]
call fcn.0043b780
pop ecx
lea edi, [ebp - 0x10]
mov eax, esi
call fcn.00427c09
lea edi, [ebp - 0x1c]
mov eax, esi
call fcn.00427c09
mov al, bl
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8