Function at 0x140007010
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rdi, rcx
mov qword [rbp - 0x10], rcx
lea rdx, str.advapi32.dll
add rcx, 0xb0
call fcn.140008050
nop
lea rsi, [rdi + 0xb8]
lea rdx, str.setupapi.dll
mov rcx, rsi
call fcn.140008050
nop
lea rdx, str.newdev.dll
lea rcx, [rdi + 0xc0]
call fcn.140008050
nop
lea rdx, str.cfgmgr32.dll
lea rcx, [rdi + 0xc8]
call fcn.140008050
nop
lea rcx, [rdi + 0xd0]
lea rdx, str.printui.dll
call fcn.140008050
nop
lea rdx, str.winspool.drv
lea rcx, [rdi + 0xd8]
call fcn.140008050
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor ebx, ebx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
lea edx, [rbx + 0x20]
lea rcx, [rbp - 0x40]
call fcn.140006760
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x10
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.OpenProcessToken]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], bl
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x140007115
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007118
mov rax, rbx
mov qword [rdi + 8], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007157
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007152
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fc5
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x13
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.GetTokenInformation]
movups xmmword [rax], xmm0
movzx eax, word [0x140055990]
mov word [rcx + 0x10], ax
movzx eax, byte [0x140055992]
mov byte [rcx + 0x12], al
mov byte [rcx + 0x13], bl
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x1400071d3
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1400071d6
mov rax, rbx
mov qword [rdi], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007214
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000720f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fcb
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x40
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x34
mov qword [rbp - 0x28], 0x3f
movups xmm0, xmmword [str.ConvertStringSecurityDescriptorToSecurityDescriptorW]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400559a8]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x1400559b8]
movups xmmword [rax + 0x20], xmm0
mov eax, dword [0x1400559c8]
mov dword [rcx + 0x30], eax
mov byte [rcx + 0x34], bl
mov rcx, qword [rdi + 0xb0]
test rcx, rcx
je 0x14000729a
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14000729d
mov rax, rbx
mov qword [rdi + 0x10], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400072dc
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400072d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fd1
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x13
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.SetupDiGetINFClassW]
movups xmmword [rax], xmm0
movzx eax, word [0x1400559e0]
mov word [rcx + 0x10], ax
movzx eax, byte [0x1400559e2]
mov byte [rcx + 0x12], al
mov byte [rcx + 0x13], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x140007354
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007357
mov rax, rbx
mov qword [rdi + 0x18], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007396
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007391
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fd7
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x1b
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.SetupDiCreateDeviceInfoList]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1400559f8]
movsd qword [rax + 0x10], xmm1
movzx eax, word [0x140055a00]
mov word [rcx + 0x18], ax
movzx eax, byte [0x140055a02]
mov byte [rcx + 0x1a], al
mov byte [rcx + 0x1b], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000741b
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14000741e
mov rax, rbx
mov qword [rdi + 0x20], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14000745d
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007458
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fdd
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x18
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.SetupDiCreateDeviceInfoW]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140055a18]
movsd qword [rax + 0x10], xmm1
mov byte [rax + 0x18], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400074ca
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1400074cd
mov rax, rbx
mov qword [rdi + 0x28], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14000750c
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007507
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fe3
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x30
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x21
mov qword [rbp - 0x28], 0x2f
movups xmm0, xmmword [str.SetupDiSetDeviceRegistryPropertyW]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140055a38]
movups xmmword [rax + 0x10], xmm1
movzx eax, byte [0x140055a48]
mov byte [rcx + 0x20], al
mov byte [rcx + 0x21], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x140007584
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007587
mov rax, rbx
mov qword [rdi + 0x30], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400075c6
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400075c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fe9
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x19
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [0x140055a50]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140055a60]
movsd qword [rax + 0x10], xmm1
movzx eax, byte [0x140055a68]
mov byte [rcx + 0x18], al
mov byte [rcx + 0x19], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x140007640
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007643
mov rax, rbx
mov qword [rdi + 0x38], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007682
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000767d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fef
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x16
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [0x140055a70]
movups xmmword [rax], xmm0
mov eax, dword [0x140055a80]
mov dword [rcx + 0x10], eax
movzx eax, word [0x140055a84]
mov word [rcx + 0x14], ax
mov byte [rcx + 0x16], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400076f9
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1400076fc
mov rax, rbx
mov qword [rdi + 0x40], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14000773b
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007736
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007ff5
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x15
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [0x140055a88]
movups xmmword [rax], xmm0
mov eax, dword [0x140055a98]
mov dword [rcx + 0x10], eax
movzx eax, byte [0x140055a9c]
mov byte [rcx + 0x14], al
mov byte [rcx + 0x15], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400077b1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1400077b4
mov rax, rbx
mov qword [rdi + 0x48], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400077f3
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400077ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007ffb
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x1f
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [0x140055aa0]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140055ab0]
movsd qword [rax + 0x10], xmm1
mov eax, dword [0x140055ab8]
mov dword [rcx + 0x18], eax
movzx eax, word [0x140055abc]
mov word [rcx + 0x1c], ax
movzx eax, byte [0x140055abe]
mov byte [rcx + 0x1e], al
mov byte [rcx + 0x1f], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x140007881
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007884
mov rax, rbx
mov qword [rdi + 0x50], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400078c3
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400078be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008001
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x30
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x21
mov qword [rbp - 0x28], 0x2f
movups xmm0, xmmword [0x140055ac0]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140055ad0]
movups xmmword [rax + 0x10], xmm1
movzx eax, byte [0x140055ae0]
mov byte [rcx + 0x20], al
mov byte [rcx + 0x21], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000793b
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14000793e
mov rax, rbx
mov qword [rdi + 0x58], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14000797d
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007978
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008007
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x1d
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [0x140055ae8]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140055af8]
movsd qword [rax + 0x10], xmm1
mov eax, dword [0x140055b00]
mov dword [rcx + 0x18], eax
movzx eax, byte [0x140055b04]
mov byte [rcx + 0x1c], al
mov byte [rcx + 0x1d], bl
mov rcx, qword [rsi]
test rcx, rcx
je 0x140007a00
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007a03
mov rax, rbx
mov qword [rdi + 0x60], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007a42
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007a3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000800d
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x10
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.DiInstallDriverW]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], bl
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x140007aa6
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007aa9
mov rax, rbx
mov qword [rdi + 0x68], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007ae8
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007ae3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008013
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x20
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x12
mov qword [rbp - 0x28], 0x1f
movups xmm0, xmmword [str.DiUninstallDriverW]
movups xmmword [rax], xmm0
movzx eax, word [0x140055b30]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], bl
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x140007b5a
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007b5d
mov rax, rbx
mov qword [rdi + 0x70], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007b9c
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007b97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008019
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov edx, 0x30
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rcx, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], 0x22
mov qword [rbp - 0x28], 0x2f
movups xmm0, xmmword [str.UpdateDriverForPlugAndPlayDevicesW]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140055b48]
movups xmmword [rax + 0x10], xmm1
movzx eax, word [0x140055b58]
mov word [rcx + 0x20], ax
mov byte [rcx + 0x22], bl
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x140007c19
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007c1c
mov rax, rbx
mov qword [rdi + 0x78], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007c5b
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007c56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000801f
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, 0x14
lea rdx, [0x140055b60]
lea rcx, [rbp - 0x40]
call fcn.1400064f0
mov rcx, qword [rdi + 0xc8]
test rcx, rcx
je 0x140007ca2
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007ca5
mov rax, rbx
mov qword [rdi + 0x80], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007ce7
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007ce2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008025
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, 0x15
lea rdx, str.CM_Locate_DevNode_ExW
lea rcx, [rbp - 0x40]
call fcn.1400064f0
mov rcx, qword [rdi + 0xc8]
test rcx, rcx
je 0x140007d2e
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007d31
mov rax, rbx
mov qword [rdi + 0x88], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007d73
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007d6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000802b
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, 0x19
lea rdx, str.CM_Reenumerate_DevNode_Ex
lea rcx, [rbp - 0x40]
call fcn.1400064f0
mov rcx, qword [rdi + 0xc8]
test rcx, rcx
je 0x140007dba
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007dbd
mov rax, rbx
mov qword [rdi + 0x90], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007dff
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007dfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008031
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, 0xd
lea rdx, str.PrintUIEntryW
lea rcx, [rbp - 0x40]
call fcn.1400064f0
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x140007e46
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007e49
mov rax, rbx
mov qword [rdi + 0x98], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007e8b
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007e86
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008037
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, 0x1b
lea rdx, str.UploadPrinterDriverPackageW
lea rcx, [rbp - 0x40]
call fcn.1400064f0
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x140007ed2
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x140007ed5
mov rax, rbx
mov qword [rdi + 0xa0], rax
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007f17
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000803d
call fcn.140020a20
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov r8d, 0x20
lea rdx, str.InstallPrinterDriverFromPackageW
lea rcx, [rbp - 0x40]
call fcn.1400064f0
mov rcx, qword [rdi + 0xd8]
test rcx, rcx
je 0x140007f5f
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [rdi + 0xa8], rbx
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140007f9e
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007fbf
call fcn.140020a20
nop
mov rax, rdi
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14002c9f4
nop
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3
call fcn.14002c9f4
int3