Function at 0x41256f
Capabilities:
Check for time delay via gettickcount
Check http status code
Log keystrokes via polling

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x34]
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
push 0
push ebx
push edi
mov ebp, dword [edi + 0x4c]
mov esi, dword [edi + 0x24]
mov eax, dword [edi + 0x28]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x2c], eax
call fcn.0041449a
xor ecx, ecx
inc ecx
cmp ebx, 0x27
ja 0x4129e4
je 0x4129c3
cmp ebx, 0x22
ja 0x41291d
je 0x4125da
mov eax, ebx
sub eax, 8
je 0x4127b0
sub eax, ecx
je 0x4126b2
sub eax, 4
je 0x412614
sub eax, 0x14
jne 0x41267b
mov eax, dword [edi + 0x14]
cdq
idiv dword [0x430e88]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x28]
mov esi, eax
cmp ebx, 0x21
jne 0x4128d8
sub edx, esi
xor eax, eax
sub ecx, esi
mov dword [edi + 0x28], edx
cmovs ecx, eax
mov dword [edi + 0xc], ecx
test edx, edx
jns 0x41290a
and dword [edi + 0x28], eax
jmp 0x41290a
push edi
call fcn.004123b3
test eax, eax
je 0x412624
push edi
call fcn.00410c87
push 0xd
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.0041f6b8
push 0xd
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.00416ea9
xor eax, eax
inc eax
push eax
push edi
call fcn.00412d05
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.0041f69c
xor eax, eax
push 0
inc eax
push edi
mov byte [ebp + 0x21], al
call fcn.00410481
xor eax, eax
inc eax
push eax
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
xor ecx, ecx
inc ecx
push ecx
push ebx
push edi
call fcn.0041449a
push ebx
call fcn.004101c8
test eax, eax
je 0x4126a8
push dword [esp + 0x20]
push esi
push 3
push edi
call fcn.0041f69c
push dword [edi + 0x28]
push dword [edi + 0x24]
push 3
push edi
call fcn.0041f69c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 8
xor esi, esi
cmp dword [0x43071c], esi
jne 0x4126c4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x4126e1
and dword [esp + 0x40], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x43071c]
cmp eax, 0x190
mov eax, dword [esp + 0x40]
sbb esi, esi
neg esi
push edi
mov dword [0x43071c], eax
call fcn.004123b3
test eax, eax
je 0x41271d
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
push 4
bt ax, 0xf
pop eax
push 0xfffffffffffffffc
pop ecx
cmovb eax, ecx
push eax
push edi
call fcn.00410084
and dword [0x43071c], 0
mov esi, dword [esp + 0x3c]
jmp 0x412678
push edi
call fcn.00413773
test eax, eax
je 0x412714
or dword [edi + 0x20], 0xffffffff
test esi, esi
je 0x412735
test byte [edi + 0x24], 7
je 0x412714
mov eax, dword [edi + 0x24]
push 0x20
lea esi, [eax + 4]
and esi, 0xfffffffc
sub esi, eax
lea eax, [esp + 0x28]
push esi
push eax
call fcn.00403c88
push esi
lea eax, [esp + 0x28]
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.0041f6d6
push 0
push esi
lea eax, [esp + 0x2c]
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.00416ec9
push esi
lea eax, [esp + 0x28]
push eax
push edi
call fcn.00412393
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.0041f69c
xor eax, eax
inc eax
push edi
mov byte [ebp + 0x21], al
call fcn.004102c9
test eax, eax
jne 0x412714
push edi
call fcn.00410e31
jmp 0x412714
and dword [esp + 0x14], 0
push edi
call fcn.004123b3
test eax, eax
jne 0x412a51
or esi, 0xffffffff
mov dword [edi + 0x20], esi
cmp dword [edi + 0x24], eax
jne 0x41282b
cmp dword [edi + 0x28], eax
je 0x412714
push 0xd
push dword [edi + 0x28]
push eax
push 2
push edi
call fcn.0041f6b8
dec dword [edi + 0x28]
push esi
push edi
call fcn.00411618
push edi
mov dword [edi + 0x24], eax
call fcn.004124c0
push dword [edi + 0x28]
push dword [edi + 0x24]
push 2
push edi
call fcn.0041f69c
push 0xd
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.00416ea9
xor eax, eax
inc eax
push eax
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x412714
push eax
push esi
push esi
push edi
call fcn.00414962
push eax
push edi
mov dword [esp + 0x18], eax
call fcn.00410697
push 1
pop ecx
push dword [edi + 0x28]
test eax, eax
push dword [edi + 0x24]
cmove eax, ecx
push 2
push edi
mov dword [esp + 0x28], eax
call fcn.0041f69c
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
dec eax
dec ebp
push esi
push eax
push edi
mov dword [esp + 0x1c], eax
call fcn.004106fe
push edi
mov dword [edi + 0x24], eax
call fcn.00410bea
push eax
push dword [edi + 0x28]
mov dword [esp + 0x1c], eax
push dword [edi + 0x24]
push 2
push edi
call fcn.0041f6b8
push dword [esp + 0x14]
xor eax, eax
push dword [edi + 0x28]
inc eax
push dword [edi + 0x24]
push eax
push edi
call fcn.00416ea9
mov eax, dword [esp + 0x14]
cmp eax, 0x2a
je 0x4128b1
cmp eax, 0x2f
jne 0x4128b2
inc ebx
test ebp, ebp
jne 0x412861
push edi
call fcn.004102c9
mov ebp, dword [esp + 0x1c]
xor ecx, ecx
inc ecx
test ebx, ebx
mov ebx, dword [esp + 0x40]
mov byte [ebp + 0x21], cl
je 0x412c08
push ecx
jmp 0x41281c
lea eax, [edx + esi]
add ecx, esi
mov dword [edi + 0x28], eax
mov dword [edi + 0xc], ecx
mov edx, dword [ebp + 4]
mov dword [esp + 0x40], eax
mov eax, edx
sub eax, esi
push 0
pop esi
cmovns esi, eax
cmp ecx, esi
jle 0x4128fe
mov dword [edi + 0xc], esi
mov edx, dword [ebp + 4]
cmp dword [esp + 0x40], edx
jl 0x41290a
lea eax, [edx - 1]
mov dword [edi + 0x28], eax
push 0
push edi
call fcn.00410481
push edi
call fcn.004102c9
jmp 0x412818
mov eax, ebx
sub eax, 0x23
je 0x4129ab
sub eax, 1
je 0x41298e
sub eax, 1
je 0x41295d
sub eax, 1
jne 0x41267b
mov eax, dword [edi + 0x28]
cmp ebx, 0x26
jne 0x412b3b
test eax, eax
je 0x41267b
push edi
call fcn.0041060a
dec dword [edi + 0x28]
jmp 0x412b4e
or esi, 0xffffffff
cmp dword [edi + 0x24], 0
mov dword [edi + 0x20], esi
je 0x412c08
push esi
push 0
push esi
push esi
push edi
call fcn.00414962
dec eax
push eax
push edi
call fcn.004106fe
push edi
mov dword [edi + 0x24], eax
call fcn.004102c9
jmp 0x412714
or dword [edi + 0x20], 0xffffffff
cmp dword [edi + 0x24], 0
je 0x41267b
and dword [edi + 0x24], 0
push edi
call fcn.004102c9
jmp 0x412678
or esi, 0xffffffff
push esi
push edi
mov dword [edi + 0x20], esi
call fcn.00411618
cmp dword [edi + 0x24], eax
je 0x412714
jmp 0x412980
or esi, 0xffffffff
cmp dword [edi + 0x24], 0x1000
mov dword [edi + 0x20], esi
jge 0x412c08
push esi
push 0
push esi
push esi
push edi
call fcn.00414962
inc eax
jmp 0x412979
cmp ebx, 0x45
ja 0x412b72
je 0x412b59
mov eax, ebx
sub eax, 0x28
je 0x41293b
sub eax, 6
je 0x412a42
sub eax, 0x13
je 0x412a2a
dec eax
sub eax, 1
jne 0x41267b
cmp byte [0x430718], cl
jne 0x41267b
push ecx
push edi
call fcn.00416390
jmp 0x412678
cmp byte [0x430718], 3
jne 0x41267b
push edi
call fcn.00416795
jmp 0x412678
and dword [esp + 0x1c], 0
push edi
call fcn.004123b3
test eax, eax
je 0x412a5c
push edi
call fcn.00410c87
jmp 0x412678
push 0xffffffffffffffff
push edi
call fcn.00411618
cmp dword [edi + 0x24], eax
jl 0x412ab9
mov eax, dword [ebp + 4]
dec eax
cmp dword [edi + 0x28], eax
jge 0x412678
push edi
call fcn.004124c0
push 0xd
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.0041f6b8
push 0xd
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.00416ea9
xor eax, eax
inc eax
push eax
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
call fcn.00410d27
jmp 0x412678
push edi
call fcn.00410637
mov ebx, dword [esp + 0x1c]
mov esi, eax
push 1
test esi, esi
pop eax
cmove esi, eax
push edi
dec esi
call fcn.00410bea
push eax
push dword [edi + 0x28]
mov dword [esp + 0x1c], eax
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.0041f6b8
push dword [esp + 0x14]
xor eax, eax
push dword [edi + 0x28]
inc eax
push dword [edi + 0x24]
push eax
push edi
call fcn.00416ea9
mov eax, dword [esp + 0x14]
cmp eax, 0x2a
je 0x412b0b
cmp eax, 0x2f
jne 0x412b0c
inc ebx
test esi, esi
jne 0x412acd
xor eax, eax
inc eax
mov byte [ebp + 0x21], al
test ebx, ebx
je 0x412b26
push eax
push esi
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x412b2c
push edi
call fcn.00410e31
push edi
call fcn.00410d27
mov ebx, dword [esp + 0x40]
jmp 0x412714
inc eax
cmp eax, dword [ebp + 4]
jge 0x41267b
push edi
call fcn.0041060a
inc dword [edi + 0x28]
push edi
call fcn.0040fdbc
jmp 0x4129a0
cmp byte [0x430718], 2
jne 0x41267b
push ecx
push edi
call fcn.0040f5d2
jmp 0x412678
cmp ebx, 0x46
je 0x412bd7
cmp ebx, 0x4b
je 0x412bc4
cmp ebx, 0x4f
je 0x412bad
cmp ebx, 0x53
jne 0x41267b
cmp byte [0x430718], 2
jne 0x41267b
push 0
push 0x52
push 0x111
push dword [edi]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x412678
cmp byte [0x430718], cl
jne 0x41267b
push edi
call fcn.0040f8cf
jmp 0x412678
cmp byte [0x430718], cl
jne 0x41267b
push 0
jmp 0x412a1f
mov al, byte [0x430718]
cmp al, 2
jne 0x412be4
push 0
jmp 0x412b67
cmp al, 3
jne 0x412bf5
push 0
push edi
call fcn.00416bc4
jmp 0x412678
cmp al, cl
jne 0x41267b
push edi
call fcn.0040fd06
jmp 0x412678
mov esi, dword [esp + 0x3c]
jmp 0x41267b