Function at 0x140006400
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rdi
sub rsp, 0x78
lea rcx, str._SBuysupplies__GetDriverFilesPath___has_called..
mov rdi, rdx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ebx, ebx
mov dword [rsp + 0x98], ebx
test rdi, rdi
je 0x1400066f4
lea rax, [rsp + 0x98]
lea r8d, [rbx + 3]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call sub.WINSPOOL.DRV_GetPrinterDriverW
mov eax, dword [rsp + 0x98]
test eax, eax
je 0x1400066f4
lea ecx, [rax + rax + 4]
mov qword [rsp + 0x68], r12
call fcn.140009cf8
xor edx, edx
mov r12, rax
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x98]
lea r8d, [rax + rax + 4]
mov rcx, r12
call fcn.14000a2c0
test r12, r12
je 0x1400066e6
lea rax, [rsp + 0x98]
lea r8d, [rbx + 3]
mov r9, r12
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x98]
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call sub.WINSPOOL.DRV_GetPrinterDriverW
test eax, eax
je 0x1400066de
mov r8, qword [r12 + 0x28]
mov qword [rsp + 0x90], rbp
mov rbp, qword [r12 + 0x38]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x30], ebx
mov esi, ebx
mov r13d, 0x1f4
mov qword [rsp + 0x40], r8
test r8, r8
je 0x14000652e
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx - 7]
lea rdi, [rcx - 1]
movsxd rdx, eax
lea rcx, [r8 + rdx*2]
lea rdx, str.du.dll
call fcn.14000abf0
test eax, eax
cmovne edi, ebx
mov qword [rsp + 0x30], rdi
cmp bx, word [rbp]
je 0x1400066cc
mov qword [rsp + 0x58], r14
mov r12, rbp
mov qword [rsp + 0x50], r15
nop word [rax + rax]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
lea r15d, [rcx + rsi - 1]
lea r14, [rcx - 1]
lea eax, [r15 - 5]
movsxd rdx, eax
lea rcx, [rbp + rdx*2]
lea rdx, str.c.xml
call fcn.14000abf0
test eax, eax
je 0x140006697
cmp dword [rsp + 0x30], 5
jg 0x140006633
lea eax, [r15 - 6]
lea rdx, str.du.dll
movsxd rcx, eax
lea rdi, [rbp + rcx*2]
mov rcx, rdi
call fcn.14000abf0
test eax, eax
je 0x140006638
lea rdx, str.gu.dll
mov rcx, rdi
call fcn.14000abf0
test eax, eax
je 0x140006638
lea rdx, str.ur.dll
mov rcx, rdi
call fcn.14000abf0
test eax, eax
je 0x140006638
lea rdx, str.sc.dll
mov rcx, rdi
call fcn.14000abf0
test eax, eax
je 0x140006638
lea rdx, str.mu.dll
mov rcx, rdi
call fcn.14000abf0
test eax, eax
je 0x140006638
test r14d, r14d
js 0x1400066b8
test r13d, r13d
js 0x1400066b8
lea esi, [r15 + 1]
dec r13d
movsxd rax, esi
lea r12, [rbp + rax*2]
cmp bx, word [r12]
jne 0x140006550
jmp 0x1400066bd
mov r12, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
lea eax, [r15 - 0xb]
movsxd rcx, eax
mov rax, qword [rbp + rcx*2]
mov qword [rdx], rax
movzx eax, word [rbp + rcx*2 + 8]
mov word [rdx + 8], ax
test rbx, rbx
je 0x1400066b8
lea eax, [r14 - 6]
mov rdx, r12
movsxd rcx, eax
lea rdi, [rcx + rcx]
mov rcx, rbx
mov r8, rdi
call fcn.14000a530
mov rax, qword [str.n.dll]
mov qword [rdi + rbx], rax
movzx eax, word [0x140014b40]
mov word [rdi + rbx + 8], ax
jmp 0x1400066b8
mov rdx, qword [rsp + 0xa0]
lea eax, [r14 + rsi - 0xa]
movsxd rcx, eax
mov rax, qword [rbp + rcx*2]
mov qword [rdx], rax
movzx eax, word [rbp + rcx*2 + 8]
mov word [rdx + 8], ax
mov ebx, 1
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x60]
mov rcx, r12
call fcn.14000a220
mov eax, ebx
mov r12, qword [rsp + 0x68]
add rsp, 0x78
pop rdi
pop rbx
ret
mov eax, ebx
add rsp, 0x78
pop rdi
pop rbx
ret