Function at 0x140004890
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x220
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov r12, r8
mov rsi, rdx
mov rbp, rcx
lea rcx, [rsp + 0x30]
call fcn.140002350
nop
mov rbx, qword [0x1400ae080]
test rbx, rbx
jne 0x14000498c
mov ecx, 0x310
call fcn.1400278b8
mov rbx, rax
mov qword [rsp + 0x258], rax
test rax, rax
je 0x140004980
call fcn.14002790c
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140004910
mov ecx, 0x80004005
call fcn.140007e00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbx], rax
mov word [rbx + 0x64], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x14008a5b0]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [0x14008a5b0]
mov rcx, rbx
call fcn.140008260
lea rcx, [rbx + 8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rbx + 0x26c]
mov word [rcx], 0
lea r8, [0x14008a5b8]
mov edx, 0x50
call fcn.140052920
nop
jmp 0x140004985
xor ecx, ecx
mov rbx, rcx
mov qword [0x1400ae080], rbx
lea rdx, str.GetPrinterInfoOld__
mov rcx, rbx
call fcn.14000d860
mov r8, rsi
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140003050
test eax, eax
jne 0x1400049dc
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400049c5
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400049c5
call rax
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400049d5
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x140004af0
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x140004a83
mov rax, qword [rsp + 0x1f0]
test rax, rax
jne 0x140004a4e
test rbx, rbx
je 0x140004a36
lea rdx, str.GetPrinterInformationW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x1f0], rax
test rax, rax
jne 0x140004a4e
mov esi, 0x7f
mov dword [rsp + 0x30], esi
lea rcx, str.EWSIntf::get_printer_info:_Function_not_found_in_DLL:_GetPrinterInformationW_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x140004a87
mov esi, 6
mov dword [rsp + 0x30], esi
lea rcx, str.EWSIntf::get_printer_info:_Attempting_to_lookup_GetPrinterInformationW_with_no_DLL_handle_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x140004a87
mov rdx, r12
mov rcx, rdi
call rax
test eax, eax
setne al
test al, al
je 0x140004a83
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140004a6e
mov rcx, rdi
call rax
test rbx, rbx
je 0x140004a7c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
jmp 0x140004af0
mov esi, dword [rsp + 0x30]
or ebp, 0xffffffff
test rdi, rdi
je 0x140004ab3
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140004ab5
lea rdx, [rsp + 0x258]
mov rcx, rdi
call rax
test eax, eax
je 0x140004ab5
mov ebp, dword [rsp + 0x258]
jmp 0x140004ab5
mov ebp, esi
call fcn.14000d730
mov rcx, rax
lea r8, str.ewsinfo.get_printer_info___failed
mov edx, ebp
call fcn.14000daa0
nop
test rdi, rdi
je 0x140004ae0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140004ae0
mov rcx, rdi
call rax
test rbx, rbx
je 0x140004aee
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret