Function at 0x43bd70
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov esi, dword [esp + 0x50]
call fcn.004bf8e0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp], 0xa
call fcn.0049d1b9
sub esp, 4
mov ebx, eax
mov eax, dword [eax + 0x60]
test eax, eax
je 0x43c098
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.004b64d3
sub esp, 8
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.004b6605
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [0x5accb4]
mov dword [esp], eax
call fcn.004b620c
sub esp, 8
call fcn.004bfa70
mov eax, dword [0x5accb8]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
call fcn.004bf9a0
mov dword [esp + 4], eax
lea ebx, [esp + 0x24]
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
mov eax, dword [0x5accb8]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], eax
mov dword [esp], str.untitled.bas
call fcn.004bfb50
test eax, eax
jne 0x43c0a8
mov eax, dword [0x5accb8]
mov edi, dword [eax + 0xc]
mov dword [esp], edi
call fcn.0049d188
sub esp, 4
test eax, eax
je 0x43bf23
mov dword [esp], edi
call fcn.0049d19a
sub esp, 4
cmp eax, 0x1f
jne 0x43bf23
mov dword [esp + 4], 0x86f
mov dword [esp], edi
call fcn.00495912
sub esp, 8
test eax, eax
je 0x43bf23
mov edx, dword [0x5acaa4]
test edx, edx
mov dword [esp + 4], 1
jne 0x43c170
mov dword [esp], 0
call fcn.0043a220
sub esp, 8
mov dword [esp], 0xa
call fcn.0049d1b9
sub esp, 4
mov edi, eax
mov eax, dword [eax + 0x60]
test eax, eax
je 0x43c184
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.004b64d3
sub esp, 8
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call fcn.004b6605
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [0x5accb4]
mov dword [esp], eax
call fcn.004b620c
sub esp, 8
call fcn.004bfa70
mov eax, dword [0x5accb8]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
mov dword [esp], 0x10
call sub.USER32.dll_GetAsyncKeyState
sub esp, 4
test ah, 0x80
jne 0x43c190
mov dword [esp + 4], esi
mov eax, dword [0x5accc4]
mov dword [esp], eax
call fcn.004b620c
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov eax, dword [0x5accc8]
mov ebx, dword [eax + 0xc]
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bcc90
sub esp, 8
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], 0x5acb70
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov eax, dword [0x5accc8]
mov ebx, dword [eax + 0x10]
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bcc90
sub esp, 8
call fcn.004bf9a0
mov dword [esp + 4], eax
lea ebx, [esp + 0x2c]
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov eax, dword [0x5accc8]
mov esi, dword [eax + 0x14]
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bcc90
sub esp, 8
call fcn.004bf9a0
mov dword [esp + 4], eax
lea esi, [esp + 0x28]
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
mov eax, dword [0x5accc8]
mov eax, dword [eax + 0x18]
mov dword [0x5ac69c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], str.Not_set
call fcn.004bfb50
test eax, eax
je 0x43c220
mov dword [esp + 4], str.Path_to_external_program_not_set
mov dword [esp], str.Oops_
call fcn.004959ab
sub esp, 8
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004bfb00
sub esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bfb00
sub esp, 4
mov dword [esp], 0
call fcn.004bfb00
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bfb00
sub esp, 4
xor eax, eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov eax, 0xffffffff
jmp 0x43bdd4
call fcn.004bfa70
mov eax, dword [0x5ac860]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
mov dword [esp], str.untitled.bas
call fcn.004bfbb0
sub esp, 4
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.0049b470
sub esp, 8
test eax, eax
je 0x43bf23
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
mov eax, dword [0x5accb8]
mov ebx, dword [eax + 0xc]
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00403aa0
sub esp, 8
call fcn.004bfb30
call fcn.004bfa40
mov dword [esp + 8], 0x18
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.0049ba80
sub esp, 0xc
call fcn.004bf9e0
mov dword [esp], 0
call fcn.0049b860
sub esp, 4
jmp 0x43bf23
mov dword [esp], 1
call fcn.0043a220
sub esp, 8
jmp 0x43bea7
mov eax, 0xffffffff
jmp 0x43bee3
mov dword [esp + 8], 0
mov eax, dword [0x5acbcc]
add eax, 0xd3
mov dword [esp + 4], eax
mov dword [esp], 0x4c
call fcn.004a8efc
sub esp, 0xc
mov dword [0x5acbcc], esi
mov dword [esp + 4], esi
mov eax, dword [0x5accc4]
mov dword [esp], eax
call fcn.004b620c
sub esp, 8
mov eax, dword [0x5accc8]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xde
mov dword [esp], 9
call fcn.0049305f
sub esp, 0xc
mov dword [esp + 8], 1
mov eax, dword [0x5acbcc]
add eax, 0xd3
mov dword [esp + 4], eax
mov dword [esp], 0x4c
call fcn.004a8efc
sub esp, 0xc
jmp 0x43bf3b
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], 0x5acd34
call fcn.004bfb50
test eax, eax
jne 0x43c032
mov eax, dword [0x5acb70]
mov dword [esp + 4], eax
mov dword [esp], 0x5acd34
call fcn.004bfb50
test eax, eax
jne 0x43c910
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004a6f0d
sub esp, 8
call fcn.004bfb30
mov ebp, dword [0x5acb70]
call fcn.004bfa40
mov edi, eax
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], str._extpath_
mov dword [esp], ebp
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], 0x5acb70
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004a6f0d
sub esp, 8
call fcn.004bfb30
mov ebp, dword [0x5acb70]
call fcn.004bfa40
mov edi, eax
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5986a4
mov dword [esp], ebp
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], 0x5acb70
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov edi, dword [0x5acb70]
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x5991c4
mov dword [esp + 4], 0x5958d0
mov dword [esp], edi
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], 0x5acb70
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov edi, dword [0x5acb70]
call fcn.004bf9a0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.004bcf90
sub esp, 0xc
call fcn.004bfb30
call fcn.004bfa10
mov dword [esp + 4], eax
mov dword [esp], 0x5990bc
call fcn.004bfb50
test eax, eax
jne 0x43c980
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004a6d2a
sub esp, 8
call fcn.004bfb30
call fcn.004bfa40
mov edi, eax
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], str._basshort_
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 4], str._bas_
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004a6f0d
sub esp, 8
call fcn.004bfb30
call fcn.004bfa40
mov edi, eax
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5986a4
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov edi, dword [0x5ac734]
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], str._mmepath_
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x5991c4
mov dword [esp + 4], 0x5958d0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bcf90
sub esp, 0xc
call fcn.004bfb30
call fcn.004bfa10
mov dword [esp + 4], eax
mov dword [esp], 0x5990bc
call fcn.004bfb50
test eax, eax
jne 0x43c9d8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004a6d2a
sub esp, 8
call fcn.004bfb30
call fcn.004bfa40
mov esi, eax
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], str._basshort_
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 4], str._bas_
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004a6f0d
sub esp, 8
call fcn.004bfb30
call fcn.004bfa40
mov esi, eax
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], 0x5986a4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
mov esi, dword [0x5ac734]
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], str._mmepath_
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x5991c4
mov dword [esp + 4], 0x5958d0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bd9a0
sub esp, 0x14
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bcf90
sub esp, 0xc
call fcn.004bfb30
call fcn.004bfa10
mov dword [esp + 4], eax
mov dword [esp], 0x5990bc
call fcn.004bfb50
test eax, eax
jne 0x43ca28
mov eax, dword [0x5ac69c]
test eax, eax
jne 0x43ca78
mov eax, dword [0x5acb70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0049691c
sub esp, 0xc
mov eax, dword [0x5accb8]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], eax
mov dword [esp], str.untitled.bas
call fcn.004bfb50
test eax, eax
je 0x43c049
mov eax, dword [0x5acce4]
mov dword [esp], eax
call fcn.004b60ad
sub esp, 4
lea esi, [esi]
mov eax, dword [0x5acce4]
mov dword [esp], eax
call fcn.004b60c2
sub esp, 4
test eax, eax
je 0x43cb60
call fcn.004bfa70
mov eax, dword [0x5ac860]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
mov dword [esp], str.untitled.bas
call fcn.004bfbb0
sub esp, 4
mov eax, dword [0x5acce8]
mov ebx, dword [eax + 8]
call fcn.004bfa10
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004bfb50
test eax, eax
je 0x43c8a8
jmp 0x43c049
call fcn.004bfa70
mov dword [esp], 0x5958d0
call fcn.004bfbb0
sub esp, 4
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004a6f0d
sub esp, 8
call fcn.004bf9a0
mov dword [esp], 0x5958d0
call fcn.004bfbb0
sub esp, 4
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], 0x5acb70
call fcn.004bfa90
sub esp, 8
jmp 0x43c259
call fcn.004bfa70
call fcn.004bfa70
mov edi, dword [0x5acb70]
call fcn.004bf9a0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x5991c4
mov dword [esp + 4], 0x5990bc
mov dword [esp], edi
call fcn.004bdcf0
sub esp, 0x10
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], 0x5acb70
call fcn.004bfa90
sub esp, 8
jmp 0x43c3f7
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x5991c4
mov dword [esp + 4], 0x5990bc
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bdcf0
sub esp, 0x10
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004bfa90
sub esp, 8
jmp 0x43c61f
call fcn.004bfa70
call fcn.004bfa70
call fcn.004bf9a0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x5991c4
mov dword [esp + 4], 0x5990bc
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bdcf0
sub esp, 0x10
call fcn.004bf9a0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004bfa90
sub esp, 8
jmp 0x43c847
call fcn.004bfa70
call fcn.004bfa70
mov eax, dword [0x5acb70]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
mov dword [esp], 0x599210
call fcn.004bfbb0
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
mov dword [esp], 0x599210
call fcn.004bfbb0
sub esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
call fcn.004bfb30
call fcn.004bfa70
mov dword [esp], str.runhere
call fcn.004bfbb0
sub esp, 4
call fcn.004bfa70
call fcn.004bfa70
mov esi, dword [0x5ac69c]
mov edi, esi
sar edi, 0x1f
call fcn.004bf9a0
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.004bd520
sub esp, 0xc
call fcn.004bf9a0
mov dword [esp], str..bat
call fcn.004bfbb0
sub esp, 4
call fcn.004bfa40
mov ebx, eax
call fcn.004bfa40
mov edx, dword [0x5ac734]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0049691c
sub esp, 0xc
call fcn.004bf9e0
jmp 0x43c874
mov eax, dword [0x5acce4]
mov dword [esp], eax
call fcn.004b60fd
sub esp, 4
call fcn.004bfa70
mov eax, dword [0x5ac860]
mov dword [esp], eax
call fcn.004bfbb0
sub esp, 4
mov dword [esp], str.untitled.bas
call fcn.004bfbb0
sub esp, 4
call fcn.004bf9a0
mov dword [esp + 4], eax
mov eax, dword [0x5acce8]
add eax, 8
mov dword [esp], eax
call fcn.004bfa90
sub esp, 8
jmp 0x43c049