Function at 0x140038440
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov rdi, rcx
lea rax, vtable.CBaseDlgPrinterSelectDirect.0
mov qword [rcx], rax
xor r8d, r8d
lea rdx, [0x1402e91c0]
lea rcx, [rsp + 0x28]
call fcn.1400075a0
nop
lea rcx, [rdi + 0xb98]
call fcn.140035f10
mov rcx, qword [rdi + 0xc18]
test rcx, rcx
je 0x1400384b4
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test eax, eax
je 0x1400384b4
lea r8, str._t_t_tError_in_FreeLibrary___of_CDDI_SDK.dll
mov edx, 7
lea rcx, [rsp + 0x28]
call fcn.140007780
lea rcx, [rdi + 0xc20]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rcx, qword [rdi + 0xe28]
test rcx, rcx
je 0x1400384d8
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rdi + 0xb90]
xor ebp, ebp
test rcx, rcx
je 0x1400384f6
mov rax, qword [rcx]
lea edx, [rbp + 1]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rdi + 0xb90], rbp
lea rcx, [rdi + 0xbb8]
call fcn.140035f10
mov rcx, qword [rdi + 0xf10]
test rcx, rcx
je 0x14003851b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0xf10], rbp
mov rcx, qword [rdi + 0xf18]
test rcx, rcx
je 0x140038539
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rdi + 0xf18], rbp
lea r8, str.______tCBaseDlgPrinterSelectDirect::CBaseDlgSelectPrinterDirect__.
mov edx, 2
lea rcx, [rsp + 0x28]
call fcn.140007780
nop
lea rcx, [rsp + 0x28]
call fcn.140007730
nop
lea rcx, [rdi + 0xf20]
call fcn.140002440
nop
lea rcx, [rdi + 0xe30]
call fcn.14010b368
nop
mov rcx, qword [rdi + 0xbf8]
test rcx, rcx
je 0x140038586
call fcn.1401026ec
mov qword [rdi + 0xbf8], rbp
mov qword [rdi + 0xc00], rbp
mov qword [rdi + 0xc08], rbp
mov rcx, qword [rdi + 0xbd8]
test rcx, rcx
je 0x1400385ac
call fcn.1401026ec
mov qword [rdi + 0xbd8], rbp
mov qword [rdi + 0xbe0], rbp
mov qword [rdi + 0xbe8], rbp
mov rcx, qword [rdi + 0xbb8]
test rcx, rcx
je 0x1400385d2
call fcn.1401026ec
mov qword [rdi + 0xbb8], rbp
mov qword [rdi + 0xbc0], rbp
mov qword [rdi + 0xbc8], rbp
mov rcx, qword [rdi + 0xb98]
test rcx, rcx
je 0x1400385f8
call fcn.1401026ec
mov qword [rdi + 0xb98], rbp
mov qword [rdi + 0xba0], rbp
mov qword [rdi + 0xba8], rbp
lea rcx, [rdi + 0xab0]
call fcn.14010b2c4
nop
lea rcx, [rdi + 0x9b8]
lea rax, vtable.CBaseCustomPicture.0
mov qword [rcx], rax
call fcn.14010b2c4
nop
lea rcx, [rdi + 0x8e0]
call fcn.14010b368
nop
lea rcx, [rdi + 0x808]
call fcn.14010b368
nop
lea rcx, [rdi + 0x730]
call fcn.14010b368
nop
lea rcx, [rdi + 0x658]
call fcn.14010b368
nop
lea rbx, [rdi + 0x570]
mov qword [rsp + 0x68], rbx
lea rbp, vtable.CBaseCustomStatic.0
mov qword [rbx], rbp
lea rcx, [rbx + 0xd8]
lea rsi, vtable.CBrush.0
mov qword [rcx], rsi
call fcn.1400291f0
nop
mov rcx, rbx
call fcn.14010b2c4
nop
lea rbx, [rdi + 0x488]
mov qword [rsp + 0x68], rbx
mov qword [rbx], rbp
lea rcx, [rbx + 0xd8]
mov qword [rcx], rsi
call fcn.1400291f0
nop
mov rcx, rbx
call fcn.14010b2c4
nop
lea rcx, [rdi + 0x3a8]
call fcn.140117e4c
nop
lea rcx, [rdi + 0x2c8]
call fcn.1401177c4
nop
lea rcx, [rdi + 0x1f0]
call fcn.1401177c4
nop
lea rcx, [rdi + 0x118]
call fcn.1401177c4
nop
mov rcx, rdi
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
jmp fcn.140116608