Function at 0x140007f40
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xa0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0xd0], rbx
mov rax, qword [0x140036038]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbx, r8
mov r14, rdx
xor r15d, r15d
mov dword [rsp + 0x40], r15d
sub ecx, 0x8000
je 0x140007fd4
cmp ecx, 4
jne 0x1400081fb
lea rcx, str.DBT_DEVICEREMOVECOMPLETE_caught
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [0x14003841c], r15d
jne 0x140007fc3
lea rcx, str.SetEvent_m_hExitUSBEvent._n_n
call fcn.14000a500
mov rcx, qword [0x140038428]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [r14], eax
lea rcx, str.Remove_the_datacard._n_n
call fcn.14000a500
jmp 0x1400081fb
lea rcx, str.DBT_DEVICEARRIVAL_caught
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, str.Insert_the_Device.
call fcn.14000a500
call fcn.140003000
test eax, eax
jne 0x1400081cf
lea rcx, str.No_ADB_Device.
call fcn.14000a500
lea rdx, [rbx + 0x1c]
movdqa xmm0, xmmword [0x140030c40]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], r15w
jne 0x140008030
lea rcx, [rsp + 0x50]
call fcn.140004290
nop
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
lea ecx, [rax + 1]
movsxd rdi, ecx
mov rcx, rdi
call fcn.14000d960
mov rbp, rax
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.14000f580
lea r8, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae r8, qword [rsp + 0x50]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbp
mov r9d, ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x40], 1
inc rbx
cmp byte [rbx + rbp], 0
jne 0x1400080e6
mov r8, rbx
mov rdx, rbp
lea rcx, [rsp + 0x70]
call fcn.140004420
mov rcx, rbp
call fcn.14000d4b4
lea rcx, [rsp + 0x70]
call fcn.1400027b0
test al, al
sete bl
mov rdx, qword [rsp + 0x88]
cmp rdx, 0x10
jb 0x140008156
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008151
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008228
call fcn.14000d4b4
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400081aa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400081a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008222
call fcn.14000d4b4
test bl, bl
je 0x1400081cf
lea rcx, str.VIDPID_is_ERROR.
call fcn.14000a500
call fcn.1400031d0
test eax, eax
je 0x1400081fb
lea rcx, str.This_is_android_device
call fcn.14000a500
lea rcx, str.Have_Device.
call fcn.14000a500
mov rcx, qword [0x140038438]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [r14], eax
mov rcx, qword [0x140038430]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [r14], eax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14000d490
mov rbx, qword [rsp + 0xd0]
add rsp, 0xa0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.14001179c
nop
call fcn.14001179c
nop
int3