Function at 0x5b291c
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 0x5b2b81
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 0x5b2966
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x98]
jne 0x5b29d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
cmp dword [eax + 8], 0
jle 0x5b29d3
lea eax, [ebp - 0x14]
call fcn.005f6be4
mov ecx, eax
mov edx, 0x5b2b94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x90]
call fcn.005e73bc
test al, al
je 0x5b29d3
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.005cdcac
test al, al
je 0x5b29d3
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 0x5b2a69
mov eax, ebx
call sym.UltraISO.exe__Taocntrr_FindController_qqrp14System_TObject
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x5b2a69
push 3
mov ecx, dword [ebp - 0x10]
mov dl, 1
mov eax, dword [0x5afc48]
call fcn.005b0198
mov edx, eax
test edx, edx
je 0x5b2a01
sub edx, 0xffffffec
lea eax, [ebp - 0x14]
call fcn.005f6bfc
mov dl, 1
mov eax, dword [sym.UltraISO.exe__Taocntrr_TtaoFormatList_]
call fcn.005f40bc
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x5b2a62
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 0x5b2a4c
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 0x5b2a69
mov eax, dword [ebp - 0x18]
call fcn.005f40ec
ret
cmp dword [ebp - 0x1c], 0
je 0x5b2b63
mov byte [ebp - 0x25], 0
cmp dword [ebp - 0x10], 0
je 0x5b2ad4
xor ebx, ebx
push 0x11
call sub.USER32.DLL_GetKeyState
test ax, ax
jge 0x5b2a8e
or ebx, 8
push 4
call sub.USER32.DLL_GetKeyState
test ax, ax
jge 0x5b2a9d
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 0x5b2b63
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.005f42e8
test al, al
jne 0x5b2b03
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov edx, dword [eax]
call dword [edx + 0xc0]
cmp byte [ebp - 0x25], 0
je 0x5b2b2c
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 4]
jne 0x5b2b2c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x9c], 0
je 0x5b2b2c
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.005d1210
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 0x5b2b5f
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 0x5b2b88
lea eax, [ebp - 0x20]
call fcn.005f6be4
lea eax, [ebp - 0x14]
call fcn.005f6be4
ret