Function at 0x427c18
Capabilities:
Check for time delay via gettickcount
Get keyboard layout

Disassembly:
push ebp
mov eax, 0x408c
lea ebp, [esp - 0x78]
call fcn.00457ac0
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ecx
inc ebx
cmp byte [edi], 0x3e
mov dword [ebp + 0x70], edi
jne 0x427cd2
push str.UseErrorLevel
push dword [0x4694b0]
call fcn.00439191
test eax, eax
pop ecx
pop ecx
mov ecx, 0x466ce0
je 0x427c99
xor eax, eax
mov al, 3
cmp al, byte [edi + 1]
sbb eax, eax
and eax, dword [0x469504]
xor esi, esi
push eax
push ebx
push ebx
lea eax, [ebp + 0x6c]
push eax
push dword [0x4694b0]
push esi
push dword [0x4694ac]
push esi
push dword [0x4694a8]
call fcn.0040ee00
test eax, eax
jne 0x427cd4
push ebx
push esi
push 0xffffffffffffffff
push str.ERROR
jmp 0x428135
xor eax, eax
mov al, 3
cmp al, byte [edi + 1]
sbb eax, eax
and eax, dword [0x469504]
push eax
push ebx
push 0
lea eax, [ebp + 0x6c]
push eax
push dword [0x4694b0]
push ebx
push dword [0x4694ac]
push 0
push dword [0x4694a8]
call fcn.0040ee00
test eax, eax
je 0x428140
xor esi, esi
mov al, byte [edi]
cmp al, 0x5c
jne 0x427d96
push esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ebx
push esi
push esi
push dword [0x4694a8]
call fcn.00415869
add esp, 0x14
test al, al
mov byte [ebp + 0x5c], al
jne 0x427d29
push esi
lea eax, [ebp + 0x50]
push eax
push dword [0x4694a8]
call fcn.00422905
add esp, 0xc
cmp eax, esi
mov dword [ebp + 0x54], eax
je 0x427d22
cmp eax, 0xc
jl 0x427d22
cmp eax, 0x2b
jle 0x427d29
push ebx
push esi
jmp 0x42812e
mov dword [ebp + 0x68], esi
mov esi, dword [0x4694ac]
mov byte [ebp + 0x76], 0
mov dword [ebp + 0x60], ebx
mov byte [ebp + 0x77], 1
jmp 0x427d81
movsx eax, al
push eax
call fcn.0044234f
cmp eax, 0x44
pop ecx
je 0x427d7c
cmp eax, 0x4c
je 0x427d76
cmp eax, 0x54
jne 0x427d80
lea eax, [esi + 1]
push eax
mov byte [ebp + 0x77], 0
call fcn.00401225
fmul qword [0x45be58]
pop ecx
call fcn.00457f8c
mov dword [ebp + 0x68], eax
jmp 0x427d80
and dword [ebp + 0x60], 0
jmp 0x427d80
mov byte [ebp + 0x76], 1
inc esi
mov al, byte [esi]
test al, al
jne 0x427d3f
and dword [ebp - 8], 0
lea eax, [ebp - 0x4014]
mov dword [ebp - 0x10], eax
jmp 0x427dec
cmp al, 0x3e
mov ecx, dword [0x4694a8]
mov esi, dword [0x4694b0]
je 0x427daf
cmp al, 0x5b
je 0x427db3
cmp byte [esi], 0
jne 0x427db8
cmp al, 0x5b
jne 0x427de4
cmp byte [ecx], 0
je 0x427de4
cmp al, 0x5b
mov byte [ebp + 0x77], 0
je 0x427dc2
mov ecx, esi
push ecx
call fcn.00401225
fmul qword [0x45be58]
pop ecx
call fcn.00457f8c
cmp eax, ebx
mov dword [ebp + 0x68], eax
jge 0x427dec
mov dword [ebp + 0x68], 0x1f4
jmp 0x427dec
and dword [ebp + 0x68], 0
mov byte [ebp + 0x77], 1
cmp byte [edi], 0x3e
je 0x427e06
mov ecx, dword [0x466b78]
push ebx
push 0
push 0xffffffffffffffff
push 0x459724
call fcn.0040187e
cmp byte [edi], 0x5b
jne 0x427e1b
push ebx
mov ecx, edi
call fcn.00408e81
cmp eax, ebx
mov byte [ebp + 0x75], 1
je 0x427e1f
mov byte [ebp + 0x75], 0
mov ecx, dword [ebp + 0x70]
xor edi, edi
cmp byte [ecx + 1], 0
mov eax, 0x4001
lea esi, [ebp - 0x4014]
mov ebx, 0x4595d8
jbe 0x427e74
test eax, eax
jne 0x427e44
mov dword [ebp + edi*4], ebx
jmp 0x427e68
push eax
push dword [edi*4 + 0x4694a8]
mov dword [ebp + edi*4], esi
push esi
call fcn.004392af
push esi
call fcn.00457520
lea esi, [esi + eax + 1]
lea eax, [ebp - 0x13]
add esp, 0x10
sub eax, esi
mov ecx, dword [ebp + 0x70]
movzx ecx, byte [ecx + 1]
inc edi
cmp edi, ecx
jl 0x427e3a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp + 0x70]
mov dword [ebp + 0x58], eax
xor edi, edi
movzx eax, byte [esi]
sub eax, 0x3e
je 0x428076
sub eax, 0x1d
je 0x428046
dec eax
je 0x427ffe
sub eax, 0x14
je 0x427f85
dec eax
je 0x427f43
dec eax
je 0x427f03
dec eax
jne 0x428096
mov al, byte [esi + 1]
cmp al, 4
mov esi, dword [ebp + 0x10]
ja 0x427ec4
mov esi, ebx
cmp al, 3
mov edx, dword [ebp + 0xc]
ja 0x427ecd
mov edx, ebx
cmp al, 1
mov ecx, dword [ebp + 4]
ja 0x427ed6
mov ecx, ebx
test al, al
mov eax, dword [ebp]
ja 0x427edf
mov eax, ebx
push 1
push esi
push edx
push ecx
push eax
push dword [0x464108]
call fcn.0043c265
add esp, 0x18
test eax, eax
je 0x427fcb
mov esi, dword [ebp + 0x70]
jmp 0x428096
mov al, byte [esi + 1]
cmp al, 4
mov esi, dword [ebp + 0x10]
ja 0x427f0f
mov esi, ebx
cmp al, 3
mov edx, dword [ebp + 0xc]
ja 0x427f18
mov edx, ebx
cmp al, 1
mov ecx, dword [ebp + 4]
ja 0x427f21
mov ecx, ebx
test al, al
mov eax, dword [ebp]
ja 0x427f2a
mov eax, ebx
push 1
push esi
push edx
push ecx
push eax
push dword [0x464108]
call fcn.0043c265
add esp, 0x18
jmp 0x427fc3
mov al, byte [esi + 1]
cmp al, 4
mov esi, dword [ebp + 0x10]
ja 0x427f4f
mov esi, ebx
cmp al, 3
mov edx, dword [ebp + 0xc]
ja 0x427f58
mov edx, ebx
cmp al, 1
mov ecx, dword [ebp + 4]
ja 0x427f61
mov ecx, ebx
test al, al
mov eax, dword [ebp]
ja 0x427f6a
mov eax, ebx
push edi
push edi
push edi
push edi
push esi
push edx
push ecx
push eax
push dword [0x464108]
call fcn.0043c50d
add esp, 0x24
jmp 0x427ef3
mov al, byte [esi + 1]
cmp al, 4
mov esi, dword [ebp + 0x10]
ja 0x427f91
mov esi, ebx
cmp al, 3
mov edx, dword [ebp + 0xc]
ja 0x427f9a
mov edx, ebx
cmp al, 1
mov ecx, dword [ebp + 4]
ja 0x427fa3
mov ecx, ebx
test al, al
mov eax, dword [ebp]
ja 0x427fac
mov eax, ebx
push edi
push edi
push 1
push edi
push esi
push edx
push ecx
push eax
push dword [0x464108]
call fcn.0043c50d
add esp, 0x24
test eax, eax
je 0x427efb
mov eax, dword [0x464108]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x428103
cmp eax, 0x19
jge 0x4280f9
cmp byte [0x467399], 0
je 0x4280f9
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x428103
cmp byte [ebp + 0x5c], 0
je 0x42801c
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
call fcn.0041efa8
pop ecx
pop ecx
cmp al, byte [ebp + 0x76]
je 0x428103
jmp 0x428096
push edi
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0x50]
push dword [ebp + 0x54]
call fcn.0041ebd6
fld qword [0x45bd58]
fucompp
add esp, 0x10
fnstsw ax
test ah, 0x44
jnp 0x428042
mov al, 1
jmp 0x428011
xor al, al
jmp 0x428011
cmp byte [ebp + 0x75], 0
je 0x42805c
call dword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
jne 0x428103
jmp 0x428096
push 1
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x428103
push 0xf
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
jmp 0x428052
cmp dword [ebp + 0x6c], edi
je 0x42808a
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x6c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
jmp 0x42808d
mov dword [ebp + 0x64], edi
cmp dword [ebp + 0x64], 0x103
jne 0x428108
cmp byte [ebp + 0x77], 0
jne 0x4280b1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp + 0x68]
mov edx, dword [ebp + 0x58]
add edx, ecx
sub edx, eax
cmp edx, 5
jle 0x42812b
push 1
push 0x8000012f
call fcn.0040dca7
test al, al
pop ecx
pop ecx
je 0x427e82
mov eax, dword [0x469b90]
mov ecx, dword [ebp + 0x58]
mov dword [eax*4 + 0x469550], esi
mov dword [eax*4 + 0x468e68], ecx
inc eax
cmp eax, 0x190
mov dword [0x469b90], eax
jl 0x427e82
mov dword [0x469b90], edi
jmp 0x427e82
push 1
push eax
call fcn.0040dca7
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x428140
cmp dword [ebp + 0x6c], edi
je 0x428116
push dword [ebp + 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0x64]
mov ecx, dword [0x466b78]
cdq
push 0x18
push edx
push eax
call fcn.00401c4f
jmp 0x428103
push 1
push edi
push 0xffffffffffffffff
push 0x45af3c
mov ecx, dword [0x466b78]
call fcn.0040187e
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret