Function at 0x4234fa
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xca0
mov eax, dword [0x475280]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x208
mov dword [ebp - 0xc9c], eax
xor esi, esi
lea eax, [ebp - 0x888]
mov edi, edx
push esi
push eax
mov ebx, ecx
call sub.msvcrt.dll_memset
push 0x64
lea eax, [ebp - 0x68]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0x680]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0xa90]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0x270]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0xc98]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0x48
test ebx, ebx
je 0x423768
test edi, edi
je 0x423768
push ebx
mov ebx, 0x104
lea ecx, [ebp - 0x270]
mov edx, ebx
call fcn.00422ab9
test eax, eax
js 0x423770
push 0x208
lea eax, [ebp - 0x478]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x888]
push ebx
push eax
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
je 0x423770
lea eax, [ebp - 0x270]
mov edx, ebx
push eax
lea ecx, [ebp - 0x680]
call fcn.00422ab9
test eax, eax
js 0x423770
lea eax, [ebp - 0xc98]
mov edx, ebx
push eax
lea ecx, [ebp - 0xa90]
call fcn.00422ab9
test eax, eax
js 0x423770
lea edx, [ebp - 0x270]
lea ecx, [ebp - 0x680]
call fcn.0042346d
test eax, eax
je 0x4236df
push ebx
lea edx, [ebp - 0x478]
lea ecx, [ebp - 0x680]
call fcn.004234b2
test eax, eax
je 0x4236df
lea ecx, [ebp - 0xa90]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x42365b
sub ecx, edx
sar ecx, 1
je 0x423691
lea eax, [ebp - 0xa90]
push eax
lea eax, [ebp - 0x478]
push eax
push 0x4058fc
lea eax, [ebp - 0xc98]
push ebx
push eax
call fcn.0042190c
add esp, 0x14
jmp 0x4236a5
lea eax, [ebp - 0x478]
mov edx, ebx
push eax
lea ecx, [ebp - 0xc98]
call fcn.00422ab9
test eax, eax
js 0x423770
push 0x208
lea eax, [ebp - 0x478]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x888]
push ebx
push eax
lea eax, [ebp - 0x270]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x4235e7
push ebx
lea eax, [ebp - 0x888]
push eax
lea eax, [ebp - 0x680]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
je 0x423770
push 0x32
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
je 0x423770
mov eax, dword [ebp - 0xc9c]
test eax, eax
je 0x42372d
lea ecx, [ebp - 0xa90]
mov edx, ebx
push ecx
mov ecx, eax
call fcn.00422ab9
test eax, eax
js 0x423770
lea eax, [ebp - 0x68]
mov edx, ebx
push eax
mov ecx, edi
call fcn.00422ab9
test eax, eax
js 0x423770
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x423743
sub ecx, edx
sar ecx, 1
je 0x423763
cmp word [edi + ecx*2 - 2], 0x5c
jne 0x423763
xor eax, eax
mov word [edi + ecx*2 - 2], ax
xor esi, esi
inc esi
jmp 0x423770
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00471d10
leave
ret 0xc