Function at 0x1400539f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov rax, qword [0x1400d6010]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x48], r9d
mov r14, r8
mov qword [rsp + 0x68], r8
mov dword [rsp + 0x44], edx
mov rsi, rcx
mov rdi, qword [rsp + 0x110]
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x60], rax
xor ebp, ebp
movsxd rbx, dword [rsp + 0x118]
lea r13d, [rbx + 4]
mov dword [rsp + 0x40], ebp
mov ecx, r13d
call fcn.140079578
mov r12, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x58], rbp
mov eax, dword [0x1400d6294]
mov dword [r12], eax
mov r8, rbx
lea rcx, [r12 + 4]
mov rdx, rdi
call fcn.140080760
call fcn.140004250
mov rcx, rax
test rax, rax
jne 0x140053aa4
mov ecx, 0x80004005
call fcn.140003fc0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x90], rax
or rbx, 0xffffffffffffffff
test rsi, rsi
je 0x140053afc
test rsi, 0xffffffffffff0000
jne 0x140053aec
movzx edi, si
mov ecx, edi
call fcn.140005710
test rax, rax
je 0x140053b12
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400053d0
jmp 0x140053b12
mov rax, rbx
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x140053af0
jmp 0x140053afe
mov eax, ebp
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x90]
call fcn.140003d30
nop
mov r15, qword [rsp + 0x90]
lea rcx, [r15 - 0x18]
call fcn.140005340
lea rdi, [rax + 0x18]
mov qword [rsp + 0x50], rbp
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.140060230
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140053ccf
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, r13d
mov rdx, r12
call fcn.14005fdb0
mov r12d, ebp
test eax, eax
setns r12b
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053b83
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12d, r12d
je 0x140053ce8
lea rdx, str.SNDW
mov rcx, rsi
call fcn.140080c48
mov r12, qword [rsp + 0x58]
test rax, rax
je 0x140053c7d
cmp dword [r14 + 0x14], 2
jne 0x140053c7d
mov edi, dword [rsp + 0x40]
lea r13d, [rdi + 0x40]
mov ecx, r13d
call fcn.140079578
mov r14, rax
test rax, rax
je 0x140053caa
mov rax, qword [rsp + 0x68]
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [r14 + 0x10], xmm1
lea rcx, [r14 + 0x3c]
test rcx, rcx
jne 0x140053c0b
mov r8d, 0x763
lea rdx, str.CDriverPropertyClient::WriteDwordToBufferWithByteOrder
lea rcx, str._s__d_RETURN_ON_FALSE
call fcn.140032320
jmp 0x140053c26
mov eax, edi
shr eax, 0x18
mov byte [rcx], al
mov eax, edi
shr eax, 0x10
mov byte [rcx + 1], al
mov eax, edi
shr eax, 8
mov byte [rcx + 2], al
mov byte [rcx + 3], dil
test edi, edi
je 0x140053c39
mov r8, rdi
lea rcx, [r14 + 0x40]
mov rdx, r12
call fcn.140080760
mov dword [rsp + 0x88], ebp
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, r13d
mov r8, r14
mov edx, dword [rsp + 0x44]
mov rcx, rsi
call fcn.140053d70
mov ebp, eax
mov rcx, r14
call fcn.140078f1c
jmp 0x140053caa
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r12
mov r9d, dword [rsp + 0x48]
mov r8, r14
mov edx, dword [rsp + 0x44]
mov rcx, rsi
call fcn.140053d70
mov ebp, eax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov rcx, rax
mov r8, r12
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov edx, 1
mov rcx, qword [rsp + 0x70]
call fcn.140078f1c
jmp 0x140053d29
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053ce8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [0x1400da6dc], 0
je 0x140053d29
cmp dword [0x1400da710], 0
jne 0x140053d07
mov rax, qword [0x1400d63b8]
test byte [rax + 0x1c], 1
je 0x140053d29
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8d, 0x8c
lea rdx, str.CDriverPropertyClient::DeviceIoControlEx_s
lea rcx, str._s__d_bRsaCryptSuccess_d_path_s
call fcn.140032320
nop
lock xadd dword [r15 - 8], ebx
sub ebx, 1
jg 0x140053d42
mov rcx, qword [r15 - 0x18]
mov rax, qword [rcx]
lea rdx, [r15 - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, ebp
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140078ef0
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret