Function at 0x1400c6990
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x58
xor esi, esi
lea rbx, [0x1402898e0]
cmp dword [0x1401fcf70], esi
mov r12, r8
mov rdi, rcx
jne 0x1400c6aa2
mov rdx, rcx
lea r8d, [rsi + 3]
lea rcx, [rsp + 0x98]
call fcn.1401519a0
movzx ecx, byte [rsp + 0x98]
call fcn.14014cf10
test eax, eax
je 0x1400c6a0a
cmp byte [rsp + 0x99], 0x3a
jne 0x1400c6a0a
movzx eax, byte [rdi]
mov word [rsp + 0x9a], 0x5c
movzx ecx, byte [rax + rbx]
mov byte [rsp + 0x98], cl
jmp 0x1400c6a16
mov word [rsp + 0x98], 0x5c
mov cl, 0x5c
cmp byte [0x14023e51a], cl
jne 0x1400c6a26
mov eax, dword [0x14023e954]
jmp 0x1400c6a99
mov dword [rsp + 0x38], esi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea rax, [rsp + 0xa8]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
jne 0x1400c6a78
mov rcx, qword [0x140289e68]
lea rdx, str.zip_diagnostic:_GetVolumeInformation_failed_n
call fcn.140056760
mov r15d, esi
jmp 0x1400c6aa8
movzx eax, byte [rsp + 0x98]
cmp dword [rsp + 0xa8], 0xc
mov byte [0x14023e51a], al
mov eax, esi
setbe al
mov dword [0x14023e954], eax
test eax, eax
jne 0x1400c6aa2
mov r15d, esi
jmp 0x1400c6aa8
mov r15d, 1
movzx eax, byte [rdi]
test al, al
je 0x1400c6abd
cmp al, 0x80
jae 0x1400c6abd
cmp byte [rdi + 1], 0x3a
lea rbx, [rdi + 2]
je 0x1400c6ac0
mov rbx, rdi
mov r8d, 2
lea rdx, [0x1401d2ea4]
mov rcx, rdi
call fcn.140144b40
test eax, eax
je 0x1400c6af6
mov r8d, 2
lea rdx, [0x1401d2ea0]
mov rcx, rdi
call fcn.140144b40
test eax, eax
jne 0x1400c6bb0
movzx eax, byte [rdi + 2]
add rdi, 2
test al, al
je 0x1400c6bb0
cmp al, 0x2f
je 0x1400c6bb0
cmp al, 0x5c
je 0x1400c6bb0
cmp al, 0x2f
je 0x1400c6b45
movzx ecx, al
cmp al, 0x5c
je 0x1400c6b41
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
add rdi, rcx
movzx eax, byte [rdi]
movzx ecx, al
test al, al
jne 0x1400c6b16
test cl, cl
je 0x1400c6bb0
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
add rdi, rcx
movzx ecx, byte [rdi]
test cl, cl
je 0x1400c6bb0
movzx eax, cl
cmp al, 0x2f
je 0x1400c6b94
movzx ecx, al
cmp al, 0x5c
je 0x1400c6b90
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
add rdi, rcx
movzx ecx, byte [rdi]
movzx eax, cl
test cl, cl
jne 0x1400c6b65
test cl, cl
je 0x1400c6bb0
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rbx, eax
add rbx, rdi
nop word [rax + rax]
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x1400c6bbb
cmp al, 0x5c
jne 0x1400c6bc0
inc rbx
jmp 0x1400c6bb0
cmp al, 0x2e
jne 0x1400c6bd9
movzx eax, byte [rbx + 1]
cmp al, 0x2f
je 0x1400c6bd0
cmp al, 0x5c
jne 0x1400c6bd9
add rbx, 2
cmp byte [rbx], 0x2e
je 0x1400c6bc4
movzx eax, byte [rbx]
mov rdi, rbx
test al, al
je 0x1400c6c07
cmp al, 0x5c
jne 0x1400c6bea
mov byte [rdi], 0x2f
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
add rdi, rcx
movzx eax, byte [rdi]
test al, al
jne 0x1400c6be3
cmp dword [reloc.WS2_32.dll_accept], esi
jne 0x1400c6c25
mov edx, 0x2f
mov rcx, rbx
call fcn.140134588
test rax, rax
je 0x1400c6c25
lea rbx, [rax + 1]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rbx + rcx], sil
jne 0x1400c6c30
inc rcx
call fcn.14013b328
mov r14, rax
test rax, rax
jne 0x1400c6c57
add rsp, 0x58
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, r14
sub rcx, rbx
nop dword [rax]
movzx eax, byte [rbx]
mov byte [rbx + rcx], al
lea rbx, [rbx + 1]
test al, al
jne 0x1400c6c60
cmp dword [0x1401fcf70], esi
je 0x1400c6ded
mov qword [rsp + 0x90], rbp
mov rdi, r14
mov ebx, esi
mov qword [0x1402898c0], r14
call fcn.140151b34
movsxd rdx, eax
mov rcx, r14
call fcn.1401518f8
movsxd rbp, eax
mov rax, qword [0x1402898c0]
add rbp, r14
movzx esi, byte [rax]
test esi, esi
je 0x1400c6de2
mov qword [rsp + 0x50], r13
lea r12, [0x1402898e0]
movabs r13, 0x28000000fc001c05
nop dword [rax]
lea eax, [rsi - 0x20]
cmp eax, 0x3d
ja 0x1400c6ce2
bt r13, rax
jb 0x1400c6da6
cmp esi, 0x7c
je 0x1400c6da6
cmp esi, 0x2f
jne 0x1400c6d1e
mov qword [0x1402898c0], rdi
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
mov rax, qword [0x1402898c0]
add rdi, rcx
xor ebx, ebx
mov byte [rax], sil
jmp 0x1400c6da6
cmp esi, 0x2e
jne 0x1400c6d5f
test ebx, ebx
je 0x1400c6da6
cmp ebx, 9
jge 0x1400c6d58
mov qword [0x1402898c0], rdi
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
lea ebx, [rsi - 0x25]
mov rax, qword [0x1402898c0]
add rdi, rcx
mov byte [rax], sil
jmp 0x1400c6da6
mov ebx, reloc.WS2_32.dll_inet_ntoa
jmp 0x1400c6da6
cmp ebx, 0xc
jge 0x1400c6da6
cmp ebx, 8
je 0x1400c6da6
call fcn.140151b34
movsxd rdx, eax
mov rcx, rbp
call fcn.1401518f8
add ebx, eax
mov qword [0x1402898c0], rdi
call fcn.140151b34
movsxd rdx, eax
mov rcx, rdi
call fcn.1401518f8
movsxd rcx, eax
mov rax, qword [0x1402898c0]
add rdi, rcx
movzx ecx, byte [rsi + r12]
mov byte [rax], cl
mov qword [0x1402898c0], rbp
call fcn.140151b34
movsxd rdx, eax
mov rcx, rbp
call fcn.1401518f8
movsxd rcx, eax
mov rax, qword [0x1402898c0]
add rbp, rcx
movzx esi, byte [rax]
test esi, esi
jne 0x1400c6cd0
mov r12, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x90]
mov byte [rdi], 0
test r12, r12
je 0x1400c6df6
mov dword [r12], r15d
mov rax, r14
add rsp, 0x58
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret