Function at 0x140008980
Capabilities:
Accept command line arguments
Create process on windows
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5a0]
sub rsp, 0x6a0
mov rax, qword [0x14005f020]
xor rax, rsp
mov qword [rbp + 0x590], rax
xor r9d, r9d
lea r8, [rbp + 0x1b0]
xor edx, edx
lea rcx, [0x140062218]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x14000b36e
xor ebx, ebx
cmp dword [rbp + 0x1b0], ebx
je 0x140008b3b
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], 7
lea r8d, [rbx + 0xc]
lea rdx, str.kernel32.dll
lea rcx, [rbp + 0x78]
call fcn.1400055e0
lea rcx, [rbp + 0x78]
call fcn.14001bcf0
mov qword [0x140062248], rax
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x140008a6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008a5f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b374
call fcn.14001f790
mov rax, qword [0x140062248]
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], bx
test rax, rax
je 0x140008b21
lea rdx, str.SetProcessUserModeExceptionPolicy
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062240], rax
lea rdx, str.GetProcessUserModeExceptionPolicy
mov rcx, qword [0x140062248]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062238], rax
lea rdx, str.SetDefaultDllDirectories
mov rcx, qword [0x140062248]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062230], rax
lea rdx, str.SetProcessMitigationPolicy
mov rcx, qword [0x140062248]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062228], rax
lea rdx, str.GetProcessMitigationPolicy
mov rcx, qword [0x140062248]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062220], rax
lea rdx, str.InstallELAMCertificateInfo
mov rcx, qword [0x140062248]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140062218]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x14000b36e
call fcn.14001bec0
mov dword [rbp + 0x70], ebx
lea rdx, [rbp + 0x70]
call fcn.14001cae0
test al, al
je 0x140008b5d
or dword [rbp + 0x70], 1
lea rdx, [rbp + 0x70]
call fcn.14001cd60
mov dword [rsp + 0x68], ebx
lea rdx, [rsp + 0x68]
call fcn.14001cfc0
test al, al
je 0x140008b7e
or dword [rsp + 0x68], 1
lea rdx, [rsp + 0x68]
call fcn.14001d240
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x130], 7
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140008bb0
mov rdx, rax
lea rcx, [rbp + 0x118]
call fcn.1400055e0
mov qword [rbp + 0x450], rbx
mov qword [rbp + 0x460], rbx
mov qword [rbp + 0x468], 7
mov r8d, 8
lea rdx, str.__action
lea rcx, [rbp + 0x450]
call fcn.1400055e0
mov qword [rbp + 0x430], rbx
mov qword [rbp + 0x440], rbx
mov qword [rbp + 0x448], 7
mov r8d, 5
lea rdx, str.__log
lea rcx, [rbp + 0x430]
call fcn.1400055e0
mov qword [rbp + 0x410], rbx
mov qword [rbp + 0x420], rbx
mov qword [rbp + 0x428], 7
mov r8d, 0xa
lea rdx, str.__deferlog
lea rcx, [rbp + 0x410]
call fcn.1400055e0
mov qword [rbp + 0x3f0], rbx
mov qword [rbp + 0x400], rbx
mov qword [rbp + 0x408], 7
mov r8d, 9
lea rdx, str.__verbose
lea rcx, [rbp + 0x3f0]
call fcn.1400055e0
mov qword [rbp + 0x270], rbx
mov qword [rbp + 0x280], rbx
mov qword [rbp + 0x288], 7
mov r8d, 9
lea rdx, str.__elevate
lea rcx, [rbp + 0x270]
call fcn.1400055e0
mov qword [rbp + 0x2d0], rbx
mov qword [rbp + 0x2e0], rbx
mov qword [rbp + 0x2e8], 7
mov r8d, 5
lea rdx, str.__inf
lea rcx, [rbp + 0x2d0]
call fcn.1400055e0
mov qword [rbp + 0x230], rbx
mov qword [rbp + 0x240], rbx
mov qword [rbp + 0x248], 7
mov r8d, 4
lea rdx, str.__id
lea rcx, [rbp + 0x230]
call fcn.1400055e0
mov qword [rbp + 0x210], rbx
mov qword [rbp + 0x220], rbx
mov qword [rbp + 0x228], 7
mov r8d, 7
lea rdx, str.__event
lea rcx, [rbp + 0x210]
call fcn.1400055e0
mov qword [rbp + 0x2f0], rbx
mov qword [rbp + 0x300], rbx
mov qword [rbp + 0x308], 7
mov esi, 6
mov r8d, esi
lea rdx, str.__port
lea rcx, [rbp + 0x2f0]
call fcn.1400055e0
mov qword [rbp + 0x3d0], rbx
mov qword [rbp + 0x3e0], rbx
mov qword [rbp + 0x3e8], 7
lea r8d, [rsi - 2]
lea rdx, str.__oa
lea rcx, [rbp + 0x3d0]
call fcn.1400055e0
mov qword [rbp + 0x490], rbx
mov qword [rbp + 0x4a0], rbx
mov qword [rbp + 0x4a8], 7
lea r8d, [rsi + 0xc]
lea rdx, str.__installpnpdriver
lea rcx, [rbp + 0x490]
call fcn.1400055e0
mov qword [rbp + 0x470], rbx
mov qword [rbp + 0x480], rbx
mov qword [rbp + 0x488], 7
lea r8d, [rsi + 0xe]
lea rdx, str.__uninstallpnpdriver
lea rcx, [rbp + 0x470]
call fcn.1400055e0
mov qword [rbp + 0x3b0], rbx
mov qword [rbp + 0x3c0], rbx
mov qword [rbp + 0x3c8], 7
lea r8d, [rsi + 4]
lea rdx, str.__location
lea rcx, [rbp + 0x3b0]
call fcn.1400055e0
mov qword [rbp + 0x390], rbx
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], 7
lea r8d, [rsi + 3]
lea rdx, str.__usersid
lea rcx, [rbp + 0x390]
call fcn.1400055e0
mov qword [rbp + 0x370], rbx
mov qword [rbp + 0x380], rbx
mov qword [rbp + 0x388], 7
lea r8d, [rsi + 6]
lea rdx, str.__drivername
lea rcx, [rbp + 0x370]
call fcn.1400055e0
mov qword [rbp + 0x350], rbx
mov qword [rbp + 0x360], rbx
mov qword [rbp + 0x368], 7
lea r8d, [rsi + 4]
lea rdx, str.__datatype
lea rcx, [rbp + 0x350]
call fcn.1400055e0
mov qword [rbp + 0x330], rbx
mov qword [rbp + 0x340], rbx
mov qword [rbp + 0x348], 7
lea r8d, [rsi + 0xa]
lea rdx, str.__printprocessor
lea rcx, [rbp + 0x330]
call fcn.1400055e0
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x110], 7
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x430]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x140008f5b
lea r8d, [rsi + 0xe]
lea rdx, str.TeamViewer_Hooks.log
lea rcx, [rbp + 0xf8]
call fcn.1400055e0
mov qword [rbp + 0x310], rbx
mov qword [rbp + 0x320], rbx
mov qword [rbp + 0x328], 7
lea r8, [rbp + 0x310]
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
sete r14b
lea r8, [rbp + 0x310]
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x118]
call fcn.140008570
mov ecx, 0x64
mov r13d, 0xc8
test al, al
cmovne r13d, ecx
mov dword [rbp + 0x1b0], r13d
lea r15, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae r15, qword [rbp + 0xf8]
mov r12d, 1
mov eax, r12d
lock xadd dword [0x1400621a8], eax
inc eax
cmp eax, r12d
jne 0x14000902f
mov ecx, 0x228
call fcn.14001f798
mov rbx, rax
mov dword [rax], r13d
xor r13d, r13d
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
lea rcx, [rax + 0x18]
mov r9d, 0x104
mov r8, r15
lea edx, [r9 + 1]
call fcn.14002b5ac
mov qword [0x1400621b0], rbx
jmp 0x140009039
mov rbx, qword [0x1400621b0]
xor r13d, r13d
mov qword [rbp + 0x70], rbx
test r14b, r14b
je 0x1400090b3
cmp qword [rbx + 0x10], 0
jne 0x140009078
lea r8, str.LocalTeamViewer_LogMutex
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140009078
lea r8, str.TeamViewer_LogMutex
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbx + 0x10], rax
mov rax, qword [rbx + 8]
inc rax
test rax, 0xfffffffffffffffe
jne 0x1400090b3
lea rcx, [rbx + 0x18]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r9, rax
lea r8, str.Loader_started_with:__ls
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
mov qword [rbp + 0x250], r13
mov qword [rbp + 0x260], r13
mov qword [rbp + 0x268], 7
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000914c
lea r8, str.Type_missing_in_command_line
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
mov qword [0x140062240], r13
mov qword [0x140062238], r13
mov qword [0x140062230], r13
mov qword [0x140062228], r13
mov qword [0x140062220], r13
mov rcx, qword [0x140062248]
jmp 0x14000b225
xor edx, edx
mov r8d, 0xe0
lea rcx, [rbp + 0x4b0]
call fcn.140022450
lea rcx, [rbp + 0x4b0]
call fcn.1400066f0
lea r8, [rbp + 0x250]
lea rdx, [rsp + 0x50]
call fcn.14000b6d0
mov r15, qword [0x1400621b8]
mov r10, qword [rsp + 0x60]
cmp byte [r10 + 0x19], 0
jne 0x1400091e1
lea rdx, [r10 + 0x20]
mov r11, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x1400091a2
mov rdx, qword [rdx]
lea rcx, [rbp + 0x250]
cmp qword [rbp + 0x268], 8
cmovae rcx, qword [rbp + 0x250]
mov rbx, qword [rbp + 0x260]
mov r8, rbx
cmp r11, rbx
cmovb r8, r11
call fcn.1400060c0
test eax, eax
je 0x1400091dc
shr eax, 0x1f
test al, al
jne 0x1400091e1
jmp 0x1400091e4
cmp rbx, r11
jae 0x1400091e4
mov r10, r15
cmp r15, r10
je 0x1400091ed
mov r13d, dword [r10 + 0x40]
lea r8, [rbp + 0x310]
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
je 0x140009707
xor ebx, ebx
mov qword [rbp + 0x1b8], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov rax, qword [rbp + 0x4b8]
test rax, rax
je 0x14000975f
lea r8, [rbp + 0x1b8]
mov edx, 0x10000000
call qword [case.0x14001392e.0]
test eax, eax
je 0x14000975f
mov dword [rsp + 0x68], ebx
mov rax, qword [rbp + 0x4b0]
test rax, rax
jne 0x14000926d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.GetTokenInformation_failed__d
jmp 0x14000976c
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x14]
mov rcx, qword [rbp + 0x1b8]
call qword [case.0x14001392e.0]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x1400092b0
cmp eax, 0x18
je 0x1400092b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.GetTokenInformation_1__failed__d
jmp 0x14000976c
mov ebx, dword [rsp + 0x68]
mov ecx, ebx
call fcn.14001faf4
mov r15, rax
mov rax, qword [rbp + 0x4b0]
test rax, rax
je 0x140009729
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov r9d, ebx
mov r8, r15
mov edx, 0x14
mov rcx, qword [rbp + 0x1b8]
call qword [case.0x14001392e.0]
test eax, eax
je 0x140009729
cmp dword [r15], 0
jne 0x1400096ff
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x78]
call fcn.14000b410
lea rcx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rcx, qword [rbp + 0x78]
mov qword [rsp + 0x20], 2
lea r9, [0x14005515c]
xor r8d, r8d
mov rbx, qword [rbp + 0x88]
mov rdx, rbx
call fcn.140005d60
mov rsi, rax
xor eax, eax
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x150], 7
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
lea rdx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rdx, qword [rbp + 0x78]
lea rcx, [rbp + 0x138]
call fcn.1400055e0
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0x78]
call fcn.14000b3b0
lea r9, [rbp + 0x270]
cmp qword [rbp + 0x288], 8
cmovae r9, qword [rbp + 0x270]
lea rcx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rcx, qword [rbp + 0x78]
mov rbx, qword [rbp + 0x280]
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, qword [rbp + 0x88]
call fcn.140005d60
mov rdx, rax
mov r8, rbx
lea rcx, [rbp + 0x78]
call fcn.14000b3b0
xor ebx, ebx
nop dword [rax]
lea rdx, [rbp + 0x138]
mov r10, qword [rbp + 0x138]
mov r11, qword [rbp + 0x150]
cmp r11, 8
cmovae rdx, r10
mov r9, qword [rbp + 0x148]
test r9, r9
je 0x1400094a4
mov rax, r9
mov rcx, rdx
mov r8, rbx
cmp word [rdx], 0x22
je 0x140009442
nop dword [rax]
cmp rax, r12
je 0x140009445
dec rax
add rcx, 2
cmp word [rcx], 0x22
jne 0x140009430
mov r8, rcx
test r8, r8
je 0x1400094a4
sub r8, rdx
sar r8, 1
cmp r8, rdi
je 0x1400094a4
cmp r9, r8
jb 0x14000b368
mov rax, r9
sub rax, r8
mov rdx, r12
cmp rax, r12
cmovb rdx, rax
lea rax, [rbp + 0x138]
cmp r11, 8
cmovae rax, r10
lea rcx, [rax + r8*2]
sub r9, rdx
mov qword [rbp + 0x148], r9
sub r9, r8
lea r8, [r9*2 + 2]
lea rdx, [rcx + rdx*2]
call fcn.140021d20
jmp 0x1400093f0
lea rdx, [rbp + 0x138]
cmp r11, 8
cmovae rdx, r10
test r9, r9
je 0x14000951f
lea rax, [r9 - 1]
mov rcx, rdi
cmp rax, rdi
cmovb rcx, rax
lea rax, [rdx + rcx*2]
cmp word [rax], 0x20
jne 0x1400094df
cmp rax, rdx
je 0x14000951f
sub rax, 2
cmp word [rax], 0x20
je 0x1400094d0
sub rax, rdx
sar rax, 1
cmp rax, rdi
je 0x14000951f
lea rcx, [rax + 1]
cmp r9, rcx
jb 0x14000b368
lea rax, [rbp + 0x138]
cmp r11, 8
cmovae rax, r10
mov qword [rbp + 0x148], rcx
mov word [rax + rcx*2], bx
mov r11, qword [rbp + 0x150]
mov r10, qword [rbp + 0x138]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov dword [rsp + 0x70], 0x70
lea rax, str.runas
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x138]
cmp r11, 8
cmovae rax, r10
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rax, qword [rbp + 0x78]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x60], r12d
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x1400096d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.ShellExecuteEx___failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
lea eax, [r13 - 2]
cmp eax, 3
jbe 0x1400095c5
lea eax, [r13 - 0xc]
cmp eax, r12d
ja 0x1400096d2
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], 7
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
je 0x1400096c6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], 7
nop dword [rax + rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009660
mov r8, rdi
lea rcx, [rbp + 0x98]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rbp + 0x98]
call fcn.140005430
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
lea rcx, [rbp + 0xb8]
call fcn.140005430
call fcn.140008930
movzx ebx, al
lea rcx, [rbp + 0x138]
call fcn.140005430
lea rcx, [rbp + 0x78]
call fcn.140005430
mov rcx, r15
call fcn.14001f790
mov r12d, ebx
jmp 0x14000b1c4
mov rcx, r15
call fcn.14001f790
lea eax, [r13 - 1]
cmp eax, 0xc
ja case.default.0x140009727
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xb37c]
add rcx, rdx
jmp rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.GetTokenInformation_2__failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx ebx, al
mov rcx, r15
call fcn.14001f790
mov r12d, ebx
jmp 0x14000b1c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.OpenProcessToken___failed__d
mov r9d, eax
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx eax, al
mov r12d, eax
jmp 0x14000b1c4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
lea rbx, [0x140054508]
mov qword [rsp + 0x70], rbx
movdqu xmmword [rsp + 0x78], xmm0
mov r8d, dword [rbp + 0x1b0]
lea rcx, [rbp - 0x78]
call fcn.140007d20
test r14b, r14b
je 0x1400097e4
lea rcx, [rbp - 0x78]
call fcn.140007e50
lea rsi, [0x140054510]
mov qword [rsp + 0x70], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 0
lea rcx, [rsp + 0x70]
call fcn.140007610
mov edi, eax
call fcn.14001bda0
nop
mov qword [rsp + 0x70], rsi
cmp qword [rsp + 0x78], 0
je 0x140009882
lea r8, str.Cleaning_up
mov edx, 0x64
lea rcx, [rbp - 0x78]
call fcn.140007ee0
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x30]
call qword [case.0x14001392e.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
call qword [case.0x14001392e.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x50]
call qword [case.0x14001392e.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
call qword [case.0x14001392e.0]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
call qword [case.0x14001392e.0]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140009891
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400098a0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x1400098af
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, str.Exit
mov edx, 0xc8
lea rcx, [rbp - 0x78]
call fcn.140007ee0
mov qword [rsp + 0x70], rbx
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400098d8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp - 0x78]
call fcn.140007dd0
nop
mov r12d, edi
jmp 0x14000b1c4
xor esi, esi
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x148], rsi
mov qword [rbp + 0x150], 7
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], 7
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x140009958
lea r8, str.missing_id
jmp 0x1400099a3
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x118]
call fcn.140008570
movzx ebx, al
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
test bl, bl
jne 0x1400099e2
lea eax, [r13 - 2]
cmp eax, r12d
ja 0x1400099e2
lea r8, str.missing_inf
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx ebx, al
lea rcx, [rbp + 0xd8]
call fcn.140005430
lea rcx, [rbp + 0x78]
call fcn.140005430
lea rcx, [rbp + 0x138]
call fcn.140005430
mov r12d, ebx
jmp 0x14000b1c4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009a30
mov r8, rdi
lea rcx, [rbp + 0x98]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x70]
call fcn.140002260
lea rcx, [rbp + 0x98]
call fcn.140005430
sub r13d, 2
je 0x140009b8e
sub r13d, r12d
je 0x140009ab6
cmp r13d, r12d
jne 0x140009c3b
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140002e50
cmp eax, r12d
je 0x140009c3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Remove_failed__d
jmp 0x140009c2a
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x138]
lea rcx, [rsp + 0x70]
call fcn.140002d10
mov ebx, eax
cmp eax, r12d
je 0x140009c3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.Update_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp ebx, 3
jne 0x140009c3b
lea r8, str.DevInst_not_found__attempting_Rescan
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
lea rcx, [rsp + 0x70]
call fcn.140003f40
cmp eax, r12d
jne 0x140009b7c
lea r8, str.Rescan_successful__attempting_Update
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x138]
lea rcx, [rsp + 0x70]
call fcn.140002d10
cmp eax, r12d
jne 0x140009b6a
lea r8, str.Update_successful
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
jmp 0x140009c3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Update_failed__d
jmp 0x140009c2a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Rescan_failed__d
jmp 0x140009c2a
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x138]
lea rcx, [rsp + 0x70]
call fcn.140002850
mov ebx, eax
cmp eax, r12d
je 0x140009c3b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.Install_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp ebx, 6
jne 0x140009c3b
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140002e50
cmp eax, r12d
jne 0x140009bfc
lea rcx, [rsp + 0x70]
call fcn.140003f40
cmp eax, r12d
je 0x140009c3b
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Rescan___failed__d
jmp 0x140009c03
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Remove___failed__d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8, rbx
mov edx, 0xc8
lea rcx, [rbp - 0x78]
call fcn.140007ee0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.RemoveRescan_failed__d
mov r9d, eax
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xe8], rsi
je 0x140009c55
lea rdx, [rbp + 0xd8]
lea rcx, [rsp + 0x70]
call fcn.140004090
lea rcx, [rsp + 0x70]
call fcn.140002770
lea rcx, [rbp + 0xd8]
call fcn.140005430
lea rcx, [rbp + 0x78]
call fcn.140005430
lea rcx, [rbp + 0x138]
call fcn.140005430
jmp 0x14000b1a7
xor esi, esi
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009d12
mov r8, rdi
lea rcx, [rbp + 0x98]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rbp + 0x98]
call fcn.140005430
lea rcx, [rbp + 0x160]
call fcn.140003f40
cmp eax, r12d
je 0x140009d88
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.Rescan_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xc8], rsi
je 0x140009da4
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
lea rcx, [rbp + 0xb8]
call fcn.140005430
jmp 0x14000b1a7
xor esi, esi
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
je 0x14000a8e0
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009e90
mov r8, rdi
lea rcx, [rbp + 0x98]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rbp + 0x98]
call fcn.140005430
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.140002e50
cmp eax, r12d
jne 0x140009f09
lea rcx, [rbp + 0x160]
call fcn.140003f40
cmp eax, r12d
je 0x140009f4b
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Rescan___failed__d
jmp 0x140009f10
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Remove___failed__d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov r8, rbx
mov edx, 0xc8
lea rcx, [rbp + 0x178]
call fcn.140007ee0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.RemoveRescan_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xe8], rsi
je 0x140009f67
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
lea rcx, [rbp + 0xd8]
call fcn.140005430
lea rcx, [rbp + 0xb8]
call fcn.140005430
jmp 0x14000b1a7
xor esi, esi
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a01d
lea r8, str.missing_port_on_AddPrinterPort
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx r12d, al
lea rcx, [rbp + 0xb8]
call fcn.140005430
lea rcx, [rbp + 0xd8]
call fcn.140005430
jmp 0x14000b1c4
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 7
nop
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a090
mov r8, rdi
lea rcx, [rbp + 0x98]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rbp + 0x98]
call fcn.140005430
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.140004600
cmp eax, r12d
je 0x14000a10f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.AddPrinterPort_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
jmp 0x14000a124
lea r8, str.AddPrinterPort_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xe8], rsi
je 0x14000a140
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
lea rcx, [rbp + 0xb8]
call fcn.140005430
lea rcx, [rbp + 0xd8]
call fcn.140005430
jmp 0x14000b1a7
xor esi, esi
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 7
mov qword [rbp + 0x1c0], rsi
mov qword [rbp + 0x1d0], rsi
mov qword [rbp + 0x1d8], 7
mov qword [rbp + 0x2b0], rsi
mov qword [rbp + 0x2c0], rsi
mov qword [rbp + 0x2c8], 7
mov qword [rbp + 0x290], rsi
mov qword [rbp + 0x2a0], rsi
mov qword [rbp + 0x2a8], 7
mov qword [rbp + 0x138], rsi
mov qword [rbp + 0x148], rsi
mov qword [rbp + 0x150], 7
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], 7
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a25a
lea r8, str.missing_printerName_on_AddPrinter
jmp 0x14000a345
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x390]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a284
lea r8, str.missing_userSID_on_AddPrinter
jmp 0x14000a345
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a2ae
lea r8, str.missing_port_on_AddPrinter
jmp 0x14000a345
lea r8, [rbp + 0x2b0]
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a2d5
lea r8, str.missing_printerLocation_on_AddPrinter
jmp 0x14000a345
lea r8, [rbp + 0x290]
lea rdx, [rbp + 0x370]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a2fc
lea r8, str.missing_driverName_on_AddPrinter
jmp 0x14000a345
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x350]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a323
lea r8, str.missing_strDatatype_on_AddPrinter
jmp 0x14000a345
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x330]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a399
lea r8, str.missing_strPrintProcessor_on_AddPrinter
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx ebx, al
lea rcx, [rbp + 0x78]
call fcn.140005430
lea rcx, [rbp + 0x138]
call fcn.140005430
lea rcx, [rbp + 0x290]
call fcn.140005430
lea rcx, [rbp + 0x2b0]
call fcn.140005430
lea rcx, [rbp + 0x1c0]
call fcn.140005430
jmp 0x14000a729
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a403
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rsp + 0x70]
call fcn.140005430
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x1b8], rsi
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x160]
call fcn.140005160
mov rax, qword [rbp + 0x1b8]
test rax, rax
je 0x14000a594
lea rcx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae rcx, qword [rbp + 0xd8]
mov qword [rbp - 0x18], rcx
lea rcx, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 8
cmovae rcx, qword [rbp + 0x1c0]
mov qword [rbp - 8], rcx
lea rcx, [rbp + 0x290]
cmp qword [rbp + 0x2a8], 8
cmovae rcx, qword [rbp + 0x290]
mov qword [rbp], rcx
lea rcx, [rbp + 0x2b0]
cmp qword [rbp + 0x2c8], 8
cmovae rcx, qword [rbp + 0x2b0]
mov qword [rbp + 0x10], rcx
lea rcx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rcx, qword [rbp + 0x78]
mov qword [rbp + 0x28], rcx
lea rcx, [rbp + 0x138]
cmp qword [rbp + 0x150], 8
cmovae rcx, qword [rbp + 0x138]
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x48], 0x240
mov dword [rbp + 0x4c], r12d
mov qword [rbp + 0x40], rax
lea r8, [rbp - 0x20]
mov edx, 2
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_AddPrinterW]
mov rbx, rax
test rax, rax
je 0x14000a585
lea r8, str.CDriverInstaller::AddPrinter:_..._successful
mov edx, 0x64
lea rcx, [rbp + 0x178]
call fcn.140007ee0
mov rcx, rbx
call qword [sym.imp.WINSPOOL.DRV_ClosePrinter]
jmp 0x14000a5bb
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CDriverInstaller::AddPrinter:_..._failed_with_ErrorCode:___d__
jmp 0x14000a5a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CDriverInstaller::AddPrinter:_..._failed_get_SecurityDescriptor_with_ErrorCode:___d__
mov r9d, eax
mov edx, 0xc8
lea rcx, [rbp + 0x178]
call fcn.140007ee0
mov r12d, 7
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
je 0x14000a5cd
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp r12d, 1
je 0x14000a5f3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.AddPrinter_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
jmp 0x14000a608
lea r8, str.AddPrinter_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xc8], rsi
je 0x14000a624
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
lea rcx, [rbp + 0x78]
call fcn.140005430
lea rcx, [rbp + 0x138]
call fcn.140005430
lea rcx, [rbp + 0x290]
call fcn.140005430
lea rcx, [rbp + 0x2b0]
call fcn.140005430
lea rcx, [rbp + 0x1c0]
call fcn.140005430
lea rcx, [rbp + 0x98]
call fcn.140005430
jmp 0x140009f73
xor esi, esi
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 7
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a6ee
lea r8, str.missing_id
jmp 0x14000a713
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a755
lea r8, str.missing_inf_name
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx ebx, al
lea rcx, [rbp + 0x98]
call fcn.140005430
lea rcx, [rbp + 0xd8]
call fcn.140005430
lea rcx, [rbp + 0xb8]
call fcn.140005430
mov r12d, ebx
jmp 0x14000b1c4
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
nop
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a7c0
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rsp + 0x70]
call fcn.140005430
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.1400047f0
cmp eax, r12d
je 0x14000a840
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.InstallPrintDriverFromPackage_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
jmp 0x14000a855
lea r8, str.InstallPrintDriverFromPackage_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xc8], rsi
je 0x14000a871
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
lea rcx, [rbp + 0x98]
call fcn.140005430
jmp 0x140009f73
xor esi, esi
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000a91b
lea r8, str.missing_id
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx r12d, al
lea rcx, [rbp + 0xd8]
call fcn.140005430
lea rcx, [rbp + 0xb8]
call fcn.140005430
jmp 0x14000b1c4
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a985
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rsp + 0x70]
call fcn.140005430
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae r8, qword [rbp + 0xd8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_DeletePrinterDriverW]
mov ebx, eax
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 0xf
mov r8d, 0x36
lea rdx, str.CDriverInstaller::RemovePrintDriver__:_PrintUiEntryW__
lea rcx, [rbp + 0x98]
call fcn.140005770
mov r8d, esi
cmp ebx, r12d
sete r8b
lea r9, [rbp + 0x98]
movzx edx, r12b
lea rcx, [rbp + 0x160]
call fcn.1400043e0
mov ebx, eax
lea rcx, [rbp + 0x98]
call fcn.140005580
cmp ebx, r12d
je 0x14000aa77
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, str.RemovePrintDriver_failed__d
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
jmp 0x14000aa8c
lea r8, str.RemovePrintDriver_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xc8], rsi
je 0x140009f67
lea rdx, [rbp + 0xb8]
jmp 0x140009f5b
xor ebx, ebx
mov qword [rbp + 0xd8], rbx
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xf0], 7
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000aafa
call fcn.140008930
movzx ebx, al
lea rcx, [rbp + 0xd8]
call fcn.140005430
mov r12d, ebx
jmp 0x14000b1c4
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], 7
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000ab59
cmp qword [rbp + 0x88], rbx
je 0x14000ab59
call fcn.140008930
movzx ebx, al
lea rcx, [rbp + 0x78]
call fcn.140005430
lea rcx, [rbp + 0xd8]
call fcn.140005430
mov r12d, ebx
jmp 0x14000b1c4
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], 7
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000abb2
cmp qword [rbp + 0x88], rbx
je 0x14000abb2
mov r8d, 2
lea rdx, [0x140055774]
lea rcx, [rbp + 0x98]
call fcn.1400055e0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1d8], xmm0
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], 7
mov r8, rdi
inc r8
cmp word [rdx + r8*2], bx
jne 0x14000abf0
lea rcx, [rbp + 0xb8]
call fcn.1400055e0
lea rdx, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 8
cmovae rdx, qword [rbp + 0xb8]
lea rbx, [0x140054508]
mov qword [rbp + 0x1c0], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1c8], xmm0
mov r8d, 0xc8
lea rcx, [rbp + 0x1d8]
call fcn.140007d20
test r14b, r14b
je 0x14000ac59
lea rcx, [rbp + 0x1d8]
call fcn.140007e50
lea rax, [0x140054520]
mov qword [rbp + 0x1c0], rax
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x1c0]
call fcn.14000b8a0
mov dword [rbp + 0x1e0], eax
lea rcx, [rbp + 0xb8]
call fcn.140005430
lea r8, [rbp + 0x78]
mov r10, qword [rbp + 0x78]
mov r11, qword [rbp + 0x90]
cmp r11, 8
cmovae r8, r10
mov r15, qword [rbp + 0x88]
cmp r15, rsi
jne 0x14000ace5
lea rax, str.enable
movzx ecx, word [r8]
mov edx, 0x65
cmp cx, dx
jb 0x14000ace5
sub r8, rax
cmp cx, dx
ja 0x14000ace5
cmp rsi, r12
je 0x14000ad37
dec rsi
add rax, 2
movzx ecx, word [r8 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x14000acca
lea r9, [rbp + 0x78]
cmp r11, 8
cmovae r9, r10
cmp r15, 7
jne 0x14000ad4b
mov rdx, r15
lea rax, str.disable
movzx ecx, word [r9]
mov r8d, 0x64
cmp cx, r8w
jb 0x14000ad4b
sub r9, rax
cmp cx, r8w
ja 0x14000ad4b
cmp rdx, r12
je 0x14000ad3d
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14000ad18
jmp 0x14000ad4b
movzx edx, r12b
jmp 0x14000ad3f
xor edx, edx
lea rcx, [rbp + 0x1c0]
call fcn.14000bc80
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
xor esi, esi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000ada0
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002260
lea rcx, [rsp + 0x70]
call fcn.140005430
cmp qword [rbp + 0xe8], rsi
je 0x14000adfd
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140004090
lea rcx, [rbp + 0x160]
call fcn.140002770
mov qword [rbp + 0x1c0], rbx
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x14000ae22
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x1d8]
call fcn.140007dd0
lea rcx, [rbp + 0x98]
call fcn.140005430
lea rcx, [rbp + 0x78]
call fcn.140005430
lea rcx, [rbp + 0xd8]
call fcn.140005430
jmp 0x14000b1a7
xor esi, esi
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], 7
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x118]
call fcn.140008570
test al, al
jne 0x14000aed8
lea r8, str.missing_inf
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.140008930
movzx r12d, al
lea rcx, [rbp + 0xb8]
call fcn.140005430
lea rcx, [rbp + 0x78]
call fcn.140005430
jmp 0x14000b1c4
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x118]
call fcn.140008570
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0x1d0], xmm0
movups xmmword [rbp + 0x1e0], xmm0
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x200], rax
lea rdx, [rbp + 0xf8]
cmp qword [rbp + 0x110], 8
cmovae rdx, qword [rbp + 0xf8]
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000af42
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400055e0
lea rax, [rbp + 0x4b0]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x1c0]
call fcn.140002260
lea rcx, [rsp + 0x70]
call fcn.140005430
sub r13d, 0xc
je 0x14000b06f
cmp r13d, r12d
jne 0x14000b166
mov edi, esi
mov dword [rsp + 0x68], esi
lea rdx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x1e0]
mov rax, qword [rax + 0x70]
test rax, rax
jne 0x14000afc1
xor bl, bl
jmp 0x14000afd7
lea r9, [rsp + 0x68]
xor r8d, r8d
xor ecx, ecx
call qword [case.0x14001392e.0]
mov edi, eax
movzx ebx, r12b
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 0xf
mov r8d, 0x45
lea rdx, str.CDriverInstaller::UninstallDriverFromPnPStorage:_DiUninstallDriverW__
lea rcx, [rbp + 0x98]
call fcn.140005770
lea r9, [rbp + 0x98]
mov r8d, edi
movzx edx, bl
lea rcx, [rbp + 0x1c0]
call fcn.1400043e0
mov ebx, eax
lea rcx, [rbp + 0x98]
call fcn.140005580
cmp ebx, r12d
jne 0x14000b063
lea rcx, str.system_need_to_restart
lea r9, str.no_restart_requested
cmp dword [rsp + 0x68], esi
cmovne r9, rcx
lea r8, str.CDriverInstaller:_Uninstall_driver_from_PnP_storage_succeed___s
mov edx, 0xc8
lea rcx, [rbp + 0x1d8]
call fcn.140007ee0
lea r8, str.Uninstall_driver_from_PnP_storage__s
jmp 0x14000b143
mov edi, esi
mov dword [rsp + 0x68], esi
lea rdx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x1e0]
mov rax, qword [rax + 0x68]
test rax, rax
jne 0x14000b09a
xor bl, bl
jmp 0x14000b0b0
lea r9, [rsp + 0x68]
xor r8d, r8d
xor ecx, ecx
call qword [case.0x14001392e.0]
mov edi, eax
movzx ebx, r12b
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], 0xf
mov r8d, 0x3f
lea rdx, str.CDriverInstaller::InstallDriverInPnPStorage:_DiInstallDriverW__
lea rcx, [rbp + 0x98]
call fcn.140005770
lea r9, [rbp + 0x98]
mov r8d, edi
movzx edx, bl
lea rcx, [rbp + 0x1c0]
call fcn.1400043e0
mov ebx, eax
lea rcx, [rbp + 0x98]
call fcn.140005580
cmp ebx, r12d
jne 0x14000b13c
lea rcx, str.system_need_to_restart
lea r9, str.no_restart_requested
cmp dword [rsp + 0x68], esi
cmovne r9, rcx
lea r8, str.CDriverInstaller:_Install_driver_to_PnP_storage_succeed___s
mov edx, 0xc8
lea rcx, [rbp + 0x1d8]
call fcn.140007ee0
lea r8, str.Install_driver_in_PnP_storage__s
lea r9, str.Failed
cmp ebx, r12d
lea rax, str.Succeed
cmove r9, rax
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007ee0
cmp qword [rbp + 0xc8], rsi
je 0x14000b182
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x1c0]
call fcn.140004090
lea rcx, [rbp + 0x1c0]
call fcn.140002770
lea rcx, [rbp + 0xb8]
call fcn.140005430
lea rcx, [rbp + 0x78]
call fcn.140005430
jmp 0x14000b1a7
xor esi, esi
lea r8, str.Loader_shutdown...
mov edx, 0x64
lea rcx, [rbp + 0x70]
call fcn.140007ee0
call fcn.14001bda0
mov r12d, esi
mov rcx, qword [rbp + 0x588]
test rcx, rcx
je 0x14000b1d6
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x580]
test rcx, rcx
je 0x14000b1e8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x578]
test rcx, rcx
je 0x14000b1fa
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x570]
test rcx, rcx
je 0x14000b20c
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x568]
test rcx, rcx
je 0x14000b21e
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x560]
test rcx, rcx
je 0x14000b230
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x250]
call fcn.140005430
lea rcx, [rbp + 0x70]
call fcn.140007dd0
lea rcx, [rbp + 0x310]
call fcn.140005430
lea rcx, [rbp + 0xf8]
call fcn.140005430
lea rcx, [rbp + 0x330]
call fcn.140005430
lea rcx, [rbp + 0x350]
call fcn.140005430
lea rcx, [rbp + 0x370]
call fcn.140005430
lea rcx, [rbp + 0x390]
call fcn.140005430
lea rcx, [rbp + 0x3b0]
call fcn.140005430
lea rcx, [rbp + 0x470]
call fcn.140005430
lea rcx, [rbp + 0x490]
call fcn.140005430
lea rcx, [rbp + 0x3d0]
call fcn.140005430
lea rcx, [rbp + 0x2f0]
call fcn.140005430
lea rcx, [rbp + 0x210]
call fcn.140005430
lea rcx, [rbp + 0x230]
call fcn.140005430
lea rcx, [rbp + 0x2d0]
call fcn.140005430
lea rcx, [rbp + 0x270]
call fcn.140005430
lea rcx, [rbp + 0x3f0]
call fcn.140005430
lea rcx, [rbp + 0x410]
call fcn.140005430
lea rcx, [rbp + 0x430]
call fcn.140005430
lea rcx, [rbp + 0x450]
call fcn.140005430
lea rcx, [rbp + 0x118]
call fcn.140005430
mov eax, r12d
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.14001f770
lea r11, [rsp + 0x6a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140005910
int3
call fcn.14002c7b8
int3
call fcn.14002b368
int3