Function at 0xb92dc1
Capabilities:
Encode data using xor

Disassembly:
btc edx, edx
mov dword [esp], edx
neg eax
and word [esp + 1], cx
pop ecx
imul ecx, edx
xor ebx, eax
dec cx
jl 0x117e8a3
mov di, word [ebp]
inc ecx
mov ebp, 0xa60f2d36
dec edx
lea esi, [ebp*4 - 0x23cc8e56]
mov cl, byte [ebp + 2]
inc esp
movzx ebx, si
dec edx
lea ebp, [ebp + ebx*2 - 0x4d02]
call fcn.011900bb
scasd eax, dword es:[edi]
add al, al
jp 0xb92e17
push cs
xchg ebx, eax
invalid
aam 0x4e
xor eax, 0x7ce5134a
outsb dx, byte [esi]
add eax, 0x5ce5134a
out 0xb5, al
add ebx, dword [0x1aea28e3]
cdq
pop ebx
js 0xb92e0d
hlt
inc ecx
xor esi, esp
dec esi
inc ecx
mov ecx, edx
inc ecx
push edx
neg esi
dec ecx
bswap edx
dec esp
lea ecx, [ecx*4 - 0x356ebe5e]
bswap esi
inc ecx
movzx eax, cx
dec dword [esp + eax*8 - 0x34f4e]
rol esi, 1
movsx edi, ax
inc cx
dec ecx
inc ecx
push ecx
dec esp
mov dword [esp + eax - 0x69e2], esp
inc esp
movsx esp, al
inc esp
xadd byte [esp + eax*2 - 0xd3d2], dl
xor dword [esp + eax - 0x69e2], esi
inc ecx
imul ecx
seto al
dec esp
mov esp, dword [esp + edi*4 - 0x1a7a0]
dec eax
dec dword [esp + eax - 0x4ef35f01]
pop edx
dec eax
arpl si, si
inc esp
add edx, eax
cwd
inc eax
setae bh
dec eax
adc ebx, esi
dec esp
mov dword [esp + eax - 0x4ef35f01], edx
inc dx
shl dword [esp + edx - 0x4ef35fae], 0x2b
cbw
xor dx, word [ebp + eax - 0x4ef30001]
inc esp
movsx ebp, word [esp + edi - 0x6900]
inc ecx
pop edx
inc edi
movzx ebx, byte [edi + edx - 0x4ef36ffc]
call fcn.01193897
sub ax, 0x6911
adc ecx, eax
rol edx, 1
inc edx
not ecx
shr ecx, 0x78
lea eax, [eax + eax*4 - 0x60d99bf7]
xor edx, 0xf826a686
dec ax
xor ebx, edx
sar cx, 2
rol eax, 0x84
add ecx, ecx
adc edi, edx
bswap eax
mov edx, 0x69a73917
jmp 0xe8a607
mov dl, byte [ecx + esi - 0x4c]
movzx ax, byte [esi + ecx*4 - 0x12e]
add ecx, 0xd6be7222
bswap ecx
sal ecx, cl
adc esi, 1
imul dl
mov word [esi], ax
jmp edi
add esi, eax
call fcn.00c1e731
add esi, 8
movzx ecx, al
movsx edx, word [esp + ecx - 0x7f]
mov eax, dword [ebp + ecx*4 - 0x220]
not edx
not cl
lea ebp, [ebp + ecx*2 - 0xf4]
shr dx, 0xcc
xor eax, ebx
dec eax
btc ecx, ecx
bswap eax
shr edx, cl
and cl, 7
inc eax
call fcn.00ef3d03
push ecx
mov dword [esp], 0xa73a6849
call fcn.00b61785
mov edx, 0x4835f938
mov dx, word [ebp + edx - 0x4835f936]
mov ecx, 0x9600fd0c
add ax, dx
movsx edx, cl
mov word [ebp + edx - 0xa], ax
mov dl, byte [edx + esi - 0xd]
push ecx
xor dl, bl
lea eax, [ecx*4 + 0x6b0716a6]
sal ax, 0x41
sub cx, ax
rol dl, 1
or cl, al
ror cx, cl
sub cl, cl
adc dl, 0xbe
sar ax, 0xc2
lea eax, [eax*2 + 0x549641bd]
neg dl
bt ax, 0xb2
xadd byte [esp], ah
adc dl, 0xb5
mov byte [esp + 2], ah
not dl
add dword [esp], 0x9533b42e
dec dword [esp]
not ax
xor bl, dl
mov word [esp + 2], ax
lea edx, [esp + edx + 4]
sal eax, 0x78
jne 0x118b491
add byte [eax], al
add byte [edi + 0x65], al
je 0x117e9c1
outsd dx, dword [esi]
jne 0x117e9e4
inc esi
imul ebp, dword [ebp + 0x4e], 0x41656d61
add bh, dh
neg edx
push eax
cbw
not dword [esp + eax*2 - 0x4a260021]
ror edx, 2
dec eax
xor ebx, edx
xchg dword [esp + eax - 0x2513000a], eax
mov ecx, eax
add esi, edx
or dword [esp + 0xa], 0xc6346798
mov edx, ecx
sub eax, 0xb49e083e
pop edx
pop edx
pop ecx
pop eax
jmp esi
cmovb eax, ecx
not edx
xor eax, eax
sbb edx, 0xd60a66a0
add ax, ax
bswap edx
jns 0xc7acbf
mov eax, 0x1e39c285
push eax
push eax
mov ecx, dword [edi + eax - 0x1e39c285]
movzx edx, al
sar word [esp + eax*2 - 0x3c738506], 0x2d
mov dx, word [edi + eax*4 - 0x78e70a10]
sete al
lea eax, [eax + eax*8 - 0x38f108d4]
adc edi, 6
neg dword [esp + 1]
pop eax
mov word [ecx], dx
movsx edx, al
call fcn.00ed6c70
sal esi, cl
inc sp
xor esp, eax
sar dx, 0x63
add byte [esp + esi*2 + 6], 0x86
dec eax
lea eax, [esp + eax + 8]
inc esp
mov dword [eax + esi], ebp
dec eax
mov dword [esp + esi*4], ebx
ret
cmp eax, 0xb60fe1c6
shl byte [esi - 0x3f], 1
mov esp, 0x8c7afa44
ret
xor ax, word [esp + eax - 0x6c000000]
mov cx, word [edx + eax - 0x6c00b185]
or al, ah
call fcn.00b60e3e
jmp 0xc01374