Function at 0x1400acf80
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa00]
sub rsp, 0xb00
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rbp + 0x9f0], rax
mov dword [rbp - 0x6c], r9d
mov edi, r8d
mov dword [rsp + 0x58], r8d
mov rbx, rdx
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x20], rcx
lea rdx, str.PrinterDriverInstall::RegisterWSDPrinter
lea rcx, [rbp + 0x170]
call fcn.14001abe0
nop
lea rax, [0x1402a8360]
lea r15, [0x1402bbdb0]
mov rcx, qword [0x1402a8360]
cmp rcx, rax
je 0x1400ad024
test byte [rcx + 0x1c], 1
je 0x1400ad024
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x2d
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1c0]
call fcn.1401e7e40
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
lfence
mov ecx, 0x60
call fcn.1401baa78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x80], rax
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x5e0]
call fcn.1401e7e40
mov dword [rbp - 0x70], 0x208
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x120], xmm1
xor r8d, r8d
lea rdx, [0x140251dfc]
lea rcx, [rbp + 0x110]
call fcn.140005520
nop
xor esi, esi
mov dword [rsp + 0x4c], esi
call fcn.14018d2c0
lea rdx, [rax + 0x38]
cmp qword [rdx + 0x18], 8
jb 0x1400ad0c2
mov rdx, qword [rdx]
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
mov r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp word [rdx + r8*2], si
jne 0x1400ad0e1
lea rcx, [rbp + 0x130]
call fcn.140005520
nop
lea rcx, [rbp - 0x40]
call fcn.1400484a0
nop
test rbx, rbx
jne 0x1400ad112
mov r14d, 0x80010001
jmp 0x1400ae21b
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x5e0]
call qword [sym.imp.WINSPOOL.DRV_Ordinal_203]
lea r9, [rbp + 0x1c0]
mov r8, rbx
lea rdx, [rbp + 0x130]
call fcn.1400498e0
mov r12d, eax
test eax, eax
jne 0x1400ad22b
mov rdx, qword [0x1402bbf50]
mov rcx, qword [rdx]
mov rax, qword [rcx + 0x20]
mov rcx, rdx
call qword [case.0x1400136d6.0]
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0xb8]
mov rcx, rdx
call qword [case.0x1400136d6.0]
mov r15d, eax
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3d0]
call fcn.1401e7e40
mov edi, r13d
test r15d, r15d
cmovne edi, esi
lea rsi, [rbx + 8]
nop word [rax + rax]
mov rbx, qword [0x1402bc020]
call fcn.14018d2c0
mov rcx, rax
call fcn.14018c0c0
mov r8d, eax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], edi
lea rax, [rbp + 0x3d0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1c0]
mov rdx, rsi
lea rcx, [0x1402bc020]
mov rax, qword [rbx + 8]
call qword [case.0x1400136d6.0]
mov r14d, eax
test r15d, r15d
je 0x1400ad210
lea rdx, [0x140251dfc]
lea rcx, [rbp + 0x1c0]
call fcn.1401ecc18
test eax, eax
jne 0x1400ad210
inc edi
cmp edi, 2
jl 0x1400ad1a0
test r14d, r14d
jne 0x1400adffe
lea r15, [0x1402bbdb0]
mov edi, dword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
jmp 0x1400ad22f
lea rsi, [rbx + 8]
mov qword [rsp + 0x70], rsi
xor edx, edx
mov r8d, 0xb8
lea rcx, [rbp + 0x50]
call fcn.1401e7e40
mov qword [rbp + 0x58], rsi
lea rax, [rbp + 0x130]
cmp qword [rbp + 0x148], 8
cmovae rax, qword [rbp + 0x130]
mov qword [rbp + 0x60], rax
mov eax, dword [rbx + 0x3c8c]
mov dword [rbp + 0x50], eax
mov rcx, qword [0x1402bbf58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
xor eax, eax
mov ebx, eax
test r12d, r12d
sete bl
call fcn.1400d49e0
mov r9d, eax
mov dword [rsp + 0x20], ebx
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x1c0]
call fcn.14018ebb0
mov r14d, 0x8001003c
test eax, eax
mov ecx, 0
cmove r14d, ecx
jne 0x1400adffe
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400ae3fa
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rsp + 0x40], rax
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400ae405
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rbp - 0x48], rax
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400ae410
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x60]
call qword [case.0x1400136d6.0]
mov r8, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0xc0]
lea rdx, [rbp - 0x80]
mov rcx, r8
call qword [case.0x1400136d6.0]
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x40]
mov rcx, rdx
call qword [case.0x1400136d6.0]
test eax, eax
je 0x1400ad406
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x60]
call qword [case.0x1400136d6.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x70]
mov r8d, edi
mov rdx, rsi
mov rcx, r9
call qword [case.0x1400136d6.0]
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x60]
call qword [case.0x1400136d6.0]
mov r10, rax
mov rcx, qword [rax]
mov r12, qword [rsp + 0x78]
lea rdx, [r12 + 0x418]
mov rax, qword [rcx + 0x78]
mov r9d, 1
mov r8, rsi
mov rcx, r10
call qword [case.0x1400136d6.0]
jmp 0x1400ad40b
mov r12, qword [rsp + 0x78]
call fcn.1400d4ce0
test eax, eax
jne 0x1400ad452
call fcn.1400d4580
test eax, eax
jne 0x1400ad452
lea rdi, [r12 + 0x828]
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rcx, qword [0x1402bbf60]
call fcn.1400f3e50
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, qword [0x1402bbf60]
call fcn.1400f4050
jmp 0x1400ad563
lea rdi, [r12 + 0x828]
test rdi, rdi
jne 0x1400ad463
xor eax, eax
jmp 0x1400ad470
mov rax, r13
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400ad466
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140004e60
lea rcx, [rsp + 0x40]
call fcn.1400b31d0
mov r9, qword [rax]
lea rcx, [r9 - 0x18]
mov rdx, qword [rsp + 0x40]
lea rsi, [rdx - 0x18]
cmp rcx, rsi
je 0x1400ad501
cmp dword [rsi + 0x10], 0
jl 0x1400ad4eb
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x1400ad4eb
call fcn.140004d00
mov rbx, rax
mov ecx, r13d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1400ad4db
lfence
mov r8, qword [rsi]
mov rcx, qword [r8]
mov rax, qword [rcx + 8]
mov rdx, rsi
mov rcx, r8
call qword [case.0x1400136d6.0]
lea rdx, [rbx + 0x18]
mov qword [rsp + 0x40], rdx
mov rbx, qword [rsp + 0x60]
jmp 0x1400ad501
mov r8d, dword [r9 - 0x10]
mov rdx, r9
lea rcx, [rsp + 0x40]
call fcn.140004e60
mov rdx, qword [rsp + 0x40]
lea rcx, [rdx - 0x18]
lea rsi, [rbx - 0x18]
cmp rcx, rsi
je 0x1400ad568
cmp dword [rsi + 0x10], 0
jl 0x1400ad555
mov rax, qword [rsi]
cmp qword [rcx], rax
jne 0x1400ad555
call fcn.140004d00
mov rbx, rax
mov ecx, r13d
lock xadd dword [rsi + 0x10], ecx
sub ecx, 1
jg 0x1400ad54a
lfence
mov r8, qword [rsi]
mov rcx, qword [r8]
mov rax, qword [rcx + 8]
mov rdx, rsi
mov rcx, r8
call qword [case.0x1400136d6.0]
add rbx, 0x18
mov qword [rsp + 0x60], rbx
jmp 0x1400ad568
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140004e60
mov rbx, qword [rsp + 0x60]
mov r8, rbx
mov edx, 0x208
mov rcx, rdi
call fcn.1401ebfa8
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
lea rcx, [0x1400aaab0]
call fcn.1401ca984
mov rsi, rax
test rax, rax
je 0x1400ad62a
xor eax, eax
mov dword [rsi + 0x50], eax
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
xor edx, edx
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1400ad615
nop word [rax + rax]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400ad602
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor edx, edx
mov rcx, qword [rsi + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x1400ad5d0
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rax, r13
nop dword [rax]
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400ad630
test rax, rax
jne 0x1400ad65b
call fcn.14018d2c0
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
mov rcx, rdx
call qword [case.0x1400136d6.0]
test eax, eax
je 0x1400ad681
mov rax, qword [rbp - 0x48]
cmp dword [rax - 0x10], 0
jne 0x1400ad6e4
call fcn.14018d2c0
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
mov rcx, rdx
call qword [case.0x1400136d6.0]
test eax, eax
je 0x1400ad6e4
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.14004f110
test eax, eax
jne 0x1400ad6e4
mov rcx, qword [0x1402a8360]
lea rax, [0x1402a8360]
cmp rcx, rax
je 0x1400ad6de
test byte [rcx + 0x1c], 4
je 0x1400ad6de
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x2e
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
mov r14d, 0x8001003c
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ad709
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ad732
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400ad75b
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rsi, qword [rsp + 0x70]
test r14d, r14d
jne 0x1400adffe
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x1400ae41b
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [0x140251dfc]
cmp rcx, 0x10000
jae 0x1400ad7af
movzx edx, cx
lea rcx, [rsp + 0x50]
call fcn.1400041d0
jmp 0x1400ad7cd
mov rax, r13
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400ad7b2
mov r8d, eax
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.140004e60
nop
xor r14d, r14d
mov edi, r14d
lea rax, [rbp - 0x68]
mov qword [rbp - 0x18], rax
nop dword [rax + rax]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rbp - 0x68]
mov qword [rsp + 0x58], rax
mov rbx, qword [0x1402bbf50]
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], r14
lea rax, [rbp - 0x68]
mov qword [rbp - 0x10], rax
lfence
mov ecx, 0x60
call fcn.1401baa78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.140005610
mov qword [rbp - 0x10], r14
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x60]
call qword [case.0x1400136d6.0]
nop
lea rax, [rbp + 0x110]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8, qword [rsp + 0x70]
lea rdx, [rbp - 0x68]
call fcn.14013fed0
mov esi, eax
test eax, eax
je 0x1400ad9e2
cmp eax, 0x8001001b
je 0x1400ad892
inc edi
cmp edi, 0xbb8
jl 0x1400ad7e0
jmp 0x1400ad98a
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
cmp dword [rax + 0xa64], 2
jne 0x1400ad941
lea rax, [rbp - 0x58]
mov qword [rsp + 0x58], rax
mov rbx, qword [0x1402bbf50]
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r14
lea rax, [rbp - 0x58]
mov qword [rbp - 8], rax
lea rax, [rbp - 0x58]
mov qword [rbp], rax
lfence
mov ecx, 0x60
call fcn.1401baa78
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x58]
call fcn.140005610
mov qword [rbp], r14
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x60]
call qword [case.0x1400136d6.0]
nop
lea r9, [rbp + 0x110]
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x58]
call fcn.1401404f0
mov esi, eax
cmp eax, 0x8001001b
je 0x1400ad941
test eax, eax
jmp 0x1400ad988
mov rcx, qword [0x1402bbf68]
lea r9, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae r9, qword [rbp + 0x110]
mov rax, qword [rcx]
lea r8, [r12 + 0x418]
mov edx, 0x1422
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
mov ecx, r14d
cmp eax, 7
sete cl
mov dword [rsp + 0x4c], ecx
test ecx, ecx
je 0x1400ad9e2
mov rcx, qword [0x1402a8360]
lea rax, [0x1402a8360]
cmp rcx, rax
je 0x1400ad9cb
test byte [rcx + 0x1c], 4
je 0x1400ad9cb
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x35
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
mov r14d, 0x8001003c
mov rbx, qword [rsp + 0x50]
lea r12, [0x1402a8360]
jmp 0x1400adfd1
mov rbx, qword [rsp + 0x50]
mov rcx, qword [0x1402a8360]
lea rax, [0x1402a8360]
cmp rcx, rax
je 0x1400ada2d
test byte [rcx + 0x1c], 4
je 0x1400ada2d
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x2f
mov qword [rsp + 0x20], rbx
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rdx, qword [rax]
mov rcx, rax
mov rax, qword [rdx + 0x50]
call qword [case.0x1400136d6.0]
test eax, eax
je 0x1400ada69
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 0x58]
call qword [case.0x1400136d6.0]
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x68], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov r15, r14
mov qword [rbp - 0x28], r14
movdqu xmmword [rbp + 8], xmm0
mov dword [rbp + 0x18], 0xf000c
mov edi, r14d
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r8, [rbp + 8]
lea rdx, [rsp + 0x68]
mov rcx, rbx
call qword [sym.imp.WINSPOOL.DRV_OpenPrinterW]
mov r14d, eax
test eax, eax
jne 0x1400adaca
inc edi
cmp edi, 0x12c
jl 0x1400ada91
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400add01
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WINSPOOL.DRV_GetPrinterW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400adcf6
mov r9d, dword [rsp + 0x48]
test r9d, r9d
je 0x1400adcf6
mov edx, r9d
lfence
lea rcx, [rbp - 0x38]
call fcn.1400074b0
mov rbx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x48]
mov r15, qword [rbp - 0x28]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rdi, qword [rbp - 0x38]
mov r8, rdi
mov edx, 2
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WINSPOOL.DRV_GetPrinterW]
mov r14d, eax
test eax, eax
jne 0x1400adba7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x1402a8360]
lea rax, [0x1402a8360]
cmp rcx, rax
je 0x1400add05
test byte [rcx + 0x1c], 4
je 0x1400add05
lea r9, [0x1402bbdb0]
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
lea edx, [r14 + 0x30]
mov qword [rsp + 0x20], rbx
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
jmp 0x1400add05
call fcn.1400d4580
test eax, eax
jne 0x1400add05
add r12, 0x418
mov qword [rdi + 8], r12
mov rcx, qword [rsp + 0x78]
add rcx, 0xc38
mov rax, r13
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400adbd0
test rax, rax
je 0x1400adbe7
or dword [rdi + 0x68], 8
mov qword [rdi + 0x10], rcx
xor r9d, r9d
mov r8, rdi
lea edx, [r9 + 2]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.WINSPOOL.DRV_SetPrinterW]
mov r14d, eax
test eax, eax
jne 0x1400adcd1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
mov rcx, qword [0x1402a8360]
lea rdx, [0x1402a8360]
cmp rcx, rdx
je 0x1400adcaf
test byte [rcx + 0x1c], 4
je 0x1400adc74
lea r9, [0x1402bbdb0]
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
lea edx, [r14 + 0x31]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x20], rax
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
mov rcx, qword [0x1402a8360]
mov eax, dword [rsp + 0x58]
lea rdx, [0x1402a8360]
cmp rcx, rdx
je 0x1400adcaf
test byte [rcx + 0x1c], 4
je 0x1400adcaf
lea r9, [0x1402bbdb0]
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x32
mov dword [rsp + 0x20], eax
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140001b40
mov rcx, qword [0x1402bbf58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
lea rdx, [rbp + 0x5e0]
call fcn.140193f40
jmp 0x1400add1c
cmp dword [rbp - 0x6c], 0
je 0x1400adcaf
mov rcx, qword [0x1402bbf58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rdx, qword [rdi + 8]
call fcn.140193f40
jmp 0x1400add1c
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov r14d, eax
mov rdi, qword [rbp - 0x38]
add r12, 0x418
mov r8, rbx
mov edx, 0x208
mov rcx, r12
call fcn.1401ebfa8
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400add33
call qword [sym.imp.WINSPOOL.DRV_ClosePrinter]
xor eax, eax
mov qword [rsp + 0x68], rax
test r14d, r14d
je 0x1400adf3b
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
call qword [case.0x1400136d6.0]
mov rdx, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x1400136d6.0]
test eax, eax
je 0x1400ade2a
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, qword [0x1402bbf50]
cmp dword [rax + 0xa50], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x70]
je 0x1400adda8
call qword [case.0x1400136d6.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x48]
jmp 0x1400addb8
call qword [case.0x1400136d6.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x40]
mov r8, r12
mov rdx, qword [rsp + 0x70]
mov rcx, r9
call qword [case.0x1400136d6.0]
mov esi, eax
test eax, eax
jns 0x1400ade2a
mov rcx, qword [0x1402a8360]
lea r12, [0x1402a8360]
cmp rcx, r12
je 0x1400adf85
test byte [rcx + 0x1c], 4
je 0x1400adf49
lea r9, [0x1402bbdb0]
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x33
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140047db0
jmp 0x1400adf42
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
cmp dword [rax + 0xa64], 2
jne 0x1400adf2d
cmp esi, 0x8001001b
je 0x1400adf2d
mov rsi, qword [rsp + 0x78]
lea rdx, [rsi + 0x3ce8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
mov r8, r13
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400ade80
lea rcx, [rbp + 0x150]
call fcn.140005520
nop
mov rax, qword [0x1402bc150]
lea r9, [rbp + 0x150]
mov r8d, dword [rsi + 0x3ce4]
mov rdx, r12
lea rcx, [0x1402bc150]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rbp + 0x168]
cmp rdx, 8
jb 0x1400adf08
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400adf03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ae426
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rbp + 0x160], xmm0
xor ecx, ecx
mov word [rbp + 0x150], cx
mov r14d, ecx
lea r12, [0x1402a8360]
jmp 0x1400adf8b
xor ecx, ecx
mov r14d, ecx
lea r12, [0x1402a8360]
jmp 0x1400adf8b
lea r12, [0x1402a8360]
mov rcx, qword [0x1402a8360]
cmp rcx, r12
je 0x1400adf85
test byte [rcx + 0x1c], 4
je 0x1400adf85
lea r9, [0x1402bbdb0]
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x34
mov qword [rsp + 0x20], rbx
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
mov r14d, 0x8001003c
test rdi, rdi
je 0x1400adfd1
sub r15, rdi
mov rax, rdi
cmp r15, 0x1000
jb 0x1400adfb8
add r15, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ae42c
mov rdx, r15
mov rcx, rdi
call fcn.1400079c0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
xor eax, eax
mov qword [rbp - 0x28], rax
lea rdx, [rbx - 0x18]
mov rbx, qword [rsp + 0x70]
mov rsi, rbx
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jg 0x1400ae005
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
jmp 0x1400ae005
lea r12, [0x1402a8360]
test r14d, r14d
jns 0x1400ae172
cmp dword [rsp + 0x4c], 0
jne 0x1400ae179
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call qword [case.0x1400136d6.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
lea r8, [0x140252f04]
lea rdx, str.PRINTERREGISTERRESULT
mov rcx, r9
call qword [case.0x1400136d6.0]
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rdx, rax
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x40]
mov rcx, rdx
call qword [case.0x1400136d6.0]
test eax, eax
je 0x1400ae0b2
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x60]
call qword [case.0x1400136d6.0]
mov r10, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x78]
xor r9d, r9d
mov r8, rsi
lea rdx, [rbx + 0x418]
mov rcx, r10
call qword [case.0x1400136d6.0]
mov rcx, qword [0x1402bbf68]
mov rax, qword [rcx]
lea r8, [rbx + 0x418]
mov edx, 0x22
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
cmp eax, 6
jne 0x1400ae123
mov rcx, qword [0x1402a8360]
lea r15, [0x1402bbdb0]
cmp rcx, r12
je 0x1400ae1d9
test byte [rcx + 0x1c], 4
je 0x1400ae1d9
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
lea edx, [rax + 0x30]
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
jmp 0x1400ae1d2
mov rcx, qword [0x1402a8360]
lea r15, [0x1402bbdb0]
cmp rcx, r12
je 0x1400ae16b
test byte [rcx + 0x1c], 4
je 0x1400ae16b
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x37
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
mov rcx, qword [0x1402a8360]
xor esi, esi
mov r14d, esi
jmp 0x1400ae1db
cmp dword [rsp + 0x4c], 0
je 0x1400ae196
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call qword [case.0x1400136d6.0]
lea r8, [0x140252f04]
jmp 0x1400ae1b1
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x48]
call qword [case.0x1400136d6.0]
lea r8, [0x140252f48]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
lea rdx, str.PRINTERREGISTERRESULT
mov rcx, r9
call qword [case.0x1400136d6.0]
lea r15, [0x1402bbdb0]
mov rcx, qword [0x1402a8360]
xor esi, esi
mov byte [rbp + 0x178], 1
cmp rcx, r12
je 0x1400ae21b
test byte [rcx + 0x1c], 1
je 0x1400ae21b
mov r9, r15
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x38
mov dword [rsp + 0x20], r14d
lea r8, [0x14025a4d8]
mov rcx, qword [rcx + 0x10]
call fcn.140001b40
nop
lea rcx, [rbp - 0x40]
call fcn.140048610
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 8
jb 0x1400ae26b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ae266
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ae432
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rbp + 0x140], xmm0
mov word [rbp + 0x130], si
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x1400ae2c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ae2c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ae3f4
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rbp + 0x120], xmm0
mov word [rbp + 0x110], si
mov rcx, qword [rbp - 0x80]
mov rsi, qword [rcx + 8]
cmp byte [rsi + 0x19], 0
jne 0x1400ae330
nop dword [rax]
mov r8, qword [rsi + 0x10]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.140005490
mov rdi, rsi
mov rsi, qword [rsi]
lea rcx, [rdi + 0x40]
call fcn.1400048a0
lea rcx, [rdi + 0x20]
call fcn.1400048a0
mov edx, 0x60
mov rcx, rdi
call fcn.1400079c0
cmp byte [rsi + 0x19], 0
je 0x1400ae2f0
mov rcx, qword [rbp - 0x80]
mov edx, 0x60
call fcn.1400079c0
nop
lea rax, vtable.WppTrace.0
mov qword [rbp + 0x170], rax
cmp byte [rbp + 0x178], 0
jne 0x1400ae3af
mov rcx, qword [0x1402a8360]
lea rax, [0x1402a8360]
cmp rcx, rax
je 0x1400ae3af
test byte [rcx + 0x1c], 1
je 0x1400ae3af
lea r8, [rbp + 0x180]
cmp qword [rbp + 0x198], 8
cmovae r8, qword [rbp + 0x180]
cmp qword [0x1402bbdc8], 8
cmovae r15, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], r8
mov r9, r15
lea r8, [0x140252818]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
lea rcx, [rbp + 0x1a0]
call fcn.1400048a0
lea rcx, [rbp + 0x180]
call fcn.1400048a0
mov eax, r14d
mov rcx, qword [rbp + 0x9f0]
xor rcx, rsp
call fcn.1401e2900
mov rbx, qword [rsp + 0xb58]
add rsp, 0xb00
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401ec41c
nop
mov ecx, 0x80004005
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
int3