Function at 0x468c34
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 0x468c3d
add esp, 0xffffffd0
mov eax, dword [ebp - 4]
mov eax, 0x567e13
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
call fcn.004cfcb8
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, 0x564e13
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea edi, [ebp - 0x3034]
mov esi, 0x565e13
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea edi, [ebp - 0x4034]
mov esi, 0x566e13
mov ecx, 0x400
rep movsd dword es:[edi], dword [esi]
test byte [0x514ff1], 4
pop edi
pop esi
je 0x468cd9
push esi
push 0x5d56d6
push 0x514ff4
call fcn.00451068
add esp, 0xc
push esi
call fcn.0045b7f8
pop ecx
mov dword [ebp - 0x34], eax
push 5
mov eax, dword [ebp - 0x34]
push eax
call fcn.0045ba2c
add esp, 8
test al, al
je 0x468d20
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.0045ba88
add esp, 0x18
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x46a4fc
push esi
call fcn.0045b91c
pop ecx
mov esi, eax
mov cl, byte [esi]
test cl, cl
je 0x46a4a9
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.00467604
add esp, 0x24
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x5e
jne case.0x468d8a.43
inc ebx
movsx edx, byte [ebp + ebx - 0x2034]
add edx, 0xffffffd5
cmp edx, 0x4e
ja case.0x468d8a.43
mov dl, byte [edx + 0x468d91]
jmp dword [edx*4 + 0x468de0]
xor edi, edi
mov dword [ebp - 0x2c], 0xffffffff
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x2b
jne 0x468e32
mov dword [ebp - 0x2c], 1
inc ebx
movsx edx, byte [ebp + ebx - 0x2034]
cmp edx, 0x2d
jne 0x468e45
xor ecx, ecx
inc ebx
mov dword [ebp - 0x2c], ecx
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x76
je 0x468e57
cmp eax, 0x56
jne 0x468e58
inc ebx
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x6b
je 0x468e6a
cmp eax, 0x4b
jne 0x468e6b
inc ebx
movsx edx, byte [ebp + ebx - 0x2034]
cmp edx, 0x5f
jne 0x468e79
inc ebx
movsx ecx, byte [ebp + ebx - 0x2034]
test byte [ecx*2 + 0x5e98b2], 4
je 0x468eb2
movsx eax, byte [ebp + ebx - 0x2034]
test byte [eax*2 + 0x5e98b2], 4
je 0x46980b
mov edx, edi
add edx, edx
lea edx, [edx + edx*4]
add eax, edx
add eax, 0xffffffd0
inc ebx
mov edi, eax
jmp 0x468e8b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d56de
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d56e1
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x468f20
mov edi, 0x26
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d56e4
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d56f0
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d56f5
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x468f8d
mov edi, 0x28
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d56fa
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5706
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d570b
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x468ffa
mov edi, 0x25
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5710
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d571c
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d5722
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469068
mov edi, 0x27
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5728
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5734
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d573b
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4690d7
mov edi, 0x1b
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5742
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d574e
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d5755
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469146
mov edi, 0x2d
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d575c
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5768
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d576f
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4691b5
mov edi, 0x2e
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5776
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5782
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d5785
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469223
mov edi, 0x70
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5788
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5794
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d5797
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469291
mov edi, 0x71
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d579a
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d57a6
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d57aa
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4692fd
mov edi, 0x23
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d57ae
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d57ba
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d57bf
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x46936a
mov edi, 0x24
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d57c4
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d57d0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d57d7
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4693d9
mov edi, 0xd
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d57de
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d57ea
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d57f0
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469447
mov edi, 0xc
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d57f6
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5802
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d580a
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4694b4
mov edi, 0x14
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5812
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d581e
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push 0x5d5823
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469521
mov edi, 0x12
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5828
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5834
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d5838
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x46958d
mov edi, 0x12
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d583c
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5848
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d5850
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4695fa
mov edi, 0x11
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5858
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5864
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d586a
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469668
mov edi, 0x10
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5870
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d587c
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d5880
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4696d4
mov edi, 0x5b
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d5884
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d5890
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
push 0x5d5896
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x469742
mov edi, 0x5d
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d589c
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d58a8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d58b0
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x4697a8
mov edi, 0x5d
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d58b8
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x46980b
push edi
lea edi, [ebp - 0x1034]
mov eax, edi
mov esi, 0x5d58c4
movsd dword es:[edi], dword [esi]
pop edi
push 0x5d58c8
call fcn.004cd3e4
pop ecx
mov esi, eax
push esi
lea eax, [ebp - 0x1034]
push eax
lea edx, [ebp - 0x2034]
add edx, ebx
push edx
call fcn.004cd600
add esp, 0xc
test eax, eax
jne 0x46980b
mov edi, 9
add ebx, esi
test byte [0x514ff1], 4
je 0x46980b
lea eax, [ebp - 0x1034]
push eax
push 0x5d58cc
push 0x514ff4
call fcn.00451068
add esp, 0xc
push edi
push 0x5d58d8
push 0x400
call fcn.00451148
add esp, 0xc
mov edx, dword [ebp - 0x2c]
inc edx
je 0x46982a
mov ecx, dword [ebp - 0x2c]
dec ecx
jne 0x469848
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 0x469859
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x468d5e
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 0x468d5e
test byte [0x514ff1], 4
je case.0x468d8a.43
push 0x5d58f2
push 0x5d58e5
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp case.0x468d8a.43
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x469915
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 0x5d58f4
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea eax, [ebp - 0x1034]
push eax
push 0x5d58fc
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x469985
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 0x5d5906
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea edx, [ebp - 0x1034]
push edx
push 0x5d590e
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
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 0x4699a5
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 0x5d5918
lea edx, [ebp - 0x1034]
push edx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d591e
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x469a7f
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 0x5d5928
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea eax, [ebp - 0x1034]
push eax
push 0x5d5930
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x469aef
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 0x5d593a
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea edx, [ebp - 0x1034]
push edx
push 0x5d5942
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
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 0x469b0f
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 0x5d594c
lea edx, [ebp - 0x1034]
push edx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d5952
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x469be9
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 0x5d595c
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea eax, [ebp - 0x1034]
push eax
push 0x5d5964
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x469c59
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 0x5d596e
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea edx, [ebp - 0x1034]
push edx
push 0x5d5976
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
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 0x469c79
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 0x5d5980
lea edx, [ebp - 0x1034]
push edx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d5986
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x469d53
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 0x5d5990
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea eax, [ebp - 0x1034]
push eax
push 0x5d5998
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x469dc3
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 0x5d59a2
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea edx, [ebp - 0x1034]
push edx
push 0x5d59aa
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
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 0x469de3
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 0x5d59b4
lea edx, [ebp - 0x1034]
push edx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x468d5e
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d59ba
push 0x514ff4
call fcn.00451068
add esp, 0xc
jmp 0x468d5e
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 + 0x5e98b2], 4
je 0x469e82
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 0x469e63
mov esi, edi
push esi
push 0x5d59c4
push 0x400
call fcn.00451148
add esp, 0xc
push esi
call sub.KERNEL32.dll_Sleep
jmp 0x468d5e
inc ebx
xor eax, eax
mov dword [ebp - 0x30], eax
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5e98b2], 4
je 0x469ed0
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 0x469eaf
mov eax, dword [ebp - 0x30]
push eax
push 0x5d59d1
push 0x400
call fcn.00451148
add esp, 0xc
push edi
call sub.KERNEL32.dll_Sleep
jmp 0x468d5e
inc ebx
xor edi, edi
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5e98b2], 4
je 0x469f1a
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 0x469efb
xor eax, eax
mov dword [ebp - 0x2c], eax
movsx eax, byte [ebp + ebx - 0x2034]
cmp eax, 0x3a
je 0x469f54
cmp eax, 0x3b
je 0x469f54
cmp eax, 0x2d
je 0x469f54
cmp eax, 0x23
je 0x469f54
cmp eax, 0x78
je 0x469f54
cmp eax, 0x58
je 0x469f54
cmp eax, 0x2e
je 0x469f54
cmp eax, 0x5f
je 0x469f54
cmp eax, 0x2a
jne 0x469f7d
inc ebx
lea eax, [ebp + ebx - 0x2034]
movsx edx, byte [eax]
test byte [edx*2 + 0x5e98b2], 4
je 0x469f7d
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 0x469f5c
mov eax, dword [ebp - 0x2c]
push eax
push edi
push 0x5d59e0
push 0x400
call fcn.0045118c
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 0x5d59f1
push 0x400
call fcn.0045118c
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 0x468d5e
movsx ecx, byte [ebp + ebx - 0x2033]
cmp ecx, 0x31
jne 0x46a060
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 0x5d5a01
lea edx, [ebp - 0x1034]
push edx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x46a05a
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d5a07
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
jmp 0x468d5e
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x30
jne 0x46a0c6
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 0x5d5a17
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x46a0c0
lea eax, [ebp - 0x1034]
push eax
push 0x5d5a1d
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
jmp 0x468d5e
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x32
jne 0x46a174
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 0x5d5a2b
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x14
test byte [0x514ff1], 4
je 0x46a16e
lea edx, [ebp - 0x1034]
push edx
push 0x5d5a38
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
jmp 0x468d5e
inc ebx
push 4
push 2
push 0x4c
push 0x5d5a46
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x14
test byte [0x514ff1], 4
je 0x46a1b1
lea eax, [ebp - 0x1034]
push eax
push 0x5d5a53
push 0x514ff4
call fcn.00451068
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 0x46a1ca
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 0x468d5e
movsx eax, byte [ebp + ebx - 0x2033]
cmp eax, 0x31
jne 0x46a256
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 0x5d5a61
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x46a250
lea eax, [ebp - 0x1034]
push eax
push 0x5d5a67
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
jmp 0x468d5e
movsx edx, byte [ebp + ebx - 0x2033]
cmp edx, 0x30
jne 0x46a2bc
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 0x5d5a77
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 4
je 0x46a2b6
lea edx, [ebp - 0x1034]
push edx
push 0x5d5a7d
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
jmp 0x468d5e
movsx ecx, byte [ebp + ebx - 0x2033]
cmp ecx, 0x32
jne 0x46a36a
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 0x5d5a8b
lea edx, [ebp - 0x1034]
push edx
call fcn.004d1ac0
add esp, 0x14
test byte [0x514ff1], 4
je 0x46a364
lea ecx, [ebp - 0x1034]
push ecx
push 0x5d5a98
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
jmp 0x468d5e
inc ebx
push 0x10
push 8
push 0x52
push 0x5d5aa6
lea eax, [ebp - 0x1034]
push eax
call fcn.004d1ac0
add esp, 0x14
test byte [0x514ff1], 4
je 0x46a3a7
lea edx, [ebp - 0x1034]
push edx
push 0x5d5ab3
push 0x514ff4
call fcn.00451068
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 0x46a3c0
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 0x468d5e
mov al, byte [ebp + ebx - 0x2034]
test al, al
je 0x46a4a9
mov byte [ebp - 0x1034], al
mov byte [ebp - 0x1033], 0
test byte [0x514ff1], 4
je 0x46a424
lea edx, [ebp - 0x1034]
push edx
push 0x5d5ac1
push 0x514ff4
call fcn.00451068
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 0x46a45e
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 0x468d5e
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x46a4b7
mov byte [ebp - 0x1034], 0
mov cl, byte [0x51869f]
test cl, cl
je 0x46a4c8
add dword [ebp - 0x28], 0x3b9aca00
mov word [ebp - 0x14], 0
jmp 0x46a4ef
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