Function at 0x6e3a59b4
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
xor esi, esi
push edi
push 0x30
mov dword [ebp - 8], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
call int.6e3a1e1c
mov dword [ebp - 0xc], eax
cmp eax, esi
je 0x6e3b15bf
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 4]
push ecx
push 0x6e3a36b8
push ebx
push edi
mov dword [ebp - 4], esi
call fcn.6e3a4781
mov esi, eax
test esi, esi
jne 0x6e3b15f3
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3b161a
mov eax, dword [eax]
push eax
call fcn.6e3a2ce1
mov esi, dword [ebp - 0xc]
mov dword [esi], eax
test eax, eax
je 0x6e3b164c
mov eax, dword [ebp - 4]
push eax
call fcn.6e3a6c58
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
push 0x6e3a35c4
push ebx
push edi
mov dword [ebp - 4], 0
call fcn.6e3a4781
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3a5d30
cmp dword [eax], 0
je 0x6e3a5d30
mov eax, dword [eax]
push eax
call fcn.6e3a2ce1
mov dword [esi + 4], eax
test eax, eax
je 0x6e3b167e
mov eax, dword [ebp - 4]
push eax
call fcn.6e3a6c58
mov dword [ebp - 4], 0
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
push 0x6e3a35ac
push ebx
push edi
call fcn.6e3a4781
mov eax, dword [ebp - 4]
test eax, eax
jne 0x6e3b16b0
mov dword [esi + 0x2c], 0
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
push 0x6e3a359c
push ebx
push edi
call fcn.6e3a4781
mov esi, eax
test esi, esi
jne 0x6e3b170f
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3b173e
mov eax, dword [eax]
push eax
call fcn.6e3a2ce1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 8], eax
test eax, eax
je 0x6e3b1770
mov ecx, dword [ebp - 4]
push ecx
call fcn.6e3a6c58
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 4]
push eax
push 0x6e3a3610
push ebx
push edi
mov dword [ebp - 4], 0
call fcn.6e3a4781
mov esi, eax
test esi, esi
jne 0x6e3b179a
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3b17c9
mov eax, dword [eax]
push eax
call fcn.6e3a2ce1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x18], eax
test eax, eax
je 0x6e3b17fe
mov ecx, dword [ebp - 4]
push ecx
call fcn.6e3a6c58
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 4]
push eax
push 0x6e3a35d8
push ebx
push edi
mov dword [ebp - 4], 0
call fcn.6e3a4781
mov esi, eax
test esi, esi
jne 0x6e3b182b
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3b185d
mov eax, dword [eax]
push eax
call fcn.6e3a2ce1
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1c], eax
test eax, eax
je 0x6e3b1892
mov ecx, dword [ebp - 4]
push ecx
call fcn.6e3a6c58
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 4]
push eax
push 0x6e3a81f4
push ebx
push edi
mov dword [ebp - 4], 0
call fcn.6e3a4781
test eax, eax
jne 0x6e3a5c23
cmp dword [ebp - 4], eax
je 0x6e3a5c23
mov edx, dword [ebp - 8]
lea ecx, [ebp - 0x18]
push ecx
push 4
push edx
call fcn.6e3a2c9b
mov esi, eax
test esi, esi
jne 0x6e3b18bf
mov eax, dword [ebp - 0x18]
push eax
call int.6e3a1e1c
mov ebx, eax
test ebx, ebx
je 0x6e3b18f1
xor edi, edi
cmp dword [ebp - 8], edi
jbe 0x6e3a5c01
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edi*4]
push ecx
call fcn.6e3a2ce1
test eax, eax
je 0x6e3b1950
mov dword [ebx + edi*4], eax
inc edi
cmp edi, dword [ebp - 8]
jb 0x6e3a5be4
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x20], ebx
mov ecx, dword [ebp - 8]
mov dword [eax + 0x24], ecx
mov edx, dword [ebp - 4]
push edx
call fcn.6e3a6c58
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], 0
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 4]
push ecx
push 0x6e3a3580
push ebx
push edi
call fcn.6e3a4781
mov esi, eax
test esi, esi
jne 0x6e3b1926
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3b1988
mov eax, dword [eax]
push eax
call dword [0x6e3a1008]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 4]
add esp, 4
push edx
call fcn.6e3a6c58
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 4]
push ecx
push 0x6e3a3504
push ebx
push edi
mov dword [ebp - 4], 0
call fcn.6e3a4781
mov esi, eax
test esi, esi
jne 0x6e3b19bd
mov eax, dword [ebp - 4]
test eax, eax
je 0x6e3b19e7
mov edx, dword [eax]
lea ecx, [ebp - 0x14]
push ecx
push edx
call fcn.6e3a7d05
mov ecx, dword [ebp - 0xc]
mov esi, eax
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x28], eax
test esi, esi
jne 0x6e3b1a19
mov ecx, dword [ebp - 4]
push ecx
call fcn.6e3a6c58
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x10]
push eax
push 0x6e3a356c
push ebx
push edi
mov dword [ebp - 4], 0
call fcn.6e3a3e50
mov esi, eax
test esi, esi
jne 0x6e3b1a38
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov esi, dword [ecx]
push esi
call int.6e3a1e1c
mov edi, eax
test edi, edi
je 0x6e3b1a5f
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
push esi
push ecx
push edi
call fcn.6e3a84f3
mov ebx, dword [ebp - 0xc]
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], esi
mov edx, dword [ebp - 0x10]
add esp, 0xc
push edx
call fcn.6e3a3e91
mov eax, dword [ebp + 0x10]
pop edi
mov dword [eax], ebx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [esi + 4], 0
jmp 0x6e3a5a81
or dword [ecx], 0x5bf06f71
xchg esp, eax
jns 0x6e3b15d4
aam 0x58
in al, 0x35
ret
mov esp, 0x74530637
pop edx
mov edx, 0x240e483d
mov dl, 0x3b
mov byte [0x6cb53114], ch
lea ebx, [edx]
enter 0xffffffffffff8beb, 0x3a
inc edi
mov bh, byte [0xb1fbcf14]
test al, 0x67
dec edi
mov cl, 0xa8
dec edi
retf 0xad9e
imul ebx, dword [esi + 0x4d], 0x7611f618
fldcw word [edx + 0x35]
mov ebp, 0x829c0b1d
push es
push cs
popal
mov dword [0x5f060696], eax
fcmovne st(0), st(4)
xchg ebp, eax
pop ecx
add eax, 0x2dab4c9a
pop ecx
out dx, al
and eax, 0x6ca582c4
mov ecx, ecx
sub eax, 0xc425ee59
and byte [ebp - 0x36769a94], 0x84
cmp esi, dword [esi - 0x6c8cc3ba]
leave
test byte [ebx], bh
mov dh, 0x46
cmp al, 0x73
xchg ebx, eax
jg 0x6e3b1643
div bl
sub al, 0x45
sub al, 0x45
cmp ebx, ecx
inc edx
jne 0x6e3b1639
leave
xor eax, 0xac56ff56
add eax, 0x7ae9085f
push ss
pushfd
test byte [ebx], bh
mov cl, 0x8c
add byte [ebx], ah
invalid
jbe 0x6e3b161a
pop ss
pushfd
retf
and eax, 0xc215e1db
invalid
mov ah, 0xb7
xchg ebx, eax
cli
mov edi, 0x2abd4cc4
les esp, [ebp + 0x453c17e2]
dec edx
jae 0x6e3b179f
add byte [edi + eax - 0x30de4635], dl
inc esp
invalid
mov eax, 0x2a13bff6
and eax, 0x2270f532
cmc
xchg bh, al
aas
cmp esi, dword [ecx + 0x3960b61c]
mov dword [edx + 0x6d], ebp
leave
or ecx, dword [ecx + 0x7e]
bound edi, qword [eax]
adc edx, esi
mov dword [0xe1a59c32], eax
xchg ebp, eax
add eax, 0x98dd509b
cwde
pop ebx
mov byte [edi], cl
cmp eax, 0xa66d8ec3
insd dword es:[edi], dx
cmpsb byte [esi], byte es:[edi]
sbb al, 0x46
mov cl, 0x72
aad 0xa
cmp dword [ebp + 0x78ce95ae], ebp
sbb dword [ebp + 0x7dd158f3], ebp
and ah, byte [edx]
out dx, eax
add dword [ecx + 0x64908ea], esp
pop edx
out dx, al
dec esi
pushal
add ah, bh
insb byte es:[edi], dx
push esp
in al, 0x74
fsub dword [ecx + 0x49]
dec ecx
push ds
or eax, 0x52a072c8
call 0x7fbd93f4
push ds
mov al, byte [0x7c4ee852]
adc byte [ecx], 0x1e
dec ecx
adc dword [eax + 0x18], 0x57
cmp al, 0xc
sbb byte [edi + 0x2e], dl
cmp al, 0xc
xchg ebp, eax
movsd dword es:[edi], dword [esi]
and byte [edi], al
push 0x26f9e239
add al, cl
std
invalid
not byte [eax + ecx*4]
jl 0x6e3b17aa
sub dword [eax - 0x25925a2b], eax
invalid
xor al, 0xaf
sub al, 0x57
into
dec eax
int 0xe2
mov esp, 0xf2eebf1f
push ebp
mov esp, 0x203fee6c
imul edx, dword [edi - 0x67], 0xffffff99
aas
and byte [ebx + 0x57], ch
cdq
cdq
ficomp dword [esi - 0x5825e582]
jb 0x6e3b180c
invalid
ret
fadd st(6), st(0)
stc
mov ecx, 0x1c88678a
sal dword [ebx - 0x48], 0x76
fmul st(2), st(0)
js 0x6e3b1885
pop edx
sbb eax, 0xfc8b4bc9
inc ebx
jo 0x6e3b18ac
dec esi
ja 0x6e3b17ec
sar dword [edi], cl
out 0xc6, al
xchg dh, bh
sbb esp, dword [esi + ebp*2]
dec ebx
sbb al, 0xaf
jb 0x6e3b1896
mov ecx, 0xb85446ac
or ebx, esi
insd dword es:[edi], dx
hlt
popfd
sahf
cwde
imul edi, dword [edx - 0x2a], 0xe2f7cfbd
xor dl, bh
cmp al, 0x82
xchg edx, eax
pushfd
adc byte [edx - 0x594563ca], 0xef
pop ebx
ret 0xc04a
mov edx, 0xc25befa6
dec edx
rcl byte [eax], 0x57
je 0x6e3b1844
aaa
ja 0x6e3b1876
retf
clc
out dx, al
add eax, 0xf5093a83
mov ebx, 0xf606c35c
add al, 0x5b
outsb dx, byte [esi]
and bl, dl
sub al, 0x67
push eax
cmp byte [eax], bh
xchg edx, eax
hlt
call [ebx - 5]
bound ecx, qword [ecx - 0x198f4bd2]
cmp al, 0x9f
xchg esi, eax
xor esi, ebx
sbb eax, 0xf7c6a2b8
cmc
jb 0x6e3b1887
pop edx
or dword [ebp + edx*4 - 0x2a], esi
and al, 0x35
test eax, 0x97b3f2bb
add edi, 0x240b38fb
fld dword [esi + 0x562eafb8]
mov edx, 0x74328dc3
lodsb al, byte [esi]
movsd dword es:[edi], dword [esi]
cmp byte [ebx], cl
and al, 0xd9
or esp, dword [ecx + ebx*8]
xchg byte [eax - 0x45a9d151], bh
ret
cmp dword [ecx - 0xc2f2ff2], ecx
jecxz 0x6e3b1916
jl 0x6e3b1995
pop esi
mov dword [ebx - 0x2c5afdfa], edi
sub dword [eax], edi
out 0x1d, al
dec ebx
shr byte [ecx], cl
mov esp, 0xfdee9720
std
sub byte [esi], 3
add ebx, dword [esi]
int 0x89
push esi
sar dword [0xedaceff3], 1
in eax, dx
das
cmc
jle 0x6e3b1970
or eax, 0xc357c3aa
push 0x26
lea esp, [ecx + 0x714d6c89]
jl 0x6e3b19aa
int1
fsub st(0), st(0)
and al, byte [ebx + 0x29ec782f]
mov ch, 0xde
pop esi
mov eax, dword [0xa3147288]
mov edi, 0x3adad6af
cmpsd dword [esi], dword es:[edi]
cmc
push es
fstp qword [esi]
mov byte [edx + 0x14], dh
mov dword [0xdad6afbf], eax
cmp ah, byte [edi + 0x1edd06f5]
push esi
loope 0x6e3b1917
sahf
jbe 0x6e3b1942
mov ah, 0xe0
sbb eax, 0x8ce6fcb
stosb byte es:[edi], al
or ecx, dword [esi + ecx*2 - 0x7f]
and edi, edi
lahf
cmc
retf
shl esp, 0xff
mov byte [0xd7e7c765], al
and al, bl
loop 0x6e3b1971
lodsd eax, dword [esi]
sbb al, 0x28
jecxz 0x6e3b1a0c
enter 0xffffffffffffa99f, 0x35
test al, 0x8b
cmpsb byte [esi], byte es:[edi]
and al, 0x9d
inc ebx
sub ebx, eax
mov cl, 0x58
aaa
add esp, dword [esi]
insd dword es:[edi], dx
adc eax, dword [esi - 0x12]
mov esp, 0xc0ca4b44
jp 0x6e3b19c7
dec ebx
retf 0x7ac0
or byte [esi + 0xc9305b5], ah
test al, 0x52
or al, 0xa8
push edx
outsb dx, byte [esi]
imul esp, dword [ebp + esi*8 + 0x11fa9f2e], 0xe25930d7
and dword [edi + 0x471969e], eax
cdq
cmp dword [edx - 0x47eeb465], eax
cwde
sub dword [edi + edx*4 + 0x3092e49b], edx
xor edi, dword [0xa0b5b53c]
xchg edi, eax
wait
in al, 0x92
xor bl, dh
xor edi, dword [0xa0b5b53c]
mov ch, 0xb5
mov al, byte [0xb3f0e12b]
jmp 0x1dbeb5b5
sub esp, ecx
invalid
mov edx, 0xfd98de66
push esi
ja 0x6e3b19f0
pop esp
retf
ja 0x6e3b19b0
inc ebx
sub dl, bh
sbb eax, 0xba43e92a
cmovne edx, dword [ecx - 0x18]
or dword [ebx + 0x470e342d], 0xabe4064a
add bl, byte [ecx]
jl 0x6e3b1a7f
fisttp word [ecx + ecx*2]
adc dword [ecx + 0x6ddbfdfb], 0xc7ad7e52
pop edx
xor eax, 0xc5ae9414
test al, dl
cli
aam 0x27
cmp al, 0xbe
mov ah, 0x48
add al, dl
sub eax, 0xa75704bd
cmp dword [edx + 0x4a57423c], esi
dec edx
stc
daa
cmp edx, eax
xchg ecx, eax
mov esp, 0x84f3596
wait
jle 0x6e3b1acf
rcr dword [ebx + edi*2 + 0x4558a2db], 0xad
mov ds, esi
shr byte [ebp + 0x31], 1
sbb eax, 0x1dd7278d
mov ecx, 0xba368c53
test dword ss:[ebp - 0x3fb4ad22], ebp
scasd eax, dword es:[edi]
mov ch, 0xb9
jp 0x6e3b1aa2
outsb dx, byte [esi]
dec eax
and byte [esi - 2], cl
sub al, 0x63
mov byte [0x7e2258d2], al
xchg dword [ebx], esp
dec esp
mov bl, 0xf0
invalid
pop edi
sbb cl, dl
ror dword [edi + 0x75], 0xde
enter 0x10f6, 0xffffffffffffffa8
loope 0x6e3b1a91
nop
insd dword es:[edi], dx
pop ds
pop edi
xor byte [edx - 0x3369c722], 0x5e
retf