Function at 0x4352d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56878c
mov eax, dword fs:[0]
push eax
sub esp, 0x540
mov eax, dword [0x5c0490]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
push ebx
lea eax, [ebp - 0x4a4]
push str.CUNINSTALLERDlg::SetPrinterList
push eax
call fcn.00401190
add esp, 0xc
mov dword [ebp - 4], ebx
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x484], ebx
mov dword [ebp - 0x480], ebx
mov dword [ebp - 0x47c], ebx
call fcn.00448c3f
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x435349
push 0x80004005
call fcn.00404160
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x48c], eax
mov byte [ebp - 4], 1
call fcn.00448c3f
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x435379
push 0x80004005
call fcn.00404160
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 2
call fcn.00448c3f
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4353a9
push 0x80004005
call fcn.00404160
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x498], eax
push 0x15
mov byte [ebp - 4], 3
call fcn.00448b35
cmp eax, ebx
je 0x4353d8
push 0x15
push eax
lea ecx, [ebp - 0x48c]
call fcn.00405160
push 0x16
call fcn.00448b35
cmp eax, ebx
je 0x4353f1
push 0x16
push eax
lea ecx, [ebp - 0x494]
call fcn.00405160
push 0x17
call fcn.00448b35
cmp eax, ebx
je 0x43540a
push 0x17
push eax
lea ecx, [ebp - 0x498]
call fcn.00405160
mov ecx, dword [ebp - 0x48c]
mov edx, dword [ebp - 0x494]
mov eax, dword [ebp - 0x498]
push 0x6c
mov dword [ebp - 0x548], ecx
lea ecx, [ebp - 0x53c]
push ebx
push ecx
mov dword [ebp - 0x544], edx
mov dword [ebp - 0x540], eax
call fcn.00541d20
add esp, 0xc
cmp dword [edi + 0x150], 1
mov dword [ebp - 0x430], 0x14
mov dword [ebp - 0x42c], 9
mov dword [ebp - 0x428], 8
mov dword [ebp - 0x424], 3
jne 0x43566d
push 0x206
lea eax, [ebp - 0x216]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x218], dx
call fcn.00541d20
mov eax, 0xffffffe3
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], eax
mov ecx, SysReAllocString
mov eax, 0xffffff5c
add esp, 0xc
mov dword [ebp - 0x478], 0xffffffef
mov dword [ebp - 0x474], 0xffffff74
mov dword [ebp - 0x470], 0xffffff73
mov dword [ebp - 0x46c], 0xffffff58
mov dword [ebp - 0x468], 0xffffff57
mov dword [ebp - 0x464], 0xffffff56
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x454], 0xffffffcd
mov dword [ebp - 0x450], 0xffffffcb
mov dword [ebp - 0x44c], 0xffffffcc
mov dword [ebp - 0x448], 0xffffffcf
mov dword [ebp - 0x444], 0xffffffce
mov dword [ebp - 0x440], 0xffffffd0
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
call fcn.00414850
cmp eax, 0xa
jne 0x4355ad
push 0x206
lea edx, [ebp - 0x41e]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x420], cx
call fcn.00541d20
add esp, 0xc
push 0x104
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push str.IMAGERES.DLL
lea ecx, [ebp - 0x420]
push ecx
lea edx, [ebp - 0x218]
push str._s_s
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x454]
add esp, 0x10
lea ebx, [ebp - 0x218]
mov dword [ebp - 0x490], eax
jmp 0x4355b9
lea ecx, [ebp - 0x478]
mov dword [ebp - 0x490], ecx
mov edx, dword [edi + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.00455818
cmp dword [edi + 0x154], 1
mov ecx, eax
mov dword [ebp - 0x49c], ecx
lea esi, [edi + 0x148]
jne 0x43561d
mov eax, dword [ebp - 0x490]
push 1
push eax
push esi
mov edx, ebx
call fcn.004149c0
add esp, 0xc
test esi, esi
jne 0x435609
mov ecx, dword [edi + 0xb4]
push esi
push 1
push 0x1003
push ecx
jmp 0x435647
mov esi, dword [esi + 4]
mov ecx, dword [edi + 0xb4]
push esi
push 1
push 0x1003
push ecx
jmp 0x435647
mov edx, dword [ebp - 0x490]
push 0
push edx
push esi
mov edx, ebx
call fcn.004149c0
add esp, 0xc
test esi, esi
je 0x435638
mov esi, dword [esi + 4]
mov eax, dword [edi + 0xb4]
push esi
push 0
push 0x1003
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00454aee
mov eax, dword [ebp - 0x49c]
test eax, eax
je 0x43566b
mov ecx, dword [eax + 4]
mov edx, dword [edi + 0x20]
push ecx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
xor ebx, ebx
mov ecx, dword [edi + 0xb4]
lea eax, [ebp - 0x488]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
xor esi, esi
mov ebx, 0xf
jmp 0x435690
mov ecx, dword [ebp - 0x480]
sub ecx, dword [ebp - 0x488]
mov edx, dword [ebp + esi*4 - 0x548]
mov dword [ebp - 0x4c4], edx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, dword [ebp + esi*4 - 0x42c]
mov edx, dword [edi + 0xb4]
lea ecx, [ebp - 0x4d0]
push ecx
push esi
push 0x1061
push edx
mov dword [ebp - 0x4d0], ebx
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4bc], esi
mov dword [ebp - 0x4c8], eax
call dword [sym.imp.USER32.dll_SendMessageW]
inc esi
cmp esi, 3
jl 0x435690
mov ecx, edi
call fcn.004357c0
push 0x5988ec
lea eax, [ebp - 0x4a4]
push 2
push eax
call fcn.00401410
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x498]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x435741
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x494]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x435767
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x48c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43578d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 4], 0xffffffff
call fcn.00401370
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053ca73
mov esp, ebp
pop ebp
ret