Function at 0x140003a80
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x390
mov rax, qword [0x140029048]
xor rax, rsp
mov qword [rsp + 0x380], rax
mov rbx, r9
mov esi, r8d
mov r9d, edx
lea r8, str.HandlerEx_dwOpcode__d_n
mov edi, edx
mov rbp, rcx
mov r14d, 4
lea rcx, str.QCA_WLAN_Service
movzx edx, r14w
call fcn.140004370
sub edi, 1
je 0x140003e70
sub edi, 1
je 0x140003d8c
sub edi, 1
je 0x140003d1b
cmp edi, 8
jne 0x140003f4f
sub esi, 0x8000
je 0x140003b6f
cmp esi, r14d
jne 0x140003f4f
test rbx, rbx
jne 0x140003b27
mov edi, 1
lea r8, str.Invalid_device_remove_complete_event_buffer._n
movzx edx, di
lea rcx, str.TF_USB
jmp 0x140003f4a
cmp dword [rbx + 4], 2
jne 0x140003f4f
test byte [rbx + 0x10], 1
je 0x140003f4f
mov ecx, dword [rbx + 0xc]
xor al, al
test cl, 1
jne 0x140003b4d
shr ecx, 1
inc al
cmp al, 0x1a
jl 0x140003b40
add al, 0x41
movzx edx, r14w
movsx r9d, al
lea r8, str.Drive__c:_Media_has_been_removed._n
lea rcx, str.TF_USB
call fcn.140004370
jmp 0x140003f4f
test rbx, rbx
jne 0x140003b8f
mov edi, 1
lea r8, str.Invalid_device_arrival_event_buffer._n
movzx edx, di
lea rcx, str.TF_USB
jmp 0x140003f4a
mov eax, dword [rbx + 4]
cmp eax, 2
je 0x140003baf
cmp eax, 5
jne 0x140003f4f
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x140003f4f
test byte [rbx + 0x10], 1
je 0x140003f4f
mov eax, dword [rbx + 0xc]
xor dil, dil
nop
test al, 1
jne 0x140003bcf
shr eax, 1
inc dil
cmp dil, 0x1a
jl 0x140003bc0
add dil, 0x41
movzx edx, r14w
movsx esi, dil
lea r8, str.Drive__c:_Media_has_arrived._n
mov r9d, esi
lea rcx, str.TF_USB
call fcn.140004370
xor edx, edx
lea rcx, [rsp + 0x160]
mov r8d, 0x104
call fcn.1400083e0
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x104
call fcn.1400083e0
xor edx, edx
lea rcx, [rsp + 0x270]
mov r8d, 0x104
call fcn.1400083e0
xor ebx, ebx
lea r8, str._c:_
mov r9d, esi
mov dword [rsp + 0x48], ebx
mov edx, 0x104
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x160]
mov dword [rsp + 0x44], ebx
call fcn.1400061d0
mov dword [rsp + 0x38], 0xff
lea rax, [rsp + 0x270]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x40]
mov r8d, 0xff
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
lea rax, [rsp + 0x44]
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x140003cf8
lea r8, [rbp + 0x68]
lea rax, [rsp + 0x50]
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140003cc3
inc rax
test ecx, ecx
jne 0x140003cb0
test edx, edx
jne 0x140003f4f
lea r9, [rsp + 0x50]
movzx edx, r14w
lea r8, str.Found_target__s._n
lea rcx, str.TF_USB
call fcn.140004370
movzx edx, dil
mov rcx, rbp
call fcn.1400038b0
jmp 0x140003f4f
mov edi, 1
lea r8, str.Failed_to_get_information_for_Volume__c._n
movzx edx, di
lea rcx, str.TF_USB
mov r9d, esi
call fcn.140004370
jmp 0x140003f4f
lea rcx, [0x140029e70]
call fcn.140004b50
mov rcx, qword [0x140029e88]
lea rdx, [0x140029e90]
or dword [0x140029e98], 3
xor ebx, ebx
mov dword [0x140029e9c], ebx
mov qword [0x140029ea4], rbx
mov dword [0x140029e94], r14d
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
jne 0x140003d80
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 1
lea r8, str.SetServiceStatus_error__code_x_n
mov r9d, eax
movzx edx, di
lea rcx, str.QCA_WLAN_Service
call fcn.140004370
lea r8, str.Service_continued.
jmp 0x140003f3f
mov rcx, qword [0x140029e78]
xor ebx, ebx
test rcx, rcx
je 0x140003da6
call sub.api_ms_win_power_base_l1_1_0.dll_PowerUnregisterSuspendResumeNotification
mov qword [0x140029e78], rbx
mov rcx, qword [0x140029e80]
mov edi, 1
test rcx, rcx
je 0x140003de8
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov r8d, edi
xor edx, edx
mov qword [rsp + 0x20], rbx
call sub.wlanapi.dll_WlanRegisterNotification
mov rcx, qword [0x140029e80]
xor edx, edx
call sub.wlanapi.dll_WlanCloseHandle
mov qword [0x140029e80], rbx
test byte [0x140029e70], 6
je 0x140003dfd
lea rcx, [0x140029e70]
call fcn.140005720
mov eax, dword [0x140029020]
lea rdx, [0x140029e90]
mov rcx, qword [0x140029e88]
mov dword [0x140029ea4], eax
inc eax
mov dword [0x140029020], eax
mov dword [0x140029e70], ebx
mov dword [0x140029e94], 7
mov dword [0x140029e9c], ebx
mov dword [0x140029ea8], ebx
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
jne 0x140003e64
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.SetServiceStatus_error__code_x_n
movzx edx, di
mov r9d, eax
lea rcx, str.QCA_WLAN_Service
call fcn.140004370
lea r8, str.Service_paused.
jmp 0x140003f3f
mov rcx, qword [0x140029e78]
xor ebx, ebx
test rcx, rcx
je 0x140003e8a
call sub.api_ms_win_power_base_l1_1_0.dll_PowerUnregisterSuspendResumeNotification
mov qword [0x140029e78], rbx
mov rcx, qword [0x140029e80]
mov edi, 1
test rcx, rcx
je 0x140003ecc
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov r8d, edi
xor edx, edx
mov qword [rsp + 0x20], rbx
call sub.wlanapi.dll_WlanRegisterNotification
mov rcx, qword [0x140029e80]
xor edx, edx
call sub.wlanapi.dll_WlanCloseHandle
mov qword [0x140029e80], rbx
test byte [0x140029e70], 6
je 0x140003ee1
lea rcx, [0x140029e70]
call fcn.140005720
mov rcx, qword [0x140029e88]
lea rdx, [0x140029e90]
or dword [0x140029e98], r14d
mov dword [0x140029e70], ebx
mov dword [0x140029e94], edi
mov dword [0x140029e9c], ebx
mov qword [0x140029ea4], rbx
call qword [sym.imp.ADVAPI32.dll_SetServiceStatus]
test eax, eax
jne 0x140003f38
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.SetServiceStatus_error__code_x_n
movzx edx, di
mov r9d, eax
lea rcx, str.QCA_WLAN_Service
call fcn.140004370
lea r8, str.Service_stopped.
movzx edx, r14w
lea rcx, str.QCA_WLAN_Service
call fcn.140004370
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.140006ab0
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret