Function at 0xa34f07
Capabilities:
Get disk information

Disassembly:
lea eax, [ecx - 1]
cmp eax, 9
ja case.0xa34ed2.7
jmp dword [eax*4 + 0xa34e9e]
push 0xa45a20
push 0xa2bd4c
push ebx
push edi
call fcn.00a227c1
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xa34ef2
jmp 0xa35082
push 0x288
push 0xa35128
call fcn.00a22756
xor esi, esi
mov dword [ebp - 0x28c], esi
cmp dword [0xa45164], esi
jne 0xa3ea9a
cmp dword [0xa4505c], esi
je 0xa35160
cmp dword [0xa450cc], esi
jne 0xa34f49
push 0xa2bd44
call fcn.00a26570
pop ecx
cmp byte [0xa45047], 0
jne 0xa3eaca
mov ecx, 0xa2bce8
call fcn.00a21d1b
mov dword [ebp - 0x280], eax
test eax, eax
je 0xa34f89
push eax
mov edx, 0x200
mov eax, str._P_G
mov dword [ebp - 0x280], eax
mov ecx, eax
call fcn.00a21417
mov byte [0xa45047], 1
push esi
mov edx, 0x104
mov ecx, 0xa45a20
call fcn.00a2557c
mov edi, str.C:Windows_system32_
mov dword [ebp - 0x27c], edi
xor eax, eax
mov word [str.C:Windows_system32_], ax
mov ebx, 0x3ff
mov dword [ebp - 0x278], ebx
mov eax, dword [ebp - 0x280]
test eax, eax
je 0xa3edd5
cmp word [eax], si
je 0xa3edd5
movzx eax, word [eax]
test ax, ax
je 0xa35144
cmp eax, 0x24
jne 0xa3eada
mov ebx, dword [ebp - 0x280]
add ebx, 2
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x294], ebx
mov edi, esi
mov dword [ebp - 0x288], 0xa350b0
movzx eax, word [ebx]
push eax
call dword [sym.imp.msvcrt.dll_towupper]
pop ecx
mov ecx, dword [ebp - 0x288]
cmp ax, word [ecx]
je 0xa3502f
inc edi
imul eax, edi, 6
lea eax, [eax + 0xa350b0]
mov dword [ebp - 0x288], eax
cmp word [eax], si
jne 0xa35004
imul eax, edi, 6
cmp word [eax + 0xa350b0], si
mov edi, dword [ebp - 0x27c]
mov ebx, dword [ebp - 0x278]
je 0xa35144
movzx ecx, word [eax + 0xa350b2]
cmp ecx, 8
jne 0xa34ec6
movzx eax, word [eax + 0xa350b4]
push eax
push 0xa34e98
push ebx
push edi
call fcn.00a227c1
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xa35077
sub ecx, edx
sar ecx, 1
sub ebx, ecx
lea edi, [edi + ecx*2]
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x27c], edi
mov eax, dword [ebp - 0x280]
add eax, 2
mov dword [ebp - 0x280], eax
jmp 0xa34fce
xor eax, eax
mov word [edi], ax
mov ecx, str.C:Windows_system32_
call fcn.00a3516b
cmp dword [0xa45164], 0
jne 0xa3ee10
call fcn.00a2279e
ret
push esi
push 0x2335
call fcn.00a2e4e8
pop ecx
pop ecx
push dword [0xa4515c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_EnterCriticalSection]
mov dword [0xa45164], esi
push dword [0xa4515c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_LeaveCriticalSection]
jmp 0xa34f2a
mov eax, str._P_G
mov dword [ebp - 0x280], eax
jmp 0xa34f89
push eax
push 0xa34e98
push ebx
push edi
call fcn.00a227c1
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xa3eaef
sub ecx, edx
sar ecx, 1
lea edi, [edi + ecx*2]
mov dword [ebp - 0x27c], edi
sub ebx, ecx
mov dword [ebp - 0x278], ebx
call fcn.00a2813a
test al, al
je 0xa3eb46
mov eax, dword [ebp - 0x280]
movzx eax, word [eax]
mov dword [ebp - 0x288], eax
mov ecx, eax
call fcn.00a41df2
test eax, eax
je 0xa3eb46
mov eax, dword [ebp - 0x288]
movzx eax, ax
mov dword [ebp - 0x28c], eax
jmp 0xa35097
mov dword [ebp - 0x28c], esi
jmp 0xa35097
push ebx
push edi
xor edx, edx
inc edx
xor ecx, ecx
call fcn.00a28176
jmp 0xa3eb6b
push ebx
push edi
xor edx, edx
inc edx
xor ecx, ecx
call 0xa2ff4c
lea edi, [edi + eax*2]
sub ebx, eax
jmp 0xa3508b
lea ecx, [ebp - 0x6c]
call fcn.00a41823
lea eax, [ebp - 0x6c]
push eax
push 0x2350
call fcn.00a2b075
mov esi, eax
push esi
push 0xa2bd4c
push ebx
push edi
call fcn.00a227c1
add esp, 0x18
push esi
call dword [sym.imp.api_ms_win_core_heap_obsolete_l1_1_0.dll_LocalFree]
mov ecx, edi
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0xa35082
jmp 0xa3ebab
mov edx, ebx
mov ecx, edi
cmp word [ebp - 0x28c], 0
je 0xa3ebd1
push 0xa3ebf0
jmp 0xa3ebd6
push 0xa3ec00
call fcn.00a21417
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xa3ebe0
jmp 0xa35082
push 0xa2bd44
mov edx, ebx
mov ecx, edi
call fcn.00a21417
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0xa35082
jmp 0xa3ec1b
cmp byte [0xa45044], 0
je 0xa35097
mov ecx, dword [0xa450d4]
jmp 0xa3ec62
mov eax, ecx
dec ecx
test eax, eax
je 0xa35097
push 0x2b
pop eax
mov word [edi], ax
add edi, 2
mov dword [ebp - 0x27c], edi
dec ebx
mov dword [ebp - 0x278], ebx
cmp ebx, 1
jle 0xa35097
jmp 0xa3ec41
cmp byte [0xa45044], 0
je 0xa35097
mov dword [ebp - 0x284], esi
mov ax, word [0xa45a20]
mov word [ebp - 0x28], ax
mov ax, word [0xa45a22]
mov word [ebp - 0x26], ax
push 0x5c
pop eax
mov word [ebp - 0x24], ax
xor eax, eax
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetDriveTypeW]
cmp eax, 4
jne 0xa35097
xor eax, eax
mov word [ebp - 0x24], ax
mov dword [ebp - 0x290], 0x104
mov dword [ebp - 4], esi
call fcn.00a267ab
test al, al
je 0xa3ecf0
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.ext_ms_win_cmd_util_l1_1_0.dll_WNetGetConnectionWStub]
mov dword [ebp - 0x284], eax
jmp 0xa3ecfa
mov dword [ebp - 0x284], 0x78
mov dword [ebp - 4], 0xfffffffe
jmp 0xa3ed3e
cmp dword [ebp - 0x284], 0
je 0xa3ed7c
cmp dword [ebp - 0x284], 0x8ca
je 0xa35097
push 0xa3ee3c
push ebx
push edi
call fcn.00a227c1
add esp, 0xc
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0xa35082
jmp 0xa3ed6b
lea eax, [ebp - 0x274]
push eax
push 0xa38714
push ebx
push edi
call fcn.00a227c1
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0xa35082
jmp 0xa3ed97
movzx eax, word [0xa45a20]
push eax
push 0xa34e98
push ebx
push edi
call fcn.00a227c1
add esp, 0x10
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
je 0xa35082
jmp 0xa3edc4
push 0xa45a20
push 0xa3ee34
push ebx
push str.C:Windows_system32_
call fcn.00a227c1
add esp, 0x10
mov edx, str.C:Windows_system32_
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, si
jne 0xa3edf5
sub edx, ecx
sar edx, 1
lea edi, [edx*2 + str.C:Windows_system32_]
jmp 0xa35144
push dword [0xa4515c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_EnterCriticalSection]
mov dword [0xa45164], esi
push dword [0xa4515c]
call dword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_LeaveCriticalSection]
jmp 0xa35160