Function at 0x140098110
Capabilities:
Get disk information

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x68
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbx, r9
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov r13, qword [rsp + 0xc0]
mov r12d, 1
mov dword [rsp + 0x2c], r12d
mov rax, qword [0x140160e18]
mov qword [rsp + 0x38], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0x20], rax
lea rdx, str.AgentSettings.FTPPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.GnutellaPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.HTTPPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.HTTPSPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.IMAPPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.IRCPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.MSNPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.OSCARPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.POPPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.SMTPPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.XMPPPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.YPagerPorts
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
je 0x1400983a4
lea rdx, str.AgentSettings.Drives
mov rcx, rbx
call fcn.1400c1f80
test eax, eax
jne 0x140098396
lea rdx, str._array_name_
lea rcx, [rsp + 0x20]
call fcn.14002d580
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14002d580
lea rdx, str.__type_DriveInfo__size_27__
lea rcx, [rsp + 0x20]
call fcn.14002d580
mov dword [rsp + 0x30], 0x5c3a43
xor edi, edi
mov dword [rsp + 0x28], edi
cmp edi, 0x1b
jge 0x140098380
lea rdx, str._struct_
lea rcx, [rsp + 0x20]
call fcn.14002d580
movsxd rbx, edi
mov rax, qword [rsi]
mov r9d, dword [r13 + rbx*8]
lea r8, str.Capture
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [rax + 0x158]
mov r11, qword [rsi]
mov r9d, dword [r13 + rbx*8 + 4]
lea r8, [0x140107aa8]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [r11 + 0x158]
mov eax, r12d
cmp edi, 0x1a
jge 0x140098347
lea eax, [rdi + 0x41]
mov byte [rsp + 0x30], al
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov r10, qword [rsi]
mov r9d, eax
lea r8, [0x140107a9c]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [r10 + 0x158]
lea rdx, str.__struct_
lea rcx, [rsp + 0x20]
call fcn.14002d580
add edi, 1
mov dword [rsp + 0x28], edi
jmp 0x1400982d5
lea rdx, str.__array_
lea rcx, [rsp + 0x20]
call fcn.14002d580
jmp 0x140098463
xor edi, edi
mov r12d, edi
mov dword [rsp + 0x2c], edi
jmp 0x140098463
movsxd rbx, dword [rsp + 0xc8]
shr rbx, 2
mov r8d, ebx
lea rdx, [0x1400e4e80]
lea rcx, [rsp + 0x48]
call fcn.1400c2cf0
lea rdx, str._array_name_
lea rcx, [rsp + 0x20]
call fcn.14002d580
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.14002d580
lea rdx, str.__type_DWORD__size_
lea rcx, [rsp + 0x20]
call fcn.14002d580
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x20]
call fcn.14002d580
lea rdx, [0x140106d9c]
lea rcx, [rsp + 0x20]
call fcn.14002d580
xor edi, edi
mov dword [rsp + 0x28], edi
nop
nop
cmp edi, ebx
jge 0x140098452
movsxd rax, edi
mov r9d, dword [r13 + rax*4]
test r9d, r9d
je 0x140098449
mov rax, qword [rsi]
lea r8, [0x1400e4ec8]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [rax + 0x158]
add edi, 1
mov dword [rsp + 0x28], edi
jmp 0x140098420
lea rdx, str.__array_
lea rcx, [rsp + 0x20]
call fcn.14002d580
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.14002d5f0
nop
jmp 0x140098478
lea rcx, [rsp + 0x20]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x38]
call fcn.14002d2c0
mov eax, r12d
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400c2a20
add rsp, 0x68
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret