Function at 0x45206e
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, 0x488268
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.0043ca10
push 0x28
lea eax, [esp + 0x60]
push ebx
push eax
call fcn.0043ca10
mov eax, dword [ebp + 0x218]
add esp, 0x18
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x4520db
xor ecx, ecx
push ecx
push ecx
push 0x10
push eax
call ebx
test esi, esi
je 0x452214
xor eax, eax
cmp word [esi], ax
je 0x452214
push 0x485398
push esi
call fcn.00478d35
pop ecx
pop ecx
test eax, eax
je 0x452214
push 0x5c
pop eax
push eax
push esi
call fcn.0044070b
pop ecx
pop ecx
push esi
test eax, eax
jne 0x45214f
lea eax, [ebp + 0xc]
push eax
call fcn.00478ca2
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 0x452145
lea ecx, [esp + 0x78]
push ecx
push eax
push ebp
call fcn.00451ef8
mov ax, word [esp + 0x78]
jmp 0x45221b
call fcn.00431db2
pop ecx
push 0x5c
pop ecx
cmp word [esi + eax*2 - 2], cx
jne 0x45218e
lea eax, [esp + 0x78]
push esi
push eax
call fcn.00478ca2
mov ax, word [esp + 0x80]
pop ecx
cmp ax, 0x61
movzx eax, ax
pop ecx
jb 0x452180
sub eax, 0x20
mov esi, dword [esp + 0x18]
mov word [esp + 0x78], ax
jmp 0x45221e
xor eax, eax
push 0x104
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0043ca10
push esi
call fcn.00431db2
add esp, 0x10
test eax, eax
js 0x452145
push 0x5c
lea ebp, [esi + eax*2]
pop ecx
cmp word [ebp], cx
je 0x4521cd
sub ebp, 2
sub eax, 1
jns 0x4521b6
mov ebp, dword [esp + 0x10]
jmp 0x452145
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x7c]
push esi
push eax
call fcn.0043cb70
mov ax, word [esp + 0x84]
add esp, 0xc
cmp ax, 0x61
movzx eax, ax
jb 0x4521f7
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.00478ca2
pop ecx
pop ecx
jmp 0x452145
xor eax, eax
mov word [esp + 0x78], ax
xor esi, esi
inc esi
test ax, ax
je 0x452298
movzx eax, ax
sub eax, 0x41
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7e]
push eax
call fcn.00431db2
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x86]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.00448bb0
lea eax, [esp + 0x88]
push eax
call fcn.00431db2
xor ecx, ecx
mov word [esp + eax*2 + 0x8e], cx
lea eax, [esp + 0x8c]
push eax
call fcn.00431db2
add esp, 0x18
test eax, eax
js 0x452298
push 0x5c
pop ecx
cmp word [esp + eax*2 + 0x78], cx
jne 0x452293
xor ecx, ecx
push 0x5c
mov word [esp + eax*2 + 0x7c], cx
pop ecx
sub eax, 1
jns 0x452282
test esi, esi
je 0x452454
mov esi, 0xffff0000
xor eax, eax
push esi
push eax
push 0x1101
push dword [edi]
call ebx
mov eax, dword [0x49f12c]
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], 0x49ef20
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 0x48acf4
push eax
call fcn.00478ca2
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 0x4523ee
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.00478ca2
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 0x452341
push edx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
cmp dword [0x49a478], 0
mov ebp, dword [esp + 0x10]
je 0x452443
test dword [ebp + 8], 0x200
jne 0x452443
mov eax, dword [0x49f128]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x1c]
push eax
xor eax, eax
mov dword [esp + 0x38], 0x49eb10
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 0x4525a7
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 0x4525a7
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 0x4524bb
push 1
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
jne 0x452486
jmp 0x4525a7
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 0x45258e
push esi
push 4
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
je 0x4525a7
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 0x452550
lea eax, [esp + 0x280]
cmp dword [esp + 0x60], eax
je 0x45253c
push dword [esp + 0x60]
push eax
call fcn.00478ca2
pop ecx
pop ecx
lea eax, [esp + 0x280]
push eax
push ebp
call fcn.00437899
pop ecx
pop ecx
test eax, eax
je 0x452562
push esi
push 1
push 0x110a
push dword [edi]
call ebx
mov esi, eax
test esi, esi
jne 0x4524fc
test esi, esi
je 0x4525a7
push esi
mov eax, 0x1102
push eax
push eax
push dword [edi]
call ebx
push ebp
call fcn.00431db2
pop ecx
lea ebp, [ebp + eax*2]
xor eax, eax
add ebp, 2
cmp word [ebp], ax
jne 0x4524e6
jmp 0x452590
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.004527c5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x934
ret 8