Function at 0x6e3a6109
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x6e3a6230
push 0x6e3de77c
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x6e3f0340]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edi, dword [ebp + 8]
push edi
call fcn.6e3a4f85
mov esi, eax
mov dword [ebp - 0x20], esi
mov ebx, 0xfffffffe
mov dword [ebp - 4], ebx
test esi, esi
jne 0x6e3b5255
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x6e3a6264
cmp word [eax], 0
je 0x6e3a6264
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
push edi
call fcn.6e3a39a0
mov esi, eax
test esi, esi
jne 0x6e3b5284
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x1c]
add eax, 0x44
push eax
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.6e3a5e75
mov esi, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], ebx
test esi, esi
jne 0x6e3b52cc
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
push edi
call fcn.6e3a6662
mov esi, eax
test esi, esi
jne 0x6e3b52f4
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
add ecx, 0x48
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.6e3a6f3d
mov esi, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], ebx
test esi, esi
jne 0x6e3b5335
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x44], 0
jmp 0x6e3a61ca
push eax
inc esi
jecxz 0x6e3b52a1
dec eax
sub dword [eax], 0xffffffe0
xchg dword [edi - 0x7711cfa8], ecx
sbb edi, dword [edi + 0x3d]
mov al, byte [0xb3de7152]
mov ch, 0xf5
cmp eax, 0xde7152a0
mov bl, 0xb5
cmc
and cl, ah
arpl word [ebx + 0x3c45b3c5], cx
in al, dx
xor eax, 0xdc070a76
pop eax
loop 0x6e3b5258
push edx
popal
or eax, 0x9da8f8d0
xchg ebx, eax
mov dl, 0xbd
insb byte es:[edi], dx
dec eax
mov dh, 0x41
loop 0x6e3b5264
ret
xchg ebx, eax
movsd dword es:[edi], dword [esi]
fist dword [eax - 0x2d]
imul dword [edx - 0xbb81ed3]
and eax, 0xa21e1ccc
cwde
sbb ah, byte [eax - 0xd7cbe5e]
xor dl, byte [esi]
sub eax, 0x98a8e169
test al, 0x98
jl 0x6e3b529c
push esp
aas
je 0x6e3b52cd
loop 0x6e3b52a7
lcall 0xc493, 0xe452d100
into
rcl dword [edx - 0x1c]
xchg ebx, eax
les esp, [esi - 0x32]
pop edi
fsubp st(2)
out dx, ax
invalid
ljmp 0x970b:0xdadcef66
push esi
or byte [ebx], dl
lds edx, [ecx]
push cs
test al, 0xde
add byte [edi], cl
je 0x6e3b535c
pcmpeqb mm3, qword [edx + edx*8 - 7]
sar cl, cl
test byte [edx + 0x7b], 0xdd
xchg ecx, eax
cdq
stosb byte es:[edi], al
or al, 0x3e
jl 0x6e3b5366
pop esp
sub eax, 0xf6cbc780
imul edi, dword [edi], 0xe5c580cd
out dx, al
mov al, byte [0xbd042f5e]
dec ebp
test bh, cl
out 0x43, eax
xor eax, dword [ecx - 0x5ef380ec]
test al, 0x49
stosd dword es:[edi], eax
cdq
je 0x6e3b52c4
loopne 0x6e3b52b8
cmp eax, 0x9bef5d8a
mov ecx, 0x17c1deb4
retf
mov ah, 0x79
fsubr dword [ebx + 0x2d]
xchg esi, eax
jg 0x6e3b52fd
popal
or ecx, dword [ebx]
out 0x9b, al
wait
dec ebp
pop esp
in eax, 0xf6
cmc
or al, 0x5e
jge 0x6e3b535a
ret