Function at 0x469288
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x469291
add esp, 0xffffffd0
mov eax, dword [ebp - 4]
mov eax, 0x569373
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
call fcn.004d08c0
mov dword [ebp - 0x28], 0xffffffff
mov word [ebp - 0x14], 8
mov word [ebp - 0x14], 8
mov dword [ebp - 0x30], 1
xor ebx, ebx
xor edi, edi
push esi
push edi
lea edi, [ebp - 0x2034]
mov esi, 0x566373
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea edi, [ebp - 0x3034]
mov esi, 0x567373
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea edi, [ebp - 0x4034]
mov esi, 0x568373
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
test byte [0x516435], 4
pop edi
pop esi
je 0x46932d
push esi
push 0x5d6d2b
push 0x516438
call fcn.00451598
add esp, 0xc
push esi
call fcn.0045be14
pop ecx
mov dword [ebp - 0x34], eax
push 5
mov eax, dword [ebp - 0x34]
push eax
call fcn.0045c048
add esp, 8
test al, al
je 0x469374
mov edx, dword [ebp + 0x10]
push edx
push esi
mov ecx, dword [ebp + 8]
push ecx
push 0x249
push 5
mov eax, dword [ebp - 0x34]
push eax
call fcn.0045c0a4
add esp, 0x18
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x46ab50
push esi
call fcn.0045bf38
pop ecx
mov esi, eax
mov cl, byte [esi]
test cl, cl
je 0x46aafd
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x4034]
push eax
lea edx, [ebp - 0x3034]
push edx
lea ecx, [ebp - 0x2034]
push ecx
push 0x1000
push esi
call fcn.00467c58
add esp, 0x24
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x5e
jne case.0x4693de.43
inc ebx
movsx edx, byte [ebp + ebx - 0x2034]
add edx, 0xffffffd5
cmp edx, 0x4e
ja case.0x4693de.43
mov dl, byte [edx + 0x4693e5]
jmp dword [edx*4 + 0x469434]
xor edi, edi
mov dword [ebp - 0x2c], 0xffffffff
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x2b
jne 0x469486
mov dword [ebp - 0x2c], 1
inc ebx
movsx edx, byte [ebp + ebx - 0x2034]
cmp edx, 0x2d
jne 0x469499
xor ecx, ecx
inc ebx
mov dword [ebp - 0x2c], ecx
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x76
je 0x4694ab
cmp eax, 0x56
jne 0x4694ac
inc ebx
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x6b
je 0x4694be
cmp eax, 0x4b
jne 0x4694bf
inc ebx
movsx edx, byte [ebp + ebx - 0x2034]
cmp edx, 0x5f
jne 0x4694cd
inc ebx
movsx ecx, byte [ebp + ebx - 0x2034]
test byte [ecx*2 + 0x5eaece], 4
je 0x469506
movsx eax, byte [ebp + ebx - 0x2034]
test byte [eax*2 + 0x5eaece], 4
je 0x469e5f
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
add eax, edx
add eax, 0xffffffd0
inc ebx
mov edi, eax
jmp 0x4694df
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6d33
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6d36
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469574
mov edi, 0x26
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6d39
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6d45
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6d4a
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x4695e1
mov edi, 0x28
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6d4f
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6d5b
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6d60
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x46964e
mov edi, 0x25
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6d65
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6d71
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d6d77
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x4696bc
mov edi, 0x27
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6d7d
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6d89
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6d90
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x46972b
mov edi, 0x1b
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6d97
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6da3
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6daa
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x46979a
mov edi, 0x2d
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6db1
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6dbd
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6dc4
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469809
mov edi, 0x2e
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6dcb
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6dd7
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6dda
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469877
mov edi, 0x70
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6ddd
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6de9
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6dec
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x4698e5
mov edi, 0x71
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6def
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6dfb
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6dff
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469951
mov edi, 0x23
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e03
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e0f
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6e14
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x4699be
mov edi, 0x24
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e19
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e25
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6e2c
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469a2d
mov edi, 0xd
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e33
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e3f
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d6e45
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469a9b
mov edi, 0xc
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e4b
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e57
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6e5f
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469b08
mov edi, 0x14
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e67
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e73
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d6e78
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469b75
mov edi, 0x12
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e7d
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e89
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6e8d
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469be1
mov edi, 0x12
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6e91
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6e9d
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6ea5
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469c4e
mov edi, 0x11
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6ead
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6eb9
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d6ebf
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469cbc
mov edi, 0x10
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6ec5
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6ed1
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6ed5
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469d28
mov edi, 0x5b
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6ed9
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6ee5
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d6eeb
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469d96
mov edi, 0x5d
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6ef1
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6efd
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6f05
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469dfc
mov edi, 0x5d
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6f0d
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x469e5f
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d6f19
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d6f1d
call fcn.004cdfec
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004ce208
add esp, 0xc
test eax, eax
jne 0x469e5f
mov edi, 9
add ebx, esi
test byte [0x516435], 4
je 0x469e5f
lea eax, [ebp - 0x1034]
push eax
push 0x5d6f21
push 0x516438
call fcn.00451598
add esp, 0xc
push edi
push 0x5d6f2d
push 0x400
call fcn.00451678
add esp, 0xc
mov edx, dword [ebp - 0x2c]
inc edx
je 0x469e7e
mov ecx, dword [ebp - 0x2c]
dec ecx
jne 0x469e9c
push 0
push 0
push 0
push edi
call sub.USER32.dll_MapVirtualKeyA
push eax
mov eax, edi
push eax
call sub.USER32.dll_keybd_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
mov ecx, dword [ebp - 0x2c]
inc ecx
je 0x469ead
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x4693b2
push 0
push 2
push 0
push edi
call sub.USER32.dll_MapVirtualKeyA
push eax
mov edx, edi
push edx
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
jmp 0x4693b2
test byte [0x516435], 4
je case.0x4693de.43
push 0x5d6f47
push 0x5d6f3a
push 0x516438
call fcn.00451598
add esp, 0xc
jmp case.0x4693de.43
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x469f69
inc ebx
push 0
push 0
push 0
push 0x10
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x10
call sub.USER32.dll_keybd_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x10
push 0x53
push 0x5d6f49
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea eax, [ebp - 0x1034]
push eax
push 0x5d6f51
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x469fd9
inc ebx
push 0
push 2
push 0
push 0x10
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x10
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x10
push 0x53
push 0x5d6f5b
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea edx, [ebp - 0x1034]
push edx
push 0x5d6f63
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
inc ebx
push 0
push 0
push 0
push 0x10
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x10
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x469ff9
add ecx, 3
sar ecx, 2
push ecx
call sub.KERNEL32.dll_Sleep
push 0
push 2
push 0
push 0x10
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x10
call sub.USER32.dll_keybd_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
push 0x10
push 0x53
push 0x5d6f6d
lea edx, [ebp - 0x1034]
push edx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d6f73
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x46a0d3
inc ebx
push 0
push 0
push 0
push 0x11
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.USER32.dll_keybd_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x11
push 0x43
push 0x5d6f7d
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea eax, [ebp - 0x1034]
push eax
push 0x5d6f85
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x46a143
inc ebx
push 0
push 2
push 0
push 0x11
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x11
push 0x43
push 0x5d6f8f
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea edx, [ebp - 0x1034]
push edx
push 0x5d6f97
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
inc ebx
push 0
push 0
push 0
push 0x11
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x46a163
add ecx, 3
sar ecx, 2
push ecx
call sub.KERNEL32.dll_Sleep
push 0
push 2
push 0
push 0x11
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x11
call sub.USER32.dll_keybd_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
push 0x11
push 0x43
push 0x5d6fa1
lea edx, [ebp - 0x1034]
push edx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d6fa7
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x46a23d
inc ebx
push 0
push 0
push 0
push 0x12
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x12
call sub.USER32.dll_keybd_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x12
push 0x41
push 0x5d6fb1
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea eax, [ebp - 0x1034]
push eax
push 0x5d6fb9
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x46a2ad
inc ebx
push 0
push 2
push 0
push 0x12
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x12
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x12
push 0x41
push 0x5d6fc3
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea edx, [ebp - 0x1034]
push edx
push 0x5d6fcb
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
inc ebx
push 0
push 0
push 0
push 0x12
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x12
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x46a2cd
add ecx, 3
sar ecx, 2
push ecx
call sub.KERNEL32.dll_Sleep
push 0
push 2
push 0
push 0x12
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x12
call sub.USER32.dll_keybd_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
push 0x12
push 0x41
push 0x5d6fd5
lea edx, [ebp - 0x1034]
push edx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d6fdb
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x46a3a7
inc ebx
push 0
push 0
push 0
push 0x5b
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x5b
call sub.USER32.dll_keybd_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x5b
push 0x57
push 0x5d6fe5
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea eax, [ebp - 0x1034]
push eax
push 0x5d6fed
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x46a417
inc ebx
push 0
push 2
push 0
push 0x5b
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x5b
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
inc ebx
push 0x5b
push 0x57
push 0x5d6ff7
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea edx, [ebp - 0x1034]
push edx
push 0x5d6fff
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
inc ebx
push 0
push 0
push 0
push 0x5b
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x5b
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x46a437
add ecx, 3
sar ecx, 2
push ecx
call sub.KERNEL32.dll_Sleep
push 0
push 2
push 0
push 0x5b
call sub.USER32.dll_MapVirtualKeyA
push eax
push 0x5b
call sub.USER32.dll_keybd_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
push 0x5b
push 0x57
push 0x5d7009
lea edx, [ebp - 0x1034]
push edx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x4693b2
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d700f
push 0x516438
call fcn.00451598
add esp, 0xc
jmp 0x4693b2
push 0
push 0
call fcn.004013d8
add esp, 8
inc ebx
xor edi, edi
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5eaece], 4
je 0x46a4d6
mov ecx, edi
inc ebx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
inc eax
mov edi, edx
jmp 0x46a4b7
mov esi, edi
push esi
push 0x5d7019
push 0x400
call fcn.00451678
add esp, 0xc
push esi
call sub.KERNEL32.dll_Sleep
jmp 0x4693b2
inc ebx
xor eax, eax
mov dword [ebp - 0x30], eax
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5eaece], 4
je 0x46a524
mov ecx, dword [ebp - 0x30]
inc ebx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
inc eax
mov dword [ebp - 0x30], edx
jmp 0x46a503
mov eax, dword [ebp - 0x30]
push eax
push 0x5d7026
push 0x400
call fcn.00451678
add esp, 0xc
push edi
call sub.KERNEL32.dll_Sleep
jmp 0x4693b2
inc ebx
xor edi, edi
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5eaece], 4
je 0x46a56e
mov ecx, edi
inc ebx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
inc eax
mov edi, edx
jmp 0x46a54f
xor eax, eax
mov dword [ebp - 0x2c], eax
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x3a
je 0x46a5a8
cmp eax, 0x3b
je 0x46a5a8
cmp eax, 0x2d
je 0x46a5a8
cmp eax, 0x23
je 0x46a5a8
cmp eax, 0x78
je 0x46a5a8
cmp eax, 0x58
je 0x46a5a8
cmp eax, 0x2e
je 0x46a5a8
cmp eax, 0x5f
je 0x46a5a8
cmp eax, 0x2a
jne 0x46a5d1
inc ebx
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5eaece], 4
je 0x46a5d1
mov ecx, dword [ebp - 0x2c]
inc ebx
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
inc eax
mov dword [ebp - 0x2c], edx
jmp 0x46a5b0
mov eax, dword [ebp - 0x2c]
push eax
push edi
push 0x5d7035
push 0x400
call fcn.004516bc
add esp, 0x10
push 0
call sub.USER32.dll_GetSystemMetrics
mov esi, eax
mov eax, 0xffff
cdq
idiv esi
imul edi
mov edi, eax
push 1
call sub.USER32.dll_GetSystemMetrics
mov esi, eax
mov eax, 0xffff
cdq
idiv esi
imul dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov esi, edi
push esi
push 0x5d7046
push 0x400
call fcn.004516bc
add esp, 0x10
push 0
push 0
mov eax, dword [ebp - 0x2c]
push eax
push esi
push 0x8001
call sub.USER32.dll_mouse_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
jmp 0x4693b2
movsx ecx, byte [ebp + ebx - 0x2033]
cmp ecx, 0x31
jne 0x46a6b4
inc ebx
push 0
push 0
push 0
push 0
push 2
call sub.USER32.dll_mouse_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
push 2
push 0x4c
push 0x5d7056
lea edx, [ebp - 0x1034]
push edx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x46a6ae
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d705c
push 0x516438
call fcn.00451598
add esp, 0xc
inc ebx
jmp 0x4693b2
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x30
jne 0x46a71a
inc ebx
push 0
push 0
push 0
push 0
push 4
call sub.USER32.dll_mouse_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
push 4
push 0x4c
push 0x5d706c
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x46a714
lea eax, [ebp - 0x1034]
push eax
push 0x5d7072
push 0x516438
call fcn.00451598
add esp, 0xc
inc ebx
jmp 0x4693b2
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x32
jne 0x46a7c8
inc ebx
push 0
push 0
push 0
push 0
push 2
call sub.USER32.dll_mouse_event
push 1
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 4
call sub.USER32.dll_mouse_event
push 1
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 2
call sub.USER32.dll_mouse_event
push 1
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 4
call sub.USER32.dll_mouse_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
push 4
push 2
push 0x4c
push 0x5d7080
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x14
test byte [0x516435], 4
je 0x46a7c2
lea edx, [ebp - 0x1034]
push edx
push 0x5d708d
push 0x516438
call fcn.00451598
add esp, 0xc
inc ebx
jmp 0x4693b2
inc ebx
push 4
push 2
push 0x4c
push 0x5d709b
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x14
test byte [0x516435], 4
je 0x46a805
lea eax, [ebp - 0x1034]
push eax
push 0x5d70a8
push 0x516438
call fcn.00451598
add esp, 0xc
push 0
push 0
push 0
push 0
push 2
call sub.USER32.dll_mouse_event
mov edx, dword [ebp - 0x30]
test edx, edx
jns 0x46a81e
add edx, 3
sar edx, 2
push edx
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 4
call sub.USER32.dll_mouse_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
jmp 0x4693b2
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x46a8aa
inc ebx
push 0
push 0
push 0
push 0
push 8
call sub.USER32.dll_mouse_event
mov edx, dword [ebp - 0x30]
push edx
call sub.KERNEL32.dll_Sleep
push 8
push 0x52
push 0x5d70b6
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x46a8a4
lea eax, [ebp - 0x1034]
push eax
push 0x5d70bc
push 0x516438
call fcn.00451598
add esp, 0xc
inc ebx
jmp 0x4693b2
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x46a910
inc ebx
push 0
push 0
push 0
push 0
push 0x10
call sub.USER32.dll_mouse_event
mov ecx, dword [ebp - 0x30]
push ecx
call sub.KERNEL32.dll_Sleep
push 0x10
push 0x52
push 0x5d70cc
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x10
test byte [0x516435], 4
je 0x46a90a
lea edx, [ebp - 0x1034]
push edx
push 0x5d70d2
push 0x516438
call fcn.00451598
add esp, 0xc
inc ebx
jmp 0x4693b2
movsx ecx, byte [ebp + ebx - 0x2033]
cmp ecx, 0x32
jne 0x46a9be
inc ebx
push 0
push 0
push 0
push 0
push 8
call sub.USER32.dll_mouse_event
push 1
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 0x10
call sub.USER32.dll_mouse_event
push 1
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 8
call sub.USER32.dll_mouse_event
push 1
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 0x10
call sub.USER32.dll_mouse_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
push 0x10
push 8
push 0x52
push 0x5d70e0
lea edx, [ebp - 0x1034]
push edx
call fcn.004d26c8
add esp, 0x14
test byte [0x516435], 4
je 0x46a9b8
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d70ed
push 0x516438
call fcn.00451598
add esp, 0xc
inc ebx
jmp 0x4693b2
inc ebx
push 0x10
push 8
push 0x52
push 0x5d70fb
lea eax, [ebp - 0x1034]
push eax
call fcn.004d26c8
add esp, 0x14
test byte [0x516435], 4
je 0x46a9fb
lea edx, [ebp - 0x1034]
push edx
push 0x5d7108
push 0x516438
call fcn.00451598
add esp, 0xc
push 0
push 0
push 0
push 0
push 8
call sub.USER32.dll_mouse_event
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x46aa14
add ecx, 3
sar ecx, 2
push ecx
call sub.KERNEL32.dll_Sleep
push 0
push 0
push 0
push 0
push 0x10
call sub.USER32.dll_mouse_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
jmp 0x4693b2
mov al, byte [ebp + ebx - 0x2034]
test al, al
je 0x46aafd
mov byte [ebp - 0x1034], al
mov byte [ebp - 0x1033], 0
test byte [0x516435], 4
je 0x46aa78
lea edx, [ebp - 0x1034]
push edx
push 0x5d7116
push 0x516438
call fcn.00451598
add esp, 0xc
push 0
push 0
push 0
mov cl, byte [ebp + ebx - 0x2034]
push ecx
call sub.USER32.dll_VkKeyScanA
movsx eax, ax
push eax
call sub.USER32.dll_MapVirtualKeyA
push eax
mov dl, byte [ebp + ebx - 0x2034]
push edx
call sub.USER32.dll_VkKeyScanA
push eax
call sub.USER32.dll_keybd_event
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x46aab2
add ecx, 3
sar ecx, 2
push ecx
call sub.KERNEL32.dll_Sleep
push 0
push 2
push 0
mov al, byte [ebp + ebx - 0x2034]
push eax
call sub.USER32.dll_VkKeyScanA
movsx edx, ax
push edx
call sub.USER32.dll_MapVirtualKeyA
push eax
mov cl, byte [ebp + ebx - 0x2034]
push ecx
call sub.USER32.dll_VkKeyScanA
push eax
call sub.USER32.dll_keybd_event
mov eax, dword [ebp - 0x30]
push eax
call sub.KERNEL32.dll_Sleep
inc dword [ebp - 0x28]
inc ebx
jmp 0x4693b2
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x46ab0b
mov byte [ebp - 0x1034], 0
mov cl, byte [0x519bf7]
test cl, cl
je 0x46ab1c
add dword [ebp - 0x28], 0x3b9aca00
mov word [ebp - 0x14], 0
jmp 0x46ab43
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
mov esp, ebp
mov edi, dword [ebp - 0x4040]
mov esi, dword [ebp - 0x403c]
mov ebx, dword [ebp - 0x4038]
pop ebp
ret