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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4098
call fcn.0044ff40
push ebx
push esi
mov esi, dword [ebp + 8]
cmp byte [esi], 0x3e
push edi
jne 0x427398
mov ecx, dword [0x45d928]
mov eax, str.UseErrorLevel
call fcn.004388e8
test eax, eax
je 0x427358
xor eax, eax
mov al, 3
cmp al, byte [esi + 1]
sbb eax, eax
and eax, dword [0x45d97c]
xor ebx, ebx
push eax
push 1
push 1
lea eax, [ebp - 0x14]
push eax
push dword [0x45d928]
push ebx
push dword [0x45d924]
push ebx
push dword [0x45d920]
push 0x45fb58
call fcn.0040eb32
test eax, eax
jne 0x42739a
push 1
push ebx
push 0xffffffffffffffff
push str.ERROR
jmp 0x427848
xor eax, eax
mov al, 3
cmp al, byte [esi + 1]
sbb eax, eax
and eax, dword [0x45d97c]
push eax
push 1
push 0
lea eax, [ebp - 0x14]
push eax
push dword [0x45d928]
push 1
push dword [0x45d924]
push 0
push dword [0x45d920]
push 0x45fb58
call fcn.0040eb32
test eax, eax
je 0x427853
xor ebx, ebx
mov al, byte [esi]
cmp al, 0x5c
jne 0x42746a
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
mov eax, dword [0x45d920]
push 1
push ebx
push ebx
call fcn.00415537
add esp, 0x10
test al, al
mov byte [ebp - 7], al
jne 0x4273f0
mov eax, dword [0x45d920]
push ebx
lea ebx, [ebp - 0x28]
call fcn.004220d1
test eax, eax
pop ecx
mov dword [ebp - 0x24], eax
je 0x42783d
cmp eax, 0xc
jl 0x42783d
cmp eax, 0x2b
jg 0x42783d
mov edi, dword [0x45d924]
xor ebx, ebx
mov byte [ebp - 6], 0
mov dword [ebp - 0x20], 1
mov byte [ebp - 5], 1
mov dword [ebp - 0x10], ebx
jmp 0x42744e
movsx eax, al
push eax
call dword [sym.imp.MSVCR71.dll_toupper]
cmp eax, 0x44
pop ecx
je 0x427449
cmp eax, 0x4c
je 0x427444
cmp eax, 0x54
jne 0x42744d
lea eax, [edi + 1]
push eax
mov byte [ebp - 5], 0
call fcn.0040105e
fmul qword [0x458a68]
pop ecx
call fcn.0044ffe0
mov dword [ebp - 0x10], eax
jmp 0x42744d
mov dword [ebp - 0x20], ebx
jmp 0x42744d
mov byte [ebp - 6], 1
inc edi
mov al, byte [edi]
test al, al
jne 0x42740c
lea eax, [ebp - 0x4094]
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x8c], eax
xor ebx, ebx
jmp 0x4274c0
cmp al, 0x3e
mov ecx, dword [0x45d920]
mov edx, dword [0x45d928]
je 0x427483
cmp al, 0x5b
je 0x427487
cmp byte [edx], 0
jne 0x42748c
cmp al, 0x5b
jne 0x4274b9
cmp byte [ecx], 0
je 0x4274b9
cmp al, 0x5b
mov byte [ebp - 5], 0
je 0x427496
mov ecx, edx
push ecx
call fcn.0040105e
fmul qword [0x458a68]
pop ecx
call fcn.0044ffe0
cmp eax, 1
mov dword [ebp - 0x10], eax
jge 0x4274c0
mov dword [ebp - 0x10], 0x1f4
jmp 0x4274c0
mov byte [ebp - 5], 1
mov dword [ebp - 0x10], ebx
cmp byte [esi], 0x3e
je 0x4274da
mov ecx, dword [0x45e2f0]
push 1
push ebx
push 0xffffffffffffffff
push 0x452954
call fcn.0040161c
cmp byte [esi], 0x5b
jne 0x4274f2
xor eax, eax
inc eax
mov ecx, esi
call fcn.00408da3
cmp eax, 1
mov byte [ebp - 8], 1
je 0x4274f6
mov byte [ebp - 8], 0
cmp byte [esi + 1], 0
mov eax, 0x4001
lea edi, [ebp - 0x4094]
jbe 0x427542
test eax, eax
jne 0x427515
mov dword [ebp + ebx*4 - 0x7c], 0x45282f
jmp 0x427539
push dword [ebx*4 + 0x45d920]
mov dword [ebp + ebx*4 - 0x7c], edi
call fcn.00438a10
pop ecx
push edi
call sub.MSVCR71.dll_strlen
lea edi, [edi + eax + 1]
lea eax, [ebp - 0x93]
pop ecx
sub eax, edi
movzx ecx, byte [esi + 1]
inc ebx
cmp ebx, ecx
jl 0x427507
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c], eax
mov ebx, 0x45282f
mov esi, dword [0x45b170]
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
sub eax, 0x3e
je 0x427767
sub eax, 0x1d
je 0x427739
dec eax
je 0x4276df
sub eax, 0x14
je 0x427693
dec eax
je 0x42764d
dec eax
je 0x427607
dec eax
jne 0x42778d
mov al, byte [ecx + 1]
cmp al, 4
jbe 0x42759e
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xc], ecx
jmp 0x4275a1
mov dword [ebp - 0xc], ebx
cmp al, 3
mov edi, dword [ebp - 0x70]
ja 0x4275aa
mov edi, ebx
cmp al, 1
mov edx, dword [ebp - 0x78]
ja 0x4275b3
mov edx, ebx
test al, al
mov ecx, dword [ebp - 0x7c]
ja 0x4275bc
mov ecx, ebx
push 1
push dword [ebp - 0xc]
push edi
push edx
push esi
call fcn.0043b8ea
add esp, 0x14
test eax, eax
jne 0x42778d
mov eax, dword [0x45b170]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x427815
cmp eax, 0x19
jge 0x42780b
cmp byte [0x460211], 0
je 0x42780b
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x427815
mov al, byte [ecx + 1]
cmp al, 4
jbe 0x427616
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xc], ecx
jmp 0x427619
mov dword [ebp - 0xc], ebx
cmp al, 3
mov edi, dword [ebp - 0x70]
ja 0x427622
mov edi, ebx
cmp al, 1
mov edx, dword [ebp - 0x78]
ja 0x42762b
mov edx, ebx
test al, al
mov ecx, dword [ebp - 0x7c]
ja 0x427634
mov ecx, ebx
push 1
push dword [ebp - 0xc]
push edi
push edx
push esi
call fcn.0043b8ea
add esp, 0x14
test eax, eax
jne 0x4275d4
jmp 0x42778d
mov al, byte [ecx + 1]
cmp al, 4
jbe 0x42765c
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xc], ecx
jmp 0x42765f
mov dword [ebp - 0xc], ebx
cmp al, 3
mov ecx, dword [ebp - 0x70]
ja 0x427668
mov ecx, ebx
cmp al, 1
mov edi, dword [ebp - 0x78]
ja 0x427671
mov edi, ebx
test al, al
mov edx, dword [ebp - 0x7c]
ja 0x42767a
mov edx, ebx
xor eax, eax
push eax
push eax
push eax
push eax
push ecx
mov ecx, dword [ebp - 0xc]
push edi
push esi
call fcn.0043bb9d
add esp, 0x1c
jmp 0x4275cc
mov al, byte [ecx + 1]
cmp al, 4
mov ecx, dword [ebp - 0x6c]
ja 0x42769f
mov ecx, ebx
cmp al, 3
mov ebx, dword [ebp - 0x70]
ja 0x4276ab
mov ebx, 0x45282f
cmp al, 1
mov edi, dword [ebp - 0x78]
ja 0x4276b7
mov edi, 0x45282f
test al, al
mov edx, dword [ebp - 0x7c]
ja 0x4276c3
mov edx, 0x45282f
xor eax, eax
push eax
push eax
push 1
push eax
push ebx
push edi
push esi
call fcn.0043bb9d
add esp, 0x1c
test eax, eax
jne 0x4275d4
jmp 0x4276fa
cmp byte [ebp - 7], 0
je 0x427704
push dword [ebp - 0x20]
mov bl, byte [ebp - 7]
call fcn.0041e83e
cmp al, byte [ebp - 6]
pop ecx
je 0x427815
mov ebx, 0x45282f
jmp 0x42778d
mov ecx, dword [ebp - 0x24]
push 0
push dword [ebp - 0x28]
lea eax, [ebp - 0x8c]
call fcn.0041e48a
fld qword [0x458a38]
fucompp
pop ecx
pop ecx
fnstsw ax
test ah, 0x44
jnp 0x42772c
mov al, 1
jmp 0x42772e
xor al, al
cmp al, byte [ebp - 6]
je 0x427815
jmp 0x42778d
cmp byte [ebp - 8], 0
je 0x42774f
call dword [sym.imp.USER32.dll_CountClipboardFormats]
test eax, eax
jne 0x427815
jmp 0x42778d
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x427815
push 0xf
call esi
jmp 0x427745
cmp dword [ebp - 0x14], 0
je 0x42777c
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
jmp 0x427780
and dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], 0x103
jne 0x42781a
cmp byte [ebp - 5], 0
jne 0x4277ac
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
add edx, ecx
sub edx, eax
cmp edx, 5
jle 0x42783d
push 1
push 0x8000012f
call fcn.0040d9dd
test al, al
pop ecx
pop ecx
je 0x427550
mov esi, dword [0x45b170]
cmp byte [esi + 0xcf], 0
je 0x427556
mov eax, dword [0x45faa0]
mov ecx, dword [ebp + 8]
mov dword [eax*4 + 0x45f460], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax*4 + 0x45d2e0], ecx
inc eax
cmp eax, 0x190
mov dword [0x45faa0], eax
jl 0x427556
and dword [0x45faa0], 0
jmp 0x427556
push 1
push eax
call fcn.0040d9dd
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x427853
cmp dword [ebp - 0x14], 0
je 0x427829
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
cdq
push 0x18
push edx
push eax
mov eax, dword [0x45e2f0]
call fcn.004019da
jmp 0x427815
push 1
push 0
push 0xffffffffffffffff
push 0x454094
mov ecx, dword [0x45e2f0]
call fcn.0040161c
pop edi
pop esi
pop ebx
leave
ret 4