Function at 0x5cd9c0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x719e26
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x280], edi
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x26c]
xorps xmm0, xmm0
mov dword [ebp - 0x274], ebx
xor eax, eax
mov dword [ebp - 0x264], eax
movdqu xmmword [ebp - 0x248], xmm0
movdqu xmmword [ebp - 0x238], xmm0
call fcn.00429050
push 0xa
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 4], 0
call fcn.0042a540
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 1
call fcn.0043fbb0
mov ecx, dword [edi + 0x3a8]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x5cda63
call fcn.00653ee0
test eax, eax
jne 0x5cdc7c
push 1
mov ecx, edi
call fcn.00601b20
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5cda95
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
jne 0x5cda9d
or esi, 0xffffffff
jmp 0x5cdc7e
mov esi, dword [sym.imp.SHELL32.dll_DragQueryFileW]
push 0
push 0
push 0xffffffffffffffff
push ebx
call esi
mov ebx, eax
call dword [sym.imp.USER32.dll_GetCursor]
push 0x7f02
push 0
mov dword [ebp - 0x2a8], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
cmp ebx, 1
jne 0x5cdb95
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
push dword [ebp - 0x274]
call esi
lea eax, [ebp - 0x218]
push eax
call fcn.005b6cc0
add esp, 4
test eax, eax
je 0x5cdb95
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.005b3e90
add esp, 8
push 0x748c08
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 3
call fcn.00429150
test eax, eax
je 0x5cdbec
push str..gasx
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5cdbec
push str..jpg
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5cdb86
push str..png
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5cdb86
push str..bmp
lea ecx, [ebp - 0x25c]
call fcn.00429150
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 2
call fcn.00428810
push dword [edi + 0x34c]
mov ecx, edi
mov dword [ebp - 0x270], 0
call fcn.00600f00
test eax, eax
jne 0x5cdcce
cmp dword [edi + 0x334], eax
je 0x5cdcce
mov ecx, edi
call fcn.00600ee0
test eax, eax
js 0x5cdc7c
mov ecx, dword [edi + 0x334]
push 0
push eax
call fcn.00651e80
mov dword [ebp - 0x270], 1
jmp 0x5cdcd8
lea ecx, [ebp - 0x264]
call fcn.00429050
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x264]
push 0x7890a0
push eax
call fcn.0042a0e0
add esp, 0xc
lea ecx, [ebp - 0x264]
push 0
call fcn.00429100
push eax
mov ecx, edi
call fcn.005c6700
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 3
call fcn.00428810
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 2
call fcn.00428810
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push dword [ebp - 0x274]
call dword [sym.imp.SHELL32.dll_DragFinish]
mov ecx, edi
call fcn.00602200
push 0
push 0xc8
push 1
push dword [edi + 4]
call esi
push dword [ebp - 0x2a8]
call dword [sym.imp.USER32.dll_SetCursor]
xor esi, esi
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 1
call fcn.0043fbd0
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0
call fcn.0042a600
lea ecx, [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006b3266
mov esp, ebp
pop ebp
ret 0x10
mov dword [edi + 0x18d8], 0
test ebx, ebx
je 0x5cdd54
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
push dword [ebp - 0x274]
call esi
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.00428840
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.005b5ff0
add esp, 8
push eax
mov ecx, 0x7f72d0
mov byte [ebp - 4], 6
call fcn.004289a0
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 5
call fcn.00428810
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
call fcn.00428810
push 0
mov ecx, edi
call fcn.005db6c0
xor esi, esi
test ebx, ebx
jle 0x5cdfc6
mov edi, dword [ebp - 0x274]
push 0x104
lea eax, [ebp - 0x218]
push eax
push esi
push edi
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
lea ecx, [ebp - 0x260]
call fcn.00429050
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x268]
call fcn.00428840
lea eax, [ebp - 0x268]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.005b5960
add esp, 8
push eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 9
call fcn.004289a0
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 8
call fcn.00428810
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 7
call fcn.00428810
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.00429150
test eax, eax
je 0x5cde20
lea ecx, [ebp - 0x260]
call fcn.00429100
lea edx, [ebp - 0x218]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
lea eax, [eax + 2]
mov word [eax + edx - 2], cx
test cx, cx
jne 0x5cde10
lea eax, [ebp - 0x218]
push eax
call fcn.005b6cf0
add esp, 4
test eax, eax
je 0x5cde73
push ecx
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push 0x785520
call fcn.00428840
push 1
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0xa
push eax
push ecx
lea eax, [ebp - 0x218]
mov ecx, esp
push eax
call fcn.00428840
mov byte [ebp - 4], 7
call fcn.005b4620
add esp, 0x10
jmp 0x5cdfa8
lea eax, [ebp - 0x218]
push eax
call fcn.005b6cc0
add esp, 4
test eax, eax
je 0x5cdf96
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.005b3e90
add esp, 8
push str..m3u8
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0xb
call fcn.00429150
test eax, eax
je 0x5ce032
push str..m3u
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce032
push 0x748c28
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce032
push str..asx
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce032
push str..zip
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce00c
push 0x74c078
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce00c
push str..alz
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce00c
push 0x74c0b8
lea ecx, [ebp - 0x25c]
call fcn.00429150
test eax, eax
je 0x5ce00c
push ecx
lea eax, [ebp - 0x218]
mov ecx, esp
push eax
call fcn.00428840
call fcn.0057f610
add esp, 4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x25c]
cmp eax, 1
je 0x5cdf91
call fcn.00428810
jmp 0x5cdfa8
call fcn.00428810
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.0042a6a0
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
call fcn.00428810
inc esi
cmp esi, ebx
jl 0x5cdd64
mov edi, dword [ebp - 0x280]
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, 0x10000
jne 0x5ce0ee
mov ecx, dword [edi + 0x34c]
test ecx, ecx
je 0x5ce0ee
mov eax, dword [ecx]
lea edx, [ebp - 0x248]
push edx
call dword [eax + 0x1c]
mov ecx, dword [edi + 0x334]
test ecx, ecx
je 0x5ce058
mov eax, dword [ecx]
lea edx, [ebp - 0x238]
push edx
call dword [eax + 0x1c]
jmp 0x5ce080
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.0042a6a0
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 7
call fcn.00428810
jmp 0x5cdfa8
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2bc]
call fcn.004400a0
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 7
call fcn.00428810
jmp 0x5cdfa8
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x22c], 0
cmp dword [ebp - 0x270], 1
jne 0x5ce093
xor ebx, ebx
mov dword [ebp - 0x264], ebx
jmp 0x5ce0f0
push dword [ebp - 0x288]
mov esi, dword [sym.imp.USER32.dll_PtInRect]
lea eax, [ebp - 0x248]
push dword [ebp - 0x28c]
push eax
call esi
test eax, eax
jne 0x5ce089
push dword [ebp - 0x288]
lea eax, [ebp - 0x238]
push dword [ebp - 0x28c]
push eax
call esi
test eax, eax
jne 0x5ce089
lea ecx, [ebp - 0x2a4]
call fcn.0042aa30
test eax, eax
jle 0x5ce0ee
mov ecx, edi
call fcn.005e84d0
mov ebx, 1
mov dword [ebp - 0x264], ebx
jmp 0x5ce0f0
xor ebx, ebx
cmp dword [edi + 0x34c], 0
je 0x5ce26f
lea ecx, [ebp - 0x2a4]
call fcn.0042aa30
test eax, eax
je 0x5ce26f
lea eax, [ebp - 0x27c]
xorps xmm0, xmm0
push eax
push dword [ebp - 0x274]
movdqu xmmword [ebp - 0x258], xmm0
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
cmp dword [edi + 0x320], 0
je 0x5ce1a7
mov ecx, dword [edi + 0x334]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x228], xmm0
test ecx, ecx
je 0x5ce158
mov eax, dword [ecx]
lea edx, [ebp - 0x228]
push edx
call dword [eax + 0x18]
mov ecx, dword [edi + 0x320]
lea eax, [edi + 0xa6c]
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
push eax
push dword [ecx + 4]
call esi
lea eax, [ebp - 0x258]
push eax
push dword [edi + 4]
call esi
mov ecx, dword [ebp - 0x224]
sub ecx, dword [edi + 0xa70]
sub ecx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x278]
add ecx, dword [ebp - 0x254]
add eax, 0xfffffffb
add eax, ecx
mov dword [ebp - 0x278], eax
jmp 0x5ce1e6
cmp dword [edi + 0x34], 0
je 0x5ce1e6
mov ecx, dword [edi + 0x34c]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x228], xmm0
test ecx, ecx
je 0x5ce1dc
mov eax, dword [ecx]
lea edx, [ebp - 0x228]
push edx
call dword [eax + 0x18]
mov eax, dword [ebp - 0x224]
sub dword [ebp - 0x278], eax
jmp 0x5ce1e6
mov dword [ebp - 0x278], 0xffffffff
test ebx, ebx
je 0x5ce1fe
push 0
push 1
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.00600670
jmp 0x5ce26f
cmp dword [0x7f7520], 0
je 0x5ce21b
push 0
push 0
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.00600670
jmp 0x5ce26f
cmp dword [0x7f7530], 0
je 0x5ce239
push dword [0x7f752c]
lea eax, [ebp - 0x2a4]
push eax
call fcn.005d4db0
add esp, 8
push dword [ebp - 0x278]
mov ecx, dword [edi + 0x34c]
call fcn.004680e0
mov ecx, edi
test eax, eax
jns 0x5ce262
push 0
push 0
lea eax, [ebp - 0x2a4]
push eax
call fcn.00600670
jmp 0x5ce26f
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.006006b0
mov ecx, edi
call fcn.00616b80
lea ecx, [ebp - 0x2bc]
xor ebx, ebx
call fcn.0042aa60
test eax, eax
jle 0x5ce441
jmp 0x5ce290
push ecx
mov eax, esp
lea ecx, [ebp - 0x2bc]
push ebx
push eax
call fcn.00440000
lea eax, [ebp - 0x280]
push eax
call fcn.0057f400
add esp, 8
push eax
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0xc
call fcn.004289a0
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 2
call fcn.00428810
push 0x790eb0
push str..m3u8
lea eax, [ebp - 0x26c]
mov ecx, edi
push eax
call fcn.005da6e0
test eax, eax
jne 0x5ce342
push 0x790eb0
push str..m3u
lea eax, [ebp - 0x26c]
mov ecx, edi
push eax
call fcn.005da6e0
test eax, eax
jne 0x5ce342
push 0x790eb0
push 0x748c28
lea eax, [ebp - 0x26c]
mov ecx, edi
push eax
call fcn.005da6e0
test eax, eax
jne 0x5ce342
push 0x790eb0
push str..asx
lea eax, [ebp - 0x26c]
mov ecx, edi
push eax
call fcn.005da6e0
test eax, eax
je 0x5ce42d
cmp dword [edi + 0x334], 0
je 0x5ce3d6
push str.none
lea ecx, [ebp - 0x268]
call fcn.00428840
lea eax, [ebp - 0x26c]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x270]
call fcn.00428690
mov esi, dword [edi + 0x334]
push ecx
lea eax, [ebp - 0x268]
mov dword [ebp - 0x278], esp
mov ecx, esp
mov byte [ebp - 4], 0xf
push eax
call fcn.00428690
push 0
push ecx
lea eax, [ebp - 0x270]
mov byte [ebp - 4], 0x10
mov ecx, esp
push eax
call fcn.00428690
lea ecx, [esi + 0x1e0]
mov byte [ebp - 4], 0xf
call fcn.00648fb0
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xe
call fcn.00428810
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 2
call fcn.00428810
lea ecx, [ebp - 0x2a4]
call fcn.0042a580
push ebx
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00440000
push eax
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x11
call fcn.0042a790
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 2
call fcn.00428810
push 0
push 0
lea eax, [ebp - 0x2a4]
mov ecx, edi
push eax
call fcn.00600670
test eax, eax
je 0x5cdc49
lea ecx, [ebp - 0x2bc]
inc ebx
call fcn.0042aa60
cmp ebx, eax
jl 0x5ce290
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x5cdc49
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x1f4
push 6
push dword [edi + 4]
call esi
jmp 0x5cdc4f