Function at 0x44236c
Capabilities:
Clear file content
Get disk information
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x88c8e0]
push ebx
push esi
mov esi, ecx
mov dword [esi + 0x14], eax
mov eax, dword [0x88c8e4]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0xc], eax
movzx eax, dl
mov eax, dword [eax*4 + 0x517f08]
cmp dl, 1
sete bl
cmp dword [esi + 0x10], 1
mov byte [ebp - 4], dl
mov dword [ebp - 0x10], eax
ja 0x4423b1
mov ecx, dword [ebp + 8]
push esi
call fcn.0044a2e6
cmp byte [0x56afbb], 0
setne byte [ebp - 6]
cmp byte [0x56afbc], 0
setne byte [ebp - 7]
cmp byte [0x56af88], 0
je 0x4423dd
cmp byte [0x56afa5], 0
mov byte [ebp - 5], 0
jne 0x4423e1
mov byte [ebp - 5], 1
cmp byte [ebp - 6], 0
jne 0x4423fa
cmp byte [ebp - 4], 0
je 0x4423f3
cmp byte [ebp - 4], 2
jne 0x4423fa
mov dword [ebp - 0x10], 5
cmp byte [ebp - 4], 3
jne 0x44240d
cmp byte [ebp - 5], 0
je 0x44240d
mov dword [ebp - 0x10], 6
cmp dword [ebp - 0xc], 0xffffffff
je 0x442437
mov al, byte [esi + 0x2e]
test al, 1
je 0x442420
cmp byte [ebp + 0x14], 0
jne 0x442430
test bl, bl
je 0x442428
test al, 2
je 0x442430
mov eax, dword [ebp - 0xc]
jmp 0x442811
mov ecx, esi
call fcn.0044972f
mov ecx, dword [ebp + 8]
push edi
push esi
call fcn.004498b8
mov ecx, eax
mov dword [ebp - 0x14], ecx
mov edi, ecx
call fcn.004b82dc
test al, al
jne 0x44245a
mov ecx, edi
call fcn.0049a53c
mov edi, eax
mov ecx, edi
call fcn.004b8863
mov ecx, dword [esi + 0xc]
cmp ecx, edx
jb 0x44248c
ja 0x442471
mov ecx, dword [esi + 8]
cmp ecx, eax
jbe 0x44248c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xdf
cmp dword [ebp - 0x14], 0
je 0x44279f
mov ecx, dword [ebp - 0x14]
jmp 0x442798
mov ecx, edi
call fcn.004b82dc
test al, al
je 0x4424cf
mov ax, word [edi]
mov word [ebp - 0x20], ax
mov ax, word [edi + 2]
mov word [ebp - 0x1e], ax
push 0x5c
pop eax
mov word [ebp - 0x1c], ax
xor eax, eax
mov word [ebp - 0x1a], ax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x4424c7
cmp eax, 1
jne 0x4424cf
mov byte [ebp - 7], 0
mov byte [ebp - 6], 0
test bl, bl
je 0x4424e8
xor eax, eax
cmp byte [0x56afd9], al
setne al
lea eax, [eax*4 + 6]
mov dword [ebp - 0x10], eax
mov edi, 0x80
cmp dword [ebp - 0x10], 3
jne 0x4424fd
cmp byte [ebp - 6], 0
je 0x4424fd
mov al, 1
jmp 0x4424ff
xor al, al
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
push eax
push edi
call fcn.00482361
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x4425e4
cmp dword [ebp - 0x10], 0xa
jne 0x442569
mov ecx, dword [ebp - 0x14]
call fcn.004b9537
mov ecx, dword [ebp - 0x14]
push 6
pop edx
push 0
push edi
mov dword [ebp - 0x10], edx
call fcn.00482361
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
je 0x442569
mov eax, dword [ebp + 8]
cmp byte [eax + 0x50], 0
jne 0x442563
push dword [ebp - 0x14]
lea ecx, [ebp - 0x18]
call fcn.004a0fd9
lea ecx, [ebp - 0x18]
call fcn.00479add
lea ecx, [ebp - 0x18]
call fcn.004a0c7d
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4425e4
cmp byte [ebp - 4], 3
jne 0x442587
cmp dword [ebp - 0x10], 6
jne 0x442587
cmp byte [ebp - 5], 0
je 0x442587
mov dword [ebp - 0x10], 5
jmp 0x4424ed
test bl, bl
je 0x4425ad
mov ecx, dword [ebp - 0x14]
call fcn.004b9537
test al, al
je 0x4425ad
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
push 0
push edi
call fcn.00482361
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x4425e4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
cmp eax, 0x20
jne 0x442738
cmp dword [0x56b10c], 0
je 0x442738
dec dword [0x56b10c]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4424ed
test bl, bl
jne 0x4425fb
cmp byte [ebp - 4], 3
jne 0x4427a4
cmp byte [ebp - 5], bl
je 0x4427a4
cmp byte [ebp + 0x18], 0
je 0x442625
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test eax, 0x200
je 0x442647
xor eax, eax
push eax
lea ecx, [ebp - 0x1c]
push ecx
push eax
push eax
mov byte [ebp - 8], 0
push 1
lea eax, [ebp - 8]
jmp 0x442638
cmp byte [0x56afa4], 0
je 0x442647
xor eax, eax
push eax
lea ecx, [ebp - 0x1c]
push ecx
push eax
push eax
push eax
push eax
push 0x900c4
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [ebp - 0x10], 6
jne 0x4427a4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x54], 0
jne 0x4427a4
cmp byte [ebp - 5], 0
mov ecx, dword [ebp - 0xc]
mov byte [0x56af8a], 1
je 0x44267b
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.004823a8
jmp 0x4426c2
lea edx, [ebp - 0x28]
call fcn.004b6d34
test al, al
je 0x442777
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x28]
mov ecx, dword [esi + 0xc]
cmp edx, eax
jne 0x44269f
mov edx, dword [ebp - 0x24]
cmp edx, ecx
je 0x4426c2
push ecx
mov ecx, dword [ebp - 0xc]
push eax
call fcn.0048207a
test eax, eax
jne 0x442777
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x442777
cmp byte [0x56af88], 0
je 0x4426ec
cmp byte [0x56afa5], 0
je 0x4426ec
cmp byte [0x56afa4], 0
jne 0x4426ec
push dword [esi + 0xc]
push dword [esi + 8]
push dword [ebp - 0xc]
call dword [0x56b004]
cmp byte [ebp - 4], 3
mov byte [0x56af8a], 0
jne 0x44271a
cmp byte [ebp - 5], 0
je 0x44271a
lea ecx, [ebp - 0xc]
call fcn.00481ff4
cmp byte [ebp - 6], 0
je 0x44257b
and dword [ebp - 0x10], 0
jmp 0x4424ed
cmp byte [ebp - 7], 0
je 0x4427a4
lea ecx, [ebp - 0xc]
call fcn.00481ff4
mov dword [ebp - 0x10], 1
jmp 0x4424ed
cmp byte [ebp - 4], 3
je 0x442744
cmp byte [ebp + 0x10], 0
je 0x442761
cmp eax, 0x490
je 0x44247a
cmp eax, 2
je 0x44247a
cmp eax, 3
je 0x44247a
push eax
push dword [ebp - 0x14]
push 0x517ed8
call fcn.004263e6
add esp, 0xc
jmp 0x44247a
mov byte [0x56af8a], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
lea ecx, [ebp - 0xc]
call fcn.00481ff4
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x44279f
mov dl, 1
call fcn.00479b79
or eax, 0xffffffff
jmp 0x442810
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
add bl, bl
xor bl, byte [esi + 0x2e]
mov dword [esi + 0x74], eax
and bl, 2
xor byte [esi + 0x2e], bl
call fcn.0048234f
test al, al
sete al
xor al, byte [esi + 0x2e]
and al, 1
xor byte [esi + 0x2e], al
test byte [esi + 0x2e], 1
je 0x4427fd
mov esi, dword [esi + 0x10]
cmp esi, 1
ja 0x4427fd
movzx eax, byte [ebp - 7]
push eax
movzx eax, byte [ebp - 6]
push eax
movzx eax, byte [ebp + 0x14]
push 1
push eax
push esi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 0x517dc8
call fcn.004263e6
add esp, 0x20
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0xc]
test ecx, ecx
je 0x44280e
mov dl, 1
call fcn.00479b79
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0x14