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

Disassembly:
push 0xffffffffffffffff
push 0x45d68b
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x4713c0]
xor eax, esp
mov dword [esp + 0x870], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4713c0]
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, 0x47537c
lea edx, [eax + 2]
xor esi, esi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x413e30
sub eax, edx
sar eax, 1
je 0x4140ed
push 0x475174
push 0x47537c
call fcn.00442024
add esp, 8
test eax, eax
je 0x4140ed
push 0x206
lea ecx, [esp + 0x6a]
push esi
push ecx
mov word [esp + 0x70], si
call fcn.00446fa0
add esp, 0xc
push 0x206
lea edx, [esp + 0x272]
push esi
push edx
mov word [esp + 0x278], si
call fcn.00446fa0
add esp, 0xc
push 0x475174
push 0x462510
push 0x208
lea eax, [esp + 0x70]
push 0x104
push eax
call fcn.004415ac
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 0x413ed0
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x413ed0
sub eax, edx
sar eax, 1
je 0x413f2b
cmp word [esp + eax*2 + 0x62], 0x5c
je 0x413f07
lea edx, [esp + 0x64]
push edx
push 0x463d44
push 0x208
push 0x104
lea eax, [esp + 0x27c]
push eax
jmp 0x413f23
lea ecx, [esp + 0x64]
push ecx
push 0x462510
push 0x208
push 0x104
lea edx, [esp + 0x27c]
push edx
call fcn.004415ac
add esp, 0x14
lea eax, [esp + 0x26c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x4140ed
push 0x475174
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov edx, 0x47537c
lea eax, [esp + 0x48]
mov dword [esp + 0x18], 0x1388
call fcn.00406ad0
lea edx, [esp + 0x48]
lea ecx, [esp + 0x18]
mov dword [esp + 0x894], esi
call fcn.004224f0
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 0x413fa4
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004415cb
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.00446fa0
add esp, 0xc
push 3
lea eax, [esp + 0x478]
push 0x475174
push eax
call fcn.00441e56
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.004537b0
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
add eax, ecx
adc edx, ebp
cmp dword [0x475118], esi
jne 0x414037
movzx ecx, word [0x475174]
jmp 0x414056
cmp dword [0x47511c], edi
mov edi, dword [0x475108]
jae 0x41404a
mov edi, 0x475108
movzx ecx, word [0x475174]
movzx edi, word [edi]
sub ecx, edi
cmp ecx, esi
je 0x414064
cmp ecx, 0xffffffe0
je 0x414064
cmp ecx, 0x20
jne 0x41406c
sub eax, dword [0x475010]
sbb edx, esi
cmp edx, ebx
jg 0x4140ed
jl 0x414078
cmp eax, dword [esp + 0x2c]
jae 0x4140ed
push 0x206
lea edx, [esp + 0x682]
push esi
push edx
mov word [esp + 0x688], si
call fcn.00446fa0
fild qword [esp + 0x38]
fld qword [0x468798]
add esp, 4
lea eax, [esp + 0x684]
fmul st(1), st(0)
fmulp st(1)
fstp qword [esp]
push 0x463d50
push 0x208
push 0x104
push eax
call fcn.004415ac
mov ecx, dword [esp + 0x40]
add esp, 0x18
push 0x10
push 0x462334
push ecx
push ecx
call fcn.00406c70
add esp, 4
lea ecx, [esp + 0x688]
mov edx, eax
call fcn.00410000
xor eax, eax
jmp 0x4140f2
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.004414cc
add esp, 0x884
ret