Function at 0x1400021b0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2c50
call fcn.1400a7480
sub rsp, rax
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x2c90], rbx
mov rax, qword [0x1400e2e38]
xor rax, rsp
mov qword [rsp + 0x2c40], rax
mov r14, r8
mov rdi, rdx
mov r12, rcx
xor r15d, r15d
mov rax, qword [0x1400ec150]
test rax, rax
jne 0x14000222c
mov ecx, 0x310
call fcn.140051b7c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140002222
mov rcx, rax
call fcn.140023810
jmp 0x140002225
mov rax, r15
mov qword [0x1400ec150], rax
mov r8, rdi
lea rdx, str.GetPrinterInfo__s_
mov rcx, rax
call fcn.140023be0
lea rcx, [rsp + 0x60]
call fcn.140001150
nop
mov r8, rdi
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.1400017c0
test eax, eax
jne 0x14000228d
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140002276
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x140002276
call rax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140002286
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x140002952
mov qword [rsp + 0x270], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x268], r15
mov byte [rsp + 0x258], 0
mov qword [rsp + 0x298], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x290], r15
mov byte [rsp + 0x280], 0
xor r8d, r8d
lea edx, [r8 + 0x1d]
lea rcx, [rsp + 0x278]
call fcn.140006a80
lea rcx, [rsp + 0x280]
mov rdx, qword [rsp + 0x298]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0x280]
mov r9d, 0x1d
lea r8, str._DevMgmt_ProductConfigDyn.xml
call fcn.14007d8e0
mov qword [rsp + 0x290], 0x1d
lea rax, [rsp + 0x280]
cmp qword [rsp + 0x298], 0x10
cmovae rax, qword [rsp + 0x280]
mov byte [rax + 0x1d], 0
lea r13, [rsp + 0x280]
cmp qword [rsp + 0x298], 0x10
cmovae r13, qword [rsp + 0x280]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
test rbp, rbp
je 0x14000257c
mov rdi, qword [rsp + 0xe0]
test rdi, rdi
jne 0x1400023c5
test rbx, rbx
je 0x1400023ab
lea rdx, str.GetPage
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [rsp + 0xe0], rax
test rax, rax
jne 0x1400023c5
mov dword [rsp + 0x60], 0x7f
lea rcx, str.EWSIntf::get_page:_Function_not_found_in_DLL:_GetPage_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x14000257c
mov dword [rsp + 0x60], 6
lea rcx, str.EWSIntf::get_page:_Attempting_to_lookup_GetPage_with_no_DLL_handle_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x14000257c
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 0x800
mov edx, 0x10000
lea rcx, [rsp + 0x38]
call fcn.140001090
mov rsi, qword [rsp + 0x38]
cmp al, 1
jne 0x14000256f
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, [rsp + 0x2a0]
mov rdx, r13
mov rcx, rbp
call rdi
test eax, eax
je 0x14000256f
mov eax, dword [rsp + 0x30]
mov qword [rsp + 0x40], rax
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
lea rdi, [rcx - 1]
lea rax, [rsp + 0x258]
mov r8, qword [rsp + 0x258]
mov r10, qword [rsp + 0x270]
cmp r10, 0x10
cmovae rax, r8
cmp rsi, rax
jb 0x1400024be
lea rcx, [rsp + 0x258]
cmp r10, 0x10
cmovae rcx, r8
mov rax, qword [rsp + 0x268]
add rcx, rax
cmp rcx, rsi
jbe 0x1400024be
lea rax, [rsp + 0x258]
cmp r10, 0x10
cmovae rax, r8
mov r8, rsi
sub r8, rax
mov r9, rdi
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x250]
call fcn.140006670
jmp 0x14000256f
cmp rdi, 0xfffffffffffffffe
jbe 0x1400024c9
call fcn.1400a51a0
cmp qword [rsp + 0x270], rdi
jae 0x1400024ed
mov r8, qword [rsp + 0x268]
mov rdx, rdi
lea rcx, [rsp + 0x250]
call fcn.140006a80
jmp 0x140002519
test rdi, rdi
jne 0x140002519
mov qword [rsp + 0x268], r15
lea rax, [rsp + 0x258]
cmp qword [rsp + 0x270], 0x10
cmovae rax, qword [rsp + 0x258]
mov byte [rax], dil
jmp 0x14000256f
test rdi, rdi
je 0x14000256f
lea rcx, [rsp + 0x258]
mov r10, qword [rsp + 0x270]
cmp r10, 0x10
cmovae rcx, qword [rsp + 0x258]
mov r9, rdi
mov r8, rsi
mov rdx, r10
call fcn.14007d8e0
mov qword [rsp + 0x268], rdi
lea rax, [rsp + 0x258]
cmp qword [rsp + 0x270], 0x10
cmovae rax, qword [rsp + 0x258]
mov byte [rax + rdi], 0
test rsi, rsi
je 0x14000257c
mov rcx, rsi
call fcn.140051bc8
cmp qword [rsp + 0x268], 0
jne 0x14000261f
cmp qword [rsp + 0x298], 0x10
jb 0x1400025a3
mov rcx, qword [rsp + 0x280]
call fcn.140051bc8
mov qword [rsp + 0x298], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x290], r15
mov byte [rsp + 0x280], 0
cmp qword [rsp + 0x270], 0x10
jb 0x1400025d7
mov rcx, qword [rsp + 0x258]
call fcn.140051bc8
mov qword [rsp + 0x270], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x268], r15
mov byte [rsp + 0x258], 0
test rbp, rbp
je 0x14000260a
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x14000260a
mov rcx, rbp
call rax
test rbx, rbx
je 0x140002618
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x140002952
xor edx, edx
mov r8d, 0x240
mov rcx, r14
call fcn.140082240
mov word [rsp + 0x530], 0
xor edx, edx
mov r8d, 0x270e
lea rcx, [rsp + 0x532]
call fcn.140082240
lea rdi, [rsp + 0x258]
cmp qword [rsp + 0x270], 0x10
cmovae rdi, qword [rsp + 0x258]
xor edx, edx
mov r8d, 0x1000
lea rsi, [0x1400ed3a0]
mov rcx, rsi
call fcn.140082240
mov dword [rsp + 0x28], 0x1000
mov qword [rsp + 0x20], rsi
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], 0x1388
lea rax, [rsp + 0x530]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, str.prdcfgdyn:ProductInformation
mov rdx, rsi
mov rcx, r12
call fcn.1400015c0
test eax, eax
jne 0x140002766
cmp qword [rsp + 0x298], 0x10
jb 0x1400026ea
mov rcx, qword [rsp + 0x280]
call fcn.140051bc8
mov qword [rsp + 0x298], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x290], r15
mov byte [rsp + 0x280], 0
cmp qword [rsp + 0x270], 0x10
jb 0x14000271e
mov rcx, qword [rsp + 0x258]
call fcn.140051bc8
mov qword [rsp + 0x270], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x268], r15
mov byte [rsp + 0x258], 0
test rbp, rbp
je 0x140002751
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x140002751
mov rcx, rbp
call rax
test rbx, rbx
je 0x14000275f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x140002952
mov edi, r15d
nop
nop
mov word [rsp + 0x330], 0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rsp + 0x332]
call fcn.140082240
mov dword [rsp + 0x28], pe_nt_image_headers64
lea rax, [rsp + 0x330]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, str.dd:BoardTypeEnum
lea rdx, [rsp + 0x530]
mov rcx, r12
call fcn.1400015c0
mov esi, eax
lea rdx, str.systemcontrol
lea rcx, [rsp + 0x330]
call fcn.1400227f0
test eax, eax
jne 0x1400027e0
add edi, 1
cmp esi, 1
je 0x140002770
lea rax, [r14 + 0x1f0]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rax
mov r9d, edi
lea r8, str.dd:ModelNumber
lea rdx, [rsp + 0x530]
mov rcx, r12
call fcn.1400015c0
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], r14
xor r9d, r9d
lea r8, str.dd:MakeAndModel
lea rdx, [rsp + 0x530]
mov rcx, r12
call fcn.1400015c0
lea rdx, [r14 + 0x150]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea r8, str.dd:ProductNumber
lea rdx, [rsp + 0x530]
mov rcx, r12
call fcn.1400015c0
lea rdx, [r14 + 0x100]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea r8, str.dd:SerialNumber
lea rdx, [rsp + 0x530]
mov rcx, r12
call fcn.1400015c0
lea rdx, [r14 + 0x1a0]
mov dword [rsp + 0x28], 0x28
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea r8, str.dd:ServiceID
lea rdx, [rsp + 0x530]
mov rcx, r12
call fcn.1400015c0
nop
cmp qword [rsp + 0x298], 0x10
jb 0x1400028d8
mov rcx, qword [rsp + 0x280]
call fcn.140051bc8
mov qword [rsp + 0x298], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x290], r15
mov byte [rsp + 0x280], 0
cmp qword [rsp + 0x270], 0x10
jb 0x14000290c
mov rcx, qword [rsp + 0x258]
call fcn.140051bc8
mov qword [rsp + 0x270], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x268], r15
mov byte [rsp + 0x258], 0
test rbp, rbp
je 0x14000293f
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x14000293f
mov rcx, rbp
call rax
test rbx, rbx
je 0x14000294d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
mov rcx, qword [rsp + 0x2c40]
xor rcx, rsp
call fcn.14007d3d0
mov rbx, qword [rsp + 0x2c90]
add rsp, 0x2c50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret