Function at 0x1018196
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x103a884]
push ebx
push esi
xor ebx, ebx
xor esi, esi
cmp eax, ebx
push edi
mov dword [ebp - 0x20], ebx
jne 0x10181c0
mov eax, dword [0x103a83c]
lea eax, [eax + eax*4]
shl eax, 4
mov eax, dword [eax + 0x103a3c4]
mov dword [ebp - 0x14], eax
call fcn.0100cc7b
mov dword [ebp - 0x1c], eax
mov eax, 0x1000
push eax
push 0x42
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 4], eax
jne 0x10181ed
push 2
jmp 0x1018402
xor eax, eax
cmp dword [0x103a884], ebx
setne al
cmp eax, 2
mov dword [ebp - 0xc], eax
jge 0x1018310
jmp 0x1018208
xor ebx, ebx
cmp dword [ebp - 0xc], ebx
jne 0x1018239
cmp dword [0x103a884], ebx
jne 0x1018239
mov eax, dword [0x103a83c]
lea eax, [eax + eax*4]
shl eax, 4
push dword [eax + 0x103a3c8]
call fcn.0100cc4b
mov edi, eax
cmp edi, ebx
je 0x1018301
push 1
jmp 0x101824c
push dword [ebp - 0x14]
call fcn.0100cc4b
mov edi, eax
cmp edi, ebx
je 0x1018301
push ebx
push ebx
push edi
call fcn.010258ed
test eax, eax
jne 0x1018259
xor edi, edi
cmp edi, ebx
je 0x1018301
push 4
push edi
push ebx
call fcn.010184f7
mov esi, eax
cmp esi, ebx
je 0x1018410
push esi
push dword [ebp - 0x14]
call fcn.0101fa90
mov ebx, eax
push esi
test ebx, ebx
je 0x1018423
push 0xffffffffffffffff
call fcn.0100cac6
push 0xffffffffffffffff
call fcn.0100cc04
mov eax, dword [edi + 8]
push esi
mov dword [esi + 8], eax
mov eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
and al, 0xfc
add eax, 5
mov dword [esi], eax
call fcn.010101fc
mov edi, eax
mov dword [esi], 4
test edi, edi
jne 0x10182c5
mov dword [ebp - 8], 0xa3
jmp 0x10182e5
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 4]
push edi
push esi
call fcn.0101843b
push edi
push esi
mov dword [ebp - 4], eax
call fcn.010104da
push ebx
push esi
push dword [ebp - 0x14]
call fcn.0101faad
push 0xffffffffffffffff
call fcn.0100cb1c
cmp word [ebp - 8], 0
jne 0x1018431
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x1018206
xor ebx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
cmp esi, ebx
je 0x10183a1
cmp dword [0x103876c], 2
je 0x101839b
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x44]
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x101839b
cmp byte [eax], 0
je 0x101839b
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
mov eax, dword [ebp - 0x10]
add eax, ebx
cmp eax, dword [ebp - 0x18]
jle 0x1018373
push 0x40
push eax
push dword [ebp - 4]
mov dword [ebp - 0x18], eax
call edi
test eax, eax
jne 0x1018370
push esi
call fcn.0101870c
push esi
mov dword [ebp - 8], 0x2332
call fcn.0101870c
jmp 0x10183e8
mov dword [ebp - 4], eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [ebp - 0x10]
push ebx
push dword [ebp - 0x14]
add eax, ecx
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add dword [ebp - 0x10], ebx
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call fcn.0101870c
push dword [ebp - 0x1c]
call fcn.0100cc04
mov eax, dword [ebp - 0x10]
push 0x40
inc eax
push eax
push dword [ebp - 4]
call edi
push dword [ebp + 8]
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x10183e1
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]
push 1
pop eax
jmp 0x1018409
mov dword [ebp - 8], 0x82
cmp dword [ebp - 4], 0
je 0x10183f7
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x20], 0
jne 0x1018407
movzx eax, word [ebp - 8]
push eax
call fcn.0101da51
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
mov dword [ebp - 8], 2
mov dword [ebp - 0x20], 1
jmp 0x1018310
call fcn.0101870c
mov dword [ebp - 8], 2
jmp 0x10183e8
push dword [ebp - 0x1c]
call fcn.0100cc04
jmp 0x10183e8