Function at 0x1400548e0
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 [0x1400d8010]
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.14007a4b0
mov r12, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x58], rbp
mov eax, dword [0x1400d8294]
mov dword [r12], eax
mov r8, rbx
lea rcx, [r12 + 4]
mov rdx, rdi
call fcn.1400816b0
call fcn.140004250
mov rcx, rax
test rax, rax
jne 0x140054994
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 0x1400549ec
test rsi, 0xffffffffffff0000
jne 0x1400549dc
movzx edi, si
mov ecx, edi
call fcn.140005710
test rax, rax
je 0x140054a02
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400053d0
jmp 0x140054a02
mov rax, rbx
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x1400549e0
jmp 0x1400549ee
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.140061120
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140054bbf
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8d, r13d
mov rdx, r12
call fcn.140060ca0
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 0x140054a73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12d, r12d
je 0x140054bd8
lea rdx, str.SNDW
mov rcx, rsi
call fcn.140081b98
mov r12, qword [rsp + 0x58]
test rax, rax
je 0x140054b6d
cmp dword [r14 + 0x14], 2
jne 0x140054b6d
mov edi, dword [rsp + 0x40]
lea r13d, [rdi + 0x40]
mov ecx, r13d
call fcn.14007a4b0
mov r14, rax
test rax, rax
je 0x140054b9a
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 0x140054afb
mov r8d, 0x763
lea rdx, str.CDriverPropertyClient::WriteDwordToBufferWithByteOrder
lea rcx, str._s__d_RETURN_ON_FALSE
call fcn.140033040
jmp 0x140054b16
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 0x140054b29
mov r8, rdi
lea rcx, [r14 + 0x40]
mov rdx, r12
call fcn.1400816b0
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.140054c60
mov ebp, eax
mov rcx, r14
call fcn.14007a4b8
jmp 0x140054b9a
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.140054c60
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.14007a4b8
jmp 0x140054c19
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054bd8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [0x1400dc724], 0
je 0x140054c19
cmp dword [0x1400dc758], 0
jne 0x140054bf7
mov rax, qword [0x1400d83b8]
test byte [rax + 0x1c], 1
je 0x140054c19
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.140033040
nop
lock xadd dword [r15 - 8], ebx
sub ebx, 1
jg 0x140054c32
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.140079e30
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret