Function at 0x5b2d38
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5b2f9d
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
xor eax, eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x94]
je 0x5b2d82
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x98]
jne 0x5b2def
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp dword [eax + 8], 0
jle 0x5b2def
lea eax, [ebp - 0x14]
call fcn.005f7000
mov ecx, eax
mov edx, 0x5b2fb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x90]
call fcn.005e77d8
test al, al
je 0x5b2def
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
call sym.UltraISO.exe__Taocntrr_TtaoFormatList_GetFormat_qqri
lea edx, [ebp - 0x3c]
call sym.UltraISO.exe__Taocntrr_TtaoFormat_FormatEtc_qqrv
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [eax]
call dword [eax + 0x14]
call fcn.005ce0c8
test al, al
je 0x5b2def
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
call sym.UltraISO.exe__Taocntrr_TtaoFormatList_GetFormat_qqri
mov dword [ebp - 0x1c], eax
jmp 0x5b2e85
mov eax, ebx
call sym.UltraISO.exe__Taocntrr_FindController_qqrp14System_TObject
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x5b2e85
push 3
mov ecx, dword [ebp - 0x10]
mov dl, 1
mov eax, dword [0x5b0064]
call fcn.005b05b4
mov edx, eax
test edx, edx
je 0x5b2e1d
sub edx, 0xffffffec
lea eax, [ebp - 0x14]
call fcn.005f7018
mov dl, 1
mov eax, dword [sym.UltraISO.exe__Taocntrr_TtaoFormatList_]
call fcn.005f44d8
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x5b2e7e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 0x18]
push eax
mov cl, 1
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call sym.UltraISO.exe__Taocntrr_TtaoController_AcceptableDataObject_qqrx39System__DelphiInterface_t11IDataObject_17Taocntrr_TtaoKindoop
test al, al
je 0x5b2e68
xor edx, edx
mov eax, dword [ebp - 0x18]
call sym.UltraISO.exe__Taocntrr_TtaoFormatList_GetFormat_qqri
mov dword [ebp - 0x1c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b2e85
mov eax, dword [ebp - 0x18]
call fcn.005f4508
ret
cmp dword [ebp - 0x1c], 0
je 0x5b2f7f
mov byte [ebp - 0x25], 0
cmp dword [ebp - 0x10], 0
je 0x5b2ef0
xor ebx, ebx
push 0x11
call sub.USER32.DLL_GetKeyState
test ax, ax
jge 0x5b2eaa
or ebx, 8
push 4
call sub.USER32.DLL_GetKeyState
test ax, ax
jge 0x5b2eb9
or ebx, 4
mov dl, 1
mov eax, dword [ebp - 0x10]
call sym.UltraISO.exe__Taocntrr_TtaoController_DropEffectsSource_qqro
mov esi, eax
mov dl, 1
mov eax, dword [ebp - 4]
call sym.UltraISO.exe__Taocntrr_TtaoController_DropEffectsTarget_qqro
and esi, eax
mov dword [ebp - 0x24], esi
lea edx, [ebp - 0x24]
mov eax, ebx
call sym.UltraISO.exe__Taocntrr_KeyStateToDropEffect_qqriri
cmp dword [ebp - 0x24], 0
je 0x5b2f7f
test byte [ebp - 0x24], 2
setne byte [ebp - 0x25]
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov si, 0xffb5
call fcn.005f4704
test al, al
jne 0x5b2f1f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov edx, dword [eax]
call dword [edx + 0xc0]
cmp byte [ebp - 0x25], 0
je 0x5b2f48
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 4]
jne 0x5b2f48
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9c], 0
je 0x5b2f48
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x94]
mov byte [ebp - 0x25], 0
lea ecx, [ebp - 0x44]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
call fcn.005d162c
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x20]
mov dl, 1
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xec]
cmp byte [ebp - 0x25], 0
je 0x5b2f7b
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x94]
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b2fa4
lea eax, [ebp - 0x20]
call fcn.005f7000
lea eax, [ebp - 0x14]
call fcn.005f7000
ret