Function at 0x1017c97
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1039560]
push ebx
xor ebx, ebx
push esi
xor esi, esi
cmp eax, ebx
mov dword [ebp - 0x20], ebx
jne 0x1017cc0
mov eax, dword [0x1039478]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x1039584]
mov dword [ebp - 0x10], eax
call fcn.0100c756
mov dword [ebp - 0x1c], eax
mov eax, 0x1000
push eax
push 0x42
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x1017cf4
push 2
call fcn.0101c283
xor eax, eax
jmp 0x1017f3a
xor eax, eax
cmp dword [0x1039560], ebx
push edi
setne al
cmp eax, 2
mov dword [ebp - 8], eax
jge 0x1017ed0
cmp dword [ebp - 8], ebx
jne 0x1017d3d
cmp dword [0x1039560], ebx
jne 0x1017d3d
mov eax, dword [0x1039478]
lea eax, [eax + eax*4]
shl eax, 4
push dword [eax + 0x1039588]
call fcn.0100c72a
mov edi, eax
cmp edi, ebx
je 0x1017e09
push 1
jmp 0x1017d50
push dword [ebp - 0x10]
call fcn.0100c72a
mov edi, eax
cmp edi, ebx
je 0x1017e09
push ebx
push ebx
push edi
call fcn.010251a9
test eax, eax
jne 0x1017d5d
xor edi, edi
cmp edi, ebx
je 0x1017e09
push 4
push edi
push ebx
call fcn.01018491
mov esi, eax
cmp esi, ebx
je 0x1017e7f
push esi
push dword [ebp - 0x10]
call fcn.0101d4d2
mov ebx, eax
test ebx, ebx
push esi
je 0x1017e88
push 0xffffffffffffffff
call fcn.0100c5be
push 0xffffffffffffffff
call fcn.0100c6e8
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
xor eax, eax
cmp dword [ebp - 8], eax
push esi
sete al
lea eax, [eax*4 + 1]
mov dword [esi], eax
call fcn.0100fdbe
mov edi, eax
test edi, edi
mov dword [esi], 4
jne 0x1017dcc
mov dword [ebp - 0x14], 0xa3
jmp 0x1017dec
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 4]
push edi
push esi
call fcn.01017bd8
push edi
push esi
mov dword [ebp - 4], eax
call fcn.010100a5
push ebx
push esi
push dword [ebp - 0x10]
call fcn.0101d4ef
push 0xffffffffffffffff
call fcn.0100c60f
mov edi, dword [ebp - 0x14]
test di, di
jne 0x1017e95
inc dword [ebp - 8]
xor ebx, ebx
cmp dword [ebp - 8], 2
jl 0x1017d0c
cmp esi, ebx
je 0x1017ed0
cmp dword [0x1037748], 2
je 0x1017eca
mov eax, dword [esi + 0xc]
mov ebx, dword [eax + 0x44]
test ebx, ebx
je 0x1017eca
cmp byte [ebx], 0
je 0x1017eca
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0xc]
lea edi, [eax + ecx]
cmp edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
jle 0x1017ea2
push 0x40
push edi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
test eax, eax
jne 0x1017e9f
push esi
call fcn.010181f4
push esi
mov edi, 0x2332
call fcn.010181f4
jmp 0x1017f19
mov dword [ebp - 0x20], 1
jmp 0x1017e18
call fcn.010181f4
push 2
pop edi
jmp 0x1017f19
push dword [ebp - 0x1c]
call fcn.0100c6e8
jmp 0x1017f19
mov dword [ebp - 4], eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
add eax, ecx
push ebx
push eax
call dword [sym.imp.msvcrt.dll_memmove]
add esp, 0xc
push dword [ebp - 4]
mov dword [ebp - 0xc], edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call fcn.010181f4
push dword [ebp - 0x1c]
call fcn.0100c6e8
mov eax, dword [ebp - 0xc]
push 0x40
inc eax
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
push dword [ebp + 8]
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1017f14
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [ebp - 4]
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
inc eax
jmp 0x1017f39
mov edi, 0x82
cmp dword [ebp - 4], 0
je 0x1017f28
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x20], 0
jne 0x1017f37
movzx eax, di
push eax
call fcn.0101c283
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4