Function at 0x43f748
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
push edi
push dword [esp + 0x7c]
mov edi, dword [esp + 0x7c]
push edi
push ebx
push str.DeviceRemoved__s___u___i_...
xor ebp, ebp
push ebp
call fcn.0044c79b
add esp, 0x14
cmp word [ebx], bp
jne 0x43f77f
cmp dword [esp + 0x7c], ebp
jne 0x43f77f
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x50b36c], ebp
je 0x4404cf
cmp dword [0x509678], ebp
jne 0x4404cf
cmp edi, ebp
jne 0x43f7bf
push ebp
push ebx
call fcn.0044c446
mov edi, eax
push edi
push str.DevInst_u
push 4
mov dword [esp + 0x84], edi
call fcn.0044c79b
add esp, 0xc
cmp edi, ebp
je 0x43f7ef
cmp edi, dword [0x514a24]
jne 0x43f7ef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x514a20]
cmp eax, 0xc8
jae 0x43f7ef
push edi
push str._same_devinst_u_again____ignore
push 1
call fcn.0044c79b
add esp, 0xc
jmp 0x4404cf
mov dword [0x514a24], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x514a20], eax
cmp edi, dword [0x515478]
jne 0x43f80e
mov dword [0x515478], ebp
cmp edi, ebp
je 0x43f821
mov ecx, dword [0x50b36c]
push ebp
push edi
call fcn.00407e95
jmp 0x43f836
cmp word [ebx], bp
je 0x43fa09
mov ecx, dword [0x50b36c]
push ebx
call fcn.00407b60
mov esi, eax
cmp esi, ebp
je 0x43fa09
mov eax, dword [esi + 0xfd0]
cmp eax, ebp
je 0x43f8f9
cmp dword [eax + 8], ebp
jne 0x43f878
cmp dword [esi + 0xfe8], 2
jne 0x43f878
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfe4]
push eax
push str._device_already_marked_as_non_present__age_u
push 1
call fcn.0044c79b
add esp, 0xc
mov eax, dword [esi + 0xfd0]
cmp dword [eax + 8], ebp
jne 0x43f8b2
cmp dword [esi + 0xfe8], 2
jne 0x43f8b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfe4]
cmp eax, 0x2710
jae 0x43f8b2
push str._removal_event_already_processed____ignore
push 1
call fcn.0044c79b
pop ecx
pop ecx
jmp 0x4404cf
mov edi, dword [esi + 0xfd0]
cmp dword [edi + 0x82c], ebp
mov dword [esp + 0x10], ebp
jle 0x43f8f9
lea ebx, [edi + 0x2c]
mov eax, dword [ebx]
cmp eax, ebp
je 0x43f8e6
cmp dword [eax], ebp
je 0x43f8e6
cmp dword [eax + 8], ebp
je 0x43f8e6
push 1
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.0043f748
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add ebx, 4
cmp eax, dword [edi + 0x82c]
jl 0x43f8c7
mov dword [esi + 0xcf4], 1
cmp dword [0x50b3a0], ebp
je 0x43f969
cmp dword [esi + 8], ebp
je 0x43f969
cmp dword [esi + 0x1004], ebp
jne 0x43f969
cmp dword [0x4a0b0c], ebp
jne 0x43f926
cmp dword [esi + 0x14], 1
je 0x43f969
push dword [esp + 0x78]
call fcn.0044af74
test eax, eax
je 0x43f969
push dword [esp + 0x78]
call fcn.0044a1b0
test eax, eax
jne 0x43f969
push dword [esi + 8]
push 9
push 0x110b
push dword [0x508d2c]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x43f969
mov ecx, dword [esi + 0xd60]
cmp ecx, ebp
je 0x43f969
call fcn.0040789d
cmp dword [esi + 0xfd0], ebp
jne 0x43f99d
mov eax, dword [esp + 0x78]
cmp eax, ebp
jne 0x43f98b
push ebp
push dword [esp + 0x78]
call fcn.0044b114
mov dword [esp + 0x78], eax
cmp eax, ebp
je 0x43f99d
mov ecx, dword [0x50b370]
push eax
call fcn.00401afc
mov dword [esi + 0xfd0], eax
push dword [esi + 0xfd0]
mov ecx, dword [0x50b370]
call fcn.0040121c
test eax, eax
jne 0x43fa37
push str._treenode_found_but_has_no_deviceinfo
push 3
call fcn.0044c79b
mov edi, dword [esp + 0x7c]
mov esi, dword [sym.imp.SHLWAPI.dll_StrStrIW]
pop ecx
pop ecx
push str.a5dcbf10_6530_11d2_901f_00c04fb951ed
push edi
call esi
test eax, eax
jne 0x43fa02
push str.f18a0e88_c30c_11d0_8815_00a0c906bed8
push edi
call esi
test eax, eax
jne 0x43fa02
push str.3abf6f2d_71c4_462a_8a92_1e6861e6af27
push edi
call esi
test eax, eax
jne 0x43fa02
push str.ROOT_HUB
push edi
call esi
test eax, eax
je 0x4404cf
xor eax, eax
jmp 0x4404d2
cmp dword [0x4a0b18], ebp
je 0x43fa1d
push str._no_treenode_found____ignore
push 3
jmp 0x43f8a6
push str._no_treenode_found____try_child_devices
push 3
call fcn.0044c79b
pop ecx
pop ecx
push edi
push ebx
call fcn.0043ce35
jmp 0x4404d2
mov edi, dword [esi + 0xfd0]
push ebp
push dword [edi + 0x10]
lea ebx, [edi + 0x39f4]
lea eax, [edi + 0x39f0]
push ebx
push eax
call dword [sym.imp.CFGMGR32.dll_CM_Get_DevNode_Status]
cmp dword [0x515894], 3
mov dword [esp + 0x10], eax
jl 0x43fa9e
cmp eax, ebp
jne 0x43fa82
push dword [edi + 0x39f0]
push dword [ebx]
push dword [edi + 0x10]
push str.CM_Get_DevNode_Status__u___problem_u_status0x_08x
push 3
call fcn.0044c79b
add esp, 0x14
jmp 0x43fa9e
push dword [esp + 0x10]
call fcn.004482d7
push eax
push dword [edi + 0x10]
push str.CM_Get_DevNode_Status__u___cret_S
push 3
call fcn.0044c79b
add esp, 0x10
cmp dword [edi + 0x10], ebp
je 0x43fac5
cmp dword [esp + 0x78], ebp
jne 0x43fac5
push str.looks_like_a_just_uninstalled_device____fake_CR_NO_SUCH_DEVINST__CM_PROB_PHANTOM
push 3
call fcn.0044c79b
pop ecx
pop ecx
mov dword [esp + 0x10], 0xd
mov dword [ebx], 0x2d
or dword [edi + 0x3a30], 0xffffffff
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x10], ebp
jne 0x43fb22
cmp dword [ebx], ebp
jne 0x43faf0
push str._device_is_present_again
push 3
call fcn.0044c79b
pop ecx
pop ecx
mov dword [esp + 0x18], 1
push dword [ebx]
call fcn.0044b624
test eax, eax
je 0x43fb13
push ebp
push 0x439175
push dword [esi + 8]
mov dword [esi + 0x100c], 1
call fcn.004332a1
cmp dword [ebx], ebp
jne 0x43fb38
mov dword [ebx], 0x2d
mov dword [edi + 8], ebp
jmp 0x43fb38
mov dword [ebx], 0x2d
mov dword [edi + 8], ebp
cmp dword [esi + 0x14], 6
jl 0x43fb38
mov ecx, esi
call fcn.00407760
cmp dword [edi + 0x3a38], ebp
je 0x43fb60
lea eax, [edi + 0x3b04]
mov ecx, dword [eax]
cmp ecx, ebp
je 0x43fb60
xor edx, edx
mov word [ecx + 0x930], dx
mov eax, dword [eax]
xor ecx, ecx
mov word [eax + 0x848], cx
xor eax, eax
inc eax
push eax
mov ecx, esi
mov dword [esi + 0xcf4], eax
call fcn.0040b3b9
cmp dword [0x508dd8], ebp
je 0x43fb8c
mov eax, dword [esi + 8]
cmp eax, dword [0x50968c]
jne 0x43fbe3
cmp dword [0x508de0], ebp
jne 0x43fbe3
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebp
push dword [edi + 0x10]
lea eax, [edi + 0x39f0]
push ebx
push eax
call dword [sym.imp.CFGMGR32.dll_CM_Get_DevNode_Status]
cmp eax, 0xd
jne 0x43fbe3
cmp dword [esi + 0x14], 6
jl 0x43fbb8
mov dword [esi + 0x14], 8
xor eax, eax
push 1
mov ecx, esi
mov word [esi + 0x20], ax
mov word [esi + 0x424], ax
mov word [esi + 0x868], ax
mov word [esi + 0xa6c], ax
mov word [esi + 0xdc4], ax
call fcn.0040b3b9
cmp dword [edi + 0x3a38], ebp
je 0x43fc04
cmp dword [edi + 0x3b04], ebp
je 0x43fc04
mov eax, dword [0x50b370]
push dword [esp + 0x74]
mov ecx, dword [eax + 8]
call fcn.0040638b
mov ecx, dword [edi + 0x28]
cmp ecx, ebp
je 0x43fc13
push edi
call fcn.004010e0
jmp 0x43fc1a
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi + 0x82c]
cmp eax, ebp
je 0x43fcd4
mov ecx, 0x200
cmp eax, ecx
jb 0x43fc33
mov eax, ecx
dec eax
cmp eax, ebp
mov dword [esp + 0x74], eax
jl 0x43fcd4
lea eax, [edi + eax*4 + 0x2c]
mov dword [esp + 0x14], eax
cmp dword [0x515894], 4
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
jl 0x43fc7e
lea eax, [ebx + 0xc30]
push eax
push dword [ebx + 8]
lea eax, [ebx + 0xe38]
push eax
push dword [esp + 0x80]
push str.Child__i___s_present_i_devpath_s
push 4
call fcn.0044c79b
add esp, 0x18
cmp dword [ebx + 8], ebp
je 0x43fcc1
lea eax, [ebx + 0xc30]
mov dword [esp + 0x1c], eax
cmp word [eax], bp
jne 0x43fcc1
push dword [ebx + 0x10]
call fcn.0044ae0d
test eax, eax
jne 0x43fcc1
lea eax, [ebx + 0xe38]
push eax
push str.fake_removal_event_for_child_device_without_interface:__s
push 4
call fcn.0044c79b
add esp, 0xc
push ebp
push dword [ebx + 0x10]
push dword [esp + 0x24]
call fcn.0043f748
dec dword [esp + 0x74]
sub dword [esp + 0x14], 4
cmp dword [esp + 0x74], ebp
jge 0x43fc48
cmp dword [esp + 0x7c], ebp
jne 0x43fddd
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x43fd4d
mov eax, dword [eax + 0xfd0]
cmp eax, ebp
je 0x43fd4d
mov ecx, dword [0x50b370]
push eax
call fcn.0040121c
test eax, eax
jne 0x43fd25
lea eax, [esi + 0x424]
push eax
mov eax, dword [esi + 0xd60]
push dword [eax + 0xfd0]
push str.pTNI__pParentTNI__pDeviceInfo0x_08Ix_is_invalid__pTNI_s
push ebp
call fcn.0044c79b
add esp, 0x10
jmp 0x43fd4d
mov eax, dword [esi + 0xd60]
add eax, 0xfd0
mov ecx, dword [eax]
cmp word [ecx + 0xc30], bp
jne 0x43fd4d
mov eax, ecx
push 1
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.0043f748
cmp dword [edi + 0x82c], ebp
mov dword [esp + 0x14], ebp
jle 0x43fddd
lea eax, [edi + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov ebx, dword [eax]
mov ecx, dword [0x50b370]
push ebx
call fcn.0040121c
test eax, eax
je 0x43fdc8
lea eax, [ebx + 0xc30]
mov dword [esp + 0x1c], eax
cmp word [eax], bp
jne 0x43fdc8
cmp dword [ebx + 8], ebp
je 0x43fdc8
cmp dword [ebx + 0x39f4], ebp
jne 0x43fdc8
push dword [ebx + 0x10]
call fcn.0044aec2
test eax, eax
jne 0x43fdc8
lea eax, [ebx + 0xe38]
push eax
push dword [ebx + 0x10]
push str.calling_DeviceRemoved_for__u___s__because_child_device_without_an_interface
push 4
call fcn.0044c79b
add esp, 0x10
push ebp
push dword [ebx + 0x10]
push dword [esp + 0x24]
call fcn.0043f748
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x74], 4
cmp eax, dword [edi + 0x82c]
jl 0x43fd64
mov eax, dword [0x508dd8]
mov ecx, dword [0x508ddc]
add ecx, eax
je 0x43fe93
mov dword [esi + 0xfe8], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.set_JustArrivedRemovedJUST_REMOVED_ArrivalRemovalT_u
push 4
mov dword [esi + 0xfe4], eax
call fcn.0044c79b
add esp, 0xc
mov ecx, esi
call fcn.0040b352
cmp dword [0x515894], 4
mov ebx, fcn.0043a306
jl 0x43fe51
push dword [esi + 0x824]
push dword [esi + 8]
push ebx
push dword [0x508dd8]
push esi
push dword [0x508d24]
push str.SetTimer_0x_08Ix__0x_08Ix___u__0x_08Ix_EndOfTreeNodeHighlight_TimerProc___hTreeItem0x_08Ix___s
push 4
call fcn.0044c79b
add esp, 0x20
push ebx
push dword [0x508dd8]
push esi
push dword [0x508d24]
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x508de4], ebp
je 0x43feab
push dword [esi + 8]
call fcn.0043455e
test eax, eax
je 0x43feab
cmp dword [esi + 0x14], 1
jne 0x43fe8a
mov ecx, esi
call fcn.00407981
test eax, eax
je 0x43feab
mov ecx, esi
call fcn.00407751
jmp 0x43feab
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push esi
push 0x113
push dword [0x508d24]
call fcn.0043a306
cmp dword [esp + 0x18], ebp
je 0x43fed9
cmp dword [esi + 0x14], 9
jne 0x4404cf
push 0x43f6ee
push 0x3e8
push dword [edi + 0x10]
push dword [0x508d24]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x4404cf
mov ecx, esi
call fcn.0040d3b2
cmp dword [edi + 0x3a3c], ebp
je 0x43feff
xor eax, eax
or dword [edi + 0x3a30], 0xffffffff
mov word [edi + 0x3a44], ax
mov word [edi + 0x3a84], ax
mov dword [edi + 0x3b08], ebp
mov ecx, dword [0x50b370]
push edi
call fcn.004049bc
push 0x476dc0
push ebp
push 0x7f8a
call fcn.004336e7
xor ecx, ecx
cmp dword [edi + 0x82c], ebp
jle 0x43ff51
lea eax, [edi + 0x2c]
cmp dword [eax], ebp
je 0x43ff45
mov edx, dword [eax]
mov dword [edx + 8], ebp
mov edx, dword [eax]
mov ebx, dword [edi + 0x39f4]
mov dword [edx + 0x39f4], ebx
inc ecx
add eax, 4
cmp ecx, dword [edi + 0x82c]
jl 0x43ff2e
mov dword [edi + 0x18], ebp
mov dword [edi + 0x1c], ebp
cmp dword [esi + 0xfc4], ebp
je 0x43ffb3
mov eax, dword [esi + 0xfc8]
cmp eax, ebp
je 0x43ffb3
mov eax, dword [eax + 0x40]
cmp eax, ebp
je 0x43ffb3
mov dword [esp + 0x74], ebp
jle 0x43ffa8
push 0x30
pop ebx
mov eax, dword [esi + 0xfc8]
mov eax, dword [ebx + eax]
cmp eax, ebp
je 0x43ff92
mov ecx, dword [0x50b36c]
push eax
call fcn.0040844f
inc dword [esp + 0x74]
mov eax, dword [esi + 0xfc8]
mov ecx, dword [esp + 0x74]
add ebx, 4
cmp ecx, dword [eax + 0x40]
jl 0x43ff79
mov ecx, dword [0x50b36c]
call fcn.004097e7
mov eax, dword [esi + 0xfcc]
cmp eax, ebp
je 0x440031
mov eax, dword [eax + 0x10c]
cmp eax, ebp
je 0x43ffe4
mov ebx, dword [eax]
push eax
mov dword [eax], ebp
call fcn.00446ce1
pop ecx
mov eax, ebx
cmp ebx, ebp
jne 0x43ffc7
mov eax, dword [esi + 0xfcc]
mov dword [eax + 0x10c], ebp
cmp dword [edi + 8], ebp
jne 0x440031
lea ebx, [esi + 0x1010]
mov eax, dword [ebx]
mov dword [esp + 0x74], ebp
cmp eax, ebp
je 0x440013
push 0xea60
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebx]
mov dword [esp + 0x78], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx], ebp
cmp dword [esp + 0x10], ebp
je 0x440031
cmp dword [esp + 0x74], ebp
jne 0x44002b
push ebp
push dword [esi + 0xfcc]
call fcn.00449dae
mov dword [esi + 0xfcc], ebp
cmp dword [esi + 0xfc4], ebp
je 0x440124
cmp dword [esp + 0x10], ebp
jne 0x440051
push 1
mov ecx, esi
call fcn.0040b3b9
jmp 0x440115
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x4400ae
add eax, 0xd0e
cmp word [eax], bp
je 0x44008a
push eax
lea eax, [edi + 0x1838]
push eax
push str._s_removed_from_port__s
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
add esp, 0x18
jmp 0x4400c9
lea eax, [edi + 0x1838]
push eax
push str._s_removed
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
add esp, 0x14
jmp 0x4400c9
push str.Device_removed
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
add esp, 0x10
xor eax, eax
mov dword [esi + 0xfd0], ebp
mov word [esi + 0xd64], ax
push dword [edi + 4]
mov ecx, dword [0x50b370]
call fcn.0040437f
mov esi, dword [esi + 0xfc8]
cmp esi, ebp
je 0x4400fa
mov esi, dword [esi + 0x10]
cmp esi, ebp
je 0x4400fa
mov dword [esi + 0x1f], ebp
call fcn.00432ee8
call fcn.00437ecc
mov ecx, dword [0x50b36c]
call fcn.004099de
push ebp
call fcn.00433076
push 0xc8
call fcn.00437b1c
jmp 0x4404cf
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x440351
cmp dword [eax + 0x18], ebp
je 0x440351
push 0x432540
push 0xa
push 0x12340003
push dword [0x508d24]
call dword [sym.imp.USER32.dll_SetTimer]
cmp edi, dword [esi + 0xfd0]
je 0x440181
push str.DeviceRemoved
push 0x236f
push str..UsbTreeView.cpp
push str.INT3_in__S_line__u__function__S
push 1
call fcn.0044c79b
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x10], ebp
jne 0x440200
push 1
mov ecx, esi
call fcn.0040b3b9
lea ebx, [edi + 0x39f4]
push dword [ebx]
call fcn.0044b624
test eax, eax
lea eax, [esi + 0xd0e]
push eax
lea eax, [edi + 0x1838]
je 0x4401b6
push eax
push str._s_prepared_for_safe_removal_from_port__s
jmp 0x4401c3
mov ebx, dword [ebx]
cmp ebx, 0x16
jne 0x4401de
push eax
push str._s_disabled_at_port__s
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
add esp, 0x18
jmp 0x4402a0
push ebx
push eax
push str._s_got_problem__u_at_port__s
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
add esp, 0x1c
jmp 0x4402a0
mov dword [esi + 0x14], 8
cmp dword [0x508dd8], ebp
je 0x44021b
mov dword [esi + 0xff0], 1
jmp 0x44022d
cmp dword [0x508ddc], ebp
je 0x44022d
mov dword [esi + 0xff0], 2
lea eax, [esi + 0xd0e]
push eax
lea eax, [edi + 0x1838]
push eax
push str._s_removed_from_port__s
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
mov eax, dword [esi + 0xfc8]
add esp, 0x18
cmp eax, ebp
je 0x44026a
mov eax, dword [eax + 0x10]
cmp eax, ebp
je 0x44026a
mov dword [eax + 0x1f], ebp
mov dword [esi + 0xfd0], ebp
push dword [edi + 4]
mov ecx, dword [0x50b370]
call fcn.0040437f
push dword [esi + 8]
push dword [0x508d2c]
call fcn.00428505
mov eax, dword [esi + 8]
cmp eax, ebp
je 0x4402a0
cmp eax, dword [0x50968c]
jne 0x4402a0
call fcn.00416986
cmp dword [esp + 0x7c], ebp
jne 0x440439
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x440439
mov eax, dword [eax + 0xfd0]
cmp eax, ebp
je 0x440439
cmp dword [eax], 1
jne 0x440439
add eax, 0xc30
push eax
call fcn.0042cbf3
test eax, eax
je 0x440439
mov eax, dword [esi + 0xd60]
mov eax, dword [eax + 0xfd0]
push ebp
push ebp
push 3
push ebp
push 3
push 0x80000000
add eax, 0xc30
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x440439
mov eax, dword [esi + 0xd60]
mov ecx, dword [0x50b36c]
push esi
push dword [eax + 0xfc4]
push ebx
call fcn.0040be7d
push dword [esi + 0xd60]
mov ecx, dword [0x50b36c]
push esi
call fcn.00408dda
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push ebp
push esi
call fcn.00439007
jmp 0x440439
cmp dword [esi + 0x14], 1
jne 0x4403a7
cmp dword [esi], 1
jne 0x440439
xor ebx, ebx
inc ebx
push ebx
mov ecx, esi
mov dword [esi + 0xcf4], ebx
call fcn.0040b3b9
mov ecx, dword [0x50b36c]
push ebx
push dword [esp + 0x7c]
call fcn.00407e95
cmp eax, ebp
je 0x440439
cmp dword [eax], ebx
jne 0x440439
xor ecx, ecx
inc ecx
mov dword [eax + 0xcf4], ecx
push ecx
mov ecx, eax
call fcn.0040b3b9
jmp 0x440439
mov eax, str.removed
cmp dword [esp + 0x10], ebp
jne 0x4403ef
lea ebx, [edi + 0x39f4]
push dword [ebx]
call fcn.00447c41
push eax
lea eax, [esp + 0x24]
push str.got_problem__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, dword [ebx]
add esp, 0xc
sub ebx, 0x15
lea eax, [esp + 0x20]
je 0x4403ea
dec ebx
je 0x44047c
sub ebx, 0x19
jne 0x4403ef
mov eax, str.prepared_for_safe_removal
push eax
lea eax, [edi + 0x1938]
push eax
push str._s__S
push dword [0x4a0af4]
push 1
push dword [0x509698]
call fcn.00405dc1
add esp, 0x18
cmp dword [edi + 8], ebp
jne 0x440439
push dword [esi + 8]
push dword [0x508d2c]
call fcn.0043465a
mov dword [esi + 0xfd0], ebp
push dword [edi + 4]
mov ecx, dword [0x50b370]
call fcn.0040437f
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
push 0x432927
push 0x64
push dword [edi + 0x10]
push dword [0x508d24]
call ebx
call fcn.00432ee8
call fcn.00437ecc
mov ecx, dword [0x50b36c]
call fcn.004099de
push ebp
call fcn.00433076
mov eax, dword [esi + 0x14]
cmp eax, 1
jne 0x440486
push esi
call fcn.00432d07
jmp 0x4404a9
mov eax, str.disabled
jmp 0x4403ef
cmp eax, 9
jne 0x4404a9
cmp dword [edi + 8], ebp
jne 0x4404a9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfe0]
cmp eax, 0x1388
jbe 0x4404a9
push esi
call fcn.00432c87
push 0x4376b3
push 0x1f4
push 0x19091969
push dword [0x508d24]
call ebx
push 0xc8
call fcn.00437b1c
call fcn.0043a1b6
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0xc