Function at 0x414890
Capabilities:
Delete directory
Get disk information
Get disk size

Disassembly:
push 0xffffffffffffffff
push 0x45ae0b
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x46e3d0]
xor eax, esp
mov dword [esp + 0x870], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46e3d0]
xor eax, esp
push eax
lea eax, [esp + 0x88c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x89c]
mov dword [esp + 0x28], eax
mov eax, 0x4722c0
lea edx, [eax + 2]
xor esi, esi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4148e0
sub eax, edx
sar eax, 1
je 0x414b9d
push 0x4720b8
push 0x4722c0
call fcn.0043f95c
add esp, 8
test eax, eax
je 0x414b9d
push 0x206
lea ecx, [esp + 0x6a]
push esi
push ecx
mov word [esp + 0x70], si
call fcn.00443e10
add esp, 0xc
push 0x206
lea edx, [esp + 0x272]
push esi
push edx
mov word [esp + 0x278], si
call fcn.00443e10
add esp, 0xc
push 0x4720b8
push 0x461f84
push 0x208
lea eax, [esp + 0x70]
push 0x104
push eax
call fcn.0043ef21
add esp, 0x14
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
lea eax, [esp + 0x64]
lea edx, [eax + 2]
jmp 0x414980
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x414980
sub eax, edx
sar eax, 1
je 0x4149db
cmp word [esp + eax*2 + 0x62], 0x5c
je 0x4149b7
lea edx, [esp + 0x64]
push edx
push 0x461f8c
push 0x208
push 0x104
lea eax, [esp + 0x27c]
push eax
jmp 0x4149d3
lea ecx, [esp + 0x64]
push ecx
push 0x461f84
push 0x208
push 0x104
lea edx, [esp + 0x27c]
push edx
call fcn.0043ef21
add esp, 0x14
lea eax, [esp + 0x26c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x414b9d
push 0x4720b8
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov edx, 0x4722c0
lea eax, [esp + 0x48]
mov dword [esp + 0x18], 0x1388
call fcn.00406a70
lea edx, [esp + 0x48]
lea ecx, [esp + 0x18]
mov dword [esp + 0x894], esi
call fcn.00420c90
mov edi, 8
mov ebx, edx
mov dword [esp + 0x894], 0xffffffff
cmp dword [esp + 0x60], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
jb 0x414a54
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.0043ef40
add esp, 4
push 0x206
lea edx, [esp + 0x47a]
push esi
push edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov word [esp + 0x480], si
call fcn.00443e10
add esp, 0xc
push 3
lea eax, [esp + 0x478]
push 0x4720b8
push eax
call fcn.0043fabe
add esp, 0xc
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x480]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov edx, dword [esp + 0x20]
push 1
push esi
push esi
push edx
call fcn.004511a0
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
add eax, ecx
adc edx, ebp
cmp dword [0x472078], esi
jne 0x414ae7
movzx ecx, word [0x4720b8]
jmp 0x414b06
cmp dword [0x47207c], edi
mov edi, dword [0x472068]
jae 0x414afa
mov edi, 0x472068
movzx ecx, word [0x4720b8]
movzx edi, word [edi]
sub ecx, edi
cmp ecx, esi
je 0x414b14
cmp ecx, 0xffffffe0
je 0x414b14
cmp ecx, 0x20
jne 0x414b1c
sub eax, dword [0x471f70]
sbb edx, esi
cmp edx, ebx
jg 0x414b9d
jl 0x414b28
cmp eax, dword [esp + 0x2c]
jae 0x414b9d
push 0x206
lea edx, [esp + 0x682]
push esi
push edx
mov word [esp + 0x688], si
call fcn.00443e10
fild qword [esp + 0x38]
fld qword [0x466448]
add esp, 4
lea eax, [esp + 0x684]
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
push 0x461f98
push 0x208
push 0x104
push eax
call fcn.0043ef21
mov ecx, dword [esp + 0x40]
add esp, 0x18
push 0x10
push 0x4602a4
push ecx
push ecx
call fcn.00406c20
add esp, 4
lea ecx, [esp + 0x688]
mov edx, eax
call fcn.00410df0
xor eax, eax
jmp 0x414ba2
mov eax, 1
mov ecx, dword [esp + 0x88c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.0043ef12
add esp, 0x884
ret