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

Disassembly:
push 0x40
mov eax, 0x47651b
call fcn.00472eab
mov ebx, ecx
lea eax, [ebx + 0x1b4]
push eax
lea ecx, [ebp - 0x44]
call fcn.00425578
test byte [ebp + 8], 1
je 0x43d850
mov eax, dword [ebx + 8]
lea esi, [ebx + 0x398]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x24]
push ecx
push 2
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 8]
call esi
mov edi, eax
test edi, edi
jns 0x43d850
mov ecx, dword [ebx + 0x60]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xecf
mov eax, dword [ebx + 0x60]
push 0x4101f0
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
mov edx, edi
mov ecx, eax
call fcn.0044829d
jmp 0x43da12
mov eax, dword [ebx]
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
mov esi, dword [eax + 0x70]
mov ecx, esi
call dword [0x47d838]
mov ecx, ebx
call esi
mov edi, eax
test edi, edi
jns 0x43d891
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xed2
jmp 0x43d82a
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebx + 0x378]
jne 0x43d9c6
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebx + 0x37c]
jne 0x43d9c6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x36c]
cmp eax, dword [ebx + 0x360]
jb 0x43da12
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebx + 0x9c]
call fcn.0042e6d4
mov edi, eax
test edi, edi
jns 0x43d901
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xee4
jmp 0x43d82a
cmp dword [ebp - 0x28], 3
je 0x43d937
cmp dword [ebp - 0x28], 5
je 0x43d937
mov eax, dword [ebx + 0x60]
mov edi, 0x8000ffff
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xee6
jmp 0x43d82a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp - 0x28], 3
lea edi, [ebx + 8]
mov dword [ebx + 0x36c], eax
mov eax, dword [edi]
push 0
mov esi, dword [eax + 0xc]
mov ecx, esi
jne 0x43d990
push 4
call dword [0x47d838]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
jns 0x43da12
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xeef
jmp 0x43d82a
push 0x10003
call dword [0x47d838]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
jns 0x43da12
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xef5
jmp 0x43d82a
mov ecx, ebx
call fcn.0043e2c0
mov edi, eax
test edi, edi
jns 0x43d9f4
mov eax, dword [ebx + 0x60]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x47d838]
lea ecx, [ebx + 0x60]
call esi
test eax, eax
je 0x43da12
push 0xeda
jmp 0x43d82a
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x378], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x37c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + 0x36c], eax
mov ecx, edi
call fcn.0042757e
and dword [ebp - 4], 0
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0x4010e8
call fcn.004286ff
or dword [ebp - 4], 0xffffffff
mov eax, edi
call fcn.00472e69
ret 4