Function at 0x431f80
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x588c5a
mov eax, dword fs:[0]
push eax
sub esp, 0x540
mov eax, dword [0x5eb770]
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
push str.CUNINSTALLERDlg::SetPrinterList
push ebx
lea ecx, [ebp - 0x4a4]
call fcn.0044ca70
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.00461e32
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x431ff9
push 0x80004005
call fcn.004025a0
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.00461e32
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x432029
push 0x80004005
call fcn.004025a0
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.00461e32
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x432059
push 0x80004005
call fcn.004025a0
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.00461d28
cmp eax, ebx
je 0x432088
push 0x15
push eax
lea ecx, [ebp - 0x48c]
call fcn.004035f0
push 0x16
call fcn.00461d28
cmp eax, ebx
je 0x4320a1
push 0x16
push eax
lea ecx, [ebp - 0x494]
call fcn.004035f0
push 0x17
call fcn.00461d28
cmp eax, ebx
je 0x4320ba
push 0x17
push eax
lea ecx, [ebp - 0x498]
call fcn.004035f0
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.0055ca80
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 0x432349
push 0x206
lea eax, [ebp - 0x216]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x218], dx
call fcn.0055ca80
mov eax, 0xffffffe3
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], eax
mov ecx, SysReAllocString
mov eax, 0xffffff5c
add esp, 0xc
test byte [0x60aea0], 1
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
jne 0x432218
or dword [0x60aea0], 1
mov byte [ebp - 4], 4
call fcn.00458180
push 0x58b2e0
call fcn.005597b9
add esp, 4
mov byte [ebp - 4], 3
test dword [0x60ac7c], 0x800
je 0x432289
push 0x206
lea edx, [ebp - 0x41e]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x420], cx
call fcn.0055ca80
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 0x432295
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.0046ee76
cmp dword [edi + 0x154], 1
mov ecx, eax
mov dword [ebp - 0x49c], ecx
lea esi, [edi + 0x148]
jne 0x4322f9
mov eax, dword [ebp - 0x490]
push 1
push eax
push esi
mov edx, ebx
call fcn.00411190
add esp, 0xc
test esi, esi
jne 0x4322e5
mov ecx, dword [edi + 0xb4]
push esi
push 1
push 0x1003
push ecx
jmp 0x432323
mov esi, dword [esi + 4]
mov ecx, dword [edi + 0xb4]
push esi
push 1
push 0x1003
push ecx
jmp 0x432323
mov edx, dword [ebp - 0x490]
push 0
push edx
push esi
mov edx, ebx
call fcn.00411190
add esp, 0xc
test esi, esi
je 0x432314
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.0046e139
mov eax, dword [ebp - 0x49c]
test eax, eax
je 0x432347
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
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 0x432364
mov ecx, edi
call fcn.00432490
push 0x5b69a4
lea eax, [ebp - 0x4a4]
push 2
push eax
call fcn.0044cd10
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 0x432415
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 0x43243b
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 0x432461
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.0044cc70
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.0055649d
mov esp, ebp
pop ebp
ret