Function at 0x4610b4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404714
xor eax, eax
push ebp
push 0x461357
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetCurrentThread
push eax
xor eax, 0x6c
or eax, 0x14c
dec eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
add eax, 7
xor eax, 0xb
and eax, 0x32
add eax, 0x116
sub eax, 0x139
pop eax
lea eax, [ebp - 0x10]
call fcn.00404264
push 1
call sub.user32.dll_IsClipboardFormatAvailable
push edi
push esi
nop
nop
nop
nop
nop
and edi, 0x45
and edi, 0x67
xor esi, 9
inc edi
push esi
pop esi
inc esi
xchg esi, edi
and edi, 0x8d
add edi, 0x31
add esi, 0x139
pop esi
pop edi
mov dl, 1
mov eax, dword [0x412384]
call fcn.004034a8
mov dword [ebp - 0x1c], eax
call sub.kernel32.dll_GetTickCount
push edi
push eax
xchg edi, eax
mov edi, 0x9d
nop
nop
nop
nop
nop
xchg edi, eax
pop eax
pop edi
mov dl, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.00415a0c
call sub.kernel32.dll_GetLastError
push esi
push edx
or esi, 0x1a1
nop
nop
nop
nop
nop
nop
inc edx
xor esi, 0x125
mov esi, 0x36
inc esi
mov edx, 0x11e
nop
nop
pop edx
pop esi
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.0041587c
push 1
call sub.user32.dll_IsClipboardFormatAvailable
push edi
push esi
nop
nop
nop
nop
nop
and edi, 0x45
and edi, 0x67
xor esi, 9
inc edi
push esi
pop esi
inc esi
xchg esi, edi
and edi, 0x8d
add edi, 0x31
add esi, 0x139
pop esi
pop edi
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x4612da
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
call sub.kernel32.dll_GetCurrentThreadId_1
push ebx
nop
nop
nop
nop
nop
xchg ebx, ebx
xchg ebx, ebx
xchg ebx, ebx
sub ebx, 0xf9
mov ebx, 0x18
inc ebx
add ebx, 0x1e
xchg ebx, ebx
or ebx, 0x108
pop ebx
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x28]
call fcn.00408560
mov dword [ebp - 0x18], eax
call sub.kernel32.dll_GetCurrentThread
push eax
xor eax, 0x6c
or eax, 0x14c
dec eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
add eax, 7
xor eax, 0xb
and eax, 0x32
add eax, 0x116
sub eax, 0x139
pop eax
lea eax, [ebp - 0x2c]
mov dl, byte [ebp - 0x18]
add dl, byte [ebp - 8]
call fcn.0040444c
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
call fcn.0040452c
call sub.kernel32.dll_GetCurrentThreadId_1
push ebx
nop
nop
nop
nop
nop
xchg ebx, ebx
xchg ebx, ebx
xchg ebx, ebx
sub ebx, 0xf9
mov ebx, 0x18
inc ebx
add ebx, 0x1e
xchg ebx, ebx
or ebx, 0x108
pop ebx
push 0x461364
call sub.kernel32.dll_GlobalAddAtomA
push edx
push edi
push edx
pop edx
inc edx
inc edx
add edx, 0x63
and edi, 0x132
xor edi, 0xa8
push edi
pop edi
mov edi, 0x175
dec edi
pop edi
pop edx
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x4611f4
call sub.kernel32.dll_GetCurrentThread
push eax
xor eax, 0x6c
or eax, 0x14c
dec eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
add eax, 7
xor eax, 0xb
and eax, 0x32
add eax, 0x116
sub eax, 0x139
pop eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.004042b8
push esi
push ecx
add ecx, 0x76
sub esi, 0x12
inc esi
sub esi, 0x163
push ecx
pop ecx
mov esi, 0x61
push ecx
pop ecx
pop ecx
pop esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46135e
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00404288
lea eax, [ebp - 0x10]
call fcn.00404264
lea eax, [ebp - 4]
call fcn.00404264
ret