Function at 0x412f77
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 + 0x24], ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x2c], eax
call fcn.00414efc
xor ecx, ecx
inc ecx
cmp ebx, 0x27
ja 0x4133f1
je 0x4133d0
cmp ebx, 0x22
ja 0x41332a
je 0x412fe2
mov eax, ebx
sub eax, 8
je 0x4131bc
sub eax, ecx
je 0x4130be
sub eax, 4
je 0x413020
sub eax, 0x14
jne 0x413087
mov eax, dword [edi + 0x14]
cdq
idiv dword [0x431e98]
mov ecx, dword [edi + 0xc]
mov esi, dword [edi + 0x28]
mov dword [esp + 0x40], eax
cmp ebx, 0x21
jne 0x4132ea
sub ecx, eax
sub esi, eax
xor eax, eax
mov dword [edi + 0x28], esi
test ecx, ecx
cmovs ecx, eax
mov dword [edi + 0xc], ecx
test esi, esi
jns 0x413317
and dword [edi + 0x28], eax
jmp 0x413317
push edi
call fcn.00412db8
test eax, eax
je 0x413030
push edi
call fcn.0041167b
push 0xd
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.0042060f
push 0xd
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.00417972
xor eax, eax
inc eax
push eax
push edi
call fcn.0041370a
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.004205f3
xor eax, eax
push 0
inc eax
push edi
mov byte [ebp + 0x22], al
call fcn.00410e5d
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.00414efc
push ebx
call fcn.00410ba1
test eax, eax
je 0x4130b4
push dword [esp + 0x20]
push esi
push 3
push edi
call fcn.004205f3
push dword [edi + 0x28]
push dword [edi + 0x24]
push 3
push edi
call fcn.004205f3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 8
xor esi, esi
cmp dword [0x43172c], esi
jne 0x4130d0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x4130ed
and dword [esp + 0x40], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x43172c]
cmp eax, 0x190
mov eax, dword [esp + 0x40]
sbb esi, esi
neg esi
push edi
mov dword [0x43172c], eax
call fcn.00412db8
test eax, eax
je 0x413129
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.00410999
and dword [0x43172c], 0
mov esi, dword [esp + 0x3c]
jmp 0x413084
push edi
call fcn.004141db
test eax, eax
je 0x413120
or dword [edi + 0x20], 0xffffffff
test esi, esi
je 0x413141
test byte [edi + 0x24], 7
je 0x413120
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.00403f4a
push esi
lea eax, [esp + 0x28]
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.0042062d
push 0
push esi
lea eax, [esp + 0x2c]
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.00417992
push esi
lea eax, [esp + 0x28]
push eax
push edi
call fcn.00412d98
push dword [edi + 0x28]
push dword [edi + 0x24]
push 0
push edi
call fcn.004205f3
xor eax, eax
inc eax
push edi
mov byte [ebp + 0x22], al
call fcn.00410ca2
test eax, eax
jne 0x413120
push edi
call fcn.00411825
jmp 0x413120
xor eax, eax
push edi
mov dword [esp + 0x14], eax
call fcn.00412db8
test eax, eax
jne 0x41345e
or esi, 0xffffffff
mov dword [edi + 0x20], esi
cmp dword [edi + 0x24], eax
jne 0x413238
cmp dword [edi + 0x28], eax
je 0x413120
push 0xd
push dword [edi + 0x28]
push eax
push 2
push edi
call fcn.0042060f
dec dword [edi + 0x28]
push esi
push edi
call fcn.00411fdd
push edi
mov dword [edi + 0x24], eax
call fcn.00412ec5
push dword [edi + 0x28]
push dword [edi + 0x24]
push 2
push edi
call fcn.004205f3
push 0xd
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.00417972
xor eax, eax
inc eax
push eax
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x413120
push eax
push esi
push esi
push edi
call fcn.004153c6
push eax
push edi
mov dword [esp + 0x1c], eax
call fcn.0041106f
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 + 0x2c], eax
call fcn.004205f3
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
dec eax
dec ebx
push esi
push eax
push edi
mov dword [esp + 0x20], eax
call fcn.004110d6
push edi
mov dword [edi + 0x24], eax
call fcn.004115e4
push eax
push dword [edi + 0x28]
mov dword [esp + 0x18], eax
push dword [edi + 0x24]
push 2
push edi
call fcn.0042060f
push dword [esp + 0x10]
xor eax, eax
push dword [edi + 0x28]
inc eax
push dword [edi + 0x24]
push eax
push edi
call fcn.00417972
mov eax, dword [esp + 0x10]
cmp eax, 0x2a
je 0x4132be
cmp eax, 0x2f
jne 0x4132bf
inc ebp
test ebx, ebx
jne 0x41326e
push edi
mov dword [esp + 0x14], ebp
call fcn.00410ca2
mov ebp, dword [esp + 0x18]
xor eax, eax
inc eax
cmp dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x40]
mov byte [ebp + 0x22], al
je 0x413120
jmp 0x413225
lea edx, [ecx + eax]
add esi, eax
mov dword [edi + 0xc], edx
mov dword [edi + 0x28], esi
mov eax, dword [ebp + 4]
sub eax, dword [esp + 0x40]
push 0
pop ecx
cmovns ecx, eax
mov eax, edx
cmp edx, ecx
cmovg eax, ecx
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 4]
cmp esi, eax
jl 0x413317
dec eax
mov dword [edi + 0x28], eax
push 0
push edi
call fcn.00410e5d
push edi
call fcn.00410ca2
jmp 0x413225
mov eax, ebx
sub eax, 0x23
je 0x4133b8
sub eax, 1
je 0x41339b
sub eax, 1
je 0x41336a
sub eax, 1
jne 0x413087
mov eax, dword [edi + 0x28]
cmp ebx, 0x26
jne 0x413543
test eax, eax
je 0x413087
push edi
call fcn.00410fe2
dec dword [edi + 0x28]
jmp 0x413556
or esi, 0xffffffff
cmp dword [edi + 0x24], 0
mov dword [edi + 0x20], esi
je 0x413610
push esi
push 0
push esi
push esi
push edi
call fcn.004153c6
dec eax
push eax
push edi
call fcn.004110d6
push edi
mov dword [edi + 0x24], eax
call fcn.00410ca2
jmp 0x413120
or dword [edi + 0x20], 0xffffffff
cmp dword [edi + 0x24], 0
je 0x413087
and dword [edi + 0x24], 0
push edi
call fcn.00410ca2
jmp 0x413084
or esi, 0xffffffff
push esi
push edi
mov dword [edi + 0x20], esi
call fcn.00411fdd
cmp dword [edi + 0x24], eax
je 0x413120
jmp 0x41338d
or esi, 0xffffffff
cmp dword [edi + 0x24], 0x1000
mov dword [edi + 0x20], esi
jge 0x413610
push esi
push 0
push esi
push esi
push edi
call fcn.004153c6
inc eax
jmp 0x413386
cmp ebx, 0x45
ja 0x41357a
je 0x413561
mov eax, ebx
sub eax, 0x28
je 0x413348
sub eax, 6
je 0x41344f
sub eax, 0x13
je 0x413437
dec eax
sub eax, 1
jne 0x413087
cmp byte [0x431728], cl
jne 0x413087
push ecx
push edi
call fcn.00416e36
jmp 0x413084
cmp byte [0x431728], 3
jne 0x413087
push edi
call fcn.0041723b
jmp 0x413084
and dword [esp + 0x1c], 0
push edi
call fcn.00412db8
test eax, eax
je 0x413469
push edi
call fcn.0041167b
jmp 0x413084
push 0xffffffffffffffff
push edi
call fcn.00411fdd
cmp dword [edi + 0x24], eax
jl 0x4134c6
mov eax, dword [ebp + 4]
dec eax
cmp dword [edi + 0x28], eax
jge 0x413084
push edi
call fcn.00412ec5
push 0xd
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.0042060f
push 0xd
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.00417972
xor eax, eax
inc eax
push eax
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
call fcn.0041171b
jmp 0x413084
push edi
call fcn.0041100f
mov ebx, dword [esp + 0x1c]
mov esi, eax
push 1
test esi, esi
pop eax
cmove esi, eax
push edi
dec esi
call fcn.004115e4
mov ebp, eax
xor eax, eax
push ebp
push dword [edi + 0x28]
inc eax
push dword [edi + 0x24]
push eax
push edi
call fcn.0042060f
push ebp
push dword [edi + 0x28]
xor eax, eax
push dword [edi + 0x24]
inc eax
push eax
push edi
call fcn.00417972
cmp ebp, 0x2a
je 0x41350f
cmp ebp, 0x2f
jne 0x413510
inc ebx
test esi, esi
jne 0x4134da
mov eax, dword [esp + 0x18]
xor ecx, ecx
inc ecx
mov byte [eax + 0x22], cl
test ebx, ebx
je 0x41352e
push ecx
push esi
push dword [edi]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x413534
push edi
call fcn.00411825
push edi
call fcn.0041171b
mov ebx, dword [esp + 0x40]
jmp 0x413120
inc eax
cmp eax, dword [ebp + 4]
jge 0x413087
push edi
call fcn.00410fe2
inc dword [edi + 0x28]
push edi
call fcn.004106d1
jmp 0x4133ad
cmp byte [0x431728], 2
jne 0x413087
push ecx
push edi
call fcn.0040fcba
jmp 0x413084
cmp ebx, 0x46
je 0x4135df
cmp ebx, 0x4b
je 0x4135cc
cmp ebx, 0x4f
je 0x4135b5
cmp ebx, 0x53
jne 0x413087
cmp byte [0x431728], 2
jne 0x413087
push 0
push 0x52
push 0x111
push dword [edi]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x413084
cmp byte [0x431728], cl
jne 0x413087
push edi
call fcn.0040ffb7
jmp 0x413084
cmp byte [0x431728], cl
jne 0x413087
push 0
jmp 0x41342c
mov al, byte [0x431728]
cmp al, 2
jne 0x4135ec
push 0
jmp 0x41356f
cmp al, 3
jne 0x4135fd
push 0
push edi
call fcn.0041769d
jmp 0x413084
cmp al, cl
jne 0x413087
push edi
call fcn.004103e6
jmp 0x413084
mov esi, dword [esp + 0x3c]
jmp 0x413087