Function at 0x140008e30
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 - 0x520]
sub rsp, 0x620
mov rax, qword [0x14005d020]
xor rax, rsp
mov qword [rbp + 0x510], rax
xor r9d, r9d
lea r8, [rbp + 0x70]
xor edx, edx
lea rcx, [0x1400601d8]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x14000b550
xor ebx, ebx
cmp dword [rbp + 0x70], ebx
je 0x140008fe5
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], bx
lea r8d, [rbx + 0xc]
lea rdx, str.kernel32.dll
lea rcx, [rbp + 0x78]
call fcn.140005900
lea rcx, [rbp + 0x78]
call fcn.14001bdb0
mov qword [0x140060200], rax
mov rdx, qword [rbp + 0x90]
cmp rdx, 8
jb 0x140008f15
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008f09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000b556
call fcn.14001f834
mov rax, qword [0x140060200]
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], bx
test rax, rax
je 0x140008fcb
lea rdx, str.SetProcessUserModeExceptionPolicy
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140060208], rax
lea rdx, str.GetProcessUserModeExceptionPolicy
mov rcx, qword [0x140060200]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400601f0], rax
lea rdx, str.SetDefaultDllDirectories
mov rcx, qword [0x140060200]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400601f8], rax
lea rdx, str.SetProcessMitigationPolicy
mov rcx, qword [0x140060200]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400601e0], rax
lea rdx, str.GetProcessMitigationPolicy
mov rcx, qword [0x140060200]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400601e8], rax
lea rdx, str.InstallELAMCertificateInfo
mov rcx, qword [0x140060200]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400601d8]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x14000b550
call fcn.14001bf80
mov dword [rsp + 0x68], ebx
lea rdx, [rsp + 0x68]
call fcn.14001cb90
test al, al
je 0x14000900b
or dword [rsp + 0x68], 1
lea rdx, [rsp + 0x68]
call fcn.14001ce10
mov dword [rbp + 0xf8], ebx
lea rdx, [rbp + 0xf8]
call fcn.14001d070
test al, al
je 0x140009034
or dword [rbp + 0xf8], 1
lea rdx, [rbp + 0xf8]
call fcn.14001d2f0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x138], 7
mov word [rbp + 0x120], bx
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], bx
jne 0x140009060
mov rdx, rax
lea rcx, [rbp + 0x120]
call fcn.140005900
mov qword [rbp + 0x428], rbx
mov qword [rbp + 0x430], 7
mov word [rbp + 0x418], bx
mov r8d, 8
lea rdx, str.__action
lea rcx, [rbp + 0x418]
call fcn.140005900
mov qword [rbp + 0x408], rbx
mov qword [rbp + 0x410], 7
mov word [rbp + 0x3f8], bx
mov r8d, 5
lea rdx, str.__log
lea rcx, [rbp + 0x3f8]
call fcn.140005900
mov qword [rbp + 0x3e8], rbx
mov qword [rbp + 0x3f0], 7
mov word [rbp + 0x3d8], bx
mov r8d, 0xa
lea rdx, str.__deferlog
lea rcx, [rbp + 0x3d8]
call fcn.140005900
mov qword [rbp + 0x3c8], rbx
mov qword [rbp + 0x3d0], 7
mov word [rbp + 0x3b8], bx
mov r8d, 9
lea rdx, str.__verbose
lea rcx, [rbp + 0x3b8]
call fcn.140005900
mov qword [rbp + 0x248], rbx
mov qword [rbp + 0x250], 7
mov word [rbp + 0x238], bx
mov r8d, 9
lea rdx, str.__elevate
lea rcx, [rbp + 0x238]
call fcn.140005900
mov qword [rbp + 0x2e8], rbx
mov qword [rbp + 0x2f0], 7
mov word [rbp + 0x2d8], bx
mov r8d, 5
lea rdx, str.__inf
lea rcx, [rbp + 0x2d8]
call fcn.140005900
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x210], 7
mov word [rbp + 0x1f8], bx
mov r8d, 4
lea rdx, str.__id
lea rcx, [rbp + 0x1f8]
call fcn.140005900
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f0], 7
mov word [rbp + 0x1d8], bx
mov r8d, 7
lea rdx, str.__event
lea rcx, [rbp + 0x1d8]
call fcn.140005900
mov qword [rbp + 0x2c8], rbx
mov qword [rbp + 0x2d0], 7
mov word [rbp + 0x2b8], bx
mov esi, 6
mov r8d, esi
lea rdx, str.__port
lea rcx, [rbp + 0x2b8]
call fcn.140005900
mov qword [rbp + 0x3a8], rbx
mov qword [rbp + 0x3b0], 7
mov word [rbp + 0x398], bx
lea r8d, [rsi - 2]
lea rdx, str.__oa
lea rcx, [rbp + 0x398]
call fcn.140005900
mov qword [rbp + 0x388], rbx
mov qword [rbp + 0x390], 7
mov word [rbp + 0x378], bx
lea r8d, [rsi + 4]
lea rdx, str.__location
lea rcx, [rbp + 0x378]
call fcn.140005900
mov qword [rbp + 0x368], rbx
mov qword [rbp + 0x370], 7
mov word [rbp + 0x358], bx
lea r8d, [rsi + 3]
lea rdx, str.__usersid
lea rcx, [rbp + 0x358]
call fcn.140005900
mov qword [rbp + 0x348], rbx
mov qword [rbp + 0x350], 7
mov word [rbp + 0x338], bx
lea r8d, [rsi + 6]
lea rdx, str.__drivername
lea rcx, [rbp + 0x338]
call fcn.140005900
mov qword [rbp + 0x328], rbx
mov qword [rbp + 0x330], 7
mov word [rbp + 0x318], bx
lea r8d, [rsi + 4]
lea rdx, str.__datatype
lea rcx, [rbp + 0x318]
call fcn.140005900
mov qword [rbp + 0x308], rbx
mov qword [rbp + 0x310], 7
mov word [rbp + 0x2f8], bx
lea r8d, [rsi + 0xa]
lea rdx, str.__printprocessor
lea rcx, [rbp + 0x2f8]
call fcn.140005900
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], 7
mov word [rbp + 0x100], bx
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x3f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x1400093ab
lea r8d, [rsi + 0xe]
lea rdx, str.TeamViewer_Hooks.log
lea rcx, [rbp + 0x100]
call fcn.140005900
mov qword [rbp + 0x2a8], rbx
mov qword [rbp + 0x2b0], 7
mov word [rbp + 0x298], bx
lea r8, [rbp + 0x298]
lea rdx, [rbp + 0x3d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
sete r13b
mov byte [rsp + 0x40], r13b
lea r8, [rbp + 0x298]
lea rdx, [rbp + 0x3b8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
mov ecx, 0x64
mov r15d, 0xc8
test al, al
cmovne r15d, ecx
lea r14, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae r14, qword [rbp + 0x100]
mov r12d, 1
mov eax, r12d
lock xadd dword [0x140060168], eax
inc eax
cmp eax, r12d
jne 0x14000947c
mov ecx, 0x228
call fcn.14001f83c
mov rbx, rax
mov dword [rax], r15d
xor eax, eax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
lea rcx, [rbx + 0x18]
mov r9d, 0x104
mov r8, r14
lea edx, [r9 + 1]
call fcn.140029608
mov qword [0x140060170], rbx
jmp 0x140009483
mov rbx, qword [0x140060170]
mov qword [rbp + 0x70], rbx
test r13b, r13b
je 0x140009502
cmp qword [rbx + 0x10], 0
jne 0x1400094c2
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 0x1400094c2
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
xor r13d, r13d
test rax, 0xfffffffffffffffe
jne 0x140009505
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, [r13 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
jmp 0x140009505
xor r13d, r13d
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.1400083a0
mov qword [rbp + 0x228], r13
mov qword [rbp + 0x230], 7
mov word [rbp + 0x218], r13w
lea r8, [rbp + 0x218]
lea rdx, [rbp + 0x418]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000959f
lea r8, str.Type_missing_in_command_line
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
mov qword [0x140060208], r13
mov qword [0x1400601f0], r13
mov qword [0x1400601f8], r13
mov qword [0x1400601e0], r13
mov qword [0x1400601e8], r13
mov rcx, qword [0x140060200]
jmp 0x14000a223
xor edx, edx
mov r8d, 0xd0
lea rcx, [rbp + 0x440]
call fcn.140022520
lea rcx, [rbp + 0x440]
call fcn.140006d30
lea r8, [rbp + 0x218]
lea rdx, [rsp + 0x50]
call fcn.14000b8a0
mov r14, qword [0x140060178]
mov r10, qword [rsp + 0x60]
cmp byte [r10 + 0x19], 0
jne 0x14000966d
lea rax, [r10 + 0x20]
mov r11, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x1400095f9
mov rax, qword [rax]
lea r9, [rbp + 0x218]
cmp qword [rbp + 0x230], 8
cmovae r9, qword [rbp + 0x218]
mov rbx, qword [rbp + 0x228]
mov rcx, rbx
cmp r11, rbx
cmovb rcx, r11
test rcx, rcx
je 0x140009668
movzx edx, word [r9]
movzx r8d, word [rax]
cmp dx, r8w
jb 0x140009658
sub r9, rax
cmp dx, r8w
ja 0x140009663
cmp rcx, r12
je 0x140009668
dec rcx
add rax, 2
movzx edx, word [r9 + rax]
movzx r8d, word [rax]
cmp dx, r8w
jae 0x14000963b
mov eax, edi
shr eax, 0x1f
test al, al
jne 0x14000966d
jmp 0x140009670
mov eax, r12d
jmp 0x14000965a
cmp rbx, r11
jae 0x140009670
mov r10, r14
cmp r14, r10
je 0x140009679
mov r13d, dword [r10 + 0x40]
lea r8, [rbp + 0x298]
lea rdx, [rbp + 0x238]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
je 0x140009c2e
xor ebx, ebx
mov qword [rsp + 0x68], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov rax, qword [rbp + 0x448]
test rax, rax
je 0x140009c86
lea r8, [rsp + 0x68]
mov edx, 0x10000000
call qword [case.0x140013bae.0]
test eax, eax
je 0x140009c86
mov dword [rbp + 0xf8], ebx
mov rax, qword [rbp + 0x440]
test rax, rax
jne 0x1400096f7
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.GetTokenInformation_failed__d
jmp 0x140009c93
lea rcx, [rbp + 0xf8]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x14]
mov rcx, qword [rsp + 0x68]
call qword [case.0x140013bae.0]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14000973a
cmp eax, 0x18
je 0x14000973a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.GetTokenInformation_1__failed__d
jmp 0x140009c93
mov ebx, dword [rbp + 0xf8]
mov ecx, ebx
call fcn.14001fb98
mov r14, rax
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x440]
test rax, rax
je 0x140009c50
lea rcx, [rbp + 0xf8]
mov qword [rsp + 0x20], rcx
mov r9d, ebx
mov r8, r14
mov edx, 0x14
mov rcx, qword [rsp + 0x68]
call qword [case.0x140013bae.0]
test eax, eax
je 0x140009c50
cmp dword [r14], 0
jne 0x140009c26
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x78]
call fcn.14000b5f0
lea rcx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rcx, qword [rbp + 0x78]
mov qword [rsp + 0x20], 2
lea r9, [0x14005347c]
xor r8d, r8d
mov rbx, qword [rbp + 0x88]
mov rdx, rbx
call fcn.1400063c0
mov rsi, rax
xor eax, eax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], ax
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 + 0x140]
call fcn.140005900
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0x78]
call fcn.14000b590
lea rbx, [rbp + 0x238]
cmp qword [rbp + 0x250], 8
cmovae rbx, qword [rbp + 0x238]
lea r15, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae r15, qword [rbp + 0x78]
mov rsi, qword [rbp + 0x248]
mov rax, qword [rbp + 0x88]
cmp rsi, rax
ja 0x14000990b
test rsi, rsi
jne 0x140009876
xor ebx, ebx
mov edx, ebx
jmp 0x140009910
sub rax, rsi
lea r14, [rax + 1]
lea r14, [r15 + r14*2]
mov rdx, r15
movzx r11d, word [rbx]
nop dword [rax + rax]
mov rax, r14
sub rax, rdx
sar rax, 1
mov ecx, 0
je 0x1400098bb
cmp word [rdx], r11w
je 0x1400098b8
cmp rax, r12
je 0x1400098bb
dec rax
add rdx, 2
cmp word [rdx], r11w
jne 0x1400098a6
mov rcx, rdx
mov rdx, rcx
test rcx, rcx
je 0x14000990b
mov r9, rsi
mov rax, rbx
movzx ecx, word [rcx]
movzx r8d, r11w
cmp cx, r11w
jb 0x1400098fd
mov r10, rdx
sub r10, rbx
cmp cx, r11w
ja 0x1400098fd
cmp r9, r12
je 0x140009903
dec r9
add rax, 2
movzx ecx, word [r10 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400098e0
add rdx, 2
jmp 0x140009890
sub rdx, r15
sar rdx, 1
jmp 0x14000990e
mov rdx, rdi
xor ebx, ebx
mov r8, rsi
lea rcx, [rbp + 0x78]
call fcn.14000b590
nop dword [rax]
lea rdx, [rbp + 0x140]
mov r10, qword [rbp + 0x140]
mov r11, qword [rbp + 0x158]
cmp r11, 8
cmovae rdx, r10
mov r9, qword [rbp + 0x150]
test r9, r9
je 0x1400099d4
mov rax, r9
mov rcx, rdx
mov r8, rbx
cmp word [rdx], 0x22
je 0x140009972
nop dword [rax]
cmp rax, r12
je 0x140009975
dec rax
add rcx, 2
cmp word [rcx], 0x22
jne 0x140009960
mov r8, rcx
test r8, r8
je 0x1400099d4
sub r8, rdx
sar r8, 1
cmp r8, rdi
je 0x1400099d4
cmp r9, r8
jb 0x14000b54a
mov rax, r9
sub rax, r8
mov rdx, r12
cmp rax, rdx
cmovb rdx, rax
lea rax, [rbp + 0x140]
cmp r11, 8
cmovae rax, r10
lea rcx, [rax + r8*2]
sub r9, rdx
mov qword [rbp + 0x150], r9
sub r9, r8
lea r8, [r9*2 + 2]
lea rdx, [rcx + rdx*2]
call fcn.140021df0
jmp 0x140009920
lea rdx, [rbp + 0x140]
cmp r11, 8
cmovae rdx, r10
test r9, r9
je 0x140009a4f
lea rax, [r9 - 1]
mov rcx, rdi
cmp rax, rcx
cmovb rcx, rax
lea rax, [rdx + rcx*2]
cmp word [rax], 0x20
jne 0x140009a0f
cmp rax, rdx
je 0x140009a4f
sub rax, 2
cmp word [rax], 0x20
je 0x140009a00
sub rax, rdx
sar rax, 1
cmp rax, rdi
je 0x140009a4f
lea rcx, [rax + 1]
cmp r9, rcx
jb 0x14000b54a
lea rax, [rbp + 0x140]
cmp r11, 8
cmovae rax, r10
mov qword [rbp + 0x150], rcx
mov word [rax + rcx*2], bx
mov r11, qword [rbp + 0x158]
mov r10, qword [rbp + 0x140]
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 + 0x140]
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 0x140009bf4
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.1400083a0
lea eax, [r13 - 2]
cmp eax, 3
ja 0x140009bf4
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], bx
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
je 0x140009be8
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], bx
nop
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009b80
mov r8, rdi
lea rcx, [rbp + 0xb8]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rbp + 0xb8]
call fcn.140005740
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
lea rcx, [rbp + 0x98]
call fcn.140005740
call fcn.140008de0
movzx ebx, al
lea rcx, [rbp + 0x140]
call fcn.140005740
lea rcx, [rbp + 0x78]
call fcn.140005740
mov r14, qword [rsp + 0x48]
mov rcx, r14
call fcn.14001f834
mov r12d, ebx
jmp 0x14000a1c2
mov rcx, r14
call fcn.14001f834
lea eax, [r13 - 1]
cmp eax, 0xa
ja case.default.0x140009c4e
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xb55c]
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.1400083a0
call fcn.140008de0
movzx ebx, al
mov rcx, r14
call fcn.14001f834
mov r12d, ebx
jmp 0x14000a1c2
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.1400083a0
call fcn.140008de0
movzx eax, al
mov r12d, eax
jmp 0x14000a1c2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
lea rbx, [0x140052850]
mov qword [rsp + 0x70], rbx
movdqu xmmword [rsp + 0x78], xmm0
mov r8d, r15d
lea rcx, [rbp - 0x78]
call fcn.1400081e0
cmp byte [rsp + 0x40], 0
je 0x140009d09
lea rcx, [rbp - 0x78]
call fcn.140008310
lea rsi, [0x140052858]
mov qword [rsp + 0x70], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor eax, eax
mov qword [rbp - 0x60], rax
lea rcx, [rsp + 0x70]
call fcn.140007b10
mov edi, eax
call fcn.14001be60
nop
mov qword [rsp + 0x70], rsi
cmp qword [rsp + 0x78], 0
je 0x140009da5
lea r8, str.Cleaning_up
mov edx, 0x64
lea rcx, [rbp - 0x78]
call fcn.1400083a0
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x30]
call qword [case.0x140013bae.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
call qword [case.0x140013bae.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x50]
call qword [case.0x140013bae.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
call qword [case.0x140013bae.0]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
call qword [case.0x140013bae.0]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140009db4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140009dc3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140009dd2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, str.Exit
mov edx, 0xc8
lea rcx, [rbp - 0x78]
call fcn.1400083a0
mov qword [rsp + 0x70], rbx
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140009dfb
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp - 0x78]
call fcn.140008290
nop
mov r12d, edi
jmp 0x14000a1c2
xor esi, esi
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], si
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], si
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], si
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x140009e7b
lea r8, str.missing_id
jmp 0x140009ec6
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x2d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
movzx ebx, al
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test bl, bl
jne 0x140009f05
lea eax, [r13 - 2]
cmp eax, r12d
ja 0x140009f05
lea r8, str.missing_inf
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
call fcn.140008de0
movzx ebx, al
lea rcx, [rbp + 0xd8]
call fcn.140005740
lea rcx, [rbp + 0x78]
call fcn.140005740
lea rcx, [rbp + 0x140]
call fcn.140005740
mov r12d, ebx
jmp 0x14000a1c2
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], si
nop
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009f50
mov r8, rdi
lea rcx, [rbp + 0xb8]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rbp + 0xb8]
lea rcx, [rsp + 0x70]
call fcn.1400020a0
lea rcx, [rbp + 0xb8]
call fcn.140005740
sub r13d, 2
je 0x14000a0b0
sub r13d, r12d
je 0x140009fd8
cmp r13d, r12d
jne 0x14000a15d
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140002c60
cmp eax, r12d
je 0x14000a15d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Remove_failed__d
jmp 0x14000a14c
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x70]
call fcn.140002b20
mov ebx, eax
cmp eax, r12d
je 0x14000a15d
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.1400083a0
cmp ebx, 3
jne 0x14000a15d
lea r8, str.DevInst_not_found__attempting_Rescan
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
lea rcx, [rsp + 0x70]
call fcn.140003da0
cmp eax, r12d
jne 0x14000a09e
lea r8, str.Rescan_successful__attempting_Update
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x70]
call fcn.140002b20
cmp eax, r12d
jne 0x14000a08c
lea r8, str.Update_successful
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
jmp 0x14000a15d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Update_failed__d
jmp 0x14000a14c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Rescan_failed__d
jmp 0x14000a14c
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x70]
call fcn.140002680
mov ebx, eax
cmp eax, r12d
je 0x14000a15d
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.1400083a0
cmp ebx, 6
jne 0x14000a15d
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140002c60
cmp eax, r12d
jne 0x14000a11e
lea rcx, [rsp + 0x70]
call fcn.140003da0
cmp eax, r12d
je 0x14000a15d
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Rescan___failed__d
jmp 0x14000a125
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.1400083a0
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.1400083a0
cmp qword [rbp + 0xe8], rsi
je 0x14000a177
lea rdx, [rbp + 0xd8]
lea rcx, [rsp + 0x70]
call fcn.140003ee0
lea rcx, [rsp + 0x70]
call fcn.1400025a0
lea rcx, [rbp + 0xd8]
call fcn.140005740
lea rcx, [rbp + 0x78]
call fcn.140005740
lea rcx, [rbp + 0x140]
call fcn.140005740
xor r13d, r13d
lea r8, str.Loader_shutdown...
mov edx, 0x64
lea rcx, [rbp + 0x70]
call fcn.1400083a0
call fcn.14001be60
mov r12d, r13d
mov rcx, qword [rbp + 0x508]
test rcx, rcx
je 0x14000a1d4
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x14000a1e6
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x4f8]
test rcx, rcx
je 0x14000a1f8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x4f0]
test rcx, rcx
je 0x14000a20a
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x4e8]
test rcx, rcx
je 0x14000a21c
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x4e0]
test rcx, rcx
je 0x14000a22e
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x218]
call fcn.140005740
lea rcx, [rbp + 0x70]
call fcn.140008290
lea rcx, [rbp + 0x298]
call fcn.140005740
lea rcx, [rbp + 0x100]
call fcn.140005740
lea rcx, [rbp + 0x2f8]
call fcn.140005740
lea rcx, [rbp + 0x318]
call fcn.140005740
lea rcx, [rbp + 0x338]
call fcn.140005740
lea rcx, [rbp + 0x358]
call fcn.140005740
lea rcx, [rbp + 0x378]
call fcn.140005740
lea rcx, [rbp + 0x398]
call fcn.140005740
lea rcx, [rbp + 0x2b8]
call fcn.140005740
lea rcx, [rbp + 0x1d8]
call fcn.140005740
lea rcx, [rbp + 0x1f8]
call fcn.140005740
lea rcx, [rbp + 0x2d8]
call fcn.140005740
lea rcx, [rbp + 0x238]
call fcn.140005740
lea rcx, [rbp + 0x3b8]
call fcn.140005740
lea rcx, [rbp + 0x3d8]
call fcn.140005740
lea rcx, [rbp + 0x3f8]
call fcn.140005740
lea rcx, [rbp + 0x418]
call fcn.140005740
lea rcx, [rbp + 0x120]
call fcn.140005740
mov eax, r12d
mov rcx, qword [rbp + 0x510]
xor rcx, rsp
call fcn.14001f810
lea r11, [rsp + 0x620]
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
xor r13d, r13d
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
nop
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a3e0
mov r8, rdi
lea rcx, [rbp + 0xb8]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rbp + 0xb8]
call fcn.140005740
lea rcx, [rbp + 0x160]
call fcn.140003da0
cmp eax, r12d
je 0x14000a458
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.1400083a0
cmp qword [rbp + 0xa8], r13
je 0x14000a474
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
lea rcx, [rbp + 0x98]
call fcn.140005740
jmp 0x14000a1a5
xor r13d, r13d
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], r13w
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
je 0x14000afcc
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a560
mov r8, rdi
lea rcx, [rbp + 0xb8]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rbp + 0xb8]
call fcn.140005740
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140002c60
cmp eax, r12d
jne 0x14000a5db
lea rcx, [rbp + 0x160]
call fcn.140003da0
cmp eax, r12d
je 0x14000a61d
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Rescan___failed__d
jmp 0x14000a5e2
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.1400083a0
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.1400083a0
cmp qword [rbp + 0xe8], r13
je 0x14000a639
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
lea rcx, [rbp + 0xd8]
call fcn.140005740
lea rcx, [rbp + 0x98]
call fcn.140005740
jmp 0x14000a1a5
xor r13d, r13d
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], r13w
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x2b8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000a6f2
lea r8, str.missing_port_on_AddPrinterPort
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
call fcn.140008de0
movzx r12d, al
lea rcx, [rbp + 0x98]
call fcn.140005740
lea rcx, [rbp + 0xd8]
call fcn.140005740
jmp 0x14000a1c2
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a765
mov r8, rdi
lea rcx, [rbp + 0xb8]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rbp + 0xb8]
call fcn.140005740
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140004420
cmp eax, r12d
je 0x14000a7e6
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.1400083a0
jmp 0x14000a7fb
lea r8, str.AddPrinterPort_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
cmp qword [rbp + 0xe8], r13
je 0x14000a817
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
lea rcx, [rbp + 0x98]
call fcn.140005740
lea rcx, [rbp + 0xd8]
call fcn.140005740
jmp 0x14000a1a5
xor r13d, r13d
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], r13w
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
mov qword [rbp + 0x1c0], r13
mov qword [rbp + 0x1c8], 7
mov word [rbp + 0x1b0], r13w
mov qword [rbp + 0x288], r13
mov qword [rbp + 0x290], 7
mov word [rbp + 0x278], r13w
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x270], 7
mov word [rbp + 0x258], r13w
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x158], 7
mov word [rbp + 0x140], r13w
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], r13w
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000a93a
lea r8, str.missing_printerName_on_AddPrinter
jmp 0x14000aa25
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x358]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000a964
lea r8, str.missing_userSID_on_AddPrinter
jmp 0x14000aa25
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x2b8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000a98e
lea r8, str.missing_port_on_AddPrinter
jmp 0x14000aa25
lea r8, [rbp + 0x278]
lea rdx, [rbp + 0x378]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000a9b5
lea r8, str.missing_printerLocation_on_AddPrinter
jmp 0x14000aa25
lea r8, [rbp + 0x258]
lea rdx, [rbp + 0x338]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000a9dc
lea r8, str.missing_driverName_on_AddPrinter
jmp 0x14000aa25
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x318]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000aa03
lea r8, str.missing_strDatatype_on_AddPrinter
jmp 0x14000aa25
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000aa79
lea r8, str.missing_strPrintProcessor_on_AddPrinter
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
call fcn.140008de0
movzx ebx, al
lea rcx, [rbp + 0x78]
call fcn.140005740
lea rcx, [rbp + 0x140]
call fcn.140005740
lea rcx, [rbp + 0x258]
call fcn.140005740
lea rcx, [rbp + 0x278]
call fcn.140005740
lea rcx, [rbp + 0x1b0]
call fcn.140005740
jmp 0x14000ae10
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r13w
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000aae4
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rsp + 0x70]
call fcn.140005740
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 + 0xf8], r13
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x160]
call fcn.140005390
mov rax, qword [rbp + 0xf8]
test rax, rax
je 0x14000ac77
lea rcx, [rbp + 0xd8]
cmp qword [rbp + 0xf0], 8
cmovae rcx, qword [rbp + 0xd8]
mov qword [rbp - 0x18], rcx
lea rcx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 8
cmovae rcx, qword [rbp + 0x1b0]
mov qword [rbp - 8], rcx
lea rcx, [rbp + 0x258]
cmp qword [rbp + 0x270], 8
cmovae rcx, qword [rbp + 0x258]
mov qword [rbp], rcx
lea rcx, [rbp + 0x278]
cmp qword [rbp + 0x290], 8
cmovae rcx, qword [rbp + 0x278]
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 + 0x140]
cmp qword [rbp + 0x158], 8
cmovae rcx, qword [rbp + 0x140]
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 0x14000ac68
lea r8, str.CDriverInstaller::AddPrinter:_..._successful
mov edx, 0x64
lea rcx, [rbp + 0x178]
call fcn.1400083a0
mov rcx, rbx
call qword [sym.imp.WINSPOOL.DRV_ClosePrinter]
jmp 0x14000ac9e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CDriverInstaller::AddPrinter:_..._failed_with_ErrorCode:___d__
jmp 0x14000ac84
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.1400083a0
mov r12d, 7
mov rcx, qword [rbp + 0xf8]
test rcx, rcx
je 0x14000acb0
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp r12d, 1
je 0x14000acd6
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.1400083a0
jmp 0x14000aceb
lea r8, str.AddPrinter_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
cmp qword [rbp + 0xa8], r13
je 0x14000ad07
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
lea rcx, [rbp + 0x78]
call fcn.140005740
lea rcx, [rbp + 0x140]
call fcn.140005740
lea rcx, [rbp + 0x258]
call fcn.140005740
lea rcx, [rbp + 0x278]
call fcn.140005740
lea rcx, [rbp + 0x1b0]
call fcn.140005740
lea rcx, [rbp + 0xb8]
call fcn.140005740
jmp 0x14000a645
xor r13d, r13d
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], r13w
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000add5
lea r8, str.missing_id
jmp 0x14000adfa
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x2d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000ae3c
lea r8, str.missing_inf_name
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
call fcn.140008de0
movzx ebx, al
lea rcx, [rbp + 0xb8]
call fcn.140005740
lea rcx, [rbp + 0xd8]
call fcn.140005740
lea rcx, [rbp + 0x98]
call fcn.140005740
mov r12d, ebx
jmp 0x14000a1c2
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r13w
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000aea7
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rsp + 0x70]
call fcn.140005740
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140004610
cmp eax, r12d
je 0x14000af29
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.1400083a0
jmp 0x14000af3e
lea r8, str.InstallPrintDriverFromPackage_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
cmp qword [rbp + 0xa8], r13
je 0x14000af5a
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
lea rcx, [rbp + 0xb8]
call fcn.140005740
jmp 0x14000a645
xor r13d, r13d
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], r13w
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000b007
lea r8, str.missing_id
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
call fcn.140008de0
movzx r12d, al
lea rcx, [rbp + 0xd8]
call fcn.140005740
lea rcx, [rbp + 0x98]
call fcn.140005740
jmp 0x14000a1c2
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r13w
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000b072
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rsp + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rsp + 0x70]
call fcn.140005740
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 + 0xc8], r13
mov qword [rbp + 0xd0], 0xf
mov byte [rbp + 0xb8], r13b
mov r8d, 0x36
lea rdx, str.CDriverInstaller::RemovePrintDriver__:_PrintUiEntryW__
lea rcx, [rbp + 0xb8]
call fcn.140005a30
mov r8d, r13d
cmp ebx, r12d
sete r8b
lea r9, [rbp + 0xb8]
movzx edx, r12b
lea rcx, [rbp + 0x160]
call fcn.140004220
mov ebx, eax
lea rcx, [rbp + 0xb8]
call fcn.140005890
cmp ebx, r12d
je 0x14000b166
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.1400083a0
jmp 0x14000b17b
lea r8, str.RemovePrintDriver_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.1400083a0
cmp qword [rbp + 0xa8], r13
je 0x14000a639
lea rdx, [rbp + 0x98]
jmp 0x14000a62d
xor r13d, r13d
mov qword [rbp + 0xe8], r13
mov qword [rbp + 0xf0], 7
mov word [rbp + 0xd8], r13w
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000b1eb
call fcn.140008de0
movzx ebx, al
lea rcx, [rbp + 0xd8]
call fcn.140005740
mov r12d, ebx
jmp 0x14000a1c2
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], 7
mov word [rbp + 0x78], r13w
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x398]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000b24b
cmp qword [rbp + 0x88], r13
je 0x14000b24b
call fcn.140008de0
movzx ebx, al
lea rcx, [rbp + 0x78]
call fcn.140005740
lea rcx, [rbp + 0xd8]
call fcn.140005740
mov r12d, ebx
jmp 0x14000a1c2
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], 7
mov word [rbp + 0xb8], r13w
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x1f8]
lea rcx, [rbp + 0x120]
call fcn.140008a20
test al, al
jne 0x14000b2a5
cmp qword [rbp + 0x88], r13
je 0x14000b2a5
mov r8d, 2
lea rdx, [0x140053a3c]
lea rcx, [rbp + 0xb8]
call fcn.140005900
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1c8], xmm0
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0xb0], 7
mov word [rbp + 0x98], r13w
mov r8, rdi
inc r8
cmp word [rdx + r8*2], r13w
jne 0x14000b2e4
lea rcx, [rbp + 0x98]
call fcn.140005900
lea rdx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 8
cmovae rdx, qword [rbp + 0x98]
lea rbx, [0x140052850]
mov qword [rbp + 0x1b0], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1b8], xmm0
mov r8d, 0xc8
lea rcx, [rbp + 0x1c8]
call fcn.1400081e0
movzx r15d, byte [rsp + 0x40]
test r15b, r15b
je 0x14000b353
lea rcx, [rbp + 0x1c8]
call fcn.140008310
lea rax, [0x140052868]
mov qword [rbp + 0x1b0], rax
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x1b0]
call fcn.14000ba70
mov dword [rbp + 0x1d0], eax
lea rcx, [rbp + 0x98]
call fcn.140005740
lea r8, [rbp + 0x78]
mov r10, qword [rbp + 0x78]
mov r11, qword [rbp + 0x90]
cmp r11, 8
cmovae r8, r10
mov r14, qword [rbp + 0x88]
cmp r14, rsi
jne 0x14000b3df
lea rax, str.enable
movzx ecx, word [r8]
mov edx, 0x65
cmp cx, dx
jb 0x14000b3df
sub r8, rax
cmp cx, dx
ja 0x14000b3df
cmp rsi, r12
je 0x14000b431
dec rsi
add rax, 2
movzx ecx, word [r8 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x14000b3c4
lea r9, [rbp + 0x78]
cmp r11, 8
cmovae r9, r10
cmp r14, 7
jne 0x14000b445
mov rdx, r14
lea rax, str.disable
movzx ecx, word [r9]
mov r8d, 0x64
cmp cx, r8w
jb 0x14000b445
sub r9, rax
cmp cx, r8w
ja 0x14000b445
cmp rdx, r12
je 0x14000b437
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14000b412
jmp 0x14000b445
movzx edx, r12b
jmp 0x14000b439
xor edx, edx
lea rcx, [rbp + 0x1b0]
call fcn.14000be40
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 + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r13w
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000b496
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.140005900
lea rax, [rbp + 0x440]
mov qword [rsp + 0x20], rax
movzx r9d, r15b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.1400020a0
lea rcx, [rsp + 0x70]
call fcn.140005740
cmp qword [rbp + 0xe8], r13
je 0x14000b4f3
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x160]
call fcn.140003ee0
lea rcx, [rbp + 0x160]
call fcn.1400025a0
mov qword [rbp + 0x1b0], rbx
mov rcx, qword [rbp + 0x1c0]
test rcx, rcx
je 0x14000b518
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x1c8]
call fcn.140008290
lea rcx, [rbp + 0xb8]
call fcn.140005740
lea rcx, [rbp + 0x78]
call fcn.140005740
lea rcx, [rbp + 0xd8]
call fcn.140005740
jmp 0x14000a1a5
call fcn.140005be0
int3
call fcn.14002a794
int3
call fcn.1400293c8
int3