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

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0xb4
push ebx
push esi
xor bl, bl
push edi
mov byte [ebp + 0x66], bl
mov byte [ebp + 0x6b], bl
call dword [0x42a20c]
push eax
call fcn.00421d78
mov eax, dword [ebp + 0x78]
pop ecx
mov cl, byte [eax]
cmp cl, 0x3e
mov byte [ebp + 0x67], bl
jne 0x4034fd
cmp byte [eax + 1], 0x3d
sete bl
add bl, 2
jmp 0x403524
cmp cl, 0x3c
jne 0x40350e
cmp byte [eax + 1], 0x3d
sete bl
add bl, 4
jmp 0x403524
cmp cl, 0x21
jne 0x40351d
cmp byte [eax + 1], 0x3d
jne 0x403527
mov bl, 6
jmp 0x403524
cmp cl, 0x3d
jne 0x403527
mov bl, 7
mov byte [ebp + 0x67], bl
mov edi, dword [ebp + 0x74]
mov esi, dword [0x42a1f4]
push 0x42a4b4
push edi
call esi
test eax, eax
jne 0x403585
push dword [ebp + 0x7c]
call dword [0x42a214]
push eax
push dword [ebp + 0x7c]
push 0x458d98
call fcn.00421db0
add esp, 0xc
test eax, eax
jne 0x40355e
mov byte [ebp + 0x66], 1
cmp bl, 7
jne 0x40356b
mov al, byte [ebp + 0x66]
jmp 0x4038d1
cmp bl, 6
jne 0x4038d4
movzx eax, byte [ebp + 0x66]
not eax
test eax, eax
setne byte [ebp + 0x6b]
jmp 0x4038d4
push 0x42a4b0
push edi
call esi
test eax, eax
jne 0x4035aa
push dword [ebp + 0x7c]
call dword [0x42a214]
push eax
push dword [ebp + 0x7c]
push 0x458d70
call fcn.00421db0
jmp 0x4035c5
push 0x42a4ac
push edi
call esi
test eax, eax
jne 0x4035e8
push 2
push dword [ebp + 0x7c]
push 0x459461
call fcn.004224e1
add esp, 0xc
test eax, eax
mov al, 1
je 0x4035d1
mov al, byte [ebp + 0x66]
cmp bl, 7
je 0x4038d1
cmp bl, 6
jne 0x4038d4
movzx eax, al
jmp 0x403578
push 0x42a4a8
push edi
call esi
test eax, eax
jne 0x403606
push dword [ebp + 0x67]
movzx eax, byte [0x45965c]
push dword [ebp + 0x7c]
jmp 0x4038c8
push 0x42a4a4
push edi
call esi
test eax, eax
jne 0x403624
push dword [ebp + 0x67]
movzx eax, byte [0x45965d]
push dword [ebp + 0x7c]
jmp 0x4038c8
push 0x42a4a0
push edi
call esi
test eax, eax
jne 0x40363e
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
call dword [0x42a20c]
jmp 0x403678
push 0x42a49c
push edi
call esi
test eax, eax
jne 0x40365a
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
call fcn.0041411e
jmp 0x4038c8
push 0x42a498
push edi
call esi
test eax, eax
jne 0x403686
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
call dword [0x42a20c]
sub eax, dword [0x45941c]
xor edx, edx
mov ecx, 0x3e8
div ecx
jmp 0x4038c8
push 0x42a494
push edi
call esi
test eax, eax
jne 0x4036a8
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
call fcn.0041411e
sub eax, dword [0x45944c]
jmp 0x4038c8
push 0x42a490
push edi
call esi
test eax, eax
jne 0x4036c5
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push dword [0x459428]
jmp 0x4038c9
push 0x42a48c
push edi
call esi
test eax, eax
jne 0x4036e2
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push dword [0x459430]
jmp 0x4038c9
push 0x42a488
push edi
call esi
test eax, eax
jne 0x403700
push dword [ebp + 0x67]
movzx eax, byte [0x45942c]
push dword [ebp + 0x7c]
jmp 0x4038c8
cmp byte [edi], 0x72
jne 0x403746
lea eax, [edi + 1]
mov cl, byte [eax]
cmp cl, 0x30
jb 0x403746
cmp cl, 0x39
ja 0x403746
push eax
call fcn.0042203e
mov esi, eax
cmp esi, 2
pop ecx
jl 0x4038d4
cmp esi, 0x186a0
jg 0x4038d4
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
call fcn.00421d82
cdq
idiv esi
push edx
jmp 0x4038c9
push 0x42a484
push edi
call esi
test eax, eax
jne 0x403764
push dword [ebp + 0x67]
movzx eax, byte [0x45966a]
push dword [ebp + 0x7c]
jmp 0x4038c8
push 0x42a480
push edi
call esi
test eax, eax
jne 0x40377d
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push 0x1c
jmp 0x4038c9
cmp byte [edi], 0x74
jne 0x4037d5
cmp byte [edi + 1], 0x61
jne 0x4037d5
cmp byte [edi + 2], 0x67
jne 0x4037d5
lea eax, [edi + 3]
mov cl, byte [eax]
cmp cl, 0x30
jb 0x4037d5
cmp cl, 0x39
ja 0x4037d5
push eax
call fcn.0042203e
cmp ax, 0x100
pop ecx
jae 0x4038d4
push dword [ebp + 0x67]
movzx eax, ax
push dword [ebp + 0x7c]
mov ecx, eax
cdq
push 0x20
pop esi
idiv esi
shr ecx, 5
mov eax, dword [ecx*4 + 0x4594b0]
mov ecx, edx
shr eax, cl
and eax, 1
jmp 0x4038c8
push 0x42a47c
push edi
call esi
test eax, eax
jne 0x4037f2
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push dword [0x4594d0]
jmp 0x4038c9
push 0x42a474
push edi
call esi
test eax, eax
jne 0x403814
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
call fcn.0041411e
sub eax, dword [0x45953c]
jmp 0x4038c8
push 0x42a470
push edi
call esi
test eax, eax
jne 0x403832
push dword [ebp + 0x67]
movzx eax, byte [0x45966b]
push dword [ebp + 0x7c]
jmp 0x4038c8
push 0x42a46c
push edi
call esi
test eax, eax
jne 0x40384c
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push dword [0x459418]
jmp 0x4038c9
push 0x42a468
push edi
call esi
test eax, eax
jne 0x403866
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push dword [0x459534]
jmp 0x4038c9
push 0x42a464
push edi
call esi
test eax, eax
jne 0x403880
push dword [ebp + 0x67]
push dword [ebp + 0x7c]
push dword [0x459544]
jmp 0x4038c9
push 0x42a460
push edi
call esi
test eax, eax
jne 0x4038a3
lea eax, [ebp - 0x48]
push eax
call dword [0x42a1f8]
push dword [ebp + 0x67]
mov eax, dword [ebp - 0x48]
push dword [ebp + 0x7c]
neg eax
jmp 0x4038c8
push 0x42a45c
push edi
call esi
test eax, eax
jne 0x4038d4
lea eax, [ebp - 0x48]
push eax
call dword [0x42a1f8]
push dword [ebp + 0x67]
mov eax, dword [ebp - 0x48]
push dword [ebp + 0x7c]
cdq
push 0xffffffffffffffc4
pop ecx
idiv ecx
push eax
call fcn.00403460
add esp, 0xc
mov byte [ebp + 0x6b], al
mov al, byte [ebp + 0x6b]
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret