Function at 0x4ad10e1a
Capabilities:
Copy file
Delete file
Get file attributes
Get file size
Read file on windows
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x670
mov eax, dword [0x4ad019a8]
push ebx
push esi
push edi
mov dword [ebp - 0x468], eax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x464]
rep stosd dword es:[edi], eax
or dword [ebp - 4], 0xffffffff
push 1
xor edi, edi
pop esi
lea eax, [ebp - 0x2c]
push edi
mov ebx, 0x80
push eax
push ebx
push 0xfe00
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], edi
call fcn.4ad0d92b
cmp eax, edi
mov dword [ebp - 0x10], eax
je 0x4ad1175e
cmp dword [0x4ad1f9d4], edi
je 0x4ad10e9c
lea eax, [ebp - 0x3c]
push esi
push eax
push ebx
push dword [ebp - 0x2c]
call fcn.4ad0d92b
cmp eax, edi
mov dword [ebp - 0x24], eax
je 0x4ad1175e
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x1c]
cmp ebx, edi
je 0x4ad11780
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 0x14]
push 0x21
push dword [ebx]
call fcn.4ad14661
push eax
call fcn.4ad18527
test al, al
jne 0x4ad10f11
cmp dword [0x4ad1f5b4], 3
jne 0x4ad10ed9
cmp dword [0x4ad264b4], edi
je 0x4ad11736
push dword [ebx]
push 0x4ad1c140
call fcn.4ad157af
pop ecx
pop ecx
push 0x4ad1c018
call fcn.4ad157af
pop ecx
push dword [0x4ad1d000]
call fcn.4ad143d9
push dword [ebp - 0xc]
call fcn.4ad185bc
push esi
push edi
call fcn.4ad12859
jmp 0x4ad10f11
push 1
pop esi
cmp dword [0x4ad22878], edi
jne 0x4ad1173e
lea eax, [ebp - 0x670]
push eax
push ebx
call fcn.4ad10cc8
cmp eax, esi
je 0x4ad11756
cmp dword [0x4ad264b4], edi
jne 0x4ad10f5a
cmp dword [0x4ad1f5b4], 3
jne 0x4ad10f5a
push dword [ebx + 4]
lea eax, [ebp - 0x468]
push eax
call fcn.4ad127fe
test eax, eax
jne 0x4ad11716
test byte [ebx + 0x18], 8
jne 0x4ad10f69
cmp dword [0x4ad1f5b4], 3
jne 0x4ad10f89
push dword [ebx + 4]
push str._s_r_n
call fcn.4ad157af
cmp dword [0x4ad1f5b4], 3
pop ecx
pop ecx
jne 0x4ad10f89
cmp dword [0x4ad264b4], edi
je 0x4ad10fe7
push edi
lea eax, [ebp - 0x260]
push 0x104
push eax
push dword [ebp + 0xc]
push ebx
call fcn.4ad1209f
cmp eax, esi
je 0x4ad11756
cmp dword [0x4ad1f5b4], 3
jne 0x4ad10fda
lea eax, [ebp - 0x468]
test eax, eax
je 0x4ad10fda
lea eax, [ebp - 0x260]
test eax, eax
je 0x4ad10fda
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
cmp word [ebp - 0x260], di
je 0x4ad11716
push edi
push dword [ebx + 4]
call fcn.4ad145df
cmp eax, 0xffffffff
mov dword [ebp + 8], eax
jne 0x4ad1103c
push dword [0x4ad1d000]
call fcn.4ad143d9
cmp dword [0x4ad1f5b4], 3
jne 0x4ad11034
cmp dword [ebp - 4], 0xffffffff
jne 0x4ad11034
push dword [ebx + 4]
lea eax, [ebp - 0x260]
push eax
call fcn.4ad127fe
test eax, eax
je 0x4ad11034
push dword [ebp - 0xc]
call fcn.4ad185bc
push esi
push edi
call fcn.4ad12859
mov dword [ebp - 0x20], esi
jmp 0x4ad11716
push eax
call fcn.4ad14ea0
test eax, eax
je 0x4ad11053
mov eax, 0x80
or dword [ebx + 0x18], eax
mov dword [ebp - 0x18], eax
jmp 0x4ad11076
cmp dword [0x4ad1f9d4], edi
je 0x4ad1106a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
jae 0x4ad1106d
mov dword [ebp - 0x18], ecx
jmp 0x4ad11070
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 0x18]
test al, 4
je 0x4ad110b6
and al, 0xfb
test al, 0x80
mov dword [ebx + 0x18], eax
je 0x4ad1108a
or al, 2
jmp 0x4ad1108c
or eax, esi
mov dword [ebx + 0x18], eax
cmp byte [0x4ad1cf7c], 0
jne 0x4ad110b9
cmp dword [0x4ad264b4], edi
je 0x4ad110b9
test al, 8
jne 0x4ad110b9
cmp dword [0x4ad1f5b4], 3
jne 0x4ad110b9
and al, 0xfe
or al, 2
mov dword [ebx + 0x18], eax
jmp 0x4ad110b9
mov dword [ebp - 0x14], eax
push 0x208
push dword [ebx + 4]
push 0x4ad1f5c0
call fcn.4ad14d91
mov esi, eax
lea eax, [ebp - 0x260]
push eax
call fcn.4ad14661
push eax
lea eax, [ebp - 8]
push dword [ebp - 4]
push ebx
push eax
push 0x200
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.4ad12618
cmp dword [0x4ad1d000], edi
mov dword [ebp - 0x1c], eax
je 0x4ad117ad
push dword [ebp + 8]
call fcn.4ad1408a
push 0x6e
call fcn.4ad143d9
cmp dword [0x4ad1f5b4], 3
je 0x4ad11125
mov dword [ebp - 0x20], 1
jmp 0x4ad11716
push dword [ebp - 0xc]
call fcn.4ad185bc
push 1
push edi
call fcn.4ad12859
push 1
pop esi
cmp dword [ebp - 0x34], esi
jne 0x4ad11161
cmp dword [0x4ad1f5b4], 3
jne 0x4ad11161
and dword [ebx + 0x18], 0xfffffffe
cmp dword [ebp - 0x14], edi
mov eax, dword [ebx + 0x18]
jne 0x4ad11159
or al, 2
mov dword [ebx + 0x18], eax
jmp 0x4ad11161
mov ecx, dword [ebp - 0x14]
or ecx, eax
mov dword [ebx + 0x18], ecx
mov eax, dword [ebx + 0x18]
test al, 8
jne 0x4ad1117d
cmp dword [0x4ad1f5b4], 3
jne 0x4ad1117d
cmp dword [ebp - 0x14], edi
jne 0x4ad1117d
and al, 0xfe
or al, 2
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x18]
test al, 8
je 0x4ad1119e
cmp dword [0x4ad1f5b4], 3
jne 0x4ad1119e
cmp dword [ebp - 0x28], edi
jne 0x4ad1119e
cmp dword [ebp - 0x14], edi
jne 0x4ad1119e
and al, 0xfe
or al, 2
mov dword [ebx + 0x18], eax
push dword [ebx + 0x18]
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x10]
call fcn.4ad125d2
cmp dword [0x4ad1f5b4], 3
je 0x4ad11492
test byte [ebx + 0x18], 1
je 0x4ad11492
cmp dword [ebp - 4], 0xffffffff
je 0x4ad111d6
push dword [ebp - 4]
call fcn.4ad1408a
or dword [ebp - 4], 0xffffffff
test byte [ebx + 0x19], 4
je 0x4ad11215
push dword [ebx + 4]
call fcn.4ad14f52
test eax, eax
jne 0x4ad111f8
lea eax, [ebp - 0x260]
push eax
call fcn.4ad14f52
test eax, eax
je 0x4ad111fa
mov eax, esi
push 2
push edi
push eax
lea eax, [ebp - 0x260]
push 0x4ad10d89
push eax
push dword [ebx + 4]
call dword [0x4ad264b8]
jmp 0x4ad11244
mov eax, dword [0x4ad264b8]
push edi
cmp eax, edi
jne 0x4ad11231
lea eax, [ebp - 0x260]
push eax
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp 0x4ad11244
push 0x4ad22878
push edi
lea ecx, [ebp - 0x260]
push edi
push ecx
push dword [ebx + 4]
call eax
cmp eax, edi
jne 0x4ad112b1
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp + 8]
mov dword [0x4ad1d000], eax
call fcn.4ad1408a
cmp dword [ebp - 0x30], edi
je 0x4ad11265
push 0x1d
pop esi
cmp dword [0x4ad1d000], edi
mov dword [0x4ad1cfe8], edi
jne 0x4ad1127d
mov dword [0x4ad1d000], 0x70
cmp dword [0x4ad22878], edi
je 0x4ad11289
xor esi, esi
jmp 0x4ad11298
cmp esi, edi
jne 0x4ad11298
push dword [0x4ad1d000]
call fcn.4ad143d9
cmp dword [ebp - 0x44], edi
push 1
jne 0x4ad11699
pop eax
mov dword [ebp - 0x20], eax
mov dword [0x4ad264c8], eax
jmp 0x4ad11716
cmp dword [ebp - 0x30], edi
jne 0x4ad1169f
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and al, 0xfe
push eax
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [0x4ad1f9d4], 0
je 0x4ad1169f
push 0
lea eax, [ebp - 0x260]
push 1
push eax
call fcn.4ad145c9
or edi, 0xffffffff
mov dword [ebp - 4], eax
cmp eax, edi
je 0x4ad11450
push eax
call fcn.4ad14ea0
push dword [ebp - 4]
test eax, eax
jne 0x4ad1136a
mov esi, dword [sym.imp.MSVCRT.dll__get_osfhandle]
call esi
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x4ad11351
push dword [ebp - 4]
call fcn.4ad1408a
lea eax, [ebp - 0x260]
push 0
push eax
mov dword [ebp - 4], edi
call fcn.4ad145df
cmp eax, edi
mov dword [ebp - 4], eax
je 0x4ad11450
push eax
call fcn.4ad14ea0
test eax, eax
je 0x4ad11377
lea eax, [ebp - 0x260]
push eax
push 1
push 0x271f
call fcn.4ad1393b
add esp, 0xc
push dword [ebp - 4]
call fcn.4ad1408a
mov dword [ebp - 4], edi
jmp 0x4ad1169f
xor eax, eax
push eax
push eax
push eax
push dword [ebp + 8]
call esi
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
pop ecx
push eax
call edi
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 4]
call esi
pop ecx
push eax
call edi
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 8]
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
pop ecx
push eax
call edi
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 4]
call esi
pop ecx
push eax
call edi
cmp dword [ebp - 0x1c], eax
jne 0x4ad1146b
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x48]
jne 0x4ad1146b
and dword [ebp - 0x1c], 0
lea eax, [ebp - 8]
push 0
push eax
mov esi, dword [sym.imp.MSVCRT.dll__get_osfhandle]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push dword [ebp + 8]
call esi
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
pop ecx
push eax
call edi
test eax, eax
je 0x4ad11481
cmp dword [ebp - 8], 0
je 0x4ad11481
lea eax, [ebp - 0x50]
push 0
push eax
push dword [ebp - 8]
push dword [ebp - 0x24]
push dword [ebp - 4]
call esi
pop ecx
push eax
call edi
test eax, eax
je 0x4ad11444
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x50], ecx
jne 0x4ad11444
cmp dword [ebp - 0x18], ecx
je 0x4ad11431
mov dword [ebp - 0x1c], 1
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x10]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4ad11444
cmp dword [ebp - 0x1c], eax
je 0x4ad113d5
jmp 0x4ad11481
push dword [ebp - 4]
call fcn.4ad1408a
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x260]
push eax
push 1
push 0x271f
call fcn.4ad1393b
add esp, 0xc
jmp 0x4ad1169f
lea eax, [ebp - 0x260]
push eax
push 1
push 0x271f
call fcn.4ad1393b
add esp, 0xc
push dword [ebp - 4]
call fcn.4ad1408a
or dword [ebp - 4], 0xffffffff
jmp 0x4ad1169f
cmp dword [ebp - 4], 0xffffffff
jne 0x4ad114ef
push edi
lea eax, [ebp - 0x260]
push esi
push eax
call fcn.4ad145c9
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
jne 0x4ad114ef
push dword [ebp + 8]
call fcn.4ad1408a
cmp dword [0x4ad1cf74], edi
jne 0x4ad114c9
push dword [0x4ad1d000]
call fcn.4ad143d9
cmp dword [0x4ad1f5b4], 3
je 0x4ad114e0
mov dword [ebp - 0x20], esi
mov dword [0x4ad264c8], esi
jmp 0x4ad11716
push dword [ebp - 0xc]
call fcn.4ad185bc
push esi
push edi
call fcn.4ad12859
cmp dword [0x4ad264b4], edi
jne 0x4ad11524
cmp dword [0x4ad1f5b4], 3
jne 0x4ad11524
mov eax, dword [ebx + 0x18]
test al, 2
je 0x4ad11524
test ah, 0x40
je 0x4ad11524
mov eax, dword [ebp - 0x10]
sub dword [ebp - 8], 2
push dword [ebp - 8]
lea ecx, [eax + 2]
push ecx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov eax, dword [0x4ad1cfe8]
cmp eax, edi
je 0x4ad115a1
cmp dword [ebp - 8], edi
jle 0x4ad11599
push dword [ebp + 8]
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 4]
call fcn.4ad12709
cmp dword [0x4ad1f9d4], edi
je 0x4ad1169f
push dword [ebp - 4]
call fcn.4ad14ea0
test eax, eax
jne 0x4ad1169f
push dword [ebp - 0x24]
lea eax, [ebp - 0x260]
push dword [ebp - 0x10]
push dword [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
call fcn.4ad12bf5
cmp eax, 1
jne 0x4ad1169f
push dword [ebp - 0xc]
call fcn.4ad185bc
push 1
push 0
jmp 0x4ad1169a
cmp eax, edi
jne 0x4ad11634
cmp dword [ebp - 0x1c], 1
jne 0x4ad11634
push dword [ebp + 8]
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 4]
call fcn.4ad12709
cmp dword [0x4ad1f9d4], 0
je 0x4ad11607
push dword [ebp - 4]
call fcn.4ad14ea0
test eax, eax
jne 0x4ad11607
push dword [ebp - 0x24]
lea eax, [ebp - 0x260]
push dword [ebp - 0x10]
push dword [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
call fcn.4ad12bf5
cmp eax, 1
jne 0x4ad11607
push dword [ebp - 0xc]
call fcn.4ad185bc
push 1
push 0
call fcn.4ad12859
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 8]
push dword [ebp - 4]
push ebx
push eax
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.4ad12618
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4ad1cfe8]
test eax, eax
je 0x4ad115a1
xor esi, esi
cmp eax, esi
je 0x4ad1169f
cmp dword [ebp - 8], esi
jle 0x4ad1169f
cmp dword [ebp - 0x1c], 1
jne 0x4ad1169f
push dword [ebp + 8]
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 4]
call fcn.4ad12709
cmp dword [0x4ad1f9d4], esi
je 0x4ad1169f
push dword [ebp - 4]
call fcn.4ad14ea0
test eax, eax
jne 0x4ad1169f
push dword [ebp - 0x24]
lea eax, [ebp - 0x260]
push dword [ebp - 0x10]
push dword [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
call fcn.4ad12bf5
cmp eax, 1
jne 0x4ad1169f
push dword [ebp - 0xc]
call fcn.4ad185bc
push 1
push esi
call fcn.4ad12859
xor esi, esi
push dword [ebp + 8]
mov dword [0x4ad1cfe8], esi
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x58], ecx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x54], eax
call fcn.4ad1408a
cmp dword [0x4ad1f5b4], 3
je 0x4ad1170e
cmp dword [0x4ad22878], esi
je 0x4ad116ed
push dword [ebp - 4]
call fcn.4ad1408a
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x20], 1
jmp 0x4ad11704
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x260]
push dword [ebp - 4]
push eax
push dword [ebp + 0xc]
push ebx
call fcn.4ad12003
mov dword [0x4ad264c8], 1
mov dword [0x4ad264b4], esi
xor edi, edi
push dword [ebp - 0xc]
push 0x21
push dword [ebx + 0x14]
call fcn.4ad1855b
test al, al
jne 0x4ad10f0e
push dword [ebp - 0xc]
call fcn.4ad185bc
push 1
pop esi
mov ebx, dword [ebx + 0x1c]
jmp 0x4ad10ea2
push dword [ebp - 0xc]
call fcn.4ad185bc
cmp dword [ebp - 4], 0xffffffff
je 0x4ad1175e
push dword [ebp - 4]
call fcn.4ad1408a
jmp 0x4ad1175e
push dword [ebp - 0xc]
call fcn.4ad185bc
mov eax, esi
jmp 0x4ad117a6
push edi
push eax
call fcn.4ad1391e
pop ecx
pop ecx
push dword [ebp + 8]
call fcn.4ad1408a
push dword [ebp - 0xc]
call fcn.4ad185bc
push 1
pop eax
jmp 0x4ad117a6
cmp dword [0x4ad1f5b4], 3
jne 0x4ad117a3
cmp dword [ebp - 4], 0xffffffff
je 0x4ad117a3
push edi
lea eax, [ebp - 0x260]
push dword [ebp - 4]
push eax
push dword [ebp + 0xc]
push ebx
call fcn.4ad12003
mov eax, dword [ebp - 0x20]
pop edi
pop esi
pop ebx
leave
ret 8
cmp dword [0x4ad1f5b4], 3
jne 0x4ad117c2
cmp dword [0x4ad264b4], edi
je 0x4ad11135
lea eax, [ebp - 0x260]
push eax
push 0x4ad1f5c0
push esi
call fcn.4ad127b8
test eax, eax
je 0x4ad1184c
test byte [ebx + 0x18], 0x80
jne 0x4ad1184c
push dword [ebp + 8]
call fcn.4ad1408a
push dword [ebp - 0xc]
lea eax, [ebp - 4]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push dword [0x4ad264b4]
push eax
push ebx
call fcn.4ad11a5b
cmp dword [0x4ad264b4], edi
je 0x4ad11832
cmp dword [0x4ad1f5b4], 3
jne 0x4ad1182b
and dword [ebx + 0x18], 0xfffffffe
cmp dword [ebp - 0x14], edi
mov eax, dword [ebx + 0x18]
jne 0x4ad11823
or al, 2
mov dword [ebx + 0x18], eax
jmp 0x4ad1182b
mov ecx, dword [ebp - 0x14]
or ecx, eax
mov dword [ebx + 0x18], ecx
mov dword [ebp - 0x34], 1
push dword [ebx + 0x18]
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x10]
call fcn.4ad125d2
mov dword [0x4ad264b4], edi
jmp 0x4ad11716
mov eax, dword [ebp + 0xc]
mov dword [0x4ad1cf6c], 1
cmp dword [eax + 0x1c], edi
je 0x4ad11897
cmp dword [0x4ad264b4], edi
je 0x4ad11897
mov dword [0x4ad1cf70], 1
mov dword [0x4ad1d000], edi
push dword [eax + 0x1c]
call fcn.4ad13386
mov eax, dword [0x4ad1d000]
cmp eax, 0x15
je 0x4ad11762
cmp eax, 0x458
je 0x4ad11762
push 1
lea eax, [ebp - 0x260]
push 0x104
push eax
push dword [ebp + 0xc]
push ebx
call fcn.4ad1209f
cmp eax, 1
je 0x4ad1176b
cmp word [ebp - 0x260], di
jne 0x4ad118cd
push dword [ebp + 8]
call fcn.4ad1408a
jmp 0x4ad11716
lea eax, [ebp - 0x260]
push eax
push 0x4ad1f5c0
push esi
call fcn.4ad127b8
test eax, eax
je 0x4ad11933
test byte [ebx + 0x18], 0x80
jne 0x4ad11933
push dword [ebp + 8]
call fcn.4ad1408a
mov eax, dword [0x4ad264b4]
cmp eax, edi
je 0x4ad1191a
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x1c]
cmp ecx, edi
je 0x4ad1191a
test byte [ecx + 0x18], 8
je 0x4ad1191a
cmp dword [ebx + 0x1c], edi
jne 0x4ad1191a
push 1
pop esi
mov dword [0x4ad1f5b4], esi
jmp 0x4ad1191d
push 1
pop esi
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push eax
lea eax, [ebp - 4]
push eax
push ebx
call fcn.4ad11a5b
jmp 0x4ad11936
push 1
pop esi
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp dword [ebp - 0x14], edi
jne 0x4ad119ae
cmp dword [ebp - 0x40], edi
je 0x4ad1195f
cmp eax, 0xffffffff
mov dword [ebp - 0x28], edi
je 0x4ad1195c
test al, 0x10
je 0x4ad1195c
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x40], edi
and dword [ebx + 0x18], 0xfffffffb
cmp byte [0x4ad1cf7c], 0
mov ecx, dword [ebx + 0x18]
jne 0x4ad1199e
test cl, 8
je 0x4ad1199e
cmp dword [0x4ad1f5b4], 3
jne 0x4ad1199e
cmp dword [ebp - 0x28], edi
mov dword [ebp - 0x38], 3
jne 0x4ad119ae
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 0x1c]
cmp edx, edi
je 0x4ad11999
test byte [edx + 0x18], 8
jne 0x4ad119a9
or ecx, 2
jmp 0x4ad119ab
cmp dword [ebp - 0x28], edi
je 0x4ad119ae
cmp dword [ebp - 0x38], 3
jne 0x4ad119ae
or ecx, esi
mov dword [ebx + 0x18], ecx
mov edx, dword [0x4ad264b4]
cmp edx, edi
je 0x4ad119f3
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x1c]
cmp ecx, edi
je 0x4ad119d3
test byte [ecx + 0x18], 8
je 0x4ad119d3
cmp dword [ebx + 0x1c], edi
jne 0x4ad119d3
mov dword [0x4ad1f5b4], esi
cmp edx, edi
je 0x4ad119f3
cmp dword [0x4ad1f5b4], 3
jne 0x4ad119f3
mov ecx, dword [ebp - 0x14]
cmp ecx, edi
jne 0x4ad119f0
mov ecx, dword [ebx + 0x18]
and ecx, 0xfffffffe
or ecx, 2
mov dword [ebx + 0x18], ecx
test al, 2
je 0x4ad11a07
or dword [ebp - 4], 0xffffffff
mov dword [0x4ad1d000], 5
jmp 0x4ad11a1c
test byte [ebx + 0x19], 4
jne 0x4ad11a1c
lea eax, [ebp - 0x260]
push eax
call fcn.4ad145f3
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x30], edi
je 0x4ad11a53
push dword [ebp - 4]
mov dword [ebp - 0x44], esi
call fcn.4ad14ea0
test eax, eax
je 0x4ad11138
cmp dword [ebp - 0x14], edi
mov dword [ebp - 0x30], esi
jne 0x4ad11138
mov eax, dword [ebx + 0x18]
and al, 0xfe
or al, 2
mov dword [ebx + 0x18], eax
jmp 0x4ad11138
mov dword [ebp - 0x44], edi
jmp 0x4ad11138