Function at 0xbc66a38
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.0bc14c58
xor eax, eax
push ebp
push 0xbc66d15
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
call sub.user32.dll_GetDlgCtrlID
push ecx
push esi
push esi
pop esi
add esi, 0x175
add esi, 0x61
inc esi
sub ecx, 0x111
add esi, 0x5e
inc ecx
inc ecx
nop
nop
nop
nop
nop
nop
nop
dec ecx
and ecx, 0xc9
pop esi
pop ecx
lea eax, [ebp - 0x10]
call fcn.0bc147a4
push 1
call sub.user32.dll_GetWindowContextHelpId
push esi
add esi, 0x173
xchg esi, esi
inc esi
mov esi, 0x16
add esi, 0x62
and esi, 4
pop esi
mov dl, 1
mov eax, dword [0xbc224f0]
call fcn.0bc13960
mov dword [ebp - 0x1c], eax
push 0xbc66d24
call sub.kernel32.dll_AddAtomA
push edi
push eax
mov edi, 0x1a
nop
nop
nop
and edi, 0x38
mov eax, 0x13a
sub edi, 0xab
add edi, 0x14a
nop
nop
nop
nop
nop
nop
inc eax
sub eax, 0x6b
dec eax
sub eax, 0x44
pop eax
pop edi
mov dl, 0x20
mov eax, dword [ebp - 0x1c]
call fcn.0bc25d58
push edx
push edi
sub edx, 0x153
add edx, 0xc0
sub edi, 0xa7
xor edi, 0x116
sub edi, 0xd2
inc edi
or edx, 0x27
pop edi
pop edx
call sub.kernel32.dll_GetTickCount
push edi
mov edi, 0x82
or edi, 0x139
xor edi, 0x35
nop
nop
nop
dec edi
push edi
pop edi
sub edi, 0xe
and edi, 0x9b
pop edi
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
call fcn.0bc25b40
push edi
push ecx
and edi, 0xaa
add edi, 0x18c
sub edi, 0x73
and edi, 0x61
or edi, 0x47
xchg edi, edi
push ecx
pop ecx
and ecx, 0x55
and edi, 0x134
pop ecx
pop edi
push 1
call sub.user32.dll_IsMenu
push edx
push edx
pop edx
dec edx
dec edx
sub edx, 0xac
xor edx, 0x2d
sub edx, 0x124
or edx, 0x10b
inc edx
and edx, 0x69
pop edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0xbc66cbb
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
push 1
call sub.user32.dll_EnumClipboardFormats
push ecx
push eax
add ecx, 0x11d
sub ecx, 0x19e
xor ecx, 0x11e
dec eax
add eax, 0x1e
dec eax
pop eax
pop ecx
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.0bc18924
mov dword [ebp - 0x18], eax
push 0xbc66d2c
call sub.kernel32.dll_AddAtomA
push edx
or edx, 0xd0
sub edx, 0x106
xchg edx, edx
nop
nop
nop
nop
nop
or edx, 0x19f
xchg edx, edx
or edx, 0xa9
dec edx
xchg edx, edx
push edx
pop edx
add edx, 0x132
add edx, 7
pop edx
lea eax, [ebp - 0x2c]
mov dl, byte [ebp - 0x18]
add dl, byte [ebp - 8]
call fcn.0bc1498c
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
call fcn.0bc14a70
call sub.kernel32.dll_GetCurrentThreadId_1
push eax
push edx
or edx, 0x14f
inc edx
push edx
pop edx
add edx, 0xac
sub eax, 0x72
and edx, 0xb2
inc eax
nop
nop
nop
nop
or eax, 0xb6
mov eax, 0x97
xor edx, 0xbb
xor edx, 0x17f
pop edx
pop eax
push 1
call sub.gdi32.dll_GetStretchBltMode
push edi
push eax
nop
nop
mov eax, 0x17d
push eax
pop eax
add edi, 0x56
dec edi
pop eax
pop edi
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0xbc66bcc
call sub.kernel32.dll_GetTickCount
push edi
mov edi, 0x82
or edi, 0x139
xor edi, 0x35
nop
nop
nop
dec edi
push edi
pop edi
sub edi, 0xe
and edi, 0x9b
pop edi
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.0bc147f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xbc66d1c
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0bc147c8
lea eax, [ebp - 0x10]
call fcn.0bc147a4
lea eax, [ebp - 4]
call fcn.0bc147a4
ret