Function at 0x432822
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x224
mov eax, dword [0x6bd6f8]
xor eax, esp
mov dword [esp + 0x220], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 8]
push esi
push edi
mov dword [esp + 0x1c], ebx
test al, 1
je 0x432a64
test al, 2
je 0x432a64
mov edx, dword [ebp + 0x10]
and dword [esp + 0x14], 0
lea eax, [esp + 0x20]
push eax
test edx, edx
je 0x432904
mov esi, 0x104
mov ecx, esi
call fcn.0041b7ca
test eax, eax
jge 0x43288c
push 0x57
pop eax
jmp 0x432a66
xor ecx, ecx
add ebx, 0x14
mov dword [esp + 0x10], ecx
je 0x4328aa
lea edi, [esp + 0x10]
mov edx, esi
mov eax, ebx
call fcn.00432341
mov ecx, dword [esp + 0x10]
jmp 0x4328af
mov eax, 0x80070057
test eax, eax
jl 0x4328fa
test ecx, ecx
je 0x4328fa
dec ecx
je 0x4328fa
cmp word [ebx + ecx*2], 0x5c
je 0x4328c4
dec ecx
jne 0x4328ba
test ecx, ecx
je 0x4328fa
lea edi, [esp + 0x10]
mov edx, esi
lea eax, [esp + 0x20]
lea ebx, [ebx + ecx*2]
call fcn.00432341
test eax, eax
jl 0x4328fa
mov eax, dword [esp + 0x10]
mov ecx, esi
sub ecx, eax
lea edx, [esp + eax*2 + 0x20]
push closesocket
mov eax, ebx
call fcn.004323a1
test eax, eax
jge 0x432913
mov eax, 0x54f
jmp 0x432a66
lea edx, [ebx + 0x14]
mov ecx, 0x104
call fcn.0041b7ca
jmp 0x432917
mov ebx, dword [esp + 0x1c]
cmp byte [ebp + 8], 0
je 0x43294d
cmp dword [ebp + 0x10], 0
jne 0x432935
test byte [ebx + 0xc], 1
je 0x432935
lea eax, [esp + 0x20]
push eax
call fcn.00432a9b
jmp 0x432940
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43294d
push 0x50
pop esi
jmp 0x432a60
xor eax, eax
push 5
pop esi
cmp dword [ebp + 0x10], eax
jne 0x43296f
test byte [ebx + 0xc], 1
je 0x43296f
push esi
push 0x1f01ff
lea eax, [esp + 0x28]
push eax
call fcn.00432cad
jmp 0x43298a
push eax
push 0x2000080
push 2
push eax
push 1
push 0x1f01ff
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x43299e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x432a60
push 0x68b010
push 0
lea eax, [ebx + 0x21c]
push 0x8000
push eax
call fcn.0058923e
add esp, 0xc
push eax
call fcn.004ced80
pop ecx
pop ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x432a48
push 1
push eax
push edi
call fcn.00432dc7
mov esi, eax
test esi, esi
jne 0x432a48
test byte [ebx + 0xc], 2
je 0x4329ec
lea eax, [ebx + 0x404]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileShortNameW]
xor esi, esi
cmp dword [ebp + 0x10], esi
jne 0x432a08
test byte [ebx + 0xc], 1
je 0x432a08
push dword [ebx + 0x10]
lea eax, [esp + 0x24]
push eax
call fcn.00432b48
jmp 0x432a16
push dword [ebx + 0x10]
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [esp + 0x14], esi
jne 0x432a3a
cmp eax, esi
jne 0x432a42
cmp dword [esp + 0x18], esi
je 0x432a48
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
mov dword [esp + 0x14], eax
cmp eax, esi
jne 0x4329ec
jmp 0x432a48
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
jmp 0x432a48
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x10], 0
je 0x432a60
push dword [esp + 0x10]
call fcn.004ce9f0
pop ecx
mov eax, esi
jmp 0x432a66
xor eax, eax
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0057340c
mov esp, ebp
pop ebp
ret 0xc