Function at 0x434588
Capabilities:
Check if file exists
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x4fa550]
sub esp, 0xc10
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x434ce4
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x434a8f
je 0x434722
cmp eax, 0xfffffe34
je 0x4348de
cmp eax, 0xfffffe35
je 0x4347f5
cmp eax, 0xfffffe36
je 0x43472e
cmp eax, 0xfffffe39
je 0x434641
cmp eax, 0xfffffe3a
je 0x434722
cmp eax, 0xfffffe3d
jne 0x434ce4
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp eax, edi
je 0x43462b
mov ecx, dword [esi + 0x14]
push eax
push dword [ebp + 0xc]
mov dword [0x4fac68], ecx
push 0x8001
push dword [0x4fa548]
mov dword [0x4fac6c], eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x4fa550]
push 1
push edi
push edi
push ecx
mov dword [0x4fa528], edi
call dword [sym.imp.USER32.dll_SetScrollPos]
jmp 0x434ce4
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x434722
push eax
call fcn.0042ebfb
mov edi, eax
test edi, edi
je 0x434722
mov esi, dword [esi + 0xc]
push 4
pop ebx
cmp dword [0x506fb4], ebx
jl 0x4346ac
push dword [edi + 8]
push dword [0x4fa550]
call fcn.004270ee
lea ecx, [edi + 0xcf6]
cmp word [ecx], 0
jne 0x434689
mov ecx, 0x449cbc
push dword [edi + 0x81c]
push ecx
push eax
push dword [edi + 0xff4]
push esi
call fcn.00442d9e
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push ebx
call fcn.004452a3
add esp, 0x1c
cmp esi, 2
jne 0x4346bd
mov dword [edi + 0xff4], 1
jmp 0x4346ee
cmp esi, 1
jne 0x4346cb
and dword [edi + 0xff4], 0
jmp 0x4346ee
cmp esi, 3
jne 0x4346e6
push dword [edi + 8]
push dword [0x4fa550]
call fcn.004270ee
mov dword [edi + 0xff4], eax
jmp 0x4346ee
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.pTNI__bLastExpandManuallytrue
push ebx
mov dword [edi + 0xff8], 1
call fcn.004452a3
cmp dword [0x4fc9b8], 0
pop ecx
pop ecx
jne 0x434722
mov eax, dword [edi + 0x10]
cmp eax, 9
je 0x43471b
cmp eax, 0xa
jne 0x434722
mov ecx, edi
call fcn.00407076
and dword [0x4fa528], 0
jmp 0x434ce4
mov esi, dword [esi + 0x14]
push 4
pop ebx
cmp dword [0x506fb4], ebx
jl 0x43474b
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push ebx
call fcn.004452a3
add esp, 0xc
push esi
call fcn.0042ebfb
mov edi, eax
test edi, edi
je 0x434ce4
cmp dword [0x506fb4], ebx
jl 0x4347ae
lea eax, [edi + 0xcf6]
cmp word [eax], 0
jne 0x434774
mov eax, 0x449cbc
push eax
push dword [edi + 0x81c]
push str.__s_at__s
push ebx
call fcn.004452a3
add esp, 0x10
cmp dword [0x506fb4], ebx
jl 0x4347ae
push dword [edi + 8]
push dword [0x4fa550]
call fcn.0042fc7a
push eax
push str._txt_s
push ebx
call fcn.004452a3
add esp, 0xc
cmp esi, dword [0x4fac6c]
jne 0x4347bd
and dword [0x4fac6c], 0
cmp edi, dword [0x4fc9cc]
jne 0x4347e4
lea eax, [edi + 0xc58]
mov ecx, dword [eax]
test ecx, ecx
je 0x434ce4
and dword [eax], 0
push ecx
call fcn.0043f70d
pop ecx
jmp 0x434ce4
mov ecx, dword [0x4fc948]
push edi
call fcn.0040c190
jmp 0x434ce4
push dword [esi + 0x10]
call fcn.0042ebfb
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x4348c2
push dword [esi + 0xfc0]
mov ecx, dword [0x4fc94c]
call fcn.004011ae
test eax, eax
je 0x4348c2
cmp dword [esi + 0x10], 6
jl 0x4348c2
push edi
push edi
push 0x110f
push dword [0x4fa550]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x42d203
push 0xfffffffffffffffc
push eax
mov dword [0x4fa588], eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x4fa62c], eax
mov eax, dword [esi + 0xfc0]
lea ecx, [eax + 0x1634]
cmp word [ecx], di
jne 0x43489a
mov ecx, dword [0x492a6c]
sub ecx, edi
je 0x434889
dec ecx
je 0x434881
dec ecx
jne 0x4348a7
add esi, 0xa5c
push esi
jmp 0x43489b
add esi, 0x860
jmp 0x43487e
lea ecx, [eax + 0x1734]
cmp word [ecx], di
jne 0x43489a
lea ecx, [eax + 0x1834]
push ecx
push dword [0x4fa588]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x4fb520
push dword [0x4fa588]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x434ce4
push edi
push 1
push 0x1116
push dword [0x4fa550]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
inc eax
jmp 0x434ce6
cmp dword [esi + 0x1c], 0
je 0x434ce4
push str.lblendedit
push 0
push 0x7f02
call fcn.0042ed07
push dword [esi + 0x10]
call fcn.0042ebfb
mov dword [ebp + 8], eax
test eax, eax
je 0x434a72
mov ecx, dword [0x4fc94c]
mov edi, eax
add edi, 0xfc0
push dword [edi]
call fcn.004011ae
test eax, eax
je 0x434a72
mov edi, dword [edi]
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
push str.Device_Parameters
lea eax, [edi + 0xe34]
push eax
push str.SystemCurrentControlSetEnum
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x410]
push 0x44a07c
push eax
call ebx
mov eax, dword [esi + 0x1c]
add esp, 0x14
cmp word [eax], 0
jne 0x434996
push str.CustomName
lea eax, [ebp - 0x410]
push eax
push 0x80000002
call fcn.004252bf
test eax, eax
jne 0x434988
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x434a42
xor eax, eax
mov word [edi + 0x1634], ax
jmp 0x434a36
push 0x4fb520
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x434a72
push dword [esi + 0x1c]
add edi, 0x1634
push edi
mov dword [ebp + 0xc], edi
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x434a72
push dword [esi + 0x1c]
lea eax, [ebp - 0x410]
push str.CustomName
push eax
mov edi, 0x80000002
push edi
call fcn.0042518a
test eax, eax
je 0x434a42
push dword [ebp + 0x10]
lea eax, [ebp - 0x410]
push str.SystemCurrentControlSetEnum
push 0x449ea0
push eax
call ebx
add esp, 0x10
push dword [esi + 0x1c]
lea eax, [ebp - 0x410]
push str.FriendlyName
push eax
push edi
call fcn.0042518a
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.004452a3
add esp, 0xc
push dword [esi + 0x1c]
mov dword [esi + 0xc], 0x11
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp + 8]
push 1
call fcn.0040a1f8
jmp 0x434a72
call fcn.00442f0e
push eax
lea eax, [ebp - 0xc10]
push str.Error__S_writing_to_registry
push eax
call ebx
add esp, 0xc
push 0x30
push str.Set_name_failed
lea eax, [ebp - 0xc10]
push eax
push dword [0x4fa548]
call fcn.0044613a
and dword [0x4fa588], 0
push str.lblendedit
push 0
push 0x7f00
call fcn.0042ed07
jmp 0x434ce4
cmp eax, 0xfffffe62
je 0x434c86
cmp eax, 0xfffffe64
je 0x434c30
cmp eax, 0xfffffff4
je 0x434b0e
cmp eax, 0xfffffff8
je 0x434afd
cmp eax, 0xfffffffb
jne 0x434ce4
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 8
push 0x110a
mov edi, 0x3e8
push edi
push dword [ebp + 8]
call esi
mov dword [ebp + 0x10], eax
test eax, eax
je 0x434ce4
push eax
push 9
mov ebx, 0x110b
push ebx
push edi
push dword [ebp + 8]
call esi
push dword [ebp + 0x10]
push 8
push ebx
push edi
push dword [ebp + 8]
call esi
jmp 0x434ce4
push dword [0x4fac6c]
push ecx
call fcn.0042de95
jmp 0x434ce4
mov eax, dword [esi + 0xc]
dec eax
je 0x434bff
sub eax, 0x10000
jne 0x434ce4
mov edi, dword [esi + 0x24]
push 5
pop ebx
cmp dword [0x506fb4], ebx
jl 0x434b43
push dword [esi + 0x28]
push edi
push str.CDDS_ITEMPREPAINT_hTreeItem0x_08Ix_pCustomDraw__nmcd.uItemState0x_02X
push ebx
call fcn.004452a3
add esp, 0x10
test edi, edi
je 0x434ce4
push edi
call fcn.0042ebfb
mov edi, eax
push edi
call fcn.00406fb4
test eax, eax
je 0x434ce4
cmp dword [edi + 8], 0
je 0x434ce4
cmp dword [0x506fb4], ebx
jl 0x434b8e
push dword [edi + 0x81c]
lea eax, [edi + 0xcf6]
push eax
push str.__s____s
push ebx
call fcn.004452a3
add esp, 0x10
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x34]
push eax
push dword [esi + 0x28]
push edi
call fcn.00431669
test eax, eax
je 0x434ce4
cmp dword [0x4f9f50], ebx
jne 0x434bba
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4fa528], eax
cmp dword [0x4f9f68], 0x500
jbe 0x434bfb
cmp dword [0x4fa538], 0
jne 0x434bfb
push 1
push dword [0x4fa548]
call fcn.00425c27
mov eax, dword [0x492a48]
push 0x42ce1e
add eax, 0x64
push eax
push 0x92025971
push dword [0x4fa548]
call dword [sym.imp.USER32.dll_SetTimer]
push 2
jmp 0x434c20
push 5
pop ebx
cmp dword [0x506fb4], ebx
jl 0x434c1e
push dword [esi + 0x28]
push dword [esi + 0x24]
push str.CDDS_PREPAINT_hTreeItem0x_08Ix_pCustomDraw__nmcd.uItemState0x_02X
push ebx
call fcn.004452a3
add esp, 0x10
push 0x20
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x4348d6
cmp word [esi + 0xc], 0x71
jne 0x434ce4
push dword [0x4fac6c]
call fcn.0042ebfb
mov esi, eax
test esi, esi
je 0x434ce4
push dword [esi + 0xfc0]
mov ecx, dword [0x4fc94c]
call fcn.004011ae
test eax, eax
je 0x434ce4
cmp dword [esi + 0x10], 6
jl 0x434ce4
push dword [0x4fac6c]
push 0
push 0x1141
push dword [0x4fa550]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x434ce4
and dword [ebp - 0x10], 0
mov ebx, dword [esi + 0x14]
xor eax, eax
lea edi, [ebp - 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0x1111
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call fcn.0042ebfb
xor edi, edi
add esi, 0xc
cmp eax, edi
je 0x434cca
add eax, 0xc5c
cmp byte [eax], 0
je 0x434cca
push eax
push dword [esi]
call fcn.0042a26f
jmp 0x434ccc
mov dword [esi], edi
cmp dword [esi], edi
je 0x434ce4
cmp dword [0x4fa538], edi
jne 0x434ce4
push edi
push dword [0x4fa548]
call fcn.00425c27
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc