Function at 0x6a91a4
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4a
push 0
push 0
dec ecx
jne 0x6a91ac
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004099b0
xor eax, eax
push ebp
push 0x6a95a5
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c]
mov edx, 0x6a95c0
call fcn.00409cf4
mov dword [ebp - 0x20], 0x5a160c
mov byte [ebp - 0x21], 0
cmp dword [0x6e346c], 0xffffffff
jne 0x6a9201
cmp dword [0x6e3468], 0xfffd8531
jae 0x6a920a
jmp 0x6a9203
jge 0x6a920a
mov byte [0x6e3461], 1
cmp byte [0x6e3462], 0
je 0x6a921b
mov eax, dword [0x6e3470]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x6a9252
cmp byte [ebp - 0x21], 0
je 0x6a9252
mov dword [ebp - 0x20], 0xa5f0e
mov eax, dword [ebp - 0x20]
mov ecx, 0x3fd114
cdq
idiv ecx
cmp edx, 0x42f84a
sete byte [0x6e3461]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x9700ce
jne 0x6a922e
mov eax, dword [ebp - 0x1c]
mov edx, 0x6a95d8
call fcn.0040a828
je 0x6a927e
cmp dword [0x6e346c], 0xffffffff
jne 0x6a9275
cmp dword [0x6e3468], 0xffffffff
jae 0x6a927e
jmp 0x6a9277
jge 0x6a927e
mov byte [0x6e3462], 1
mov eax, dword [ebp - 8]
call fcn.004098cc
xor eax, eax
push ebp
push 0x6a9557
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x230]
push eax
push 0x104
call sub.kernel32.dll_GetLogicalDriveStringsW
mov dword [ebp - 0x18], eax
push 0
push 0x124316
push 0
push 0x124316
call fcn.00683710
push edx
push eax
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x6a92cb
cmp eax, dword [esp]
pop edx
pop eax
jne 0x6a92dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6a9561
push 0
push 0x1b8eb3
push 0
push 0x1b8eb0
call fcn.00683710
push edx
push eax
mov eax, dword [ebp - 0x18]
xor edx, edx
push edx
push eax
push 0
push 2
push 0
push 0x17b90c
push 0
push 0x17b90a
call fcn.00683710
call fcn.0040c13c
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
call fcn.0040c160
push eax
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, dword [0x6a917c]
call fcn.0040cb34
add esp, 4
mov eax, dword [ebp - 0x10]
call fcn.0040c770
test eax, eax
jl 0x6a9388
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0
push 0
push 0x12c7aa
push 0
push 0x12c7a6
call fcn.00683710
push edx
push eax
mov eax, dword [ebp - 0x14]
cdq
call fcn.0040c13c
mov ax, word [ebp + eax*2 - 0x230]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov word [edx + ecx*2], ax
inc dword [ebp - 0x14]
dec dword [ebp - 0x28]
jne 0x6a9350
mov eax, dword [ebp - 0x10]
call fcn.0040c770
test eax, eax
jl 0x6a954d
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], 0
push 0x104
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x234]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dx, word [edx + ecx*2]
call fcn.0040a4ac
lea eax, [ebp - 0x234]
push eax
push 0
push 0x1a88f4
lea edx, [ebp - 0x238]
mov eax, 0x6a9604
call fcn.00683764
mov edx, dword [ebp - 0x238]
pop eax
call fcn.0040a698
mov eax, dword [ebp - 0x234]
call fcn.0040a488
push eax
call sub.kernel32.dll_QueryDosDeviceW
mov dword [ebp - 0x18], eax
push 0xffffffffffffffff
push 0xffeda4a9
push 0
push 0x125b57
call fcn.00683710
push edx
push eax
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x6a942f
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x6a9541
jmp 0x6a9437
pop edx
pop eax
jle 0x6a9541
lea eax, [ebp - 0x23c]
lea edx, [ebp - 0x230]
call fcn.0040a4ec
mov eax, dword [ebp - 0x23c]
lea edx, [ebp - 0xc]
call fcn.00423280
lea eax, [ebp - 0x244]
push eax
push 0
push 0x1747f1
push 0
push 0x1747f0
call fcn.00683710
push eax
mov eax, dword [ebp - 0xc]
call fcn.00409dbc
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.0040a860
mov eax, dword [ebp - 0x244]
lea edx, [ebp - 0x240]
call fcn.00423280
mov eax, dword [ebp - 0x240]
mov edx, dword [ebp - 0xc]
call fcn.0040a828
jne 0x6a9541
lea eax, [ebp - 0x248]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov dx, word [edx + ecx*2]
call fcn.0040a4ac
push dword [ebp - 0x248]
push 0
push 0x1aad73
lea edx, [ebp - 0x24c]
mov eax, 0x6a9634
call fcn.00683764
push dword [ebp - 0x24c]
lea eax, [ebp - 0x250]
push eax
push 0
push 0x123809
push 0
push 0x123808
call fcn.00683710
push edx
push eax
mov eax, dword [ebp - 0xc]
call fcn.00409dbc
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push eax
mov eax, dword [ebp - 4]
call fcn.00409dbc
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.0040a860
push dword [ebp - 0x250]
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.0040a778
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6a9561
inc dword [ebp - 0x14]
dec dword [ebp - 0x28]
jne 0x6a93a3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6a9561
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a95ac
lea eax, [ebp - 0x250]
mov edx, 8
call fcn.0040992c
lea eax, [ebp - 0x1c]
call fcn.004098cc
lea eax, [ebp - 0x10]
mov edx, dword [0x6a917c]
call fcn.0040cc58
lea eax, [ebp - 0xc]
call fcn.004098cc
lea eax, [ebp - 4]
call fcn.004098cc
ret