Function at 0x180042790
Capabilities:
Acquire debug privileges

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x18009e010]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r15, rdx
mov qword [rbp - 0x50], rdx
mov r14, rcx
mov qword [rbp - 0x58], rcx
mov qword [rsp + 0x70], rdx
xor r12d, r12d
mov dword [rsp + 0x40], r12d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], setsockopt
lea r8d, [r12 + 0x16]
lea rdx, str.ChromeHook_GetAudioPid
lea rcx, [rbp + 0x40]
call fcn.180004270
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x180042849
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042844
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004335c
call fcn.18004a624
mov qword [rbp + 0x120], r12
mov qword [rbp + 0x130], r12
mov qword [rbp + 0x138], 7
mov word [rbp + 0x120], r12w
mov r8d, 0x2b
lea rdx, str.__utility_sub_typeaudio.mojom.AudioService
lea rcx, [rbp + 0x120]
call fcn.1800040b0
nop
lea rax, [rbp + 0x100]
mov qword [rsp + 0x70], rax
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x100]
call fcn.180003df0
mov rbx, rax
mov ecx, dword [r14 + 0x70]
test ecx, ecx
je 0x1800428b7
cmp ecx, 1
lea rdx, [r14 + 0x28]
je 0x1800428bb
lea rdx, [r14 + 8]
lea rcx, [rbp + 0x170]
call fcn.180003df0
nop
mov r8, rbx
lea rdx, [rbp + 0x170]
lea rcx, [rbp - 0x28]
call fcn.180040b20
nop
mov rdx, qword [rbp + 0x188]
cmp rdx, 8
jb 0x180042922
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004291d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180043362
call fcn.18004a624
mov rdi, qword [rbp - 0x28]
cmp rdi, qword [rbp - 0x20]
je 0x18004329a
mov qword [rsp + 0x70], r12
mov qword [rbp + 0x144], r12
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x70]
mov edx, 0x28
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x18004329a
mov dword [rbp + 0x140], 1
mov dword [rbp + 0x14c], 2
lea r8, [rbp + 0x144]
lea rdx, str.SeDebugPrivilege
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x1800429ac
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0x140]
xor edx, edx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [rdi + 8]
mov dword [rsp + 0x78], esi
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], setsockopt
mov r8d, 0x1c
lea rdx, str.ChromeHook_GetAudioSyncPipes
lea rcx, [rbp + 0x60]
call fcn.180004270
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x180042a1f
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042a1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180043368
call fcn.18004a624
mov ecx, dword [r14 + 0x70]
lea r12, str.edge
mov r13d, 4
test ecx, ecx
je 0x180042a4c
cmp ecx, 1
jne 0x180042a4c
xor r8d, r8d
mov qword [rbp], r8
mov qword [rbp + 0x10], r8
mov rdx, r12
mov r8d, r13d
jmp 0x180042a64
xor r8d, r8d
mov qword [rbp], r8
mov qword [rbp + 0x10], r8
lea rdx, str.chrome
mov r8d, 6
mov dword [rsp + 0x40], listen
mov qword [rbp + 0x18], 7
lea rcx, [rbp]
call fcn.1800040b0
lea r8, [rbp]
mov edx, esi
lea rcx, [rsp + 0x48]
call fcn.1800422d0
nop
mov rbx, qword [r14 + 0x60]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x180042bd9
nop
mov rsi, qword [rbx + 0x40]
mov r15, qword [rbx + 0x48]
cmp rsi, r15
je 0x180042b6f
mov rax, qword [rsi]
movzx ecx, byte [rax + 8]
test cl, cl
je 0x180042afb
mov rcx, qword [rsi]
mov rax, qword [rcx]
lea rdx, [rbp + 0x190]
call qword [rax + select]
nop
mov edi, dword [rsp + 0x40]
or edi, 2
mov dword [rsp + 0x40], edi
mov r8, rax
lea rdx, [rbp + 0xe0]
lea rcx, [rsp + 0x48]
call fcn.180044b00
mov rcx, qword [rax]
cmp qword [rcx + 0x40], 0
jne 0x180042aff
mov r14b, 1
jmp 0x180042b02
mov edi, dword [rsp + 0x40]
xor r14b, r14b
test dil, 2
je 0x180042b55
and edi, 0xfffffffd
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 8
jb 0x180042b55
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042b50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004336e
call fcn.18004a624
test r14b, r14b
je 0x180042b62
mov rcx, qword [rsi]
call fcn.18003f5b0
add rsi, 0x10
cmp rsi, r15
jne 0x180042ab1
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x180042b9b
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x180042b96
cmp rbx, qword [rax + 0x10]
jne 0x180042b96
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180042b83
mov rbx, rax
jmp 0x180042bbf
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x180042bbf
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180042bb0
cmp byte [rbx + 0x19], 0
je 0x180042aa0
mov rdi, qword [rbp - 0x28]
mov esi, dword [rsp + 0x78]
mov r14, qword [rbp - 0x58]
mov r15, qword [rbp - 0x50]
cmp qword [rsp + 0x50], 0
jne 0x180042cfe
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
mov qword [r15], rax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
mov r8, qword [rsp + 0x48]
mov r8, qword [r8 + 8]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.1800459b0
mov edx, 0x48
mov rcx, qword [rsp + 0x48]
call fcn.18004a624
nop
mov rcx, qword [rbp - 0x18]
movabs rax, 0x73615a240e6c2b45
sub rcx, rdi
imul rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x238
cmp rdx, 0x1000
mov rax, rdi
jb 0x180042c77
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180043356
mov rcx, rdi
call fcn.18004a624
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x180042cc7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042cc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004335c
call fcn.18004a624
nop
lea rcx, [rsp + 0x58]
call fcn.180015560
mov rax, r15
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.180049ee0
mov rbx, qword [rsp + 0x310]
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor ebx, ebx
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], setsockopt
lea r8d, [rbx + 0x1c]
lea rdx, str.ChromeHook_GetAudioRenderers
lea rcx, [rbp + 0x80]
call fcn.180004270
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x180042d71
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042d6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180043374
call fcn.18004a624
lea rax, [rbp + 0xc0]
mov qword [rbp - 0x70], rax
mov ecx, dword [r14 + 0x70]
test ecx, ecx
je 0x180042d8d
cmp ecx, 1
lea rdx, [r14 + 0x28]
je 0x180042d91
lea rdx, [r14 + 8]
lea rcx, [rbp + 0xc0]
call fcn.180003df0
nop
mov ecx, dword [r14 + 0x70]
test ecx, ecx
je 0x180042dab
cmp ecx, 1
je 0x180042db8
lea r12, str.chrome
mov r13d, 6
mov qword [rbp + 0x38], 7
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x20], rbx
mov r8, r13
mov rdx, r12
lea rcx, [rbp + 0x20]
call fcn.1800040b0
nop
lea r9, [rbp + 0xc0]
lea r8, [rbp + 0x20]
mov edx, esi
lea rcx, [rbp - 0x40]
call fcn.1800410f0
nop
mov rax, qword [rbp - 0x38]
cmp qword [rbp - 0x40], rax
jne 0x180042e21
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [r15], rbx
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rbx
lea rcx, [rbp - 0x40]
call fcn.180015560
jmp 0x180042c01
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], setsockopt
mov r8d, 0x1f
lea rdx, str.ChromeHook_FilterAudioRenderers
lea rcx, [rbp + 0xa0]
call fcn.180004270
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x180042e94
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042e8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004337a
call fcn.18004a624
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r13, rax
mov r12d, ebx
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
sub rax, rdx
sar rax, 4
test rax, rax
je 0x1800431f6
mov r15, rbx
nop dword [rax + rax]
mov rdi, qword [rdx + r15 + 8]
test rdi, rdi
je 0x180042ed3
lock inc dword [rdi + 8]
mov rdi, qword [rdx + r15 + 8]
mov rsi, qword [rdx + r15]
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
test rdi, rdi
je 0x180042ef4
lock inc dword [rdi + 8]
mov rsi, qword [rbp - 0x80]
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.180043390
nop
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x180042f26
movzx eax, byte [rax + 8]
mov rsi, qword [rbp - 0x80]
test al, al
je 0x180042f26
mov bl, 1
jmp 0x180042f28
xor bl, bl
mov rax, qword [rsi]
lea rdx, [rbp + 0x150]
mov rcx, rsi
call qword [rax + select]
nop
mov r8, rax
lea rdx, [rbp + 0xf0]
lea rcx, [rsp + 0x48]
call fcn.180044b00
mov rcx, qword [rax]
mov r14, qword [rcx + 0x40]
mov rdx, qword [rbp + 0x168]
cmp rdx, 8
jb 0x180042f9a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042f95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180043380
call fcn.18004a624
xor eax, eax
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], 7
mov word [rbp + 0x150], ax
test bl, bl
jne 0x180043150
test r14, r14
je 0x180043150
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x78]
mov r8, r13
mov rdx, r14
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x1800430ca
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsi + 0xb0]
test rcx, rcx
je 0x18004300e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsi + 0xb8]
test rcx, rcx
je 0x180043020
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsi + 0xb8], rbx
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x180043094
mov qword [rsi + 0xb0], rax
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x68]
je 0x18004307f
xor edx, edx
mov qword [rax], rdx
lea rcx, [rax + 8]
mov qword [rcx], rdx
test rdi, rdi
je 0x18004306c
lock inc dword [rdi + 8]
mov rsi, qword [rbp - 0x80]
mov rax, qword [rsp + 0x60]
mov qword [rax], rsi
mov qword [rcx], rdi
add qword [rsp + 0x60], 0x10
jmp 0x1800430ca
lea r8, [rbp - 0x80]
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x58]
call fcn.180018800
jmp 0x1800430ca
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.Audio_sync_port_creation_failed:
lea rcx, [0x1800a1160]
call fcn.18000d1b0
mov edx, ebx
mov rcx, rax
call fcn.180023230
mov rcx, rax
call fcn.18000d4c0
mov rcx, rsi
call fcn.18003f5b0
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x180043108
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180043108
mov rbx, qword [rbp - 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180043108
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1800431cb
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1800431cb
mov rbx, qword [rbp - 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1800431cb
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
jmp 0x1800431c8
mov rcx, rsi
call fcn.18003f5b0
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x180043197
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180043197
mov rbx, qword [rbp - 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180043197
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
test rdi, rdi
je 0x1800431cb
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800431cb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800431cb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
inc r12d
add r15, 0x10
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
sub rcx, rdx
sar rcx, 4
movsxd rax, r12d
cmp rax, rcx
jae 0x1800431f2
mov r14, qword [rbp - 0x58]
jmp 0x180042ec0
mov rdi, qword [rbp - 0x28]
mov rbx, qword [rsp + 0x48]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x180043265
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x180043213
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x18004323f
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18004323a
cmp rbx, qword [rax + 0x10]
jne 0x18004323a
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x180043227
mov rbx, rax
jmp 0x18004325f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x18004325f
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x180043250
cmp byte [rbx + 0x19], 0
je 0x180043204
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov qword [rsp + 0x68], r8
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x60], r8
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x58], r8
mov r15, qword [rbp - 0x50]
mov qword [r15], rax
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rdx
jmp 0x180042e13
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r12
mov qword [r15], r12
mov qword [r15 + 8], r12
mov qword [r15 + 0x10], r12
test rdi, rdi
je 0x18004330c
mov rcx, qword [rbp - 0x18]
sub rcx, rdi
movabs rax, 0x73615a240e6c2b45
imul rcx
sar rdx, 8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x238
mov rax, rdi
cmp rdx, 0x1000
jb 0x180043303
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180043356
mov rcx, rdi
call fcn.18004a624
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x180042cc7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180042cc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004335c
jmp 0x180042cc1
call fcn.180055d94
nop
call fcn.180055d94
nop
call fcn.180055d94
int3
call fcn.180055d94
nop
call fcn.180055d94
int3
call fcn.180055d94
nop
call fcn.180055d94
nop
call fcn.180055d94
int3