Function at 0x4402de
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.0044d31e
add esp, 0x14
cmp word [ebx], bp
jne 0x440315
cmp dword [esp + 0x7c], ebp
jne 0x440315
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x50c788], ebp
je 0x44109c
cmp dword [0x50aa94], ebp
jne 0x44109c
cmp edi, ebp
jne 0x440355
push ebp
push ebx
call fcn.0044cfc9
mov edi, eax
push edi
push str.DevInst_u
push 4
mov dword [esp + 0x84], edi
call fcn.0044d31e
add esp, 0xc
cmp edi, ebp
je 0x440385
cmp edi, dword [0x515e44]
jne 0x440385
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x515e40]
cmp eax, 0xc8
jae 0x440385
push edi
push str._same_devinst_u_again____ignore
push 1
call fcn.0044d31e
add esp, 0xc
jmp 0x44109c
mov dword [0x515e44], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x515e40], eax
cmp edi, dword [0x516490]
jne 0x4403a4
mov dword [0x516490], ebp
cmp edi, ebp
je 0x4403b7
mov ecx, dword [0x50c788]
push ebp
push edi
call fcn.00408181
jmp 0x4403cc
cmp word [ebx], bp
je 0x44059f
mov ecx, dword [0x50c788]
push ebx
call fcn.00407e4c
mov esi, eax
cmp esi, ebp
je 0x44059f
mov eax, dword [esi + 0xfd0]
cmp eax, ebp
je 0x44048f
cmp dword [eax + 8], ebp
jne 0x44040e
cmp dword [esi + 0xfec], 2
jne 0x44040e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfe8]
push eax
push str._device_already_marked_as_non_present__age_u
push 1
call fcn.0044d31e
add esp, 0xc
mov eax, dword [esi + 0xfd0]
cmp dword [eax + 8], ebp
jne 0x440448
cmp dword [esi + 0xfec], 2
jne 0x440448
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfe8]
cmp eax, 0x2710
jae 0x440448
push str._removal_event_already_processed____ignore
push 1
call fcn.0044d31e
pop ecx
pop ecx
jmp 0x44109c
mov edi, dword [esi + 0xfd0]
cmp dword [edi + 0x82c], ebp
mov dword [esp + 0x10], ebp
jle 0x44048f
lea ebx, [edi + 0x2c]
mov eax, dword [ebx]
cmp eax, ebp
je 0x44047c
cmp dword [eax], ebp
je 0x44047c
cmp dword [eax + 8], ebp
je 0x44047c
push 1
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.004402de
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add ebx, 4
cmp eax, dword [edi + 0x82c]
jl 0x44045d
mov dword [esi + 0xcf4], 1
cmp dword [0x50c7bc], ebp
je 0x4404ff
cmp dword [esi + 8], ebp
je 0x4404ff
cmp dword [esi + 0x1008], ebp
jne 0x4404ff
cmp dword [0x4a1b14], ebp
jne 0x4404bc
cmp dword [esi + 0x14], 1
je 0x4404ff
push dword [esp + 0x78]
call fcn.0044baf6
test eax, eax
je 0x4404ff
push dword [esp + 0x78]
call fcn.0044ad32
test eax, eax
jne 0x4404ff
push dword [esi + 8]
push 9
push 0x110b
push dword [0x50a144]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x4404ff
mov ecx, dword [esi + 0xd60]
cmp ecx, ebp
je 0x4404ff
call fcn.00407a9e
cmp dword [esi + 0xfd0], ebp
jne 0x440533
mov eax, dword [esp + 0x78]
cmp eax, ebp
jne 0x440521
push ebp
push dword [esp + 0x78]
call fcn.0044bc96
mov dword [esp + 0x78], eax
cmp eax, ebp
je 0x440533
mov ecx, dword [0x50c78c]
push eax
call fcn.00401afc
mov dword [esi + 0xfd0], eax
push dword [esi + 0xfd0]
mov ecx, dword [0x50c78c]
call fcn.0040121c
test eax, eax
jne 0x4405cd
push str._treenode_found_but_has_no_deviceinfo
push 3
call fcn.0044d31e
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 0x440598
push str.f18a0e88_c30c_11d0_8815_00a0c906bed8
push edi
call esi
test eax, eax
jne 0x440598
push str.3abf6f2d_71c4_462a_8a92_1e6861e6af27
push edi
call esi
test eax, eax
jne 0x440598
push str.ROOT_HUB
push edi
call esi
test eax, eax
je 0x44109c
xor eax, eax
jmp 0x44109f
cmp dword [0x4a1b20], ebp
je 0x4405b3
push str._no_treenode_found____ignore
push 3
jmp 0x44043c
push str._no_treenode_found____try_child_devices
push 3
call fcn.0044d31e
pop ecx
pop ecx
push edi
push ebx
call fcn.0043d9d7
jmp 0x44109f
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 [0x5168ac], 3
mov dword [esp + 0x10], eax
jl 0x440634
cmp eax, ebp
jne 0x440618
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.0044d31e
add esp, 0x14
jmp 0x440634
push dword [esp + 0x10]
call fcn.00448e46
push eax
push dword [edi + 0x10]
push str.CM_Get_DevNode_Status__u___cret_S
push 3
call fcn.0044d31e
add esp, 0x10
cmp dword [edi + 0x10], ebp
je 0x44065b
cmp dword [esp + 0x78], ebp
jne 0x44065b
push str.looks_like_a_just_uninstalled_device____fake_CR_NO_SUCH_DEVINST__CM_PROB_PHANTOM
push 3
call fcn.0044d31e
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 0x4406b8
cmp dword [ebx], ebp
jne 0x440686
push str._device_is_present_again
push 3
call fcn.0044d31e
pop ecx
pop ecx
mov dword [esp + 0x18], 1
push dword [ebx]
call fcn.0044c1a7
test eax, eax
je 0x4406a9
push ebp
push 0x439c8f
push dword [esi + 8]
mov dword [esi + 0x1010], 1
call fcn.00433bd7
cmp dword [ebx], ebp
jne 0x4406ce
mov dword [ebx], 0x2d
mov dword [edi + 8], ebp
jmp 0x4406ce
mov dword [ebx], 0x2d
mov dword [edi + 8], ebp
cmp dword [esi + 0x14], 6
jl 0x4406ce
mov ecx, esi
call fcn.00407961
cmp dword [edi + 0x3a38], ebp
je 0x4406f6
lea eax, [edi + 0x3b04]
mov ecx, dword [eax]
cmp ecx, ebp
je 0x4406f6
xor edx, edx
mov word [ecx + 0x930], dx
mov eax, dword [eax]
xor ecx, ecx
mov word [eax + 0x848], cx
cmp dword [esi + 4], ebp
jl 0x440782
xor eax, eax
inc eax
push eax
mov ecx, esi
mov dword [esi + 0xcf4], eax
call fcn.0040b6a5
cmp dword [0x50a1f8], ebp
je 0x44072b
mov eax, dword [esi + 8]
cmp eax, dword [0x50aaa8]
jne 0x440782
cmp dword [0x50a200], ebp
jne 0x440782
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 0x440782
cmp dword [esi + 0x14], 6
jl 0x440757
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.0040b6a5
cmp dword [edi + 0x3a38], ebp
je 0x4407a3
cmp dword [edi + 0x3b04], ebp
je 0x4407a3
mov eax, dword [0x50c78c]
push dword [esp + 0x74]
mov ecx, dword [eax + 8]
call fcn.0040646c
mov ecx, dword [edi + 0x28]
cmp ecx, ebp
je 0x4407b2
push edi
call fcn.004010e0
jmp 0x4407b9
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi + 0x82c]
cmp eax, ebp
je 0x440873
mov ecx, 0x200
cmp eax, ecx
jb 0x4407d2
mov eax, ecx
dec eax
cmp eax, ebp
mov dword [esp + 0x74], eax
jl 0x440873
lea eax, [edi + eax*4 + 0x2c]
mov dword [esp + 0x14], eax
cmp dword [0x5168ac], 4
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
jl 0x44081d
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.0044d31e
add esp, 0x18
cmp dword [ebx + 8], ebp
je 0x440860
lea eax, [ebx + 0xc30]
mov dword [esp + 0x1c], eax
cmp word [eax], bp
jne 0x440860
push dword [ebx + 0x10]
call fcn.0044b98f
test eax, eax
jne 0x440860
lea eax, [ebx + 0xe38]
push eax
push str.fake_removal_event_for_child_device_without_interface:__s
push 4
call fcn.0044d31e
add esp, 0xc
push ebp
push dword [ebx + 0x10]
push dword [esp + 0x24]
call fcn.004402de
dec dword [esp + 0x74]
sub dword [esp + 0x14], 4
cmp dword [esp + 0x74], ebp
jge 0x4407e7
cmp dword [esp + 0x7c], ebp
jne 0x44097c
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x4408ec
mov eax, dword [eax + 0xfd0]
cmp eax, ebp
je 0x4408ec
mov ecx, dword [0x50c78c]
push eax
call fcn.0040121c
test eax, eax
jne 0x4408c4
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.0044d31e
add esp, 0x10
jmp 0x4408ec
mov eax, dword [esi + 0xd60]
add eax, 0xfd0
mov ecx, dword [eax]
cmp word [ecx + 0xc30], bp
jne 0x4408ec
mov eax, ecx
push 1
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.004402de
cmp dword [edi + 0x82c], ebp
mov dword [esp + 0x14], ebp
jle 0x44097c
lea eax, [edi + 0x2c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov ebx, dword [eax]
mov ecx, dword [0x50c78c]
push ebx
call fcn.0040121c
test eax, eax
je 0x440967
lea eax, [ebx + 0xc30]
mov dword [esp + 0x1c], eax
cmp word [eax], bp
jne 0x440967
cmp dword [ebx + 8], ebp
je 0x440967
cmp dword [ebx + 0x39f4], ebp
jne 0x440967
push dword [ebx + 0x10]
call fcn.0044ba44
test eax, eax
jne 0x440967
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.0044d31e
add esp, 0x10
push ebp
push dword [ebx + 0x10]
push dword [esp + 0x24]
call fcn.004402de
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x74], 4
cmp eax, dword [edi + 0x82c]
jl 0x440903
cmp dword [esi + 4], ebp
jl 0x440a5c
mov eax, dword [0x50a1fc]
mov ecx, dword [0x50a1f8]
add eax, ecx
je 0x440a3d
mov dword [esi + 0xfec], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.set_JustArrivedRemovedJUST_REMOVED_ArrivalRemovalT_u
push 4
mov dword [esi + 0xfe8], eax
call fcn.0044d31e
add esp, 0xc
mov ecx, esi
call fcn.0040b63e
cmp dword [0x5168ac], 4
mov ebx, fcn.0043ae90
jl 0x4409f9
push dword [esi + 0x824]
push dword [esi + 8]
push ebx
push dword [0x50a1f8]
push esi
push dword [0x50a13c]
push str.SetTimer_0x_08Ix__0x_08Ix___u__0x_08Ix_EndOfTreeNodeHighlight_TimerProc___hTreeItem0x_08Ix___s
push 4
call fcn.0044d31e
add esp, 0x20
push ebx
push dword [0x50a1f8]
push esi
push dword [0x50a13c]
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x50a204], ebp
je 0x440a55
push dword [esi + 8]
call fcn.00434e94
test eax, eax
je 0x440a55
cmp dword [esi + 0x14], 1
jne 0x440a32
mov ecx, esi
call fcn.00407ca1
test eax, eax
je 0x440a55
push 1
mov ecx, esi
call fcn.00407857
jmp 0x440a55
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push esi
push 0x113
push dword [0x50a13c]
call fcn.0043ae90
mov ecx, esi
call fcn.0040d69e
cmp dword [esp + 0x18], ebp
je 0x440a8a
cmp dword [esi + 0x14], 9
jne 0x44109c
push 0x440284
push 0x3e8
push dword [edi + 0x10]
push dword [0x50a13c]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x44109c
cmp dword [edi + 0x3a3c], ebp
je 0x440aa9
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 [0x50c78c]
push edi
call fcn.00404a15
push 0x477f28
push ebp
push 0x7f8a
call fcn.0043401d
xor ecx, ecx
cmp dword [edi + 0x82c], ebp
jle 0x440afb
lea eax, [edi + 0x2c]
cmp dword [eax], ebp
je 0x440aef
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 0x440ad8
mov dword [edi + 0x18], ebp
mov dword [edi + 0x1c], ebp
cmp dword [esi + 0xfc4], ebp
je 0x440b5d
mov eax, dword [esi + 0xfc8]
cmp eax, ebp
je 0x440b5d
mov eax, dword [eax + 0x40]
cmp eax, ebp
je 0x440b5d
mov dword [esp + 0x74], ebp
jle 0x440b52
push 0x30
pop ebx
mov eax, dword [esi + 0xfc8]
mov eax, dword [ebx + eax]
cmp eax, ebp
je 0x440b3c
mov ecx, dword [0x50c788]
push eax
call fcn.0040873b
inc dword [esp + 0x74]
mov eax, dword [esi + 0xfc8]
mov ecx, dword [esp + 0x74]
add ebx, 4
cmp ecx, dword [eax + 0x40]
jl 0x440b23
mov ecx, dword [0x50c788]
call fcn.00409ad3
mov eax, dword [esi + 0xfcc]
cmp eax, ebp
je 0x440bdb
mov eax, dword [eax + 0x10c]
cmp eax, ebp
je 0x440b8e
mov ebx, dword [eax]
push eax
mov dword [eax], ebp
call fcn.0044786c
pop ecx
mov eax, ebx
cmp ebx, ebp
jne 0x440b71
mov eax, dword [esi + 0xfcc]
mov dword [eax + 0x10c], ebp
cmp dword [edi + 8], ebp
jne 0x440bdb
lea ebx, [esi + 0x1014]
mov eax, dword [ebx]
mov dword [esp + 0x74], ebp
cmp eax, ebp
je 0x440bbd
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 0x440bdb
cmp dword [esp + 0x74], ebp
jne 0x440bd5
push ebp
push dword [esi + 0xfcc]
call fcn.0044a91d
mov dword [esi + 0xfcc], ebp
cmp dword [esi + 0xfc4], ebp
je 0x440cce
cmp dword [esp + 0x10], ebp
jne 0x440bfb
push 1
mov ecx, esi
call fcn.0040b6a5
jmp 0x440cbf
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x440c58
add eax, 0xd0e
cmp word [eax], bp
je 0x440c34
push eax
lea eax, [edi + 0x1838]
push eax
push str._s_removed_from_port__s
push dword [0x4a1afc]
push 1
push dword [0x50aab4]
call fcn.00405e29
add esp, 0x18
jmp 0x440c73
lea eax, [edi + 0x1838]
push eax
push str._s_removed
push dword [0x4a1afc]
push 1
push dword [0x50aab4]
call fcn.00405e29
add esp, 0x14
jmp 0x440c73
push str.Device_removed
push dword [0x4a1afc]
push 1
push dword [0x50aab4]
call fcn.00405e29
add esp, 0x10
xor eax, eax
mov dword [esi + 0xfd0], ebp
mov word [esi + 0xd64], ax
push dword [edi + 4]
mov ecx, dword [0x50c78c]
call fcn.004043d8
mov esi, dword [esi + 0xfc8]
cmp esi, ebp
je 0x440ca4
mov esi, dword [esi + 0x10]
cmp esi, ebp
je 0x440ca4
mov dword [esi + 0x1f], ebp
call fcn.0043381e
call fcn.004389d8
mov ecx, dword [0x50c788]
call fcn.00409cca
push ebp
call fcn.004339ac
push 0xc8
call fcn.00438628
jmp 0x44109c
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x440f18
cmp dword [eax + 0x18], ebp
je 0x440f18
push 0x432e73
push 0xa
push 0x12340003
push dword [0x50a13c]
call dword [sym.imp.USER32.dll_SetTimer]
xor ebx, ebx
inc ebx
cmp edi, dword [esi + 0xfd0]
je 0x440d2d
push str.DeviceRemoved
push 0x2428
push str..UsbTreeView.cpp
push str.INT3_in__S_line__u__function__S
push ebx
call fcn.0044d31e
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
cmp dword [esp + 0x10], ebp
jne 0x440dab
push ebx
call fcn.0040b6a5
lea ebx, [edi + 0x39f4]
push dword [ebx]
call fcn.0044c1a7
test eax, eax
lea eax, [esi + 0xd0e]
push eax
lea eax, [edi + 0x1838]
je 0x440d61
push eax
push str._s_prepared_for_safe_removal_from_port__s
jmp 0x440d6e
mov ebx, dword [ebx]
cmp ebx, 0x16
jne 0x440d89
push eax
push str._s_disabled_at_port__s
push dword [0x4a1afc]
push 1
push dword [0x50aab4]
call fcn.00405e29
add esp, 0x18
jmp 0x440e67
push ebx
push eax
push str._s_got_problem__u_at_port__s
push dword [0x4a1afc]
push 1
push dword [0x50aab4]
call fcn.00405e29
add esp, 0x1c
jmp 0x440e67
mov dword [esi + 0x14], 8
call fcn.00407961
xor eax, eax
push ebx
mov ecx, esi
mov word [esi + 0x20], ax
mov word [esi + 0x424], ax
mov word [esi + 0xa6c], ax
call fcn.0040b6a5
cmp dword [0x50a1f8], ebp
je 0x440de3
mov dword [esi + 0xff4], ebx
jmp 0x440df5
cmp dword [0x50a1fc], ebp
je 0x440df5
mov dword [esi + 0xff4], 2
lea eax, [esi + 0xd0e]
push eax
lea eax, [edi + 0x1838]
push eax
push str._s_removed_from_port__s
push dword [0x4a1afc]
push ebx
push dword [0x50aab4]
call fcn.00405e29
mov eax, dword [esi + 0xfc8]
add esp, 0x18
cmp eax, ebp
je 0x440e31
mov eax, dword [eax + 0x10]
cmp eax, ebp
je 0x440e31
mov dword [eax + 0x1f], ebp
mov dword [esi + 0xfd0], ebp
push dword [edi + 4]
mov ecx, dword [0x50c78c]
call fcn.004043d8
push dword [esi + 8]
push dword [0x50a144]
call fcn.004288ee
mov eax, dword [esi + 8]
cmp eax, ebp
je 0x440e67
cmp eax, dword [0x50aaa8]
jne 0x440e67
call fcn.00416cab
cmp dword [esp + 0x7c], ebp
jne 0x441006
mov eax, dword [esi + 0xd60]
cmp eax, ebp
je 0x441006
mov eax, dword [eax + 0xfd0]
cmp eax, ebp
je 0x441006
cmp dword [eax], 1
jne 0x441006
add eax, 0xc30
push eax
call fcn.0042d136
test eax, eax
je 0x441006
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 0x441006
mov eax, dword [esi + 0xd60]
mov ecx, dword [0x50c788]
push esi
push dword [eax + 0xfc4]
push ebx
call fcn.0040c169
push dword [esi + 0xd60]
mov ecx, dword [0x50c788]
push esi
call fcn.004090c6
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push ebp
push esi
call fcn.00439b21
jmp 0x441006
cmp dword [esi + 0x14], 1
jne 0x440f6e
cmp dword [esi], 1
jne 0x441006
xor ebx, ebx
inc ebx
push ebx
mov ecx, esi
mov dword [esi + 0xcf4], ebx
call fcn.0040b6a5
mov ecx, dword [0x50c788]
push ebx
push dword [esp + 0x7c]
call fcn.00408181
cmp eax, ebp
je 0x441006
cmp dword [eax], ebx
jne 0x441006
xor ecx, ecx
inc ecx
mov dword [eax + 0xcf4], ecx
push ecx
mov ecx, eax
call fcn.0040b6a5
jmp 0x441006
mov eax, str.removed
cmp dword [esp + 0x10], ebp
jne 0x440fb6
lea ebx, [edi + 0x39f4]
push dword [ebx]
call fcn.004487b0
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 0x440fb1
dec ebx
je 0x441049
sub ebx, 0x19
jne 0x440fb6
mov eax, str.prepared_for_safe_removal
push eax
lea eax, [edi + 0x1938]
push eax
push str._s__S
push dword [0x4a1afc]
push 1
push dword [0x50aab4]
call fcn.00405e29
add esp, 0x18
cmp dword [edi + 8], ebp
jne 0x441006
push dword [edi + 4]
mov ecx, dword [0x50c78c]
call fcn.004043d8
cmp dword [edi + 0xc], 6
jge 0x441006
push dword [esi + 8]
push dword [0x50a144]
call fcn.00434f90
mov dword [esi + 0xfd0], ebp
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
push 0x43325d
push 0x64
push dword [edi + 0x10]
push dword [0x50a13c]
call ebx
call fcn.0043381e
call fcn.004389d8
mov ecx, dword [0x50c788]
call fcn.00409cca
push ebp
call fcn.004339ac
mov eax, dword [esi + 0x14]
cmp eax, 1
jne 0x441053
push esi
call fcn.0043363d
jmp 0x441076
mov eax, str.disabled
jmp 0x440fb6
cmp eax, 9
jne 0x441076
cmp dword [edi + 8], ebp
jne 0x441076
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfe0]
cmp eax, 0x1388
jbe 0x441076
push esi
call fcn.004335bd
push 0x4381bf
push 0x1f4
push 0x19091969
push dword [0x50a13c]
call ebx
push 0xc8
call fcn.00438628
call fcn.0043acd1
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0xc