Function at 0x4627e0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51145c
mov eax, dword fs:[0]
push eax
sub esp, 0x118
push ebx
push esi
push edi
mov eax, dword [0x57b728]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp + 0xc]
push 0xffffffffffffffff
push dword [edi + 0x38]
xor esi, esi
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x18], esi
call fcn.00417cd0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], esi
call fcn.00419830
mov ebx, dword [ebp + 8]
push 0x52e848
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462876
push 0x548
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.0045f9c0
mov esi, eax
jmp 0x4632a9
push str..wtr
mov ecx, ebx
call fcn.00419160
test al, al
je 0x4628be
push 0x1f0
call fcn.004efd54
mov esi, eax
add esp, 4
mov dword [ebp + 0x10], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x4632a7
push edi
mov ecx, esi
call fcn.0045e060
mov dword [esi], vtable.WeatherView.0
mov dword [esi + 0x58], vtable.WeatherView.1.0
jmp 0x4632a9
push 0x52e858
mov ecx, ebx
call fcn.00419160
test al, al
je 0x4628ff
push 0x230
call fcn.004efd54
mov esi, eax
add esp, 4
mov dword [ebp + 0x10], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x4632a7
push edi
mov ecx, esi
call fcn.0046fbb0
mov dword [esi], vtable.DungeonView.0
jmp 0x4632a9
push 0x52e85c
mov ecx, ebx
call fcn.00419160
test al, al
je 0x46293a
push 0x230
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.0046fbb0
mov esi, eax
jmp 0x4632a9
push str..svmap
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462975
push 0x2e0
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.00472330
mov esi, eax
jmp 0x4632a9
push 0x52e86c
mov ecx, ebx
call fcn.00419160
test al, al
jne 0x463283
push str..3de
mov ecx, ebx
call fcn.00419160
test al, al
jne 0x463283
push str..3do
mov ecx, ebx
call fcn.00419160
test al, al
jne 0x463283
push str..lua
mov ecx, ebx
call fcn.00419160
test al, al
je 0x4629ee
push 0x90
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4632a7
push 1
push edi
mov ecx, eax
call fcn.0045f760
mov esi, eax
jmp 0x4632a9
push str..alt
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462a47
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x462a1b
mov ebx, dword [ebp - 0x14]
lea eax, [ebx + 0x68]
push eax
push edi
lea ecx, [ebx + 0x2b78]
call fcn.004634c0
mov esi, eax
push 0x1a8
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4632a7
push esi
push edi
mov ecx, eax
call fcn.0047fc40
mov esi, eax
jmp 0x4632a9
push str..ctl
mov ecx, ebx
call fcn.00419160
test al, al
jne 0x46325f
push str..dat
mov ecx, ebx
call fcn.00419160
test al, al
jne 0x46325f
push 0x52e8a4
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462aac
push 0x3cc
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4632a7
push 0
push edi
mov ecx, eax
call fcn.0048b220
mov esi, eax
jmp 0x4632a9
push str..mlt
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462b04
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x462ad8
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ecx + 0x234]
call fcn.004c58c0
mov esi, eax
push 0x538
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4632a7
push esi
push edi
mov ecx, eax
call fcn.00483ca0
mov esi, eax
jmp 0x4632a9
push str..mlx
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462b66
mov ebx, dword [ebp - 0x14]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebx + 0x234]
call fcn.004c6a70
mov dword [ebp + 0x10], eax
test eax, eax
je 0x4632a9
push 0xb10
call fcn.004efd54
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
mov byte [ebp - 4], 0xc
test ecx, ecx
je 0x4632a7
lea eax, [ebx + 0xbc0]
push eax
push dword [ebp + 0x10]
push edi
call fcn.0045eee0
mov esi, eax
jmp 0x4632a9
push str..mon
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462bbf
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x462b93
mov ebx, dword [ebp - 0x14]
lea eax, [ebx + 0x68]
push eax
push edi
lea ecx, [ebx + 0x2b90]
call fcn.004636d0
mov esi, eax
push 0x538
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4632a7
push esi
push edi
mov ecx, eax
call fcn.00488ab0
mov esi, eax
jmp 0x4632a9
push str..itm
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462c29
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x462bfd
lea ecx, [ebp - 0x3c]
call fcn.00419a20
mov ecx, eax
call fcn.00418bd0
mov ecx, dword [ebp - 0x14]
push esi
mov byte [ebp + 0x10], al
push dword [ebp + 0x10]
lea ecx, [ecx + 0x234]
call fcn.004c77e0
mov esi, eax
push 0x540
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x4632a7
push esi
push edi
mov ecx, eax
call fcn.00481e40
mov esi, eax
jmp 0x4632a9
push str..zon
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462c78
cmp byte [ebp + 0x10], 0
je 0x462c4a
mov ebx, dword [ebp - 0x14]
add ebx, 0x2ba8
jmp 0x462c4c
xor ebx, ebx
push 0x1a8
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x4632a7
push ebx
push edi
mov ecx, eax
call fcn.00474230
mov esi, eax
jmp 0x4632a9
push str.Cash.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x463203
push str.DBItemSellData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x463203
push str.Item.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x4631b6
push str.DBItemData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x4631b6
push str.Monster.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x463150
push str.DBMonsterData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x463150
push str.NpcQuest.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x462d46
cmp byte [ebp + 0x10], 0
je 0x462d18
mov ebx, dword [ebp - 0x14]
add ebx, 0xca4
jmp 0x462d1a
xor ebx, ebx
push 0xec
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x4632a7
push ebx
push edi
mov ecx, eax
call fcn.004ad790
mov esi, eax
jmp 0x4632a9
push str.NpcSkill.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x4630ea
push str.DBNpcSkillData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x4630ea
push 0x52e9a8
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x463084
push str.DBSkillData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x463084
push str.SetItem.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x46301e
push str.DBSetItemData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x46301e
push str.DualLayerClothes.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x462ff3
push str.DBDualLayerClothesData.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
jne 0x462ff3
push str.PriestTalk.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x462e45
push 1
push 0
lea ecx, [ebp - 0x88]
call fcn.00413c20
mov ebx, dword [ebp - 0x14]
push 1
mov edx, dword [ebx]
lea eax, [edi + 0x10]
push eax
lea eax, [ebp - 0x88]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x18
call dword [edx + 0x14c]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.00413cc0
lea ecx, [ebp - 0x74]
call fcn.00416dc0
jmp 0x4632a9
push str..eft
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462f75
push 1
lea ecx, [ebp - 0x124]
call fcn.0045ec60
push 0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x5c], 0x522a74
call fcn.00416d80
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x5c], vtable.iStream.0
mov byte [ebp - 0x58], 0
mov ecx, dword [ebp - 0x14]
push 0
push edi
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0x1a
call fcn.004646a0
test eax, eax
jne 0x462f55
push 0x66696c65
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x1b
call fcn.004234b0
lea ecx, [ebp - 0x80]
call fcn.00417d90
push 0xa2
mov byte [ebp - 4], 0x1c
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8080
test cx, ax
mov ecx, 0x74616273
mov eax, 0x64756d70
cmovne eax, ecx
push eax
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x8c]
call fcn.00422680
push 0x90
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x462f22
push 0
push edi
mov ecx, eax
call fcn.0045f760
mov esi, eax
jmp 0x462f24
xor esi, esi
lea eax, [ebp - 0x80]
push eax
lea ecx, [esi + 0x6c]
mov byte [ebp - 4], 0x1c
call fcn.00417e10
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x1b
call fcn.00417dd0
jmp 0x462f4e
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x19
call fcn.00413d50
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0
call fcn.00461320
jmp 0x4632a9
push str..seff
mov ecx, ebx
call fcn.00419160
test al, al
je 0x462fb2
push 0x1a8
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x4632a7
push 0
push edi
mov ecx, eax
call fcn.00481450
mov esi, eax
jmp 0x4632a9
push str.DBText____.sdata
push dword [edi + 0x38]
call dword [sym.imp.SHLWAPI.dll_PathMatchSpecA]
test eax, eax
je 0x4632a9
push 0x204
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.0045f6b0
mov esi, eax
jmp 0x4632a9
push 0x540
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.004807a0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
cmp byte [ebp + 0x10], bl
je 0x46303f
push str.SetItem.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x46303f
mov ebx, dword [ebp - 0x14]
add ebx, 0xbf0
push 0x1a8
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x4632a7
test ebx, ebx
je 0x463072
add ebx, 0x18
push ebx
push edi
mov ecx, eax
call fcn.00491aa0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
push ebx
push edi
mov ecx, eax
call fcn.00491aa0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
cmp byte [ebp + 0x10], bl
je 0x4630a5
push str.skill.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x4630a5
mov ebx, dword [ebp - 0x14]
add ebx, 0xc78
push 0xec
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x4632a7
test ebx, ebx
je 0x4630d8
add ebx, 0x18
push ebx
push edi
mov ecx, eax
call fcn.004c1960
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
push ebx
push edi
mov ecx, eax
call fcn.004c1960
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
cmp byte [ebp + 0x10], bl
je 0x46310b
push str.npcskill.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x46310b
mov ebx, dword [ebp - 0x14]
add ebx, 0xc4c
push 0xec
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x4632a7
test ebx, ebx
je 0x46313e
add ebx, 0x18
push ebx
push edi
mov ecx, eax
call fcn.004b76d0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
push ebx
push edi
mov ecx, eax
call fcn.004b76d0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
cmp byte [ebp + 0x10], bl
je 0x463171
push str.monster.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x463171
mov ebx, dword [ebp - 0x14]
add ebx, 0xc1c
push 0x1c8
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x4632a7
test ebx, ebx
je 0x4631a4
add ebx, 0x18
push ebx
push edi
mov ecx, eax
call fcn.004ab0a0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
push ebx
push edi
mov ecx, eax
call fcn.004ab0a0
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
cmp byte [ebp + 0x10], bl
je 0x4631d7
push str.item.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x4631d7
mov ebx, dword [ebp - 0x14]
add ebx, 0xbc0
push 0xf0
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x4632a7
push ebx
push edi
mov ecx, eax
call fcn.0049f500
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
cmp byte [ebp + 0x10], bl
je 0x463224
push str.cash.sdata
lea ecx, [ebp - 0x3c]
call fcn.00419160
test al, al
je 0x463224
mov ebx, dword [ebp - 0x14]
add ebx, 0xb84
push 0x124
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x4632a7
test ebx, ebx
je 0x463250
add ebx, 0x18
push ebx
push edi
mov ecx, eax
call fcn.0048ee10
mov esi, eax
jmp 0x4632a9
xor ebx, ebx
push ebx
push edi
mov ecx, eax
call fcn.0048ee10
mov esi, eax
jmp 0x4632a9
push 0x1e8
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.0045e7a0
mov esi, eax
jmp 0x4632a9
push 0x568
call fcn.004efd54
add esp, 4
mov dword [ebp + 0x10], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4632a7
push edi
mov ecx, eax
call fcn.0045f7e0
mov esi, eax
jmp 0x4632a9
xor esi, esi
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
call fcn.00417dd0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc