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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
cmp dword [0x501804], 0
push ebx
push esi
push edi
jne 0x43e5e1
cmp dword [0x501070], 0
jne 0x43e5e1
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [0x500aa8], 5
mov edi, 0x1f4
setne al
dec eax
and eax, edi
add eax, 0x3e8
mov dword [ebp - 4], eax
test esi, esi
je 0x43e009
push dword [esi + 4]
call fcn.0044a5a6
jmp 0x43e00e
mov eax, 0x44e4b0
push eax
push dword [ebp + 0xc]
call fcn.0044a611
push eax
mov ebx, str.WM_DEVICECHANGE__DBT__S_db_hdr__dbch_devicetype_S
push ebx
push 2
call fcn.004487a4
add esp, 0x10
push esi
push dword [ebp + 0xc]
call fcn.0042fd76
test eax, eax
je 0x43e048
push str._ignore
push 2
call fcn.004487a4
pop ecx
pop ecx
jmp 0x43e5e1
cmp dword [0x498af8], 0
je 0x43e5e1
mov eax, dword [ebp + 0xc]
cmp eax, 7
je 0x43e5ac
mov ecx, 0x8000
cmp eax, ecx
je 0x43e40f
jbe 0x43e5e1
cmp eax, 0x8003
jbe 0x43e3bc
cmp eax, 0x8004
je 0x43e24c
cmp eax, 0x8006
jne 0x43e5e1
test esi, esi
jne 0x43e0c4
push str.Dlg_OnDeviceChange
push 0x1925
push str..UsbTreeView.cpp
push str.INT3_in__S_line__u__function__S
push 1
call fcn.004487a4
add esp, 0x14
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x43e5e1
cmp dword [esi + 4], 6
jne 0x43e5e1
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
lea edi, [esi + 0x14]
push edi
push 0x44c760
mov dword [ebp + 0xc], eax
call fcn.00401000
test eax, eax
jne 0x43e5e1
push edi
call fcn.00444aab
push eax
push ebx
push dword [ebp + 0xc]
push str._DBT_DEVTYP_HANDLE_hDev0x_08Ix_hNotify0x_08Ix_guid_S
push 3
call fcn.004487a4
mov ecx, dword [0x5034fc]
add esp, 0x14
push ebx
call fcn.00401e98
mov esi, eax
test esi, esi
je 0x43e5e1
lea eax, [esi + 0x1738]
push eax
lea eax, [esi + 0xe38]
push eax
push str._dev_s___s_
push 3
pop ebx
push ebx
call fcn.004487a4
add esp, 0x10
push edi
push 0x44c730
call fcn.00401000
test eax, eax
jne 0x43e174
push edi
push 0x44c740
call fcn.00401000
test eax, eax
jne 0x43e174
push edi
push 0x44c720
call fcn.00401000
test eax, eax
jne 0x43e174
push str._ignore
push ebx
jmp 0x43e03c
push edi
push 0x44c6d0
call fcn.00401000
test eax, eax
je 0x43e1c0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [esi + 0x3a88]
cmp eax, 0x3e8
jae 0x43e1b8
cmp dword [0x50da14], ebx
jl 0x43e5e1
call edi
sub eax, dword [esi + 0x3a88]
push eax
push str._ignore_bc_processed__u_ms_before
push ebx
jmp 0x43e3af
call edi
mov dword [esi + 0x3a88], eax
push dword [esi + 0x10]
mov edi, dword [sym.imp.USER32.dll_KillTimer]
push dword [ebp + 8]
call edi
mov ebx, dword [sym.imp.USER32.dll_SetTimer]
push 0x4344df
push 0x64
push dword [esi + 0x10]
push dword [ebp + 8]
call ebx
mov esi, dword [esi + 0x3a78]
test esi, esi
je 0x43e5e1
mov esi, dword [esi + 0x14]
test esi, esi
je 0x43e5e1
mov ecx, dword [0x5034fc]
push esi
call fcn.00401acd
mov esi, eax
test esi, esi
je 0x43e5e1
mov ecx, dword [0x5034f8]
push 0
push dword [esi + 0x10]
call fcn.004076b3
test eax, eax
je 0x43e230
mov dword [eax + 0x1000], 1
push dword [esi + 0x10]
push dword [ebp + 8]
call edi
push 0x4344df
push 0x64
push dword [esi + 0x10]
push dword [ebp + 8]
call ebx
jmp 0x43e5e1
mov ebx, 0x12340003
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x43e26f
push 0x42fbe5
push edi
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
test esi, esi
jne 0x43e27a
xor eax, eax
jmp 0x43e5e4
mov eax, dword [esi + 4]
cmp eax, 5
jne 0x43e352
lea ebx, [esi + 0xc]
push ebx
call fcn.00444c26
test eax, eax
jne 0x43e29f
push 1
push ebx
call fcn.00444e0f
test eax, eax
je 0x43e2af
push eax
push str._______________________S_______________________
push 0
call fcn.004487a4
add esp, 0xc
push 4
pop edi
cmp dword [0x50da14], edi
jl 0x43e2eb
push 1
push ebx
call fcn.00444e0f
push eax
push str._clsguid_S
push edi
call fcn.004487a4
add esp, 0xc
cmp dword [0x50da14], edi
jl 0x43e2eb
lea eax, [esi + 0x1c]
push eax
push str._devpath_s
push edi
call fcn.004487a4
add esp, 0xc
xor ebx, ebx
push ebx
push ebx
add esi, 0x1c
push esi
call fcn.00437f37
test eax, eax
jne 0x43e5e1
cmp dword [0x50da14], edi
jl 0x43e319
push dword [ebp - 4]
push str.starting_TIMERID_REFRESHTREE_after_DeviceRemoved_returned_false__t_u
push edi
call fcn.004487a4
add esp, 0xc
push 0x15227010
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_KillTimer]
push 0x43a733
push dword [ebp - 4]
push 0x12340001
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
push str.OnDevCh
push ebx
push 0x7f8a
call fcn.004309d8
jmp 0x43e5e1
cmp eax, 6
jne 0x43e387
mov edi, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
push str.HANDLE
push str._______________________S_______________________
push 0
call fcn.004487a4
push esi
push edi
push str.hDev0x_08Ix_hNotify0x_08Ix
push 1
call fcn.004487a4
add esp, 0x1c
push esi
push 0x8004
jmp 0x43e405
cmp eax, 2
jne 0x43e39c
push esi
push 0x8004
call fcn.00434532
jmp 0x43e5e1
cmp eax, 3
jne 0x43e5e1
add esi, 0xc
push esi
push str._name_s
push eax
call fcn.004487a4
add esp, 0xc
jmp 0x43e5e1
test esi, esi
je 0x43e273
push dword [esi + 4]
call fcn.0044a5a6
push eax
push dword [ebp + 0xc]
call fcn.0044a611
push eax
push ebx
push 1
call fcn.004487a4
add esp, 0x10
cmp dword [esi + 4], 6
jne 0x43e5e1
mov edi, dword [esi + 0x10]
push edi
push dword [esi + 0xc]
push str.hDev0x_08Ix_hNotify0x_08Ix
push 1
call fcn.004487a4
add esp, 0x10
push edi
push dword [ebp + 0xc]
call fcn.0043c32c
jmp 0x43e5e1
test esi, esi
je 0x43e273
mov eax, dword [esi + 4]
cmp eax, 5
jne 0x43e54b
lea ebx, [esi + 0xc]
push ebx
call fcn.00444c26
test eax, eax
jne 0x43e43c
push 1
push ebx
call fcn.00444e0f
test eax, eax
je 0x43e44c
push eax
push str.______________________S______________________
push 0
call fcn.004487a4
add esp, 0xc
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.00442d2f
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea eax, [esi + 0x24]
push eax
call fcn.0042bce4
push 4
pop edi
cmp dword [0x50da14], edi
jl 0x43e4d8
push 1
push ebx
call fcn.00444e0f
push eax
push str._clsguid_S
push edi
call fcn.004487a4
add esp, 0xc
cmp dword [0x50da14], edi
jl 0x43e4d8
lea eax, [esi + 0x1c]
push eax
push str._devpath_s
push edi
call fcn.004487a4
add esp, 0xc
cmp dword [0x50da14], edi
jl 0x43e4d8
lea eax, [ebp - 0x20c]
push eax
push str._krnlnam_s
push edi
call fcn.004487a4
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x501834], eax
xor eax, eax
cmp word [ebp - 0x20c], ax
je 0x43e5e1
push eax
push ebx
push eax
add esi, 0x1c
push esi
call fcn.0043a83c
test eax, eax
jne 0x43e5e1
push 0x15227010
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_KillTimer]
cmp dword [0x50da14], edi
jl 0x43e529
push str.starting_TIMERID_REFRESHTREE_after_DeviceArrived_returned_false
push edi
call fcn.004487a4
pop ecx
pop ecx
push 0x43a733
push dword [ebp - 4]
push 0x12340001
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
push str.OnDevCh
push 0
jmp 0x43e343
cmp eax, 6
jne 0x43e59c
mov edi, dword [esi + 0xc]
mov esi, dword [esi + 0x10]
push str.HANDLE
push str.______________________S______________________
push 0
call fcn.004487a4
push esi
push edi
push str.hDev0x_08Ix_hNotify0x_08Ix
push 1
call fcn.004487a4
mov ecx, dword [0x5034fc]
add esp, 0x1c
push esi
call fcn.00401e98
test eax, eax
je 0x43e5e1
push 0
push 0
push dword [eax + 0x10]
add eax, 0xc30
push eax
call fcn.0043a83c
jmp 0x43e5e1
cmp eax, 2
jne 0x43e39c
push esi
push ecx
jmp 0x43e392
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0x42fbe5
push edi
push 0x12340003
push dword [ebp + 8]
mov dword [0x501834], eax
call esi
push 0x42faf9
push 0x3e8
push 0x12340004
push dword [ebp + 8]
call esi
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc