Function at 0x4373ed
Capabilities:
Check for time delay via gettickcount
Check if file exists
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x5010c4]
sub esp, 0xc18
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
cmp dword [esi], ecx
jne 0x437c0d
mov eax, dword [esi + 8]
mov edx, 0xfffffe3e
cmp eax, edx
ja 0x4378f3
je 0x437587
cmp eax, 0xfffffe34
je 0x437742
cmp eax, 0xfffffe35
je 0x437659
cmp eax, 0xfffffe36
je 0x437593
cmp eax, 0xfffffe39
je 0x4374a6
cmp eax, 0xfffffe3a
je 0x437587
cmp eax, 0xfffffe3d
jne 0x437c0d
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp eax, edi
je 0x437490
mov ecx, dword [esi + 0x14]
push eax
push dword [ebp + 0xc]
mov dword [0x501814], ecx
push 0x8001
push dword [0x5010bc]
mov dword [0x501818], eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x5010c4]
push 1
push edi
push edi
push ecx
mov dword [0x501090], edi
call dword [sym.imp.USER32.dll_SetScrollPos]
jmp 0x437c0d
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x437587
push eax
call fcn.004308cc
mov edi, eax
test edi, edi
je 0x437587
mov esi, dword [esi + 0xc]
push 4
pop ebx
cmp dword [0x50da14], ebx
jl 0x437511
push dword [edi + 8]
push dword [0x5010c4]
call fcn.00428a17
lea ecx, [edi + 0xd0a]
cmp word [ecx], 0
jne 0x4374ee
mov ecx, 0x44d044
push dword [edi + 0x820]
push ecx
push eax
push dword [edi + 0xff8]
push esi
call fcn.00445c52
push eax
push str.TVN_ITEMEXPANDED__S_pTNI__bExp_u__u___s____s
push ebx
call fcn.004487a4
add esp, 0x1c
cmp esi, 2
jne 0x437522
mov dword [edi + 0xff8], 1
jmp 0x437553
cmp esi, 1
jne 0x437530
and dword [edi + 0xff8], 0
jmp 0x437553
cmp esi, 3
jne 0x43754b
push dword [edi + 8]
push dword [0x5010c4]
call fcn.00428a17
mov dword [edi + 0xff8], eax
jmp 0x437553
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
push str.pTNI__bLastExpandManuallytrue
inc esi
push ebx
mov dword [edi + 0xffc], esi
call fcn.004487a4
cmp dword [0x50356c], 0
pop ecx
pop ecx
jne 0x437587
mov eax, dword [edi + 0x10]
cmp eax, 9
je 0x43757f
cmp eax, 0xa
jne 0x437587
push esi
mov ecx, edi
call fcn.0040a7ba
and dword [0x501090], 0
jmp 0x437c0d
mov esi, dword [esi + 0x14]
push 4
pop ebx
cmp dword [0x50da14], ebx
jl 0x4375b0
push esi
push str.TVN_DELETEITEM_hti0x_08Ix
push ebx
call fcn.004487a4
add esp, 0xc
push esi
call fcn.004308cc
mov edi, eax
test edi, edi
je 0x437c0d
cmp dword [0x50da14], ebx
jl 0x437613
lea eax, [edi + 0xd0a]
cmp word [eax], 0
jne 0x4375d9
mov eax, 0x44d044
push eax
push dword [edi + 0x820]
push str.__s_at__s
push ebx
call fcn.004487a4
add esp, 0x10
cmp dword [0x50da14], ebx
jl 0x437613
push dword [edi + 8]
push dword [0x5010c4]
call fcn.00431a70
push eax
push str._txt_s
push ebx
call fcn.004487a4
add esp, 0xc
cmp esi, dword [0x501818]
jne 0x437622
and dword [0x501818], 0
cmp edi, dword [0x503580]
jne 0x437648
lea eax, [edi + 0xc6c]
mov ecx, dword [eax]
test ecx, ecx
je 0x437c0d
and dword [eax], 0
push ecx
call fcn.00442f64
jmp 0x437b20
mov ecx, dword [0x5034f8]
push edi
call fcn.0040c983
jmp 0x437c0d
push dword [esi + 0x10]
call fcn.004308cc
mov esi, eax
xor edi, edi
cmp esi, edi
je 0x437726
push dword [esi + 0xfcc]
mov ecx, dword [0x5034fc]
call fcn.0040121c
test eax, eax
je 0x437726
cmp dword [esi + 0x10], 6
jl 0x437726
push edi
push edi
push 0x110f
push dword [0x5010c4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x42ed4d
push 0xfffffffffffffffc
push eax
mov dword [0x5010fc], eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x5011d8], eax
mov eax, dword [esi + 0xfcc]
lea ecx, [eax + 0x1638]
cmp word [ecx], di
jne 0x4376fe
mov ecx, dword [0x498b0c]
sub ecx, edi
je 0x4376ed
dec ecx
je 0x4376e5
dec ecx
jne 0x43770b
add esi, 0xa68
push esi
jmp 0x4376ff
add esi, 0x864
jmp 0x4376e2
lea ecx, [eax + 0x1738]
cmp word [ecx], di
jne 0x4376fe
lea ecx, [eax + 0x1838]
push ecx
push dword [0x5010fc]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfe
push 0x5020d0
push dword [0x5010fc]
call dword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x437c0d
push edi
push 1
push 0x1116
push dword [0x5010c4]
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
inc eax
jmp 0x437c0f
cmp dword [esi + 0x1c], 0
je 0x437c0d
push str.lblendedit
push 0
push 0x7f02
call fcn.004309d8
push dword [esi + 0x10]
call fcn.004308cc
mov dword [ebp + 8], eax
test eax, eax
je 0x4378d6
mov ecx, dword [0x5034fc]
mov edi, eax
add edi, 0xfcc
push dword [edi]
call fcn.0040121c
test eax, eax
je 0x4378d6
mov edi, dword [edi]
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
push str.Device_Parameters
lea eax, [edi + 0xe38]
push eax
push str.SystemCurrentControlSetEnum
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x418]
push 0x44d3fc
push eax
call ebx
mov eax, dword [esi + 0x1c]
add esp, 0x14
cmp word [eax], 0
jne 0x4377fa
push str.CustomName
lea eax, [ebp - 0x418]
push eax
push 0x80000002
call fcn.00426a37
test eax, eax
jne 0x4377ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x4378a6
xor eax, eax
mov word [edi + 0x1638], ax
jmp 0x43789a
push 0x5020d0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x4378d6
push dword [esi + 0x1c]
add edi, 0x1638
push edi
mov dword [ebp + 0xc], edi
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x4378d6
push dword [esi + 0x1c]
lea eax, [ebp - 0x418]
push str.CustomName
push eax
mov edi, 0x80000002
push edi
call fcn.00426902
test eax, eax
je 0x4378a6
push dword [ebp + 0x10]
lea eax, [ebp - 0x418]
push str.SystemCurrentControlSetEnum
push 0x44d220
push eax
call ebx
add esp, 0x10
push dword [esi + 0x1c]
lea eax, [ebp - 0x418]
push str.FriendlyName
push eax
push edi
call fcn.00426902
push dword [esi + 0x1c]
push str.CustomName__s_set
push 3
call fcn.004487a4
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.0040a7ba
jmp 0x4378d6
call fcn.00445dc2
push eax
lea eax, [ebp - 0xc18]
push str.Error__S_writing_to_registry
push eax
call ebx
add esp, 0xc
push 0x30
push str.Set_name_failed
lea eax, [ebp - 0xc18]
push eax
push dword [0x5010bc]
call fcn.0044961d
and dword [0x5010fc], 0
push str.lblendedit
push 0
push 0x7f00
call fcn.004309d8
jmp 0x437c0d
cmp eax, 0xfffffe62
je 0x437baf
cmp eax, 0xfffffe64
je 0x437b59
cmp eax, 0xfffffff4
je 0x437972
cmp eax, 0xfffffff8
je 0x437961
cmp eax, 0xfffffffb
jne 0x437c0d
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 0x437c0d
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 0x437c0d
push dword [0x501818]
push ecx
call fcn.0042faaa
jmp 0x437c0d
mov eax, dword [esi + 0xc]
dec eax
je 0x437b26
sub eax, 0x10000
jne 0x437c0d
cmp dword [0x50da14], 5
mov edi, dword [esi + 0x24]
jl 0x4379a9
push dword [esi + 0x34]
push dword [esi + 0x28]
push edi
push str.NM_CUSTOMDRAW__CDDS_ITEMPREPAINT_hTreeItem0x_08Ix_pCustomDraw__nmcd.uItemState0x_02X_clrTextBk0x_06x
push 5
call fcn.004487a4
add esp, 0x14
test edi, edi
je 0x437b06
push edi
call fcn.004308cc
mov ebx, eax
push ebx
call fcn.00406fdf
test eax, eax
je 0x437b06
cmp dword [ebx + 8], 0
je 0x437b06
cmp dword [0x50da14], 5
jl 0x437a4c
xor eax, eax
mov dword [ebp - 0x18], 0x2d
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea edi, [ebx + 0xfdc]
cmp dword [edi], 0
je 0x437a11
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi]
push eax
lea eax, [ebp - 0x18]
push 0x44fac4
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, dword [ebx + 0x820]
cmp word [eax], 0
jne 0x437a23
lea eax, [ebx + 0xd0a]
push eax
push 0x4571f0
push 5
call fcn.004487a4
push dword [esi + 0x28]
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xfe0]
push str._JustArrivedRemoved_i_age_s_state0x_02X
push 5
call fcn.004487a4
add esp, 0x20
lea edi, [esi + 0x30]
push edi
lea eax, [esi + 0x34]
push eax
push dword [esi + 0x28]
mov dword [ebp + 0x10], eax
push ebx
call fcn.00433706
test eax, eax
je 0x437ae3
cmp dword [0x50da14], 5
jl 0x437a8a
push dword [edi]
mov eax, dword [ebp + 0x10]
push dword [eax]
add ebx, 0xd0a
push ebx
push str.__s:_set_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.004487a4
add esp, 0x14
cmp dword [0x500aa8], 5
jne 0x437a9e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x501090], eax
cmp dword [0x500ac0], 0x500
jbe 0x437adf
cmp dword [0x5010ac], 0
jne 0x437adf
push 1
push dword [0x5010bc]
call fcn.004273c3
mov eax, dword [0x498ae8]
push 0x42e879
add eax, 0x64
push eax
push 0x92025971
push dword [0x5010bc]
call dword [sym.imp.USER32.dll_SetTimer]
push 2
jmp 0x437b49
cmp dword [0x50da14], 5
jl 0x437c0d
push dword [edi]
mov eax, dword [ebp + 0x10]
push dword [eax]
push str._unchanged_clrTextBk0x_06X__clrText0x_06X
push 5
call fcn.004487a4
add esp, 0x10
cmp dword [0x50da14], 5
jl 0x437c0d
push str._________CDDS_ITEMPREPAINT_________
push 5
call fcn.004487a4
pop ecx
pop ecx
jmp 0x437c0d
cmp dword [0x50da14], 5
jl 0x437b47
push dword [esi + 0x34]
push dword [esi + 0x28]
push dword [esi + 0x24]
push str.NM_CUSTOMDRAW__CDDS_PREPAINT_hTreeItem0x_08Ix_pCustomDraw__nmcd.uItemState0x_02X_clrTextBk0x_06x
push 5
call fcn.004487a4
add esp, 0x14
push 0x20
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetWindowLongW]
jmp 0x43773a
cmp word [esi + 0xc], 0x71
jne 0x437c0d
push dword [0x501818]
call fcn.004308cc
mov esi, eax
test esi, esi
je 0x437c0d
push dword [esi + 0xfcc]
mov ecx, dword [0x5034fc]
call fcn.0040121c
test eax, eax
je 0x437c0d
cmp dword [esi + 0x10], 6
jl 0x437c0d
push dword [0x501818]
push 0
push 0x1141
push dword [0x5010c4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x437c0d
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.004308cc
xor edi, edi
add esi, 0xc
cmp eax, edi
je 0x437bf3
add eax, 0xc70
cmp byte [eax], 0
je 0x437bf3
push eax
push dword [esi]
call fcn.0042bb5c
jmp 0x437bf5
mov dword [esi], edi
cmp dword [esi], edi
je 0x437c0d
cmp dword [0x5010ac], edi
jne 0x437c0d
push edi
push dword [0x5010bc]
call fcn.004273c3
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0xc