Function at 0x5191d0
Capabilities:
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
mov ebx, ecx
mov dword [ebp - 0xc], ebx
call fcn.00517380
push eax
call fcn.0051e080
add esp, 4
test al, al
je 0x5194f2
push esi
push edi
push 1
push dword [ebx + 0x2a8]
lea ecx, [ebp - 0x24]
call fcn.0044a0a0
mov ecx, ebx
call fcn.00461420
mov edi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test al, al
je 0x519238
movzx eax, word [ebx + 0x79e]
push eax
call edi
test eax, eax
jne 0x519231
movzx eax, word [ebx + 0x7a0]
push eax
call edi
test eax, eax
je 0x519238
mov esi, 2
jmp 0x51923a
xor esi, esi
cmp dword [ebx + 0x530], 1
mov ecx, ebx
sete al
movzx eax, al
push eax
call fcn.004650d0
movzx eax, word [ebx + 0x79a]
push eax
call edi
mov edi, dword [sym.imp.USER32.dll_GetClipboardData]
test eax, eax
setne cl
mov byte [ebp - 1], cl
test eax, eax
jne 0x5192ba
movzx eax, word [ebx + 0x79c]
push eax
call edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.0051d620
lea ecx, [ebp - 0x1c]
call fcn.0051d7d0
test al, al
je 0x5192af
lea ecx, [ebp - 0x1c]
call fcn.0051e3b0
cmp eax, 1
jne 0x5192a3
mov eax, dword [ebp - 0x18]
mov byte [ebp - 1], 1
cmp byte [eax], 2
je 0x5192a7
mov byte [ebp - 1], 0
lea ecx, [ebp - 0x1c]
call fcn.0051e580
lea ecx, [ebp - 0x1c]
call fcn.0051d730
mov cl, byte [ebp - 1]
test cl, cl
mov eax, 1
push 0xd
cmovne esi, eax
mov dword [ebp - 8], esi
call edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.0051d620
lea ecx, [ebp - 0x1c]
call fcn.0051d7d0
test al, al
je 0x5193bc
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x5193af
lea ecx, [ebp - 0x30]
call fcn.00436240
mov ecx, ebx
call fcn.0046e7b0
test al, al
je 0x519341
lea ecx, [ebp - 0x1c]
call fcn.0051e3b0
mov esi, eax
shr esi, 1
push esi
push edi
call fcn.00520c20
mov edi, eax
add esp, 8
lea ecx, [edi + 1]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00437890
push edi
push 0
lea ecx, [ebp - 0x30]
call fcn.00436440
push eax
mov eax, dword [ebp - 0x18]
push esi
push eax
call fcn.00520cb0
add esp, 0x10
jmp 0x519391
mov ecx, ebx
call fcn.005187f0
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
push 0
push ebx
call edi
dec eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x10], eax
lea esi, [eax + 1]
push esi
call fcn.00437890
push 0
push 0
push esi
push 0
lea ecx, [ebp - 0x30]
call fcn.00436440
push eax
mov eax, dword [ebp - 0x18]
push 0xffffffffffffffff
push eax
push 0
push ebx
call edi
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
push dword [ebp - 8]
lea ecx, [ebp - 0x30]
push edi
push 0
call fcn.00436440
push eax
mov ecx, ebx
call fcn.00464f40
lea ecx, [ebp - 0x30]
call fcn.004363d0
lea ecx, [ebp - 0x1c]
call fcn.0051e580
jmp 0x5194d3
push 1
call edi
push eax
lea ecx, [ebp - 0x14]
call fcn.0051d620
lea ecx, [ebp - 0x14]
call fcn.0051d7d0
test al, al
je 0x5194cb
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x5194c3
lea ecx, [ebp - 0x14]
call fcn.0051e3b0
xor ecx, ecx
mov edi, eax
test eax, eax
je 0x519404
cmp edi, eax
jne 0x5193ff
cmp byte [ecx + esi], 0
cmove edi, ecx
inc ecx
cmp ecx, eax
jb 0x5193f4
mov ecx, ebx
call fcn.0046e7b0
test al, al
je 0x5194b7
lea ecx, [ebp - 1]
lea esi, [edi + 1]
call fcn.004495f0
push eax
push esi
lea ecx, [ebp - 0x30]
call fcn.00449c00
push esi
push 0
lea ecx, [ebp - 0x30]
call fcn.0044b3b0
push eax
push edi
push dword [ebp - 0x10]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea ecx, [ebp - 0x30]
push esi
push 0
call fcn.0044b3b0
push eax
call fcn.00520c20
add esp, 8
lea ecx, [ebp - 1]
mov edi, eax
call fcn.004495d0
push eax
lea ecx, [edi + 1]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004498c0
push edi
push 0
lea ecx, [ebp - 0x3c]
call fcn.00436440
push eax
push esi
push 0
lea ecx, [ebp - 0x30]
call fcn.0044b3b0
push eax
call fcn.00520cb0
add esp, 0x10
lea ecx, [ebp - 0x3c]
push dword [ebp - 8]
push edi
push 0
call fcn.00436440
push eax
mov ecx, ebx
call fcn.00464f40
lea ecx, [ebp - 0x3c]
call fcn.004363d0
lea ecx, [ebp - 0x30]
call fcn.0044aa00
jmp 0x5194c3
push dword [ebp - 8]
mov ecx, ebx
push edi
push esi
call fcn.00464f40
lea ecx, [ebp - 0x14]
call fcn.0051e580
lea ecx, [ebp - 0x14]
call fcn.0051d730
call dword [sym.imp.USER32.dll_CloseClipboard]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
lea ecx, [ebp - 0x1c]
call fcn.0051d730
lea ecx, [ebp - 0x24]
call fcn.0044aa80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret