Function at 0x140008630
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 - 0x530]
sub rsp, 0x630
mov rax, qword [0x14005f020]
xor rax, rsp
mov qword [rbp + 0x520], rax
xor r9d, r9d
lea r8, [rbp + 0x1b0]
xor edx, edx
lea rcx, [0x1400622e8]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x14000aced
xor ebx, ebx
cmp dword [rbp + 0x1b0], ebx
je 0x1400087fa
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], 7
lea r8d, [rbx + 0xc]
lea rdx, str.kernel32.dll
lea rcx, [rbp + 0xa0]
call fcn.1400054a0
lea rcx, [rbp + 0xa0]
call fcn.14001b550
mov qword [0x140062318], rax
mov rdx, qword [rbp + 0xb8]
cmp rdx, 8
jb 0x140008727
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000871b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000acf3
call fcn.14001f130
mov rax, qword [0x140062318]
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], 7
mov word [rbp + 0xa0], bx
test rax, rax
je 0x1400087e0
lea rdx, str.SetProcessUserModeExceptionPolicy
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062310], rax
lea rdx, str.GetProcessUserModeExceptionPolicy
mov rcx, qword [0x140062318]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062308], rax
lea rdx, str.SetDefaultDllDirectories
mov rcx, qword [0x140062318]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140062300], rax
lea rdx, str.SetProcessMitigationPolicy
mov rcx, qword [0x140062318]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400622f8], rax
lea rdx, str.GetProcessMitigationPolicy
mov rcx, qword [0x140062318]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400622f0], rax
lea rdx, str.InstallELAMCertificateInfo
mov rcx, qword [0x140062318]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400622e8]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x14000aced
call fcn.14001b720
mov dword [rbp + 0x70], ebx
lea rdx, [rbp + 0x70]
call fcn.14001c340
test al, al
je 0x14000881c
or dword [rbp + 0x70], 1
lea rdx, [rbp + 0x70]
call fcn.14001c5c0
mov dword [rbp + 0x78], ebx
lea rdx, [rbp + 0x78]
call fcn.14001c820
test al, al
je 0x140008839
or dword [rbp + 0x78], 1
lea rdx, [rbp + 0x78]
call fcn.14001caa0
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x138], 7
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp word [rax + r8*2], bx
jne 0x140008862
mov rdx, rax
lea rcx, [rbp + 0x120]
call fcn.1400054a0
mov qword [rbp + 0x428], rbx
mov qword [rbp + 0x438], rbx
mov qword [rbp + 0x440], 7
mov r8d, 8
lea rdx, str.__action
lea rcx, [rbp + 0x428]
call fcn.1400054a0
mov qword [rbp + 0x408], rbx
mov qword [rbp + 0x418], rbx
mov qword [rbp + 0x420], 7
mov r8d, 5
lea rdx, str.__log
lea rcx, [rbp + 0x408]
call fcn.1400054a0
mov qword [rbp + 0x3e8], rbx
mov qword [rbp + 0x3f8], rbx
mov qword [rbp + 0x400], 7
mov r8d, 0xa
lea rdx, str.__deferlog
lea rcx, [rbp + 0x3e8]
call fcn.1400054a0
mov qword [rbp + 0x3c8], rbx
mov qword [rbp + 0x3d8], rbx
mov qword [rbp + 0x3e0], 7
mov r8d, 9
lea rdx, str.__verbose
lea rcx, [rbp + 0x3c8]
call fcn.1400054a0
mov qword [rbp + 0x248], rbx
mov qword [rbp + 0x258], rbx
mov qword [rbp + 0x260], 7
mov r8d, 9
lea rdx, str.__elevate
lea rcx, [rbp + 0x248]
call fcn.1400054a0
mov qword [rbp + 0x2e8], rbx
mov qword [rbp + 0x2f8], rbx
mov qword [rbp + 0x300], 7
mov r8d, 5
lea rdx, str.__inf
lea rcx, [rbp + 0x2e8]
call fcn.1400054a0
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x218], rbx
mov qword [rbp + 0x220], 7
mov r8d, 4
lea rdx, str.__id
lea rcx, [rbp + 0x208]
call fcn.1400054a0
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x200], 7
mov r8d, 7
lea rdx, str.__event
lea rcx, [rbp + 0x1e8]
call fcn.1400054a0
mov qword [rbp + 0x2c8], rbx
mov qword [rbp + 0x2d8], rbx
mov qword [rbp + 0x2e0], 7
mov esi, 6
mov r8d, esi
lea rdx, str.__port
lea rcx, [rbp + 0x2c8]
call fcn.1400054a0
mov qword [rbp + 0x3a8], rbx
mov qword [rbp + 0x3b8], rbx
mov qword [rbp + 0x3c0], 7
lea r8d, [rsi - 2]
lea rdx, str.__oa
lea rcx, [rbp + 0x3a8]
call fcn.1400054a0
mov qword [rbp + 0x388], rbx
mov qword [rbp + 0x398], rbx
mov qword [rbp + 0x3a0], 7
lea r8d, [rsi + 4]
lea rdx, str.__location
lea rcx, [rbp + 0x388]
call fcn.1400054a0
mov qword [rbp + 0x368], rbx
mov qword [rbp + 0x378], rbx
mov qword [rbp + 0x380], 7
lea r8d, [rsi + 3]
lea rdx, str.__usersid
lea rcx, [rbp + 0x368]
call fcn.1400054a0
mov qword [rbp + 0x348], rbx
mov qword [rbp + 0x358], rbx
mov qword [rbp + 0x360], 7
lea r8d, [rsi + 6]
lea rdx, str.__drivername
lea rcx, [rbp + 0x348]
call fcn.1400054a0
mov qword [rbp + 0x328], rbx
mov qword [rbp + 0x338], rbx
mov qword [rbp + 0x340], 7
lea r8d, [rsi + 4]
lea rdx, str.__datatype
lea rcx, [rbp + 0x328]
call fcn.1400054a0
mov qword [rbp + 0x308], rbx
mov qword [rbp + 0x318], rbx
mov qword [rbp + 0x320], 7
lea r8d, [rsi + 0xa]
lea rdx, str.__printprocessor
lea rcx, [rbp + 0x308]
call fcn.1400054a0
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], 7
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x408]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x140008bad
lea r8d, [rsi + 0xe]
lea rdx, str.TeamViewer_Hooks.log
lea rcx, [rbp + 0x100]
call fcn.1400054a0
mov qword [rbp + 0x2a8], rbx
mov qword [rbp + 0x2b8], rbx
mov qword [rbp + 0x2c0], 7
lea r8, [rbp + 0x2a8]
lea rdx, [rbp + 0x3e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
sete r14b
lea r8, [rbp + 0x2a8]
lea rdx, [rbp + 0x3c8]
lea rcx, [rbp + 0x120]
call fcn.140008220
mov ecx, 0x64
mov r13d, 0xc8
test al, al
cmovne r13d, ecx
mov dword [rbp + 0x1b0], r13d
lea r15, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae r15, qword [rbp + 0x100]
mov r12d, 1
mov eax, r12d
lock xadd dword [0x140062278], eax
inc eax
cmp eax, r12d
jne 0x140008c81
mov ecx, 0x228
call fcn.14001f138
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.14002af5c
mov qword [0x140062280], rbx
jmp 0x140008c8b
mov rbx, qword [0x140062280]
xor r13d, r13d
mov qword [rbp + 0x70], rbx
test r14b, r14b
je 0x140008d05
cmp qword [rbx + 0x10], 0
jne 0x140008cca
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 0x140008cca
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 0x140008d05
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.140007b90
mov qword [rbp + 0x228], r13
mov qword [rbp + 0x238], r13
mov qword [rbp + 0x240], 7
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0x428]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x140008d9e
lea r8, str.Type_missing_in_command_line
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
mov qword [0x140062310], r13
mov qword [0x140062308], r13
mov qword [0x140062300], r13
mov qword [0x1400622f8], r13
mov qword [0x1400622f0], r13
mov rcx, qword [0x140062318]
jmp 0x1400099b3
xor edx, edx
mov r8d, 0xd0
lea rcx, [rbp + 0x450]
call fcn.140021e00
lea rcx, [rbp + 0x450]
call fcn.140006510
lea r8, [rbp + 0x228]
lea rdx, [rsp + 0x50]
call fcn.14000b050
mov r15, qword [0x140062288]
mov r10, qword [rsp + 0x60]
cmp byte [r10 + 0x19], 0
jne 0x140008e6c
lea rax, [r10 + 0x20]
mov r11, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x140008df8
mov rax, qword [rax]
lea r9, [rbp + 0x228]
cmp qword [rbp + 0x240], 8
cmovae r9, qword [rbp + 0x228]
mov rbx, qword [rbp + 0x238]
mov rcx, rbx
cmp r11, rbx
cmovb rcx, r11
test rcx, rcx
je 0x140008e67
movzx edx, word [r9]
movzx r8d, word [rax]
cmp dx, r8w
jb 0x140008e57
sub r9, rax
cmp dx, r8w
ja 0x140008e62
cmp rcx, r12
je 0x140008e67
dec rcx
add rax, 2
movzx edx, word [r9 + rax]
movzx r8d, word [rax]
cmp dx, r8w
jae 0x140008e3a
mov eax, edi
shr eax, 0x1f
test al, al
jne 0x140008e6c
jmp 0x140008e6f
mov eax, r12d
jmp 0x140008e59
cmp rbx, r11
jae 0x140008e6f
mov r10, r15
cmp r15, r10
je 0x140008e78
mov r13d, dword [r10 + 0x40]
lea r8, [rbp + 0x2a8]
lea rdx, [rbp + 0x248]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
je 0x14000939f
xor ebx, ebx
mov qword [rbp + 0x1b8], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov rax, qword [rbp + 0x458]
test rax, rax
je 0x1400093f7
lea r8, [rbp + 0x1b8]
mov edx, 0x10000000
call qword [case.0x1400132ae.0]
test eax, eax
je 0x1400093f7
mov dword [rbp + 0x78], ebx
mov rax, qword [rbp + 0x450]
test rax, rax
jne 0x140008ef7
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.GetTokenInformation_failed__d
jmp 0x140009404
lea rcx, [rbp + 0x78]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x14]
mov rcx, qword [rbp + 0x1b8]
call qword [case.0x1400132ae.0]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x140008f39
cmp eax, 0x18
je 0x140008f39
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.GetTokenInformation_1__failed__d
jmp 0x140009404
mov ebx, dword [rbp + 0x78]
mov ecx, ebx
call fcn.14001f494
mov r15, rax
mov rax, qword [rbp + 0x450]
test rax, rax
je 0x1400093c1
lea rcx, [rbp + 0x78]
mov qword [rsp + 0x20], rcx
mov r9d, ebx
mov r8, r15
mov edx, 0x14
mov rcx, qword [rbp + 0x1b8]
call qword [case.0x1400132ae.0]
test eax, eax
je 0x1400093c1
cmp dword [r15], 0
jne 0x140009397
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0xa0]
call fcn.14000ad90
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rcx, qword [rbp + 0xa0]
mov qword [rsp + 0x20], 2
lea r9, [0x1400550ac]
xor r8d, r8d
mov rbx, qword [rbp + 0xb0]
mov rdx, rbx
call fcn.140005c30
mov rsi, rax
xor eax, eax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], 7
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rdx, qword [rbp + 0xa0]
lea rcx, [rbp + 0x140]
call fcn.1400054a0
mov r8, rsi
xor edx, edx
lea rcx, [rbp + 0xa0]
call fcn.14000ad30
lea r9, [rbp + 0x248]
cmp qword [rbp + 0x260], 8
cmovae r9, qword [rbp + 0x248]
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rcx, qword [rbp + 0xa0]
mov rbx, qword [rbp + 0x258]
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov rdx, qword [rbp + 0xb0]
call fcn.140005c30
mov rdx, rax
mov r8, rbx
lea rcx, [rbp + 0xa0]
call fcn.14000ad30
xor ebx, ebx
nop
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 0x140009144
mov rax, r9
mov rcx, rdx
mov r8, rbx
cmp word [rdx], 0x22
je 0x1400090e2
nop dword [rax]
cmp rax, r12
je 0x1400090e5
dec rax
add rcx, 2
cmp word [rcx], 0x22
jne 0x1400090d0
mov r8, rcx
test r8, r8
je 0x140009144
sub r8, rdx
sar r8, 1
cmp r8, rdi
je 0x140009144
cmp r9, r8
jb 0x14000ace7
mov rax, r9
sub rax, r8
mov rdx, r12
cmp rax, r12
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.1400216d0
jmp 0x140009090
lea rdx, [rbp + 0x140]
cmp r11, 8
cmovae rdx, r10
test r9, r9
je 0x1400091bf
lea rax, [r9 - 1]
mov rcx, rdi
cmp rax, rdi
cmovb rcx, rax
lea rax, [rdx + rcx*2]
cmp word [rax], 0x20
jne 0x14000917f
cmp rax, rdx
je 0x1400091bf
sub rax, 2
cmp word [rax], 0x20
je 0x140009170
sub rax, rdx
sar rax, 1
cmp rax, rdi
je 0x1400091bf
lea rcx, [rax + 1]
cmp r9, rcx
jb 0x14000ace7
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 + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rax, qword [rbp + 0xa0]
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 0x140009367
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.140007b90
lea eax, [r13 - 2]
cmp eax, 3
ja 0x140009367
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], 7
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
je 0x14000935b
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 + 0xc0], rbx
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x1400092f5
mov r8, rdi
lea rcx, [rbp + 0xc0]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
lea rcx, [rbp + 0x80]
call fcn.1400052f0
call fcn.1400085e0
movzx ebx, al
lea rcx, [rbp + 0x140]
call fcn.1400052f0
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
mov rcx, r15
call fcn.14001f130
mov r12d, ebx
jmp 0x140009952
mov rcx, r15
call fcn.14001f130
lea eax, [r13 - 1]
cmp eax, 0xa
ja case.default.0x1400093bf
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xacfc]
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.140007b90
call fcn.1400085e0
movzx ebx, al
mov rcx, r15
call fcn.14001f130
mov r12d, ebx
jmp 0x140009952
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.140007b90
call fcn.1400085e0
movzx eax, al
mov r12d, eax
jmp 0x140009952
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, [0x140054488]
mov qword [rsp + 0x70], rbx
movdqu xmmword [rsp + 0x78], xmm0
mov r8d, dword [rbp + 0x1b0]
lea rcx, [rbp - 0x78]
call fcn.1400079d0
test r14b, r14b
je 0x14000947c
lea rcx, [rbp - 0x78]
call fcn.140007b00
lea rsi, [0x140054490]
mov qword [rsp + 0x70], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 0
lea rcx, [rsp + 0x70]
call fcn.140007300
mov edi, eax
call fcn.14001b600
nop
mov qword [rsp + 0x70], rsi
cmp qword [rsp + 0x78], 0
je 0x14000951a
lea r8, str.Cleaning_up
mov edx, 0x64
lea rcx, [rbp - 0x78]
call fcn.140007b90
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x30]
call qword [case.0x1400132ae.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
call qword [case.0x1400132ae.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x50]
call qword [case.0x1400132ae.0]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x68]
call qword [case.0x1400132ae.0]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
call qword [case.0x1400132ae.0]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140009529
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140009538
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140009547
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, str.Exit
mov edx, 0xc8
lea rcx, [rbp - 0x78]
call fcn.140007b90
mov qword [rsp + 0x70], rbx
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140009570
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp - 0x78]
call fcn.140007a80
nop
mov r12d, edi
jmp 0x140009952
xor esi, esi
mov qword [rbp + 0x140], rsi
mov qword [rbp + 0x150], rsi
mov qword [rbp + 0x158], 7
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xe0], rsi
mov qword [rbp + 0xf0], rsi
mov qword [rbp + 0xf8], 7
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x1400095f6
lea r8, str.missing_id
jmp 0x140009641
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x2e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
movzx ebx, al
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test bl, bl
jne 0x140009683
lea eax, [r13 - 2]
cmp eax, r12d
ja 0x140009683
lea r8, str.missing_inf
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
call fcn.1400085e0
movzx ebx, al
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
lea rcx, [rbp + 0x140]
call fcn.1400052f0
mov r12d, ebx
jmp 0x140009952
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 + 0xc0], rsi
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x1400096d0
mov r8, rdi
lea rcx, [rbp + 0xc0]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.140002190
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
sub r13d, 2
je 0x140009837
sub r13d, r12d
je 0x140009759
cmp r13d, r12d
jne 0x1400098ea
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x70]
call fcn.140002d80
cmp eax, r12d
je 0x1400098ea
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Remove_failed__d
jmp 0x1400098d9
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x70]
call fcn.140002c40
mov ebx, eax
cmp eax, r12d
je 0x1400098ea
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.140007b90
cmp ebx, 3
jne 0x1400098ea
lea r8, str.DevInst_not_found__attempting_Rescan
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
lea rcx, [rsp + 0x70]
call fcn.140003e70
cmp eax, r12d
jne 0x140009825
lea r8, str.Rescan_successful__attempting_Update
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x70]
call fcn.140002c40
cmp eax, r12d
jne 0x140009813
lea r8, str.Update_successful
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
jmp 0x1400098ea
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Update_failed__d
jmp 0x1400098d9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.Rescan_failed__d
jmp 0x1400098d9
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x140]
lea rcx, [rsp + 0x70]
call fcn.140002780
mov ebx, eax
cmp eax, r12d
je 0x1400098ea
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.140007b90
cmp ebx, 6
jne 0x1400098ea
lea rdx, [rbp + 0xa0]
lea rcx, [rsp + 0x70]
call fcn.140002d80
cmp eax, r12d
jne 0x1400098ab
lea rcx, [rsp + 0x70]
call fcn.140003e70
cmp eax, r12d
je 0x1400098ea
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Rescan___failed__d
jmp 0x1400098b2
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.140007b90
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.140007b90
cmp qword [rbp + 0xf0], rsi
je 0x140009904
lea rdx, [rbp + 0xe0]
lea rcx, [rsp + 0x70]
call fcn.140003fb0
lea rcx, [rsp + 0x70]
call fcn.1400026a0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
lea rcx, [rbp + 0x140]
call fcn.1400052f0
xor r13d, r13d
lea r8, str.Loader_shutdown...
mov edx, 0x64
lea rcx, [rbp + 0x70]
call fcn.140007b90
call fcn.14001b600
mov r12d, r13d
mov rcx, qword [rbp + 0x518]
test rcx, rcx
je 0x140009964
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x510]
test rcx, rcx
je 0x140009976
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x508]
test rcx, rcx
je 0x140009988
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x14000999a
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x4f8]
test rcx, rcx
je 0x1400099ac
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x4f0]
test rcx, rcx
je 0x1400099be
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x228]
call fcn.1400052f0
lea rcx, [rbp + 0x70]
call fcn.140007a80
lea rcx, [rbp + 0x2a8]
call fcn.1400052f0
lea rcx, [rbp + 0x100]
call fcn.1400052f0
lea rcx, [rbp + 0x308]
call fcn.1400052f0
lea rcx, [rbp + 0x328]
call fcn.1400052f0
lea rcx, [rbp + 0x348]
call fcn.1400052f0
lea rcx, [rbp + 0x368]
call fcn.1400052f0
lea rcx, [rbp + 0x388]
call fcn.1400052f0
lea rcx, [rbp + 0x3a8]
call fcn.1400052f0
lea rcx, [rbp + 0x2c8]
call fcn.1400052f0
lea rcx, [rbp + 0x1e8]
call fcn.1400052f0
lea rcx, [rbp + 0x208]
call fcn.1400052f0
lea rcx, [rbp + 0x2e8]
call fcn.1400052f0
lea rcx, [rbp + 0x248]
call fcn.1400052f0
lea rcx, [rbp + 0x3c8]
call fcn.1400052f0
lea rcx, [rbp + 0x3e8]
call fcn.1400052f0
lea rcx, [rbp + 0x408]
call fcn.1400052f0
lea rcx, [rbp + 0x428]
call fcn.1400052f0
lea rcx, [rbp + 0x120]
call fcn.1400052f0
mov eax, r12d
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.14001f110
lea r11, [rsp + 0x630]
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 + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
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 + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009b70
mov r8, rdi
lea rcx, [rbp + 0xc0]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
lea rcx, [rbp + 0x160]
call fcn.140003e70
cmp eax, r12d
je 0x140009be6
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.140007b90
cmp qword [rbp + 0x90], r13
je 0x140009c02
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
lea rcx, [rbp + 0x80]
call fcn.1400052f0
jmp 0x140009935
xor r13d, r13d
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
je 0x14000a757
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
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 + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 7
nop dword [rax + rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009cf0
mov r8, rdi
lea rcx, [rbp + 0xc0]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x160]
call fcn.140002d80
cmp eax, r12d
jne 0x140009d69
lea rcx, [rbp + 0x160]
call fcn.140003e70
cmp eax, r12d
je 0x140009dab
lea rbx, str.CDriverInstaller::RemoveRescan__:_CDriverInstaller::Rescan___failed__d
jmp 0x140009d70
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.140007b90
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.140007b90
cmp qword [rbp + 0xf0], r13
je 0x140009dc7
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
lea rcx, [rbp + 0x80]
call fcn.1400052f0
jmp 0x140009935
xor r13d, r13d
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x2c8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x140009e7e
lea r8, str.missing_port_on_AddPrinterPort
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
call fcn.1400085e0
movzx r12d, al
lea rcx, [rbp + 0x80]
call fcn.1400052f0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
jmp 0x140009952
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
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 + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x140009ef0
mov r8, rdi
lea rcx, [rbp + 0xc0]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x160]
call fcn.140004500
cmp eax, r12d
je 0x140009f6f
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.140007b90
jmp 0x140009f84
lea r8, str.AddPrinterPort_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
cmp qword [rbp + 0xf0], r13
je 0x140009fa0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
lea rcx, [rbp + 0x80]
call fcn.1400052f0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
jmp 0x140009935
xor r13d, r13d
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 7
mov qword [rbp + 0x1c0], r13
mov qword [rbp + 0x1d0], r13
mov qword [rbp + 0x1d8], 7
mov qword [rbp + 0x288], r13
mov qword [rbp + 0x298], r13
mov qword [rbp + 0x2a0], 7
mov qword [rbp + 0x268], r13
mov qword [rbp + 0x278], r13
mov qword [rbp + 0x280], 7
mov qword [rbp + 0x140], r13
mov qword [rbp + 0x150], r13
mov qword [rbp + 0x158], 7
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 7
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a0be
lea r8, str.missing_printerName_on_AddPrinter
jmp 0x14000a1ac
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x368]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a0e8
lea r8, str.missing_userSID_on_AddPrinter
jmp 0x14000a1ac
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x2c8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a112
lea r8, str.missing_port_on_AddPrinter
jmp 0x14000a1ac
lea r8, [rbp + 0x288]
lea rdx, [rbp + 0x388]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a139
lea r8, str.missing_printerLocation_on_AddPrinter
jmp 0x14000a1ac
lea r8, [rbp + 0x268]
lea rdx, [rbp + 0x348]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a160
lea r8, str.missing_driverName_on_AddPrinter
jmp 0x14000a1ac
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x328]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a187
lea r8, str.missing_strDatatype_on_AddPrinter
jmp 0x14000a1ac
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x308]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a203
lea r8, str.missing_strPrintProcessor_on_AddPrinter
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
call fcn.1400085e0
movzx ebx, al
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
lea rcx, [rbp + 0x140]
call fcn.1400052f0
lea rcx, [rbp + 0x268]
call fcn.1400052f0
lea rcx, [rbp + 0x288]
call fcn.1400052f0
lea rcx, [rbp + 0x1c0]
call fcn.1400052f0
jmp 0x14000a5a0
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
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 [rsp + 0x70], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a270
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rsp + 0x70]
call fcn.1400052f0
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], r13
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x160]
call fcn.140004fb0
mov rax, qword [rbp + 0x1b8]
test rax, rax
je 0x14000a407
lea rcx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 8
cmovae rcx, qword [rbp + 0xe0]
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 + 0x268]
cmp qword [rbp + 0x280], 8
cmovae rcx, qword [rbp + 0x268]
mov qword [rbp], rcx
lea rcx, [rbp + 0x288]
cmp qword [rbp + 0x2a0], 8
cmovae rcx, qword [rbp + 0x288]
mov qword [rbp + 0x10], rcx
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 8
cmovae rcx, qword [rbp + 0xa0]
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 0x14000a3f8
lea r8, str.CDriverInstaller::AddPrinter:_..._successful
mov edx, 0x64
lea rcx, [rbp + 0x178]
call fcn.140007b90
mov rcx, rbx
call qword [sym.imp.WINSPOOL.DRV_ClosePrinter]
jmp 0x14000a42e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CDriverInstaller::AddPrinter:_..._failed_with_ErrorCode:___d__
jmp 0x14000a414
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.140007b90
mov r12d, 7
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
je 0x14000a440
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp r12d, 1
je 0x14000a466
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.140007b90
jmp 0x14000a47b
lea r8, str.AddPrinter_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
cmp qword [rbp + 0x90], r13
je 0x14000a497
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
lea rcx, [rbp + 0x140]
call fcn.1400052f0
lea rcx, [rbp + 0x268]
call fcn.1400052f0
lea rcx, [rbp + 0x288]
call fcn.1400052f0
lea rcx, [rbp + 0x1c0]
call fcn.1400052f0
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
jmp 0x140009dd3
xor r13d, r13d
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 7
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a565
lea r8, str.missing_id
jmp 0x14000a58a
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x2e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a5cc
lea r8, str.missing_inf_name
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
call fcn.1400085e0
movzx ebx, al
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
lea rcx, [rbp + 0x80]
call fcn.1400052f0
mov r12d, ebx
jmp 0x140009952
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
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 [rsp + 0x70], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a636
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rsp + 0x70]
call fcn.1400052f0
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x160]
call fcn.1400046f0
cmp eax, r12d
je 0x14000a6b6
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.140007b90
jmp 0x14000a6cb
lea r8, str.InstallPrintDriverFromPackage_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
cmp qword [rbp + 0x90], r13
je 0x14000a6e7
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
jmp 0x140009dd3
xor r13d, r13d
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a792
lea r8, str.missing_id
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
call fcn.1400085e0
movzx r12d, al
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
lea rcx, [rbp + 0x80]
call fcn.1400052f0
jmp 0x140009952
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
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 [rsp + 0x70], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000a800
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rsp + 0x70]
call fcn.1400052f0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 8
cmovae r8, qword [rbp + 0xe0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_DeletePrinterDriverW]
mov ebx, eax
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 0xf
mov r8d, 0x36
lea rdx, str.CDriverInstaller::RemovePrintDriver__:_PrintUiEntryW__
lea rcx, [rbp + 0xc0]
call fcn.1400055d0
mov r8d, r13d
cmp ebx, r12d
sete r8b
lea r9, [rbp + 0xc0]
movzx edx, r12b
lea rcx, [rbp + 0x160]
call fcn.140004300
mov ebx, eax
lea rcx, [rbp + 0xc0]
call fcn.140005440
cmp ebx, r12d
je 0x14000a8f2
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.140007b90
jmp 0x14000a907
lea r8, str.RemovePrintDriver_success
mov edx, 0xc8
lea rcx, [rbp + 0x70]
call fcn.140007b90
cmp qword [rbp + 0x90], r13
je 0x140009dc7
lea rdx, [rbp + 0x80]
jmp 0x140009dbb
xor r13d, r13d
mov qword [rbp + 0xe0], r13
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 7
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a976
call fcn.1400085e0
movzx ebx, al
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
mov r12d, ebx
jmp 0x140009952
mov qword [rbp + 0xa0], r13
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 7
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000a9de
cmp qword [rbp + 0xb0], r13
je 0x14000a9de
call fcn.1400085e0
movzx ebx, al
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
mov r12d, ebx
jmp 0x140009952
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 7
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x120]
call fcn.140008220
test al, al
jne 0x14000aa37
cmp qword [rbp + 0xb0], r13
je 0x14000aa37
mov r8d, 2
lea rdx, [0x14005566c]
lea rcx, [rbp + 0xc0]
call fcn.1400054a0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1d8], xmm0
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 8
cmovae rdx, qword [rbp + 0x100]
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], 7
mov r8, rdi
inc r8
cmp word [rdx + r8*2], r13w
jne 0x14000aa75
lea rcx, [rbp + 0x80]
call fcn.1400054a0
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rdx, qword [rbp + 0x80]
lea rbx, [0x140054488]
mov qword [rbp + 0x1c0], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1c8], xmm0
mov r8d, 0xc8
lea rcx, [rbp + 0x1d8]
call fcn.1400079d0
test r14b, r14b
je 0x14000aade
lea rcx, [rbp + 0x1d8]
call fcn.140007b00
lea rax, [0x1400544a0]
mov qword [rbp + 0x1c0], rax
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x1c0]
call fcn.14000b220
mov dword [rbp + 0x1e0], eax
lea rcx, [rbp + 0x80]
call fcn.1400052f0
lea r8, [rbp + 0xa0]
mov r10, qword [rbp + 0xa0]
mov r11, qword [rbp + 0xb8]
cmp r11, 8
cmovae r8, r10
mov r15, qword [rbp + 0xb0]
cmp r15, rsi
jne 0x14000ab70
lea rax, str.enable
movzx ecx, word [r8]
mov edx, 0x65
cmp cx, dx
jb 0x14000ab70
sub r8, rax
cmp cx, dx
ja 0x14000ab70
cmp rsi, r12
je 0x14000abc5
dec rsi
add rax, 2
movzx ecx, word [r8 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x14000ab55
lea r9, [rbp + 0xa0]
cmp r11, 8
cmovae r9, r10
cmp r15, 7
jne 0x14000abd9
mov rdx, r15
lea rax, str.disable
movzx ecx, word [r9]
mov r8d, 0x64
cmp cx, r8w
jb 0x14000abd9
sub r9, rax
cmp cx, r8w
ja 0x14000abd9
cmp rdx, r12
je 0x14000abcb
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14000aba6
jmp 0x14000abd9
movzx edx, r12b
jmp 0x14000abcd
xor edx, edx
lea rcx, [rbp + 0x1c0]
call fcn.14000b600
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 [rsp + 0x70], r13
mov qword [rbp - 0x80], r13
mov qword [rbp - 0x78], 7
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], ax
jne 0x14000ac30
mov r8, rdi
lea rcx, [rsp + 0x70]
call fcn.1400054a0
lea rax, [rbp + 0x450]
mov qword [rsp + 0x20], rax
movzx r9d, r14b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x160]
call fcn.140002190
lea rcx, [rsp + 0x70]
call fcn.1400052f0
cmp qword [rbp + 0xf0], r13
je 0x14000ac8d
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x160]
call fcn.140003fb0
lea rcx, [rbp + 0x160]
call fcn.1400026a0
mov qword [rbp + 0x1c0], rbx
mov rcx, qword [rbp + 0x1d0]
test rcx, rcx
je 0x14000acb2
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x1d8]
call fcn.140007a80
lea rcx, [rbp + 0xc0]
call fcn.1400052f0
lea rcx, [rbp + 0xa0]
call fcn.1400052f0
lea rcx, [rbp + 0xe0]
call fcn.1400052f0
jmp 0x140009935
call fcn.140005730
int3
call fcn.14002c168
int3
call fcn.14002ad18
int3