Function at 0x568057
Capabilities:
Get disk information
Get file system object information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x934
or dword [esp + 4], 0xffffffff
lea eax, [esp + 0xc]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x948]
xor ebx, ebx
cmp dword [esp + 0x94c], ebx
mov esi, 0x69cd88
push 0x34
cmovne esi, dword [esp + 0x950]
mov ebp, dword [edi + 0x10]
push ebx
push eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], ebx
call fcn.0052bb00
push 0x28
lea eax, [esp + 0x60]
push ebx
push eax
call fcn.0052bb00
mov eax, dword [ebp + 0x218]
add esp, 0x18
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x5680c4
xor ecx, ecx
push ecx
push ecx
push 0x10
push eax
call ebx
test esi, esi
je 0x5681fd
xor eax, eax
cmp word [esi], ax
je 0x5681fd
push 0x69a0b0
push esi
call fcn.0067fbc8
pop ecx
pop ecx
test eax, eax
je 0x5681fd
push 0x5c
pop eax
push eax
push esi
call fcn.0052dd3b
pop ecx
pop ecx
push esi
test eax, eax
jne 0x568138
lea eax, [ebp + 0xc]
push eax
call fcn.0067fc08
pop ecx
pop ecx
xor eax, eax
push eax
push 9
push 0x110a
push dword [edi]
mov word [esp + 0x88], ax
call ebx
test eax, eax
je 0x56812e
lea ecx, [esp + 0x78]
push ecx
push eax
push ebp
call fcn.00567ee1
mov ax, word [esp + 0x78]
jmp 0x568204
call fcn.005236eb
pop ecx
push 0x5c
pop ecx
cmp word [esi + eax*2 - 2], cx
jne 0x568177
lea eax, [esp + 0x78]
push esi
push eax
call fcn.0067fc08
mov ax, word [esp + 0x80]
pop ecx
cmp ax, 0x61
movzx eax, ax
pop ecx
jb 0x568169
sub eax, 0x20
mov esi, dword [esp + 0x18]
mov word [esp + 0x78], ax
jmp 0x568207
xor eax, eax
push 0x104
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0052bb00
push esi
call fcn.005236eb
add esp, 0x10
test eax, eax
js 0x56812e
push 0x5c
lea ebp, [esi + eax*2]
pop ecx
cmp word [ebp], cx
je 0x5681b6
sub ebp, 2
sub eax, 1
jns 0x56819f
mov ebp, dword [esp + 0x10]
jmp 0x56812e
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x7c]
push esi
push eax
call fcn.0052d690
mov ax, word [esp + 0x84]
add esp, 0xc
cmp ax, 0x61
movzx eax, ax
jb 0x5681e0
sub eax, 0x20
mov word [esp + 0x78], ax
lea eax, [ebp + 2]
mov ebp, dword [esp + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.0067fc08
pop ecx
pop ecx
jmp 0x56812e
xor eax, eax
mov word [esp + 0x78], ax
xor esi, esi
inc esi
test ax, ax
je 0x568281
movzx eax, ax
sub eax, 0x41
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7e]
push eax
call fcn.005236eb
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x86]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.0052d690
lea eax, [esp + 0x88]
push eax
call fcn.005236eb
xor ecx, ecx
mov word [esp + eax*2 + 0x8e], cx
lea eax, [esp + 0x8c]
push eax
call fcn.005236eb
add esp, 0x18
test eax, eax
js 0x568281
push 0x5c
pop ecx
cmp word [esp + eax*2 + 0x78], cx
jne 0x56827c
xor ecx, ecx
push 0x5c
mov word [esp + eax*2 + 0x7c], cx
pop ecx
sub eax, 1
jns 0x56826b
test esi, esi
je 0x56843d
mov esi, 0xffff0000
xor eax, eax
push esi
push eax
push 0x1101
push dword [edi]
call ebx
mov eax, dword [0x7e893c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x1c]
push eax
xor eax, eax
mov dword [esp + 0x20], esi
push eax
mov dword [esp + 0x28], esi
xor esi, esi
push 0x1132
push dword [edi]
inc esi
mov dword [esp + 0x34], 0x67
mov dword [esp + 0x44], 0x7e8730
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], 0xfffb
call ebx
mov dword [ebp + 0x214], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x280]
push esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], 0xffff0002
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x488]
push 0x6b4d44
push eax
call fcn.0067fc08
mov ebp, dword [esp + 0x20]
xor edx, edx
pop ecx
pop ecx
mov esi, edx
xor eax, eax
mov ecx, esi
inc eax
shl eax, cl
test ebp, eax
je 0x5683d7
lea eax, [esi + 0x41]
mov dword [esp + 0x48], esi
mov word [esp + 0x488], ax
xor eax, eax
push 0x4001
mov word [esp + 0x284], ax
mov word [esp + 0x8a8], ax
lea eax, [esp + 0x694]
push 0x2b4
push eax
push edx
lea eax, [esp + 0x498]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [esp + 0x694]
push 0x200
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0x694]
push 0x2b4
push eax
xor eax, eax
push eax
lea eax, [esp + 0x498]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea eax, [esp + 0x69c]
push eax
lea eax, [esp + 0x284]
push eax
call fcn.0067fc08
pop ecx
pop ecx
lea eax, [esp + 0x1c]
push eax
xor eax, eax
push eax
push 0x1132
push dword [edi]
call ebx
xor edx, edx
inc esi
cmp esi, 0x1f
jle 0x56832a
push edx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
cmp dword [0x7deb38], 0
mov ebp, dword [esp + 0x10]
je 0x56842c
test dword [ebp + 8], 0x200
jne 0x56842c
mov eax, dword [0x7e8938]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x1c]
push eax
xor eax, eax
mov dword [esp + 0x38], 0x7e8320
push eax
push 0x1132
push dword [edi]
mov dword [esp + 0x58], 0xfd
call ebx
push dword [ebp + 0x214]
mov eax, 0x1102
push eax
push eax
push dword [edi]
call ebx
cmp dword [esp + 0x14], 0xffffffff
je 0x568590
mov dword [esp + 0x50], 0x14
push dword [ebp + 0x214]
push 4
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
je 0x568590
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0x50]
mov dword [esp + 0x54], esi
push eax
xor eax, eax
push eax
push 0x113e
push dword [edi]
call ebx
movzx eax, byte [esp + 0x74]
push esi
cmp eax, ebp
je 0x5684a4
push 1
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
jne 0x56846f
jmp 0x568590
mov eax, 0x1102
push eax
push eax
push dword [edi]
call ebx
cmp word [esp + 0x78], 0
lea ebp, [esp + 0x78]
mov dword [esp + 0x50], 0x15
mov dword [esp + 0x64], 0x104
je 0x568577
push esi
push 4
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
je 0x568590
lea eax, [esp + 0x280]
mov dword [esp + 0x54], esi
mov dword [esp + 0x60], eax
lea eax, [esp + 0x50]
push eax
xor eax, eax
push eax
push 0x113e
push dword [edi]
call ebx
cmp byte [esp + 0x74], 0xfc
jne 0x568539
lea eax, [esp + 0x280]
cmp dword [esp + 0x60], eax
je 0x568525
push dword [esp + 0x60]
push eax
call fcn.0067fc08
pop ecx
pop ecx
lea eax, [esp + 0x280]
push eax
push ebp
call fcn.005288ae
pop ecx
pop ecx
test eax, eax
je 0x56854b
push esi
push 1
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
jne 0x5684e5
test esi, esi
je 0x568590
push esi
mov eax, 0x1102
push eax
push eax
push dword [edi]
call ebx
push ebp
call fcn.005236eb
pop ecx
lea ebp, [ebp + eax*2]
xor eax, eax
add ebp, 2
cmp word [ebp], ax
jne 0x5684cf
jmp 0x568579
xor eax, eax
push esi
push eax
push 0x1114
push dword [edi]
call ebx
push esi
push 9
push 0x110b
push dword [edi]
call ebx
xor eax, eax
push eax
push edi
call fcn.005687ae
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x934
ret 8