Function at 0x95bda18
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.09564d44
xor eax, eax
push ebp
push 0x95bdc96
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetCurrentThreadId_1
push esi
inc esi
add esi, 0x22
add esi, 0x5a
add esi, 0xe
nop
nop
nop
nop
nop
and esi, 0x39
push esi
pop esi
xor esi, 0x123
pop esi
lea eax, [ebp - 0x10]
call fcn.09564890
call sub.kernel32.dll_GetLastError_1
mov dl, 1
mov eax, dword [0x9572984]
call fcn.09563a4c
mov dword [ebp - 0x1c], eax
push 1
call sub.kernel32.dll_CancelIo
push ebx
push edx
push edx
pop edx
mov ebx, 0x13b
inc ebx
or edx, 0x13
or edx, 0x7e
pop edx
pop ebx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov al, 0x20
call fcn.095bd8e0
call sub.kernel32.dll_GetCurrentThread
push edx
xor edx, 0x1a2
and edx, 0x41
xchg edx, edx
or edx, 0xc0
push edx
pop edx
xchg edx, edx
and edx, 0xd2
xor edx, 0xe4
mov edx, 0x1a9
and edx, 0xba
xor edx, 0x2f
pop edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x95bdc2a
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
push 1
call sub.kernel32.dll_GetPriorityClass
push eax
or eax, 0xb
or eax, 0x105
and eax, 0x9e
dec eax
and eax, 0x13
add eax, 0x3b
nop
push eax
pop eax
xor eax, 0x107
nop
add eax, 0x18e
nop
pop eax
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.09568a70
mov dword [ebp - 0x18], eax
push 1
call sub.gdi32.dll_CloseMetaFile
push edx
push ecx
dec ecx
add ecx, 0xe7
sub ecx, 0xfc
add ecx, 0x132
add edx, 0x35
pop ecx
pop edx
mov eax, dword [ebp - 8]
add dword [ebp - 0x18], eax
push 0x95bdca4
call sub.kernel32.dll_AddAtomA
push edi
mov edi, 0xb1
mov edi, 0x76
xchg edi, edi
nop
nop
nop
nop
nop
push edi
pop edi
and edi, 0x44
xor edi, 0x123
and edi, 0xa3
xor edi, 0x112
nop
nop
xor edi, 0x20
push edi
pop edi
pop edi
lea eax, [ebp - 0x2c]
mov dl, byte [ebp - 0x18]
call fcn.09564a78
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x10]
call fcn.09564b5c
push 1
call sub.kernel32.dll_FlushConsoleInputBuffer
push edx
push edx
pop edx
and edx, 0x107
xor edx, 0x139
xor edx, 0x9e
xor edx, 0x110
sub edx, 0xe
nop
nop
nop
nop
or edx, 0x198
inc edx
inc edx
inc edx
inc edx
nop
nop
nop
pop edx
push 1
call sub.kernel32.dll_GetPriorityClass
push eax
or eax, 0xb
or eax, 0x105
and eax, 0x9e
dec eax
and eax, 0x13
add eax, 0x3b
nop
push eax
pop eax
xor eax, 0x107
nop
add eax, 0x18e
nop
pop eax
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x95bdafe
call sub.kernel32.dll_GetCurrentThread
push edx
xor edx, 0x1a2
and edx, 0x41
xchg edx, edx
or edx, 0xc0
push edx
pop edx
xchg edx, edx
and edx, 0xd2
xor edx, 0xe4
mov edx, 0x1a9
and edx, 0xba
xor edx, 0x2f
pop edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
call fcn.095648e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x95bdc9d
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.095648b4
lea eax, [ebp - 0x10]
call fcn.09564890
lea eax, [ebp - 4]
call fcn.09564890
ret