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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
test dl, dl
je 0x52cf83
add esp, 0xfffffff0
call fcn.0040496c
mov byte [ebp - 1], dl
mov ebx, eax
mov edi, dword [0x5671fc]
xor eax, eax
mov dword [ebx + 0x28], eax
xor eax, eax
mov dword [ebx + 0x2c], eax
xor eax, eax
mov dword [ebx + 0x30], eax
xor eax, eax
mov dword [ebx + 0x34], eax
xor eax, eax
mov dword [ebx + 0x38], eax
xor eax, eax
mov dword [ebx + 0x3c], eax
xor eax, eax
mov dword [ebx + 0x40], eax
xor eax, eax
mov dword [ebx + 8], eax
xor eax, eax
mov dword [ebx + 0xc], eax
xor eax, eax
mov dword [ebx + 0x10], eax
mov dl, 1
mov eax, dword [0x4198c0]
call fcn.00404618
mov dword [ebx + 0x64], eax
mov dl, 1
mov eax, dword [0x4198c0]
call fcn.00404618
mov dword [ebx + 0x34d8], eax
mov dl, 1
mov eax, dword [0x4198c0]
call fcn.00404618
mov dword [ebx + 0x34dc], eax
mov dl, 1
mov eax, dword [0x4198c0]
call fcn.00404618
mov dword [ebx + 0x34e0], eax
mov dl, 1
mov eax, dword [0x4198c0]
call fcn.00404618
mov dword [ebx + 0x34e4], eax
mov dl, 1
mov eax, dword [0x4198c0]
call fcn.00404618
mov dword [ebx + 0x34e8], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x34ec], eax
mov byte [ebx + 0x34f0], 0
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dl, 1
mov eax, dword [0x433f38]
call fcn.00436edc
mov esi, eax
mov dword [ebx + 0x34cc], esi
mov edx, dword [edi]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x6c]
xor edx, edx
mov eax, esi
call fcn.00435fe0
xor edx, edx
mov eax, esi
call fcn.004496d4
mov dl, 1
mov eax, esi
call fcn.00451a78
xor edx, edx
mov eax, esi
call fcn.00448e3c
mov edx, 0xfa
mov eax, esi
call fcn.00448e70
mov edx, 0x12c
mov eax, esi
call fcn.00448ea4
mov edx, 0x96
mov eax, esi
call fcn.00448ed8
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dl, 1
mov eax, dword [0x433388]
call fcn.00435ef0
mov esi, eax
mov dword [ebx + 0x34d0], esi
mov edx, dword [edi]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov dl, 1
mov eax, esi
call fcn.00435fe0
xor edx, edx
mov eax, esi
call fcn.004496d4
mov edx, 0x46
mov eax, esi
call fcn.0043602c
mov dl, 1
mov eax, esi
call fcn.00451a78
mov edx, dword [0x566c70]
mov edx, dword [edx]
sub edx, 0xc2
sar edx, 1
jns 0x52d103
adc edx, 0
mov eax, esi
call fcn.00448e3c
mov edx, dword [0x566c48]
mov edx, dword [edx]
sub edx, 0xc8
mov eax, esi
call fcn.00448e70
mov edx, 0xc
mov eax, esi
call fcn.00448ed8
mov edx, 0xc2
mov eax, esi
call fcn.00448ea4
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dl, 1
mov eax, dword [0x433388]
call fcn.00435ef0
mov esi, eax
mov dword [ebx + 0x34d4], esi
mov edx, dword [edi]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov dl, 1
mov eax, esi
call fcn.00435fe0
xor edx, edx
mov eax, esi
call fcn.004496d4
mov edx, 0x46
mov eax, esi
call fcn.0043602c
mov dl, 1
mov eax, esi
call fcn.00451a78
mov edx, dword [0x566c70]
mov edx, dword [edx]
sub edx, 0xc2
sar edx, 1
jns 0x52d195
adc edx, 0
mov eax, esi
call fcn.00448e3c
mov edx, dword [0x566c48]
mov edx, dword [edx]
sub edx, 0xb0
mov eax, esi
call fcn.00448e70
mov edx, 0xc
mov eax, esi
call fcn.00448ed8
mov edx, 0xc2
mov eax, esi
call fcn.00448ea4
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x48], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x50], eax
xor eax, eax
mov dword [ebx + 0x54], eax
xor eax, eax
mov dword [ebx + 0x4c], eax
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dl, 1
mov eax, dword [0x438cb0]
call fcn.004394b8
mov esi, eax
mov dword [ebx + 0x60], esi
push ebx
push 0x52d3a0
mov eax, esi
call fcn.00439660
mov edx, 1
mov eax, esi
call fcn.00439650
xor edx, edx
mov eax, esi
call fcn.00439640
mov eax, ebx
cmp byte [ebp - 1], 0
je 0x52d232
call fcn.004049c4
pop dword fs:[0]
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret