Function at 0x18004bd00
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r14, rdx
mov rsi, rcx
xor r15d, r15d
cmp qword [0x1800a46f0], r15
jne 0x18004bfa0
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
lea ecx, [r15 + 0x20]
call fcn.1800506b0
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], setsockopt
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str.IAudioClientStop]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], r15b
lea rax, [rbp - 0x28]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], r15d
lea r9, [rbp + 0x40]
lea edx, [r15 + 8]
lea r8d, [r15 + 0x40]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18004bdd5
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c7a8
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c7a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c7d5
call fcn.180050b2c
mov eax, 0x80004005
jmp 0x18004c7bb
mov rax, qword [rsi]
mov rbx, qword [rax + 0x58]
mov ecx, 0x40
call fcn.1800506b0
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rax], r15
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180006410
mov qword [rdi + 0x28], rbx
lea rax, [0x18004baa0]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004be4b
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004be46
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c7d5
call fcn.180050b2c
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rbx, qword [0x1800a46f0]
mov qword [0x1800a46f0], rdi
test rbx, rbx
je 0x18004bed9
cmp byte [rbx + 0x38], 0
je 0x18004be7d
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004bebc
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004beb7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c7db
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
mov edx, 0x40
mov rcx, rbx
call fcn.180050b2c
cmp byte [rdi + 0x38], 0
jne 0x18004bf96
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.18004f030
test eax, eax
jne 0x18004bf16
mov rcx, qword [rdi + 0x28]
call fcn.18004f540
test eax, eax
jne 0x18004bf0a
mov byte [rdi + 0x38], 1
jmp 0x18004bf16
mov rcx, qword [rdi + 0x28]
call fcn.18004f330
mov qword [rdi], r15
cmp byte [rdi + 0x38], 0
jne 0x18004bf96
mov rbx, qword [0x1800a46f0]
mov qword [0x1800a46f0], r15
test rbx, rbx
je 0x18004c7a8
cmp byte [rbx + 0x38], 0
je 0x18004bf42
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004bf81
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004bf7c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c7e1
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
jmp 0x18004c79b
mov rax, qword [rdi]
mov qword [0x1800a4110], rax
cmp qword [0x1800a46e8], 0
jne 0x18004c24a
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
mov ecx, 0x20
call fcn.1800506b0
mov rdx, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], 0x1d
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str.IAudioClientGetCurrentPadding]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1800908f8]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x180090900]
mov dword [rax + 0x18], ecx
movzx eax, byte [0x180090904]
mov byte [rdx + 0x1c], al
mov byte [rdx + 0x1d], 0
lea rax, [rbp - 0x28]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], r15d
lea r9, [rbp + 0x40]
mov edx, 8
lea r8d, [rdx + 0x38]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18004c07f
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c7a8
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c7a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c7e7
call fcn.180050b2c
mov eax, 0x80004005
jmp 0x18004c7bb
mov rax, qword [rsi]
mov rbx, qword [rax + 0x30]
mov ecx, 0x40
call fcn.1800506b0
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rax], r15
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180006410
mov qword [rdi + 0x28], rbx
lea rax, [0x18004b9c0]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c0f5
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c0f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c7e7
call fcn.180050b2c
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rbx, qword [0x1800a46e8]
mov qword [0x1800a46e8], rdi
test rbx, rbx
je 0x18004c183
cmp byte [rbx + 0x38], 0
je 0x18004c127
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004c166
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004c161
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c7ed
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
mov edx, 0x40
mov rcx, rbx
call fcn.180050b2c
cmp byte [rdi + 0x38], 0
jne 0x18004c240
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.18004f030
test eax, eax
jne 0x18004c1c0
mov rcx, qword [rdi + 0x28]
call fcn.18004f540
test eax, eax
jne 0x18004c1b4
mov byte [rdi + 0x38], 1
jmp 0x18004c1c0
mov rcx, qword [rdi + 0x28]
call fcn.18004f330
mov qword [rdi], r15
cmp byte [rdi + 0x38], 0
jne 0x18004c240
mov rbx, qword [0x1800a46e8]
mov qword [0x1800a46e8], r15
test rbx, rbx
je 0x18004c7a8
cmp byte [rbx + 0x38], 0
je 0x18004c1ec
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004c22b
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004c226
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c7f3
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
jmp 0x18004c79b
mov rax, qword [rdi]
mov qword [0x1800a40e0], rax
cmp qword [0x1800a46f8], 0
jne 0x18004c4f6
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
mov ecx, 0x20
call fcn.1800506b0
mov rdx, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], 0x1b
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str.IAudioRenderClientGetBuffer]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x180090918]
movsd qword [rax + 0x10], xmm0
movzx ecx, word [0x180090920]
mov word [rax + 0x18], cx
movzx eax, byte [0x180090922]
mov byte [rdx + 0x1a], al
mov byte [rdx + 0x1b], 0
lea rax, [rbp - 0x28]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], r15d
lea r9, [rbp + 0x40]
mov edx, 8
lea r8d, [rdx + 0x38]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18004c32b
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c7a8
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c7a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c7f9
call fcn.180050b2c
mov eax, 0x80004005
jmp 0x18004c7bb
mov rax, qword [r14]
mov rbx, qword [rax + 0x18]
mov ecx, 0x40
call fcn.1800506b0
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rax], r15
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180006410
mov qword [rdi + 0x28], rbx
lea rax, [0x18004bb00]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c3a1
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c39c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c7f9
call fcn.180050b2c
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rbx, qword [0x1800a46f8]
mov qword [0x1800a46f8], rdi
test rbx, rbx
je 0x18004c42f
cmp byte [rbx + 0x38], 0
je 0x18004c3d3
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004c412
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004c40d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c7ff
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
mov edx, 0x40
mov rcx, rbx
call fcn.180050b2c
cmp byte [rdi + 0x38], 0
jne 0x18004c4ec
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.18004f030
test eax, eax
jne 0x18004c46c
mov rcx, qword [rdi + 0x28]
call fcn.18004f540
test eax, eax
jne 0x18004c460
mov byte [rdi + 0x38], 1
jmp 0x18004c46c
mov rcx, qword [rdi + 0x28]
call fcn.18004f330
mov qword [rdi], r15
cmp byte [rdi + 0x38], 0
jne 0x18004c4ec
mov rbx, qword [0x1800a46f8]
mov qword [0x1800a46f8], r15
test rbx, rbx
je 0x18004c7a8
cmp byte [rbx + 0x38], 0
je 0x18004c498
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004c4d7
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004c4d2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c805
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
jmp 0x18004c79b
mov rax, qword [rdi]
mov qword [0x1800a40f8], rax
cmp qword [0x1800a4700], 0
jne 0x18004c7b9
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], r15
mov ecx, 0x20
call fcn.1800506b0
mov r8, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], 0x1f
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str.IAudioRenderClientReleaseBuffer]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1800908b8]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x1800908c0]
mov dword [rax + 0x18], ecx
movzx eax, word [0x1800908c4]
mov word [r8 + 0x1c], ax
movzx eax, byte [0x1800908c6]
mov byte [r8 + 0x1e], al
mov byte [r8 + 0x1f], 0
lea rax, [rbp - 0x28]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], r15d
lea r9, [rbp + 0x40]
mov edx, 8
lea r8d, [rdx + 0x38]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18004c5e3
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c7a8
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c7a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c80b
call fcn.180050b2c
mov eax, 0x80004005
jmp 0x18004c7bb
mov rax, qword [r14]
mov rbx, qword [rax + 0x20]
mov ecx, 0x40
call fcn.1800506b0
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rax], r15
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180006410
mov qword [rdi + 0x28], rbx
lea rax, [0x18004bbd0]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x18004c659
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004c654
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004c80b
call fcn.180050b2c
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rbx, qword [0x1800a4700]
mov qword [0x1800a4700], rdi
test rbx, rbx
je 0x18004c6e7
cmp byte [rbx + 0x38], 0
je 0x18004c68b
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004c6ca
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004c6c5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c811
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
mov edx, 0x40
mov rcx, rbx
call fcn.180050b2c
cmp byte [rdi + 0x38], 0
jne 0x18004c7af
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.18004f030
test eax, eax
jne 0x18004c724
mov rcx, qword [rdi + 0x28]
call fcn.18004f540
test eax, eax
jne 0x18004c718
mov byte [rdi + 0x38], 1
jmp 0x18004c724
mov rcx, qword [rdi + 0x28]
call fcn.18004f330
mov qword [rdi], r15
cmp byte [rdi + 0x38], 0
jne 0x18004c7af
mov rbx, qword [0x1800a4700]
mov qword [0x1800a4700], r15
test rbx, rbx
je 0x18004c7a8
cmp byte [rbx + 0x38], 0
je 0x18004c750
mov rcx, qword [rbx + 0x28]
call fcn.18004f330
mov byte [rbx + 0x38], 0
mov rdx, qword [rbx + 0x20]
cmp rdx, 0xf
jbe 0x18004c78b
mov rcx, qword [rbx + 8]
inc rdx
cmp rdx, 0x1000
jb 0x18004c786
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004c7cf
mov rcx, r8
call fcn.180050b2c
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], setsockopt
mov byte [rbx + 8], 0
mov rcx, rbx
mov edx, 0x40
call fcn.180050b2c
mov eax, 0x80004005
jmp 0x18004c7bb
mov rax, qword [rdi]
mov qword [0x1800a4118], rax
xor eax, eax
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
nop
call fcn.18005c4f8
int3