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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x64]
push ebp
push esi
push edi
push dword [esp + 0x74]
mov edi, dword [esp + 0x70]
push ebx
push edi
push str.DeviceRemoved__s___u___i_...
xor ebp, ebp
push ebp
call fcn.00449e4d
add esp, 0x14
cmp word [edi], bp
jne 0x43c6e1
cmp dword [esp + 0x74], ebp
jne 0x43c6e1
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x508064], ebp
je 0x43d402
cmp dword [0x506370], ebp
jne 0x43d402
cmp ebx, ebp
jne 0x43c71e
push ebp
push edi
call fcn.00449af8
mov ebx, eax
push ebx
push str.DevInst_u
push 4
mov dword [esp + 0x7c], ebx
call fcn.00449e4d
add esp, 0xc
cmp ebx, ebp
je 0x43c74e
cmp ebx, dword [0x511714]
jne 0x43c74e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x511710]
cmp eax, 0xc8
jae 0x43c74e
push ebx
push str._same_devinst_u_again____ignore
push 1
call fcn.00449e4d
add esp, 0xc
jmp 0x43d402
mov dword [0x511714], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x511710], eax
cmp ebx, dword [0x512168]
jne 0x43c76d
mov dword [0x512168], ebp
cmp ebx, ebp
je 0x43c780
mov ecx, dword [0x508064]
push ebp
push ebx
call fcn.0040788c
jmp 0x43c795
cmp word [edi], bp
je 0x43c95f
mov ecx, dword [0x508064]
push edi
call fcn.00407557
mov esi, eax
cmp esi, ebp
je 0x43c95f
mov eax, dword [esi + 0xfcc]
cmp eax, ebp
je 0x43c862
cmp dword [eax + 8], ebp
jne 0x43c7d7
cmp dword [esi + 0xfe0], 2
jne 0x43c7d7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfdc]
push eax
push str._device_already_marked_as_non_present__age_u
push 1
call fcn.00449e4d
add esp, 0xc
mov eax, dword [esi + 0xfcc]
cmp dword [eax + 8], ebp
jne 0x43c811
cmp dword [esi + 0xfe0], 2
jne 0x43c811
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xfdc]
cmp eax, 0x2710
jae 0x43c811
push str._removal_event_already_processed____ignore
push 1
call fcn.00449e4d
pop ecx
pop ecx
jmp 0x43d402
mov edi, dword [esi + 0xfcc]
cmp dword [edi + 0x82c], ebp
mov dword [esp + 0x10], ebp
jle 0x43c862
lea eax, [edi + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp eax, ebp
je 0x43c84d
cmp dword [eax], ebp
je 0x43c84d
cmp dword [eax + 8], ebp
je 0x43c84d
push 1
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.0043c6aa
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], 4
cmp eax, dword [edi + 0x82c]
jl 0x43c82a
mov dword [esi + 0xcf0], 1
cmp dword [0x508098], ebp
je 0x43c8cc
cmp dword [esi + 8], ebp
je 0x43c8cc
cmp dword [esi + 0xffc], ebp
jne 0x43c8cc
cmp dword [0x49dafc], ebp
jne 0x43c88f
cmp dword [esi + 0x10], 1
je 0x43c8cc
push ebx
call fcn.00448639
test eax, eax
je 0x43c8cc
push ebx
call fcn.0044787b
test eax, eax
jne 0x43c8cc
push dword [esi + 8]
push 9
push 0x110b
push dword [0x505c30]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x43c8cc
mov ecx, dword [esi + 0xd5c]
cmp ecx, ebp
je 0x43c8cc
call fcn.00407294
cmp dword [esi + 0xfcc], ebp
jne 0x43c8fe
cmp ebx, ebp
jne 0x43c8ec
push ebp
push dword [esp + 0x70]
call fcn.004487d9
mov ebx, eax
mov dword [esp + 0x70], ebx
cmp ebx, ebp
je 0x43c8fe
mov ecx, dword [0x508068]
push ebx
call fcn.00401ae0
mov dword [esi + 0xfcc], eax
mov edi, dword [esi + 0xfcc]
cmp edi, ebp
jne 0x43c98d
push str._treenode_found_but_has_no_deviceinfo
push 3
call fcn.00449e4d
mov edi, dword [esp + 0x74]
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 0x43c958
push str.f18a0e88_c30c_11d0_8815_00a0c906bed8
push edi
call esi
test eax, eax
jne 0x43c958
push str.3abf6f2d_71c4_462a_8a92_1e6861e6af27
push edi
call esi
test eax, eax
jne 0x43c958
push str.ROOT_HUB
push edi
call esi
test eax, eax
je 0x43d402
xor eax, eax
jmp 0x43d405
cmp dword [0x49db08], ebp
je 0x43c973
push str._no_treenode_found____ignore
push 3
jmp 0x43c805
push str._no_treenode_found____try_child_devices
push 3
call fcn.00449e4d
pop ecx
pop ecx
push ebx
push edi
call fcn.00438e98
jmp 0x43d405
push ebp
lea eax, [edi + 0x10]
push dword [eax]
lea ebx, [edi + 0x39e8]
lea ecx, [edi + 0x39e4]
push ebx
push ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ebx
call dword [sym.imp.CFGMGR32.dll_CM_Get_DevNode_Status]
cmp dword [0x512584], 3
mov dword [esp + 0x10], eax
jl 0x43c9fe
cmp eax, ebp
jne 0x43c9df
push dword [edi + 0x39e4]
mov eax, dword [esp + 0x18]
push dword [ebx]
push dword [eax]
push str.CM_Get_DevNode_Status__u___problem_u_status0x_08x
push 3
call fcn.00449e4d
add esp, 0x14
jmp 0x43c9fe
push dword [esp + 0x10]
call fcn.00445a19
push eax
mov eax, dword [esp + 0x18]
push dword [eax]
push str.CM_Get_DevNode_Status__u___cret_S
push 3
call fcn.00449e4d
add esp, 0x10
mov eax, dword [esp + 0x14]
cmp dword [eax], ebp
je 0x43ca28
cmp dword [esp + 0x70], ebp
jne 0x43ca28
push str.looks_like_a_just_uninstalled_device____fake_CR_NO_SUCH_DEVINST__CM_PROB_PHANTOM
push 3
call fcn.00449e4d
pop ecx
pop ecx
mov dword [esp + 0x10], 0xd
mov dword [ebx], 0x2d
or dword [edi + 0x3a24], 0xffffffff
mov dword [esp + 0x20], ebp
cmp dword [esp + 0x10], ebp
jne 0x43ca7a
cmp dword [ebx], ebp
jne 0x43ca53
push str._device_is_present_again
push 3
call fcn.00449e4d
pop ecx
pop ecx
mov dword [esp + 0x20], 1
push dword [ebx]
call fcn.00448ce9
test eax, eax
je 0x43ca76
push ebp
push 0x436f2d
push dword [esi + 8]
mov dword [esi + 0x1004], 1
call fcn.00431478
cmp dword [ebx], ebp
jne 0x43ca83
mov dword [edi + 8], ebp
mov dword [ebx], 0x2d
cmp dword [edi + 0x3a2c], ebp
je 0x43caab
lea eax, [edi + 0x3a78]
mov ecx, dword [eax]
cmp ecx, ebp
je 0x43caab
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 + 0xcf0], eax
call fcn.0040abaa
cmp dword [0x505cd8], ebp
je 0x43cad7
mov eax, dword [esi + 8]
cmp eax, dword [0x506384]
jne 0x43cb31
cmp dword [0x505ce0], ebp
jne 0x43cb31
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x14]
push ebp
push dword [eax]
lea eax, [edi + 0x39e4]
push ebx
push eax
call dword [sym.imp.CFGMGR32.dll_CM_Get_DevNode_Status]
cmp eax, 0xd
jne 0x43cb31
cmp dword [esi + 0x10], 6
jl 0x43cb06
mov dword [esi + 0x10], 8
xor eax, eax
push 1
mov ecx, esi
mov word [esi + 0x1c], ax
mov word [esi + 0x420], ax
mov word [esi + 0x864], ax
mov word [esi + 0xa68], ax
mov word [esi + 0xdc0], ax
call fcn.0040abaa
cmp dword [edi + 0x3a2c], ebp
je 0x43cb52
cmp dword [edi + 0x3a78], ebp
je 0x43cb52
mov eax, dword [0x508068]
push dword [esp + 0x6c]
mov ecx, dword [eax + 8]
call fcn.0040619c
mov ecx, dword [edi + 0x28]
cmp ecx, ebp
je 0x43cb61
push edi
call fcn.004010e0
jmp 0x43cb68
push ebp
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi + 0x82c]
cmp eax, ebp
je 0x43cc1f
mov ecx, 0x200
cmp eax, ecx
jb 0x43cb81
mov eax, ecx
dec eax
cmp eax, ebp
mov dword [esp + 0x6c], eax
jl 0x43cc1f
lea eax, [edi + eax*4 + 0x2c]
mov dword [esp + 0x18], eax
cmp dword [0x512584], 4
mov eax, dword [esp + 0x18]
mov ebx, dword [eax]
jl 0x43cbc9
lea eax, [ebx + 0xc30]
push eax
push dword [ebx + 8]
lea eax, [ebx + 0xe38]
push eax
push dword [esp + 0x78]
push str.Child__i___s_present_i_devpath_s
push 4
call fcn.00449e4d
add esp, 0x18
cmp dword [ebx + 8], ebp
je 0x43cc0c
lea eax, [ebx + 0xc30]
mov dword [esp + 0x24], eax
cmp word [eax], bp
jne 0x43cc0c
push dword [ebx + 0x10]
call fcn.004484d2
test eax, eax
jne 0x43cc0c
lea eax, [ebx + 0xe38]
push eax
push str.fake_removal_event_for_child_device_without_interface:__s
push 4
call fcn.00449e4d
add esp, 0xc
push ebp
push dword [ebx + 0x10]
push dword [esp + 0x2c]
call fcn.0043c6aa
dec dword [esp + 0x6c]
sub dword [esp + 0x18], 4
cmp dword [esp + 0x6c], ebp
jge 0x43cb96
cmp dword [esp + 0x74], ebp
jne 0x43cd28
mov eax, dword [esi + 0xd5c]
cmp eax, ebp
je 0x43cc98
mov eax, dword [eax + 0xfcc]
cmp eax, ebp
je 0x43cc98
mov ecx, dword [0x508068]
push eax
call fcn.0040121c
test eax, eax
jne 0x43cc70
lea eax, [esi + 0x420]
push eax
mov eax, dword [esi + 0xd5c]
push dword [eax + 0xfcc]
push str.pTNI__pParentTNI__pDeviceInfo0x_08Ix_is_invalid__pTNI_s
push ebp
call fcn.00449e4d
add esp, 0x10
jmp 0x43cc98
mov eax, dword [esi + 0xd5c]
add eax, 0xfcc
mov ecx, dword [eax]
cmp word [ecx + 0xc30], bp
jne 0x43cc98
mov eax, ecx
push 1
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.0043c6aa
cmp dword [edi + 0x82c], ebp
mov dword [esp + 0x18], ebp
jle 0x43cd28
lea eax, [edi + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax]
mov ecx, dword [0x508068]
push ebx
call fcn.0040121c
test eax, eax
je 0x43cd13
lea eax, [ebx + 0xc30]
mov dword [esp + 0x24], eax
cmp word [eax], bp
jne 0x43cd13
cmp dword [ebx + 8], ebp
je 0x43cd13
cmp dword [ebx + 0x39e8], ebp
jne 0x43cd13
push dword [ebx + 0x10]
call fcn.00448587
test eax, eax
jne 0x43cd13
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.00449e4d
add esp, 0x10
push ebp
push dword [ebx + 0x10]
push dword [esp + 0x2c]
call fcn.0043c6aa
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x6c], 4
cmp eax, dword [edi + 0x82c]
jl 0x43ccaf
mov eax, dword [0x505cd8]
mov ecx, dword [0x505cdc]
add ecx, eax
je 0x43cdde
mov dword [esi + 0xfe0], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.set_JustArrivedRemovedJUST_REMOVED_ArrivalRemovalT_u
push 4
mov dword [esi + 0xfdc], eax
call fcn.00449e4d
add esp, 0xc
mov ecx, esi
call fcn.0040ab43
cmp dword [0x512584], 4
mov ebx, fcn.004380aa
jl 0x43cd9c
push dword [esi + 0x820]
push dword [esi + 8]
push ebx
push dword [0x505cd8]
push esi
push dword [0x505c28]
push str.SetTimer_0x_08Ix__0x_08Ix___u__0x_08Ix_EndOfTreeNodeHighlight_TimerProc___hTreeItem0x_08Ix___s
push 4
call fcn.00449e4d
add esp, 0x20
push ebx
push dword [0x505cd8]
push esi
push dword [0x505c28]
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x505ce4], ebp
je 0x43cdf6
push dword [esi + 8]
call fcn.00432721
test eax, eax
je 0x43cdf6
cmp dword [esi + 0x10], 1
jne 0x43cdd5
mov ecx, esi
call fcn.00407378
test eax, eax
je 0x43cdf6
mov ecx, esi
call fcn.00407285
jmp 0x43cdf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push esi
push 0x113
push dword [0x505c28]
call fcn.004380aa
cmp dword [esp + 0x20], ebp
je 0x43ce27
cmp dword [esi + 0x10], 9
jne 0x43d402
mov eax, dword [esp + 0x14]
push 0x43c569
push 0x3e8
push dword [eax]
push dword [0x505c28]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x43d402
mov ecx, esi
call fcn.0040cb82
cmp dword [edi + 0x3a30], ebp
je 0x43ce46
xor eax, eax
or dword [edi + 0x3a24], 0xffffffff
mov word [edi + 0x3a38], ax
mov dword [edi + 0x3a7c], ebp
mov ecx, dword [0x508068]
push edi
call fcn.0040491e
push 0x4743b4
push ebp
push 0x7f8a
call fcn.004318be
xor edx, edx
cmp dword [edi + 0x82c], ebp
jle 0x43ce98
lea eax, [edi + 0x2c]
mov ecx, dword [eax]
cmp ecx, ebp
je 0x43ce8c
mov ebx, dword [esp + 0x1c]
mov dword [ecx + 8], ebp
mov ecx, dword [eax]
mov ebx, dword [ebx]
mov dword [ecx + 0x39e8], ebx
inc edx
add eax, 4
cmp edx, dword [edi + 0x82c]
jl 0x43ce75
mov dword [edi + 0x18], ebp
mov dword [edi + 0x1c], ebp
cmp dword [esi + 0xfc0], ebp
je 0x43cefa
mov eax, dword [esi + 0xfc4]
cmp eax, ebp
je 0x43cefa
mov eax, dword [eax + 0x40]
cmp eax, ebp
je 0x43cefa
mov dword [esp + 0x6c], ebp
jle 0x43ceef
push 0x30
pop ebx
mov eax, dword [esi + 0xfc4]
mov eax, dword [ebx + eax]
cmp eax, ebp
je 0x43ced9
mov ecx, dword [0x508064]
push eax
call fcn.00407d26
inc dword [esp + 0x6c]
mov eax, dword [esi + 0xfc4]
mov ecx, dword [esp + 0x6c]
add ebx, 4
cmp ecx, dword [eax + 0x40]
jl 0x43cec0
mov ecx, dword [0x508064]
call fcn.004090bf
mov eax, dword [esi + 0xfc8]
cmp eax, ebp
je 0x43cf78
mov eax, dword [eax + 0x10c]
cmp eax, ebp
je 0x43cf2b
mov ebx, dword [eax]
push eax
mov dword [eax], ebp
call fcn.004445cb
pop ecx
mov eax, ebx
cmp ebx, ebp
jne 0x43cf0e
mov eax, dword [esi + 0xfc8]
mov dword [eax + 0x10c], ebp
cmp dword [edi + 8], ebp
jne 0x43cf78
lea ebx, [esi + 0x1008]
mov eax, dword [ebx]
mov dword [esp + 0x6c], ebp
cmp eax, ebp
je 0x43cf5a
push 0xea60
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebx]
mov dword [esp + 0x70], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx], ebp
cmp dword [esp + 0x10], ebp
je 0x43cf78
cmp dword [esp + 0x6c], ebp
jne 0x43cf72
push ebp
push dword [esi + 0xfc8]
call fcn.004474a6
mov dword [esi + 0xfc8], ebp
cmp dword [esi + 0xfc0], ebp
je 0x43d059
cmp dword [esp + 0x10], ebp
jne 0x43cf98
push 1
mov ecx, esi
call fcn.0040abaa
jmp 0x43d04a
mov eax, dword [esi + 0xd5c]
cmp eax, ebp
je 0x43cfe3
add eax, 0xd0a
cmp word [eax], bp
push eax
mov eax, dword [esi + 0xfcc]
je 0x43cfc0
add eax, 0x1838
push eax
push str._s_removed_from_port__s
jmp 0x43cfcb
add eax, 0x1838
push eax
push str._s_removed
push dword [0x49daec]
push 1
push dword [0x506390]
call fcn.00405bdb
add esp, 0x18
jmp 0x43cffe
push str.Device_removed
push dword [0x49daec]
push 1
push dword [0x506390]
call fcn.00405bdb
add esp, 0x10
xor eax, eax
mov dword [esi + 0xfcc], ebp
mov word [esi + 0xd60], ax
push dword [edi + 4]
mov ecx, dword [0x508068]
call fcn.004042e1
mov esi, dword [esi + 0xfc4]
cmp esi, ebp
je 0x43d02f
mov esi, dword [esi + 0x10]
cmp esi, ebp
je 0x43d02f
mov dword [esi + 0x1f], ebp
call fcn.004310bf
call fcn.00435c98
mov ecx, dword [0x508064]
call fcn.004092b6
push ebp
call fcn.0043124d
push 0xc8
call fcn.0043591a
jmp 0x43d402
mov eax, dword [esi + 0xd5c]
cmp eax, ebp
je 0x43d2c3
cmp dword [eax + 0x14], ebp
je 0x43d2c3
push 0x430acb
push 0xa
push 0x12340003
push dword [0x505c28]
call dword [sym.imp.USER32.dll_SetTimer]
xor ebx, ebx
inc ebx
cmp edi, dword [esi + 0xfcc]
je 0x43d0b9
push str.DeviceRemoved
push 0x219a
push str..UsbTreeView.cpp
push str.INT3_in__S_line__u__function__S
push ebx
call fcn.00449e4d
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
int3
cmp dword [esp + 0x10], ebp
jne 0x43d163
push ebx
mov ecx, esi
call fcn.0040abaa
mov edi, dword [esp + 0x1c]
push dword [edi]
call fcn.00448ce9
test eax, eax
je 0x43d0f4
lea eax, [esi + 0xd0a]
push eax
mov eax, dword [esi + 0xfcc]
add eax, 0x1838
push eax
push str._s_prepared_for_safe_removal_from_port__s
jmp 0x43d111
cmp dword [edi], 0x16
jne 0x43d12b
lea eax, [esi + 0xd0a]
push eax
mov eax, dword [esi + 0xfcc]
add eax, 0x1838
push eax
push str._s_disabled_at_port__s
push dword [0x49daec]
push ebx
push dword [0x506390]
call fcn.00405bdb
add esp, 0x18
jmp 0x43d212
mov eax, dword [esi + 0xfcc]
lea ecx, [esi + 0xd0a]
push ecx
push dword [eax + 0x39e8]
add eax, 0x1838
push eax
push str._s_got_problem__u_at_port__s
push dword [0x49daec]
push ebx
push dword [0x506390]
call fcn.00405bdb
add esp, 0x1c
jmp 0x43d212
mov dword [esi + 0x10], 8
cmp dword [0x505cd8], ebp
je 0x43d17a
mov dword [esi + 0xfe8], ebx
jmp 0x43d18c
cmp dword [0x505cdc], ebp
je 0x43d18c
mov dword [esi + 0xfe8], 2
lea eax, [esi + 0xd0a]
push eax
mov eax, dword [esi + 0xfcc]
add eax, 0x1838
push eax
push str._s_removed_from_port__s
push dword [0x49daec]
push ebx
push dword [0x506390]
call fcn.00405bdb
mov eax, dword [esi + 0xfc4]
add esp, 0x18
cmp eax, ebp
je 0x43d1cd
mov eax, dword [eax + 0x10]
cmp eax, ebp
je 0x43d1cd
mov dword [eax + 0x1f], ebp
mov dword [esi + 0xfcc], ebp
push dword [edi + 4]
mov ecx, dword [0x508068]
call fcn.004042e1
push dword [esi + 8]
push dword [0x505c30]
call fcn.004278f6
mov eax, dword [esi + 8]
cmp eax, ebp
je 0x43d212
mov ecx, dword [0x506384]
cmp eax, ecx
jne 0x43d212
push ecx
push dword [0x505c30]
push dword [0x505c34]
call fcn.00416058
cmp dword [esp + 0x74], ebp
jne 0x43d3a1
mov eax, dword [esi + 0xd5c]
cmp eax, ebp
je 0x43d3a1
mov eax, dword [eax + 0xfcc]
cmp eax, ebp
je 0x43d3a1
cmp dword [eax], 1
jne 0x43d3a1
add eax, 0xc30
push eax
call fcn.0042b82e
test eax, eax
je 0x43d3a1
mov eax, dword [esi + 0xd5c]
mov eax, dword [eax + 0xfcc]
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 edi, eax
cmp edi, 0xffffffff
je 0x43d3a1
mov eax, dword [esi + 0xd5c]
mov ecx, dword [0x508064]
push esi
push dword [eax + 0xfc0]
push edi
call fcn.0040b654
push dword [esi + 0xd5c]
mov ecx, dword [0x508064]
push esi
call fcn.004086b2
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
push ebp
push esi
call fcn.00436dad
jmp 0x43d3a1
cmp dword [esi + 0x10], 1
jne 0x43d308
xor edi, edi
inc edi
push edi
mov ecx, esi
mov dword [esi + 0xcf0], edi
call fcn.0040abaa
mov ecx, dword [0x508064]
push edi
push dword [esp + 0x74]
call fcn.0040788c
cmp eax, ebp
je 0x43d3a1
xor ecx, ecx
inc ecx
mov dword [eax + 0xcf0], ecx
push ecx
mov ecx, eax
call fcn.0040abaa
jmp 0x43d3a1
mov ecx, str.removed
cmp dword [esp + 0x10], ebp
jne 0x43d352
mov ebx, dword [esp + 0x1c]
push dword [ebx]
call fcn.00445383
push eax
lea eax, [esp + 0x2c]
push str.got_problem__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebx]
add esp, 0xc
sub eax, 0x15
lea ecx, [esp + 0x28]
je 0x43d34d
dec eax
je 0x43d40f
dec eax
dec eax
je 0x43d34d
sub eax, 0x17
jne 0x43d352
mov ecx, str.prepared_for_safe_removal
mov eax, dword [esi + 0xfcc]
push ecx
add eax, 0x1938
push eax
push str._s__S
push dword [0x49daec]
push 1
push dword [0x506390]
call fcn.00405bdb
add esp, 0x18
cmp dword [edi + 8], ebp
jne 0x43d3a1
push dword [esi + 8]
push dword [0x505c30]
call fcn.0043281d
mov dword [esi + 0xfcc], ebp
push dword [edi + 4]
mov ecx, dword [0x508068]
call fcn.004042e1
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0x430e0f
push 0x64
push dword [eax]
push dword [0x505c28]
call esi
call fcn.004310bf
call fcn.00435c98
mov ecx, dword [0x508064]
call fcn.004092b6
push ebp
call fcn.0043124d
call fcn.00435a10
push 0x4354b1
push 0x1f4
push 0x19091969
push dword [0x505c28]
call esi
push 0xc8
call fcn.0043591a
call fcn.00437f6e
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0xc
mov ecx, str.disabled
jmp 0x43d352