Function at 0x1007bef0
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x1014a018]
xor eax, ebp
mov dword [ebp - 4], eax
fild dword [0xe61e58]
mov eax, dword [ebp + 8]
imul eax, eax, 0x47
fdiv dword [0xe7c3d4]
push esi
push edi
mov dword [ebp - 0x128], eax
fsub qword [0x1013fb08]
fstp dword [ebp - 0x114]
fld dword [ebp - 0x114]
fadd qword [0x1013f600]
call fcn.1012e5b0
fild dword [ebp - 0x128]
mov edi, eax
mov dword [ebp - 0x11c], edi
fstp dword [ebp - 0x128]
fldz
fadd qword [0x101405e8]
fadd dword [ebp - 0x128]
call fcn.1012e5b0
mov esi, eax
push esi
push edi
mov dword [ebp - 0x118], esi
call fcn.1007c4d0
mov eax, dword [0x7bc4f04]
add eax, 0x38
mov edi, ebx
lea ebx, [ebx]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x1007bfa0
test cl, cl
je 0x1007bf9c
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x1007bfa0
add edi, 2
add eax, 2
test cl, cl
jne 0x1007bf80
xor eax, eax
jmp 0x1007bfa5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007c12f
movzx ecx, byte [ebx + 0xc]
cmp ecx, dword [0xe61e18]
jne 0x1007c12f
mov edx, dword [ebp - 0x11c]
add esi, 0xfffffffd
mov dword [ebp - 0x10c], esi
fild dword [ebp - 0x10c]
add edx, 0x5a
mov dword [ebp - 0x10c], edx
push 3
fstp dword [ebp - 0x120]
sub esp, 0x18
fild dword [ebp - 0x10c]
lea esi, [ebp - 0x124]
mov edi, 0x7e5a
mov word [ebp - 0x124], 0
fstp dword [ebp - 0x110]
mov byte [ebp - 0x122], 1
fld dword [0x1013fb20]
fst dword [esp + 0x14]
fld dword [0x10150fa8]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x120]
fstp dword [esp + 4]
fld dword [ebp - 0x110]
fstp dword [esp]
call fcn.1010db50
fld dword [0x1013fb20]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [0x10150fa8]
fstp dword [esp + 8]
fld dword [ebp - 0x120]
fstp dword [esp + 4]
fld dword [ebp - 0x110]
fstp dword [esp]
call fcn.100c31a0
test al, al
je 0x1007c094
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10c]
push 0x109290f0
add eax, 0xfffffff6
push eax
push ecx
call fcn.100bba40
add esp, 0xc
fld dword [0x1013fb20]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [0x10150fa8]
fstp dword [esp + 8]
fld dword [ebp - 0x120]
fstp dword [esp + 4]
fld dword [ebp - 0x110]
fstp dword [esp]
call fcn.100c31a0
test al, al
je 0x1007c129
push 1
mov edx, 0x791050
call edx
add esp, 4
test al, al
je 0x1007c129
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [0x10a88930]
add ecx, 0x190
cmp ecx, eax
ja 0x1007c129
movzx ecx, byte [ebx + 0xd]
mov dword [0x10150fd4], ecx
movzx edx, byte [ebx + 0xe]
push edx
mov dword [0x10150fd8], edx
mov eax, dword [0x7bc4f04]
mov edx, dword [eax + 0xb0]
mov eax, dword [eax + 0xac]
push ecx
push edx
push eax
push 0x10150fd0
call fcn.100039a0
call esi
mov dword [0x10a88930], eax
mov esi, dword [ebp - 0x118]
cmp dword [ebp + 8], 0
jne 0x1007c1e1
mov edi, ebx
mov eax, 0x116dcb58
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x1007c160
test cl, cl
je 0x1007c15c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x1007c160
add eax, 2
add edi, 2
test cl, cl
jne 0x1007c140
xor eax, eax
jmp 0x1007c165
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1007c1e1
mov edx, dword [ebp - 0x11c]
push ebx
push eax
push 0x46
push eax
mov eax, dword [0xe8c58c]
push 0xff00ff
lea ecx, [esi + 8]
push ecx
push edx
push eax
mov cl, 3
call fcn.1008a600
fld dword [0x1013fc4c]
fstp dword [esp + 0x1c]
add esp, 0x10
fld dword [0x1013f6a0]
lea ecx, [esi + 0x17]
fstp dword [esp + 8]
mov dword [ebp - 0x10c], ecx
fild dword [ebp - 0x10c]
mov edx, 0x790b50
fstp dword [esp + 4]
fld dword [ebp - 0x114]
fadd qword [0x101408c0]
fstp dword [ebp - 0x10c]
fld dword [ebp - 0x10c]
fstp dword [esp]
push 0x7b41
call edx
add esp, 0x14
jmp 0x1007c206
mov ecx, dword [ebp - 0x11c]
mov edx, dword [0xe8c58c]
push ebx
push 0
push 0x46
push 0
push 0xffffffffffffffff
lea eax, [esi + 8]
push eax
push ecx
push edx
mov cl, 3
call fcn.1008a600
add esp, 0x20
movzx ecx, byte [ebx + 0xc]
mov eax, dword [ebp - 0x11c]
add eax, 0xa
push ecx
mov edx, 0x5d2c10
lea edi, [esi + 0x1a]
mov dword [ebp - 0x110], eax
call edx
mov ecx, dword [0xe8c588]
add esp, 4
push eax
mov eax, dword [ebp - 0x110]
push 0
push 0x46
push 0
push 0xc2c2c2ff
push edi
push eax
push ecx
mov cl, 1
call fcn.1008a600
movzx edx, byte [ebx + 0xe]
movzx eax, byte [ebx + 0xd]
push edx
push eax
lea ecx, [ebp - 0x108]
push str.__d__d_
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
mov ecx, dword [0xe8c588]
lea edx, [ebp - 0x108]
push edx
push 0
push 0x3c
push 0
push 0xc2c2c2ff
push edi
mov edi, dword [ebp - 0x11c]
lea eax, [edi + 0x55]
push eax
push ecx
mov cl, 1
call fcn.1008a600
mov eax, dword [ebx + 0x10]
fld dword [0x1013fd14]
imul eax, eax, 0x93
cdq
idiv dword [ebx + 0x14]
add esp, 0x50
sub esp, 0x10
lea edx, [esi + 0x27]
mov dword [ebp - 0x10c], edx
fstp dword [esp + 0xc]
add edi, 8
fld dword [0x1014139c]
fstp dword [esp + 8]
fild dword [ebp - 0x10c]
mov dword [ebp - 0x10c], edi
fstp dword [esp + 4]
fild dword [ebp - 0x10c]
fstp dword [esp]
push 0x7b3f
mov dword [ebp - 0x120], eax
mov eax, 0x790b50
call eax
fld dword [0x1013f644]
fstp dword [esp + 0x10]
add esp, 4
fild dword [ebp - 0x120]
lea ecx, [esi + 0x29]
mov dword [ebp - 0x10c], ecx
mov edx, 0x790b50
fstp dword [esp + 8]
fild dword [ebp - 0x10c]
fstp dword [esp + 4]
fild dword [ebp - 0x110]
fstp dword [esp]
push 0x7b40
call edx
add esp, 0x14
push 0x946
mov eax, 0x402320
mov ecx, 0x8128adc
call eax
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
push ecx
push eax
push edx
lea eax, [ebp - 0x108]
push str.HP:__d__s__d
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
mov edx, dword [ebp - 0x110]
mov eax, dword [0xe8c588]
add esp, 0x14
lea ecx, [ebp - 0x108]
push ecx
push 0
push 0x94
push 0
push 0xc2c2c2ff
add esi, 0x33
push esi
push edx
push eax
mov cl, 3
call fcn.1008a600
add esp, 0x20
cmp byte [ebp + 0xc], 0
je 0x1007c4af
fldz
sub esp, 0x10
fadd qword [0x1013f888]
fadd dword [ebp - 0x128]
fstp dword [ebp - 0x110]
fld dword [ebp - 0x114]
fadd qword [0x10140610]
fstp dword [ebp - 0x114]
fld dword [0x1013fb10]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x110]
fstp dword [esp + 4]
fld dword [ebp - 0x114]
fstp dword [esp]
call fcn.100c31a0
test al, al
je 0x1007c456
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1007c456
fldz
push ecx
fst dword [esp]
mov edx, 0x637c60
fld dword [0x10140b7c]
push 1
push 1
sub esp, 0x20
fst dword [esp + 0x1c]
fld dword [0x10140b78]
fstp dword [esp + 0x18]
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013fb10]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x110]
fstp dword [esp + 4]
fld dword [ebp - 0x114]
fstp dword [esp]
push 0x7b42
call edx
jmp 0x1007c4ac
fldz
push ecx
fst dword [esp]
mov eax, 0x637c60
fld dword [0x10140b7c]
push 1
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x10140b78]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013fb10]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebp - 0x110]
fstp dword [esp + 4]
fld dword [ebp - 0x114]
fstp dword [esp]
push 0x7b42
call eax
add esp, 0x30
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1012db16
mov esp, ebp
pop ebp
ret 8