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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x45541d
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00405100
xor eax, eax
push ebp
push 0x456755
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x2f58]
call fcn.004103c0
lea eax, [ebp - 0x2c]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00405178
mov eax, dword [ebp - 0x2c]
mov edx, 0x45676c
call fcn.004050a8
je 0x455489
mov ecx, esi
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x24]
call fcn.00452170
jmp 0x456722
mov eax, esi
mov edx, 0x456778
call fcn.00404cd4
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.0040acc8
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 4]
call fcn.00404d18
lea eax, [ebp - 4]
mov ecx, 1
mov edx, 1
call fcn.004051b8
lea ecx, [ebp - 0x10]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x2f3c]
mov edi, dword [eax]
call dword [edi + 0x8c]
test al, al
je 0x456722
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x2f3c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x1c]
mov byte [eax + 0x1c], 1
mov edi, eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x5d
jg 0x455569
je 0x45571e
cmp eax, 6
jg 0x455534
je 0x455695
cmp eax, 5
ja case.0x455580.98
jmp dword [eax*4 + 0x45551c]
cmp eax, 0x4d
jg 0x455554
je 0x4556d2
sub eax, 0x3c
je 0x4556ac
dec eax
je 0x4556bf
jmp case.0x455580.98
sub eax, 0x5b
je 0x4556e4
dec eax
je 0x4556f3
jmp case.0x455580.98
cmp eax, 0x66
jg 0x4555a3
je 0x4557b0
add eax, 0xffffffa2
cmp eax, 6
ja case.0x455580.98
jmp dword [eax*4 + 0x455587]
cmp eax, 0x20d
jg 0x4555c7
je 0x455802
sub eax, 0x1f4
je 0x4557c6
dec eax
je 0x4557e4
jmp case.0x455580.98
sub eax, 0x20e
je 0x455811
sub eax, 3
je 0x455820
jmp case.0x455580.98
mov eax, dword [ebx + 0x2f5c]
call fcn.00420014
xor edx, edx
push edx
push eax
mov eax, esi
call fcn.0040b1d4
jmp case.0x455580.98
mov eax, dword [ebx + 0x2f5c]
call fcn.004200c8
xor edx, edx
push edx
push eax
mov eax, esi
call fcn.0040b1d4
jmp case.0x455580.98
call fcn.0040cbf4
fstp qword [ebp - 0x20]
wait
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 8]
mov edx, 0x456784
call fcn.0040d7f4
mov eax, esi
mov edx, dword [ebp - 8]
call fcn.00404cd4
jmp case.0x455580.98
call fcn.0040cbf4
fstp qword [ebp - 0x28]
wait
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0xc]
mov edx, 0x456794
call fcn.0040d7f4
mov eax, esi
mov edx, dword [ebp - 0xc]
call fcn.00404cd4
jmp case.0x455580.98
call fcn.004542f0
push edx
push eax
mov eax, esi
call fcn.0040b1d4
jmp case.0x455580.98
mov eax, 0x3e8
call fcn.00403530
mov edx, esi
call fcn.0040b0e8
jmp case.0x455580.98
lea eax, [ebp - 0x34]
call fcn.00454344
mov eax, dword [ebp - 0x34]
mov edx, esi
call fcn.00454088
jmp case.0x455580.98
mov eax, edi
call fcn.00422178
mov edx, esi
call fcn.0040b0e8
jmp case.0x455580.98
mov eax, edi
call fcn.004221a4
mov edx, esi
call fcn.0040b0e8
jmp case.0x455580.98
mov eax, esi
mov edx, dword [ebx + 0x20]
mov edx, dword [edx + 0x10]
call fcn.00404cd4
jmp case.0x455580.98
mov edx, esi
mov eax, dword [ebx + 0x24]
call fcn.00452298
jmp case.0x455580.98
mov eax, dword [ebx + 0x24]
cmp byte [eax + 0x10], 1
jne 0x45570d
mov eax, esi
mov edx, 0x4567a4
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x4567b4
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x4567c4
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x4567d0
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x4567dc
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x4567e8
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x4567f4
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, 0x456800
call fcn.00404cd4
jmp case.0x455580.98
mov eax, dword [0x4698dc]
cmp byte [eax], 0
je 0x45579f
mov edx, esi
mov eax, 0x456810
call fcn.0041d334
jmp case.0x455580.98
mov edx, esi
mov eax, 0x456830
call fcn.0041d334
jmp case.0x455580.98
lea edx, [ebp - 0x38]
xor eax, eax
call fcn.004034a8
mov eax, dword [ebp - 0x38]
mov edx, esi
call fcn.0045410c
jmp case.0x455580.98
call sub.kernel32.dll_GetTickCount_1
mov ecx, 0x3e8
xor edx, edx
div ecx
sub eax, dword [ebx + 0x14]
xor edx, edx
push edx
push eax
mov eax, esi
call fcn.0040b1d4
jmp case.0x455580.98
call sub.kernel32.dll_GetTickCount_1
mov ecx, 0x64
xor edx, edx
div ecx
sub eax, dword [ebx + 0x18]
xor edx, edx
push edx
push eax
mov eax, esi
call fcn.0040b1d4
jmp case.0x455580.98
mov eax, esi
mov edx, dword [ebx + 0x2f38]
call fcn.00404cd4
jmp case.0x455580.98
mov eax, esi
mov edx, dword [ebx + 0x2f34]
call fcn.00404cd4
jmp case.0x455580.98
mov eax, dword [ebx + 0x2f74]
xor edx, edx
push edx
push eax
mov eax, esi
call fcn.0040b1d4
mov eax, dword [ebx + 0x2f5c]
call fcn.004200c8
test eax, eax
jbe 0x45670d
mov edi, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x2f60]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff9
cmp eax, 0x20d
ja 0x45670d
movzx eax, byte [eax + 0x45586f]
jmp dword [eax*4 + 0x455a7d]
mov eax, dword [ebx + 0x1c]
cmp byte [eax + 0x1c], 0
jne 0x456722
mov eax, esi
mov edx, 0x456778
call fcn.00404cd4
mov eax, dword [ebx + 0x2f58]
call fcn.0041046c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45675c
lea eax, [ebp - 0x54]
mov edx, 0xb
call fcn.00404ca4
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404ca4
ret