Function at 0x10004ab0
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 8
push ebp
push esi
push edi
mov edi, 1
cmp dword [0x1021db0c], edi
jg 0x10004bd7
cmp byte [0x1021da5a], 0
jne 0x10004bd7
push 0x1cc
push 0x1a9
call dword [0x1015e07c]
mov eax, dword [0x1021db70]
mov ecx, dword [0x1021db6c]
mov edx, dword [0x1021db68]
push eax
mov eax, dword [0x1021db64]
push ecx
mov ecx, dword [0x1021db60]
push edx
mov edx, dword [0x101723a0]
push eax
push ecx
push edx
push str.X_P_G_C_B_M_:__d__d__d__d__d__d
call dword [0x10164864]
add esp, 0x24
push 0x1dc
push 0x1a9
call dword [0x1015e07c]
fild dword [0x1021db60]
fmul qword [0x1010a1d0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fild dword [0x1021db60]
fiadd dword [0x1021db64]
fiadd dword [0x1021db68]
fiadd dword [0x1021db6c]
fiadd dword [0x1021db70]
fdivp st(1)
fstp qword [esp]
push str.Perfect_:__.1f___
call dword [0x10164864]
add esp, 0xc
push 0x1ec
push 0x1a9
call dword [0x1015e07c]
mov eax, dword [0x10206ba4]
push eax
push str.xPerfect_:__d
call dword [0x10164864]
push 0x1fc
push 0x1a9
call dword [0x1015e07c]
mov ecx, dword [0x10163ca4]
push ecx
push str.Combo_:__d
call dword [0x10164864]
push 0x20c
push 0x1a9
call dword [0x1015e07c]
mov edx, dword [0x1021db74]
push edx
push str.Score_:__d
call dword [0x10164864]
add esp, 0x30
mov eax, dword [0x1021dae0]
push eax
call dword [0x1017240c]
mov ecx, dword [0x1021dae0]
push ecx
mov esi, eax
call dword [0x1014b67c]
cmp eax, esi
je 0x10004e5e
mov eax, dword [0x1021dc70]
mov edx, dword [0x1021dc74]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
add edx, eax
add edx, dword [0x1021dc6c]
mov eax, dword [0x1021db60]
cmp eax, edx
jle 0x10004d09
push 0x39
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004c35
add dword [0x1021dc74], edi
push 0x1d
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004c4a
add dword [0x1021dc74], edi
push 0x9d
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004c62
add dword [0x1021dc74], edi
push 0x52
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004c77
add dword [0x1021dc74], edi
push 0x4c
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004c8c
add dword [0x1021dc74], edi
push 0x24
call esi
mov ecx, 0x8000
test cx, ax
je 0x10004ca0
add dword [0x1021dc6c], edi
push 0x25
call esi
mov edx, 0x8000
test dx, ax
je 0x10004cb4
add dword [0x1021dc6c], edi
push 0x23
call esi
mov ecx, 0x8000
test cx, ax
je 0x10004cc8
add dword [0x1021dc6c], edi
push 0x21
call esi
mov edx, 0x8000
test dx, ax
je 0x10004cdc
add dword [0x1021dc70], edi
push 0x27
call esi
mov ecx, 0x8000
test cx, ax
je 0x10004cf0
add dword [0x1021dc70], edi
push 0x22
call esi
mov edx, 0x8000
test dx, ax
mov eax, dword [0x1021db60]
je 0x10004d09
add dword [0x1021dc70], edi
mov ecx, dword [0x1021db64]
mov edx, dword [0x1021dc7c]
mov ebp, dword [0x1021dc84]
add ecx, eax
add ecx, dword [0x1021db68]
add ebp, edx
add ecx, dword [0x1021db6c]
add ebp, dword [0x1021dc78]
mov dword [0x1021dc80], ecx
cmp ecx, ebp
jle 0x10004e28
push 0x39
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004d54
add dword [0x1021dc84], edi
push 0x1d
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004d69
add dword [0x1021dc84], edi
push 0x9d
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004d81
add dword [0x1021dc84], edi
push 0x52
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004d96
add dword [0x1021dc84], edi
push 0x4c
call dword [0x10207020]
add esp, 4
test eax, eax
je 0x10004dab
add dword [0x1021dc84], edi
push 0x24
call esi
mov ecx, 0x8000
test cx, ax
je 0x10004dbf
add dword [0x1021dc78], edi
push 0x25
call esi
mov edx, 0x8000
test dx, ax
je 0x10004dd3
add dword [0x1021dc78], edi
push 0x23
call esi
mov ecx, 0x8000
test cx, ax
je 0x10004de7
add dword [0x1021dc78], edi
push 0x21
call esi
mov edx, 0x8000
test dx, ax
je 0x10004dfb
add dword [0x1021dc7c], edi
push 0x27
call esi
mov ecx, 0x8000
test cx, ax
je 0x10004e0f
add dword [0x1021dc7c], edi
push 0x22
call esi
mov edx, 0x8000
test dx, ax
mov eax, dword [0x1021db60]
je 0x10004e28
add dword [0x1021dc7c], edi
cmp dword [0x2a33c49], 0x19999
jne 0x10004e5e
sub eax, dword [0x1021dc74]
sub eax, dword [0x1021dc70]
sub eax, dword [0x1021dc6c]
cmp eax, 5
jle 0x10004e5e
cmp byte [0x1021da4d], 0
jne 0x10004e5e
push str.Left_Right_something_wrong__nAuto_
call fcn.10010630
cmp dword [0x1021db0c], edi
jg 0x100050a1
cmp byte [0x1021da5a], 0
jne 0x100050a1
push 0x21c
push 0x1a9
call dword [0x1015e07c]
mov eax, dword [0x1021dc6c]
mov ecx, eax
imul ecx, ecx, 0x64
mov dword [esp + 0x18], ecx
mov edx, dword [0x1021dc78]
fild dword [esp + 0x18]
fidiv dword [0x1021dc78]
fstp qword [esp]
push edx
push eax
push str.Left___d__d__:__.1f___
call dword [0x10164864]
add esp, 0x14
push 0x22c
push 0x1a9
call dword [0x1015e07c]
mov eax, dword [0x1021dc70]
mov ecx, eax
imul ecx, ecx, 0x64
mov dword [esp + 0x18], ecx
mov edx, dword [0x1021dc7c]
fild dword [esp + 0x18]
fidiv dword [0x1021dc7c]
fstp qword [esp]
push edx
push eax
push str.Right___d__d__:__.1f___
call dword [0x10164864]
add esp, 0x14
push 0x23c
push 0x1a9
call dword [0x1015e07c]
mov eax, dword [0x1021dc74]
mov ecx, eax
imul ecx, ecx, 0x64
mov dword [esp + 0x18], ecx
mov edx, dword [0x1021dc84]
fild dword [esp + 0x18]
fidiv dword [0x1021dc84]
fstp qword [esp]
push edx
push eax
push str.Space___d__d__:__.1f___
call dword [0x10164864]
add esp, 0x14
push 0x24c
push 0x1a9
call dword [0x1015e07c]
push str.On_Off_F11
call dword [0x10164864]
mov eax, dword [0x1021db60]
mov ecx, dword [0x1021db64]
add eax, ecx
add eax, dword [0x1021db68]
add esp, 0xc
add eax, dword [0x1021db6c]
add eax, dword [0x1021db70]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fild dword [0x10163ca4]
fld dword [esp + 0x10]
fld st(0)
fdivp st(2)
fld qword [0x1010a1d0]
fmul st(2), st(0)
fxch st(2)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fild dword [0x1021db60]
fdivrp st(2)
fxch st(1)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fadd dword [esp + 0x10]
fmul qword [0x1010a170]
fstp dword [esp + 0x10]
push 0x25c
push 0x1a9
call dword [0x1015e07c]
fld dword [esp + 0x18]
fstp qword [esp]
push str.Judgement_Score_:__.2f
call dword [0x10164864]
add esp, 0xc
cmp dword [0x29d02cd], edi
jne 0x100050a1
cmp byte [0x1012f587], 0
je 0x100050a1
cmp dword [0x1021daac], 0
je 0x100050a1
call fcn.100098f0
test al, al
je 0x100050a1
cmp dword [0x1020cf5c], edi
jne 0x100050a1
mov edx, 0x10108af7
mov ecx, 0x10193608
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10005050
test al, al
je 0x1000504c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10005050
add ecx, 2
add edx, 2
test al, al
jne 0x10005030
xor eax, eax
jmp 0x10005055
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100050a1
cmp dword [0x2a33c49], 0x19999
jne 0x100050a1
cmp byte [0x10123a6b], 0
je 0x100050a1
fld dword [esp + 0x10]
sub esp, 8
fstp qword [esp]
push str.Judgement_Score_:__.2f
push 0x10159188
call fcn.10092310
mov ecx, dword [0x1021dd38]
add esp, 0x10
push 0x10159188
call fcn.10007f50
mov byte [0x10123a6b], 0
pop edi
pop esi
pop ebp
add esp, 8
ret