Function at 0x46b860
Capabilities:
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
push 0x4e4f90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push 0x51fe60
lea ecx, [esp + 0x48]
mov dword [esp + 0x3c], 1
call fcn.004bd7a3
test eax, eax
jge 0x46b988
push 0x520bf4
lea ecx, [esp + 0x48]
call fcn.004bd7a3
mov bl, byte [esp + 0x48]
test eax, eax
jle 0x46b8d0
test bl, 8
jne 0x46b8c4
lea eax, [esp + 0x40]
push eax
call fcn.0041ae70
add esp, 4
mov ecx, dword [esp + 0x40]
push ecx
push 0x520bf4
jmp 0x46b8ec
test bl, 8
jne 0x46b8e2
lea edx, [esp + 0x40]
push edx
call fcn.0041ae00
add esp, 4
mov eax, dword [esp + 0x40]
push eax
push 0x51cd48
lea ecx, [esp + 0x4c]
call fcn.004bd420
mov edi, dword [ebp + 0x27c]
mov dword [ebp + 0x27c], 0
test bl, 2
je 0x46b944
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jl 0x46b944
push 0
mov ecx, ebp
call fcn.004d0b16
mov esi, eax
test esi, esi
je 0x46b944
mov ecx, dword [esp + 0x44]
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esi + 0xf8]
call fcn.0042ca30
jmp 0x46b968
test bl, 4
je 0x46b94d
xor eax, eax
jmp 0x46b953
mov eax, dword [ebp + 0x14c]
mov edx, dword [esp + 0x44]
push eax
push 0
push edx
push 2
push 1
mov ecx, ebp
call fcn.00450380
mov esi, eax
test bl, 1
je 0x46b97d
mov eax, dword [esi + 0xf8]
mov dword [eax + 0x158], 1
mov dword [ebp + 0x27c], edi
jmp 0x46bc6c
mov ecx, dword [esp + 0x40]
push ecx
push 0x51cd48
lea ecx, [esp + 0x4c]
call fcn.004bd420
mov eax, dword [0x52251c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
push 0x51fe60
lea ecx, [esp + 0x48]
mov byte [esp + 0x3c], 6
call fcn.004bd7a3
mov esi, eax
lea edx, [esp + 0x24]
push esi
push edx
lea ecx, [esp + 0x4c]
call fcn.004bd709
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x3c], 7
call fcn.004c58c0
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 6
call fcn.004c5787
push str.var_page___html__form_nameform1_methodPOST_action_URL___
lea ecx, [esp + 0x14]
call fcn.004c5910
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push eax
push str._URL
call fcn.004bd420
test esi, esi
jl 0x46bb25
mov bl, 8
add esi, 2
lea ecx, [esp + 0x44]
push esi
push 0x3d
call fcn.004c5c5c
mov edi, eax
lea edx, [esp + 0x24]
mov ecx, edi
sub ecx, esi
push ecx
push esi
push edx
lea ecx, [esp + 0x50]
call fcn.004bd5f7
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c], bl
call fcn.004c58c0
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 6
call fcn.004c5787
inc edi
lea ecx, [esp + 0x44]
push edi
push 0x51fe60
call fcn.004bd7b1
mov esi, eax
test esi, esi
jge 0x46baaa
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov eax, dword [eax - 8]
sub eax, edi
push eax
push edi
push ecx
lea ecx, [esp + 0x50]
call fcn.004bd5f7
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c], 9
call fcn.004c58c0
mov byte [esp + 0x38], 6
lea ecx, [esp + 0x28]
jmp 0x46bad6
mov edx, esi
lea eax, [esp + 0x2c]
sub edx, edi
lea ecx, [esp + 0x44]
push edx
push edi
push eax
call fcn.004bd5f7
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c], 0xa
call fcn.004c58c0
mov byte [esp + 0x38], 6
lea ecx, [esp + 0x2c]
call fcn.004c5787
push str.page__input_typehidden_name_NAME_value_VALUE___
lea ecx, [esp + 0x18]
call fcn.004c5910
mov ecx, dword [esp + 0x1c]
push ecx
push str._NAME
lea ecx, [esp + 0x1c]
call fcn.004bd420
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push edx
push str._VALUE
call fcn.004bd420
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.004c5b9f
test esi, esi
jge 0x46ba20
push str.page___form__script_languagejavascript_form1.submit_____script___html___window.document.write_page__
lea ecx, [esp + 0x14]
call fcn.004c5b63
push 0
mov ecx, ebp
call fcn.004d0b16
mov edi, eax
test edi, edi
je 0x46bbb3
mov eax, dword [edi + 0xf8]
test eax, eax
je 0x46bbb3
mov ecx, dword [edi + 0x1c]
mov esi, dword [sym.imp.USER32.dll_IsWindow]
push ecx
call esi
test eax, eax
je 0x46bbb3
mov eax, dword [edi + 0xf8]
test eax, eax
je 0x46bb69
mov eax, dword [eax + 0x1c]
push eax
call esi
test eax, eax
je 0x46bbb3
mov eax, dword [edi + 0xf8]
mov esi, str.about:blank
add eax, 0x200
mov eax, dword [eax]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46bbaa
test cl, cl
je 0x46bba6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46bbaa
add eax, 2
add esi, 2
test cl, cl
jne 0x46bb82
xor eax, eax
jmp 0x46bbaf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46bbf0
mov bl, byte [esp + 0x48]
test bl, 4
je 0x46bbc0
xor eax, eax
jmp 0x46bbc6
mov eax, dword [ebp + 0x14c]
push eax
push 0
push str.about:Blank
push 2
push 2
mov ecx, ebp
call fcn.00450380
test bl, 1
mov edi, eax
je 0x46bbf0
mov eax, dword [edi + 0xf8]
mov dword [eax + 0x158], 1
push 1
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push str.javascript
call fcn.004c57f5
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
mov byte [esp + 0x4c], 0xb
call fcn.004c54fc
mov ecx, ebp
mov byte [esp + 0x48], 6
call fcn.00472830
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 5
call fcn.004c5787
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 4
call fcn.004c5787
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], 3
call fcn.004c5787
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 2
call fcn.004c5787
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 1
call fcn.004c5787
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 0
call fcn.004c5787
lea ecx, [esp + 0x44]
mov dword [esp + 0x38], 0xffffffff
call fcn.004c5787
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2c
ret 0xc