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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bbd11
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x62dc50]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x12c]
cmp dword [eax + 0x48], 0
je 0x43d477
cmp dword [ebp + 8], 0xffffffff
jne 0x43d0ae
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x44]
mov dword [ebp + 8], edx
cmp dword [ebp + 8], 0
jne 0x43d0ff
call sub.KERNEL32.dll_GetCurrentThreadId
mov ecx, dword [ebp - 0x12c]
mov dword [ecx + 0x60], eax
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x12c]
add ecx, 0x54
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call sub.KERNEL32.dll_GetCurrentThreadId
mov edx, dword [ebp - 0x12c]
mov dword [edx + 0x5c], eax
mov dword [ebp - 0xa0], 1
jmp 0x43d477
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x12c]
call fcn.0043cff0
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
jne 0x43d15d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xa4]
cmp eax, dword [ebp + 8]
jge 0x43d15d
mov eax, dword [ebp - 0x12c]
cmp dword [eax + 0x48], 0
je 0x43d15d
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x12c]
call fcn.0043cff0
mov dword [ebp - 0xa0], eax
jmp 0x43d11c
cmp dword [ebp - 0xa0], 0
jne 0x43d477
mov byte [ebp - 0x104], 0
xor ecx, ecx
mov dword [ebp - 0x103], ecx
mov dword [ebp - 0xff], ecx
mov dword [ebp - 0xfb], ecx
mov dword [ebp - 0xf7], ecx
mov dword [ebp - 0xf3], ecx
mov dword [ebp - 0xef], ecx
mov dword [ebp - 0xeb], ecx
mov dword [ebp - 0xe7], ecx
mov dword [ebp - 0x130], str..txt
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x108], esp
push 0x5f3058
call fcn.00404040
mov dword [ebp - 0x134], eax
lea edx, [ebp - 0x2c]
push edx
call fcn.0042b600
add esp, 0x20
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x13c]
push ecx
mov eax, str.loglock.
lea ecx, [ebp - 0x48]
call fcn.0040a740
add esp, 4
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x144], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0xe0]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48]
call fcn.004040b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2c]
call fcn.004040b0
mov dword [ebp - 0x14c], str._lock_fail_on
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10c], esp
push str.yyyymmdd_hh:nn:ss
call fcn.00404040
mov dword [ebp - 0x150], eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.0042b600
add esp, 0x20
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x158], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x14c]
lea ecx, [ebp - 0xc4]
call fcn.0040a790
add esp, 4
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x64]
call fcn.004040b0
mov eax, dword [ebp - 0x12c]
add eax, 4
lea ecx, [ebp - 0xc4]
push ecx
call fcn.0040a000
lea edx, [ebp - 0xc4]
push edx
mov eax, str._fail_thread:
call fcn.0040a000
push 0xa
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.00589cd5
add esp, 0xc
lea ecx, [ebp - 0xc4]
push ecx
call fcn.0040a000
lea edx, [ebp - 0xc4]
push edx
mov eax, str._keep_thread:
call fcn.0040a000
push 0xa
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x5c]
push edx
call fcn.00589cd5
add esp, 0xc
lea ecx, [ebp - 0xc4]
push ecx
call fcn.0040a000
lea edx, [ebp - 0xc4]
push edx
mov eax, 0x5f30b4
call fcn.0040a000
push 0xa
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax + 0x54]
cdq
push edx
push eax
lea ecx, [ebp - 0x80]
push ecx
call fcn.00427860
add esp, 0x10
mov dword [ebp - 0x160], eax
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x164], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x164]
lea esi, [ebp - 0xc4]
call fcn.00409ff0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x80]
call fcn.004040b0
lea eax, [ebp - 0xc4]
push eax
mov eax, 0x5f30c4
call fcn.0040a000
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0xa8], edx
push 0xa
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.00589cd5
add esp, 0xc
lea edx, [ebp - 0xc4]
push edx
call fcn.0040a000
push 0x5f30d0
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x9c]
push ecx
call fcn.00413430
add esp, 0xc
mov dword [ebp - 0x168], eax
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x16c]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x110], esp
lea edx, [ebp - 0xe0]
push edx
call fcn.00405ca0
mov dword [ebp - 0x170], eax
call fcn.004281d0
add esp, 0x20
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x9c]
call fcn.004040b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc4]
call fcn.004040b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
call fcn.004040b0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00587964
mov esp, ebp
pop ebp
ret 4