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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x39
push 0
push 0
dec ecx
jne 0x53e040
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004048c4
xor eax, eax
push ebp
push 0x53e77a
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0
je 0x53e6f6
lea edx, [ebp - 0x3e]
mov ecx, 0x35
mov eax, dword [ebp - 4]
call fcn.00499604
lea eax, [ebp - 0x3e]
call fcn.005c3a80
cmp byte [0x5d6c3c], 0
je 0x53e153
lea eax, [ebp - 0x44]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0x44]
call fcn.005c5ff0
test al, al
je 0x53e153
lea eax, [ebp - 0x3e]
call fcn.005c6174
push 0xffffff
mov edx, 0x53e788
lea eax, [ebp - 0x64]
call fcn.00402cf4
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0x64]
mov cl, 0x19
call fcn.00402cc4
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x98]
call fcn.00402cf4
mov edx, 0x53e794
lea eax, [ebp - 0x98]
mov cl, 0x31
call fcn.00402cc4
lea edx, [ebp - 0x98]
lea eax, [ebp - 0x48]
call fcn.00404678
mov edx, dword [ebp - 0x48]
mov ecx, 0xff0000
mov eax, dword [0x5d70a4]
call fcn.005b2b94
cmp byte [0x5d6b20], 0
je 0x53e13a
push 0xffffff
mov ecx, 0xff
mov edx, 0x53e7b8
mov eax, dword [0x5d70a4]
call fcn.005b2b94
jmp 0x53e153
push 0xffffff
mov ecx, 0xff
mov edx, 0x53e7d8
mov eax, dword [0x5d70a4]
call fcn.005b2b94
mov cl, 0xff
mov dl, 0xff
mov al, 0xff
call fcn.0040751c
push eax
mov cl, 0xff
xor edx, edx
xor eax, eax
call fcn.0040751c
push eax
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0xb8]
call fcn.00402cf4
mov edx, 0x53e7f0
lea eax, [ebp - 0xb8]
mov cl, 0x1b
call fcn.00402cc4
lea edx, [ebp - 0xb8]
lea eax, [ebp - 0x9c]
call fcn.00404678
mov edx, dword [ebp - 0x9c]
mov eax, dword [0x5d70a4]
pop ecx
call fcn.005b2b94
cmp byte [0x5d6a2d], 0
je 0x53e235
lea eax, [ebp - 0xbc]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0xbc]
call fcn.005c5974
test al, al
je 0x53e235
cmp word [ebp - 0xe], 0x3e8
jae 0x53e235
push 0xffffff
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0xe4]
call fcn.00402cf4
mov edx, 0x53e800
lea eax, [ebp - 0xe4]
mov cl, 0x20
call fcn.00402cc4
lea edx, [ebp - 0xe4]
lea eax, [ebp - 0xc0]
call fcn.00404678
mov edx, dword [ebp - 0xc0]
mov ecx, 0xff
mov eax, dword [0x5d70a4]
call fcn.005b2b94
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
jmp 0x53e6f6
cmp byte [0x5d6a2e], 0
je 0x53e2bc
lea eax, [ebp - 0xe8]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0xe8]
call fcn.005c5a20
test al, al
je 0x53e2bc
cmp word [ebp - 0xe], 0x64
jae 0x53e2bc
push 0xffffff
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0xe4]
call fcn.00402cf4
mov edx, 0x53e800
lea eax, [ebp - 0xe4]
mov cl, 0x20
call fcn.00402cc4
lea edx, [ebp - 0xe4]
lea eax, [ebp - 0xec]
call fcn.00404678
mov edx, dword [ebp - 0xec]
mov ecx, 0xff
mov eax, dword [0x5d70a4]
call fcn.005b2b94
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
jmp 0x53e6f6
cmp byte [0x5d69a5], 0
je 0x53e2ea
lea eax, [ebp - 0xf0]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0xf0]
mov edx, dword [0x5d69a8]
call fcn.00404820
je 0x53e6ef
cmp byte [0x5d69ac], 0
je 0x53e318
lea eax, [ebp - 0xf4]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0xf4]
mov edx, dword [0x5d69b0]
call fcn.00404820
je 0x53e6ef
cmp byte [0x5d69b4], 0
je 0x53e346
lea eax, [ebp - 0xf8]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0xf8]
mov edx, dword [0x5d69b8]
call fcn.00404820
je 0x53e6ef
cmp byte [0x5d69bc], 0
je 0x53e374
lea eax, [ebp - 0xfc]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0xfc]
mov edx, dword [0x5d69b8]
call fcn.00404820
je 0x53e6ef
lea eax, [ebp - 0x3e]
call fcn.0053dc24
test al, al
je 0x53e3da
push 0xffffff
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0x130]
call fcn.00402cf4
mov edx, 0x53e814
lea eax, [ebp - 0x130]
mov cl, 0x2e
call fcn.00402cc4
lea edx, [ebp - 0x130]
lea eax, [ebp - 0x100]
call fcn.00404678
mov edx, dword [ebp - 0x100]
mov ecx, 0xff
mov eax, dword [0x5d70a4]
call fcn.005b2b94
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
jmp 0x53e6ef
lea eax, [ebp - 0x3e]
call fcn.0053dc80
test al, al
je 0x53e456
push 0xffffff
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0x160]
call fcn.00402cf4
mov edx, 0x53e838
lea eax, [ebp - 0x160]
mov cl, 0x2a
call fcn.00402cc4
lea edx, [ebp - 0x160]
lea eax, [ebp - 0x134]
call fcn.00404678
mov edx, dword [ebp - 0x134]
mov ecx, 0xff
mov eax, dword [0x5d70a4]
call fcn.005b2b94
lea eax, [ebp - 0x164]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov edx, dword [ebp - 0x164]
mov ecx, 3
mov eax, ebx
call fcn.0054cd0c
jmp 0x53e6ef
lea eax, [ebp - 0x168]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov eax, dword [ebp - 0x168]
mov edx, dword [ebx + 0x730]
call fcn.00404820
jne 0x53e49f
cmp byte [ebx + 0x72c], 0
je 0x53e49f
inc dword [ebx + 0x734]
cmp dword [ebx + 0x734], 6
jl 0x53e6ef
mov byte [ebx + 0x72c], 0
jmp 0x53e6ef
cmp byte [0x5d69a4], 0
je 0x53e614
lea eax, [ebp - 0x3e]
call fcn.005c9200
test al, al
je 0x53e614
mov byte [ebp - 9], 0
mov eax, dword [0x5d69c0]
mov edi, dword [eax + 8]
dec edi
test edi, edi
jl 0x53e555
inc edi
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
mov eax, dword [0x5d69c0]
call fcn.00419afc
mov esi, eax
mov eax, esi
lea edx, [ebp - 0x3e]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402da0
jne 0x53e54f
mov byte [ebp - 9], 1
cmp dword [esi + 0xf], 0
jne 0x53e50f
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
jmp 0x53e54f
movzx eax, word [ebp - 0xe]
mov dword [ebp - 0x16c], eax
fild dword [ebp - 0x16c]
fdiv dword [0x53e858]
call fcn.00402bcc
push edx
push eax
mov eax, dword [esi + 0x13]
cdq
cmp edx, dword [esp + 4]
jne 0x53e53f
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x53e555
jmp 0x53e543
pop edx
pop eax
jle 0x53e555
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
jmp 0x53e555
inc dword [ebp - 8]
dec edi
jne 0x53e4d9
cmp byte [ebp - 9], 0
jne 0x53e6ef
push 0xffffff
mov edx, 0x53e85c
lea eax, [ebp - 0x64]
call fcn.00402cf4
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0x64]
mov cl, 0x19
call fcn.00402cc4
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x1c0]
call fcn.00402cf4
mov edx, 0x53e868
lea eax, [ebp - 0x1c0]
mov cl, 0x4c
call fcn.00402cc4
lea edx, [ebp - 0x1c0]
lea eax, [ebp - 0x170]
call fcn.00404678
mov edx, dword [ebp - 0x170]
mov ecx, 0xff
mov eax, dword [0x5d70a4]
call fcn.005b2b94
mov eax, 0x1f
call fcn.00402714
mov esi, eax
mov edx, 0x1f
mov eax, esi
call fcn.004074c4
mov eax, esi
lea edx, [ebp - 0x3e]
mov cl, 0xe
call fcn.00402d00
mov dword [esi + 0xf], 1
xor eax, eax
mov dword [esi + 0x13], eax
xor eax, eax
mov dword [esi + 0x17], eax
xor eax, eax
mov dword [esi + 0x1b], eax
mov edx, esi
mov eax, dword [0x5d69c0]
call fcn.004199a0
call fcn.005c9090
jmp 0x53e6ef
lea eax, [ebp - 0x1c4]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov edx, dword [ebp - 0x1c4]
mov eax, dword [0x5d87b4]
call fcn.00404820
jne 0x53e6a2
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x960]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x53e65b
cmp eax, 0x3e8
jae 0x53e6a2
jmp 0x53e65d
jge 0x53e6a2
xor edx, edx
mov dl, byte [ebp - 0x2f]
mov eax, dword [ebp - 0x12]
call fcn.0053dcdc
test al, al
jne 0x53e67a
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
jmp 0x53e6ef
lea eax, [ebp - 0x1c8]
lea edx, [ebp - 0x3e]
call fcn.00404678
mov edx, dword [ebp - 0x1c8]
mov eax, dword [0x5d6d48]
call fcn.005cb878
xor eax, eax
mov dword [ebx + 0x960], eax
jmp 0x53e6ef
mov eax, dword [0x5d87b4]
mov edx, 0x53e8a4
call fcn.00404820
je 0x53e6ef
call sub.kernel32.dll_GetTickCount_1
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x960]
cdq
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
cmp edx, 0
jne 0x53e6da
cmp eax, 0x320
jae 0x53e6ef
jmp 0x53e6dc
jge 0x53e6ef
cmp byte [0x5d6989], 0
je 0x53e6ef
mov edx, dword [ebp - 0x12]
mov eax, ebx
call fcn.005482e4
mov eax, ebx
call fcn.0053ec88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53e781
lea eax, [ebp - 0x1c8]
mov edx, 2
call fcn.00404438
lea eax, [ebp - 0x170]
call fcn.00404414
lea eax, [ebp - 0x168]
mov edx, 2
call fcn.00404438
lea eax, [ebp - 0x134]
call fcn.00404414
lea eax, [ebp - 0x100]
mov edx, 7
call fcn.00404438
lea eax, [ebp - 0xc0]
mov edx, 2
call fcn.00404438
lea eax, [ebp - 0x9c]
call fcn.00404414
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00404438
lea eax, [ebp - 4]
call fcn.00404414
ret