Function at 0x6e3a6f3d
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x10]
push 0x48
mov dword [ebp - 4], 0
call int.6e3a1e1c
mov esi, eax
test esi, esi
je 0x6e3b44e1
mov eax, dword [ebx + 0x14]
add ebx, 0x14
add ebx, 4
mov dword [ebp - 8], eax
test eax, eax
je 0x6e3a6fa1
lea eax, [eax + eax*4]
shl eax, 4
push eax
mov dword [ebp + 8], eax
call int.6e3a1e1c
mov dword [ebp - 4], eax
test eax, eax
je 0x6e3b4522
mov ecx, dword [ebp + 8]
push ecx
push ebx
push eax
call fcn.6e3a84f3
add esp, 0xc
add ebx, dword [ebp + 8]
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
add ebx, 0x10
lea ecx, [edx + eax - 1]
mov eax, dword [edi + 4]
cmp ebx, ecx
sbb ebx, ebx
and ebx, 3
test eax, eax
je 0x6e3a6fd3
cmp word [eax], 0
je 0x6e3a6fd3
push eax
call fcn.6e3a2ce1
mov dword [esi + 0x3c], eax
test eax, eax
je 0x6e3b453f
mov eax, dword [edi + 0x2c]
test eax, eax
jne 0x6e3b4564
mov ecx, dword [edi + 8]
push esi
push ecx
call fcn.6e3a702c
mov eax, dword [edi + 0x18]
lea edx, [esi + 0x10]
push edx
push eax
call fcn.6e3a702c
mov edx, dword [edi + 0x1c]
lea ecx, [esi + 0x20]
push ecx
push edx
call fcn.6e3a702c
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov dword [esi + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x28]
mov dword [esi + 0x44], ebx
mov dword [esi + 0x38], edx
pop edi
mov dword [eax], esi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esp, 0xd48f18e4
inc eax
cmc
mov edi, 0xe7e0e0aa
mov edx, 0x8016e1c4
sbb byte [ecx - 0x3b3737aa], 0xc7
mov dl, 0x57
jo 0x6e3b4527
cmpsd dword [esi], dword es:[edi]
mov bh, 0x7a
inc ebp
or dword [ecx], 0xffffff82
sub al, 0x2c
sub eax, dword [ebp + 0x2f7e2398]
xor eax, dword [edx + 0x43]
inc edi
mov edx, 0xea0857f3
stosb byte es:[edi], al
bound esp, qword [ebp + 0x1f]
mov edi, 0x67f71c28
jb 0x6e3b456c
int3
and dh, ch
inc esi
mov bh, 0x43
into
xchg edi, eax
nop dword [edx]
add ah, byte [esi - 0x99014d4]
cmpsb byte [esi], byte es:[edi]
mov dh, 0x68
sbb eax, 0x9294e7ea
sub al, 0xeb
outsd dx, dword [esi]
mul byte [esi - 0x15e2974a]
out 0x94, eax
xchg edx, eax
or al, 0x5b
lahf
xor dword [ebx - 0x37df7dd1], ebp
das
and byte [eax], 0xc8
and al, cl
dec eax
add dword [ebp - 0x25a0add7], edi
push esp
jp 0x6e3b452e
cwde
lodsd eax, dword [esi]
cmp dword [edi], ebp
xor edi, dword [eax + 0x3c5645d8]
ror bl, 0xcc
mov dl, 0xcc
cmp al, 0x2f
rcr byte [ebx], cl
lahf
dec ebx
add dword [ebp + 0x58c21098], esp
cwde
adc dl, al
pop eax
das
movsd dword es:[edi], dword ss:[esi]
sub edi, esi
jg 0x6e3b4541
das
xor ah, byte [edi + edx*2 + 0x4957c585]
and eax, 0xa493c04f
in al, 0xce
sbb eax, 0xc04e37c7
adc bl, byte [eax]
pop eax
push 0xffffffffffffffdb
inc eax
push ds
xor bl, cl
pop esp
movsb byte es:[edi], byte [esi]
jo 0x6e3b45a8
out dx, al
mov dh, pe_nt_image_headers32
mov cl, 0x77
test byte [edi], 0x6a
neg dword [edx - 0x70]
cmpsb byte [esi], byte es:[edi]
retf 0xebf3
sbb dword [eax + 0x48e19690], esp
test byte [eax + 0x3d], dh
xchg edx, eax
dec ecx
and eax, 0x1104ab13
pop ecx
sub ch, byte [ebx - 0x12cf97f0]
or al, 0xf6
bound esp, qword [edi]
dec ebx
and al, 0xb8
xchg edx, eax
stosb byte es:[edi], al
mov byte [0xfa85a09c], al
cmp eax, 0xda02dad
cmp dword [esi + 0x15651dd], eax
sbb ah, byte [edi + 0x2974b930]
mov cl, 0x56
cmp al, 0x9e
les ebp, [edx + 0x5400c2fe]
lcall 0xbd76, 0x3e2a604b
sal ah, cl
pop edx
mov ebx, 0x8a2bcfba
stc
scasd eax, dword es:[edi]
dec esi
setae byte [ecx - 0x3d]
jnp 0x6e3b4662
jl 0x6e3b4646
mov ss, word [ecx + 0x5f59a7d4]
cmp esp, dword [eax + 0x3d0c6f39]
mov ch, 0x8d
sbb eax, 0xc3ac9446
inc esp
lodsd eax, dword [esi]
wait
invalid
in al, dx
jno 0x6e3b4658
sub eax, 0x62681607
salc
xchg esp, eax
in eax, 0x53
mov ch, 0xbb
and eax, 0xd91f3d59
bound ecx, qword [0xa5493e1f]
pop ds
fldenv [edx + 0xd]
pop ds
dec ecx
movsd dword es:[edi], dword [esi]
dec ebx
adc dword [ecx], ebp
cmpsd dword [esi], dword es:[edi]
out 0x2d, eax
out dx, al
sub dword [edi + 0x67ee2de7], esp
cmp dword [bx + si - 0xd], edx
cmp dword [eax - 0xd], edx
aam 0xed
and al, 0x6a
cmpsd dword [esi], dword es:[edi]
jno 0x6e3b46bf
jge 0x6e3b46a5
push es
frstor dword [esi - 0x69]
jb 0x6e3b468b
xchg byte [ebp - 0x53], al
dec ebp
cmp al, byte [edi + 0x49aecf34]
add ch, dh
mov eax, dword [0x804abccb]
popfd
add eax, 0xdbd16a64
sbb byte [ebp - 0x2e959bfb], 0xdb
or al, 0x11
mov edi, 0x43a1a143
dec esi
dec esp
cwde
push edx
invalid
mov dh, 0x8d
mov ah, 0x12
pop eax
or byte [ebp - 0x78], 7
call 0xf902cb1e
jp 0x6e3b4692
push ebx
mov esp, 0x7b0d6559
invalid
ljmp 0x62f5:0x664e9943