Function at 0x464ce0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
mov eax, dword [0x5ef300]
xor eax, esp
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [esp + 0x10], eax
mov esi, ecx
mov eax, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
cmp edi, 1
jne 0x464db1
push edi
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
push 0
mov ecx, esi
call dword [sym.imp.soui4.dll_protected:_int___thiscall_SOUI::SWindow::OnCreate_void__]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x464da2
cmp dword [esi + 0x230], eax
je 0x464da2
mov ecx, dword [esi]
push esi
call dword [ecx + 0x50]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [esi + 0x234]
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x464d63
push esi
push 0x4652a0
call fcn.004e7130
mov ecx, dword [esi + 0x234]
test ecx, ecx
je 0x464d78
push esi
push 0x4652f0
call fcn.004e7190
mov ecx, dword [esi + 0x234]
test ecx, ecx
je 0x464d8d
push esi
push 0x465390
call fcn.004e71b0
push dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
push dword [esp + 0x24]
call fcn.004e6100
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
jmp 0x46523d
cmp edi, 2
jne 0x464e18
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x464de7
call fcn.004e53b0
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x464ddd
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x230], 0
mov ecx, dword [esi + 0x234]
test ecx, ecx
je 0x464e01
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x234], 0
mov ecx, esi
call dword [sym.imp.soui4.dll_protected:_void___thiscall_SOUI::SWindow::OnDestroy_void_]
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x46523d
cmp edi, 5
jne 0x464e79
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov eax, dword [esp + 0x1c]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov eax, dword [esp + 0x18]
push ecx
push eax
mov ecx, esi
call dword [sym.imp.soui4.dll_protected:_void___thiscall_SOUI::SWindow::OnSize_unsigned_int__class_SOUI::CSize_]
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call dword [eax + 0x228]
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x464e6a
movups xmm0, xmmword [esp + 0x30]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.004e54f0
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x46523d
cmp edi, 0xf
jne 0x464f43
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov ecx, dword [esi + 0x22c]
test ecx, ecx
je 0x464f34
mov eax, dword [ecx]
push ecx
call dword [eax + 0x30]
mov dword [esp + 0x24], eax
test eax, eax
je 0x464f34
mov edx, dword [esi]
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
call dword [edx + 0x228]
mov ecx, dword [esi + 0x22c]
lea edx, [esp + 0x28]
push edx
push ecx
xor edi, edi
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov esi, dword [esi + 0x22c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
lea eax, [ecx + edi]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
push ecx
mov edi, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x12c]
call eax
movzx eax, al
push eax
push 0x30001
lea eax, [esp + 0x38]
push eax
push esi
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x28]
call dword [edi + 0xb8]
mov esi, dword [esp + 0x20]
push dword [esp + 0x24]
mov eax, dword [esi + 0x22c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x46523d
cmp edi, 7
jne 0x464f7e
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
push dword [esp + 0x14]
mov ecx, esi
call dword [sym.imp.soui4.dll_protected:_void___thiscall_SOUI::SWindow::OnSetFocus_unsigned_long_int_]
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x464e6a
call fcn.004e5d00
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x46523d
cmp edi, 8
jne 0x464fb9
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
push dword [esp + 0x14]
mov ecx, esi
call dword [sym.imp.soui4.dll_protected:_void___thiscall_SOUI::SWindow::OnKillFocus_unsigned_long_int_]
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x464e6a
call fcn.004e53f0
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x46523d
cmp edi, 0x2a3
jne 0x465005
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov eax, dword [esi]
push esi
call dword [eax + 0xb0]
test eax, eax
je 0x464fec
mov eax, dword [esi]
push esi
call dword [eax + 0xb4]
test eax, eax
je 0x464fec
mov eax, dword [esi]
push esi
call dword [eax + 0xbc]
push 0
mov ecx, esi
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x46523d
cmp edi, 0x200
jne 0x465095
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov eax, dword [esi]
push esi
call dword [eax + 0xb0]
test eax, eax
je 0x46503c
mov eax, dword [esi]
push esi
call dword [eax + 0xb4]
test eax, eax
jne 0x46503c
mov eax, dword [esi]
push esi
call dword [eax + 0xb8]
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
xorps xmm0, xmm0
push esi
movups xmmword [esp + 0x38], xmm0
call dword [eax + 0xf4]
cmp dword [esi + 0x230], 0
je 0x465233
mov edx, dword [esp + 0x1c]
mov eax, edx
sub edx, dword [esp + 0x30]
shr eax, 0x10
sub eax, dword [esp + 0x34]
movzx ecx, ax
shl ecx, 0x10
movzx eax, dx
or ecx, eax
push ecx
push dword [esp + 0x18]
mov ecx, dword [esi + 0x230]
push 0x200
call fcn.004e5a60
jmp 0x465233
cmp edi, 0x201
jb 0x465171
cmp edi, 0x209
ja 0x465171
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
cmp edi, 0x201
je 0x4650f0
cmp edi, 0x207
je 0x4650f0
cmp edi, 0x204
je 0x4650f0
cmp edi, 0x202
je 0x4650e5
cmp edi, 0x208
je 0x4650e5
cmp edi, 0x205
jne 0x46511c
mov eax, dword [esi]
push esi
call dword [eax + 0x114]
jmp 0x46511c
mov eax, dword [esi]
push esi
call dword [eax + 0xb0]
test eax, eax
je 0x465113
mov eax, dword [esi]
push esi
call dword [eax + 0xb4]
test eax, eax
jne 0x465113
mov eax, dword [esi]
push esi
call dword [eax + 0xb8]
mov eax, dword [esi]
push esi
call dword [eax + 0x110]
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
xorps xmm0, xmm0
push esi
movups xmmword [esp + 0x38], xmm0
call dword [eax + 0xf4]
cmp dword [esi + 0x230], 0
je 0x465233
mov edx, dword [esp + 0x1c]
mov eax, edx
sub edx, dword [esp + 0x30]
shr eax, 0x10
sub eax, dword [esp + 0x34]
movzx ecx, ax
shl ecx, 0x10
movzx eax, dx
or ecx, eax
push ecx
push dword [esp + 0x18]
mov ecx, dword [esi + 0x230]
push edi
call fcn.004e58b0
jmp 0x465233
cmp edi, 0x20a
jne 0x4651d3
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
mov eax, dword [esi]
lea ecx, [esp + 0x30]
push ecx
xorps xmm0, xmm0
push esi
movups xmmword [esp + 0x38], xmm0
call dword [eax + 0xf4]
cmp dword [esi + 0x230], 0
je 0x465233
mov edx, dword [esp + 0x1c]
mov eax, edx
sub edx, dword [esp + 0x30]
shr eax, 0x10
sub eax, dword [esp + 0x34]
movzx ecx, ax
shl ecx, 0x10
movzx eax, dx
or ecx, eax
push ecx
push dword [esp + 0x18]
mov ecx, dword [esi + 0x230]
push edi
call fcn.004e5ba0
jmp 0x465233
cmp edi, 0x100
jb 0x46524a
cmp edi, 0x102
ja 0x46524a
push 1
call dword [sym.imp.soui4.dll_public:_void___thiscall_SOUI::SWindow::SetMsgHandled_int_]
cmp edi, 0x100
jne 0x46521a
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
mov eax, dword [esp + 0x14]
je 0x46521e
cmp eax, 0x7b
jne 0x46521e
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x46521e
call fcn.004e5e00
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x465233
push dword [esp + 0x1c]
push eax
push edi
call fcn.004e5790
mov eax, dword [esp + 0x18]
mov dword [eax], 1
mov eax, dword [sym.imp.soui4.dll_public:_int___thiscall_SOUI::SWindow::IsMsgHandled_void_const]
mov ecx, esi
call eax
test eax, eax
jne 0x46527e
mov ecx, esi
call dword [sym.imp.soui4.dll_public:_int___thiscall_SOUI::SWindow::IsMsgHandled_void_const]
test eax, eax
jne 0x46527e
push dword [esp + 0x18]
mov ecx, esi
push dword [esp + 0x20]
push dword [esp + 0x1c]
push edi
call dword [sym.imp.soui4.dll_protected_virtual:_int___thiscall_SOUI::SWindow::ProcessSwndMessage_unsigned_int__unsigned_int__long_int__long_int__]
pop edi
pop esi
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.0052b3fa
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x5c]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.0052b3fa
mov esp, ebp
pop ebp
ret 0x10