Function at 0x180e77dc0
Capabilities:
Encode data using xor

Disassembly:
jmp 0x180e77dca
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 0x180e77df3
pop rbp
sub rbp, 0x33
sub rbp, 0xe77dc0
cmp edx, 1
je 0x180e77e36
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 0x180e77e46
add al, 0
add byte [rax], al
ja 0x180e77e83
and byte [rax + rcx*2], cl
mov eax, 0xe77dc0
mov rax, 0xe77dc0
add rax, rbp
add rax, 0xb8
mov rcx, 0x60b
mov rdx, 0xffffffffab7176bd
xor byte [rax], dl
inc rax
dec rcx
jne 0x180e77e65
jmp 0x180e77e7c
cmc
xor al, 0x54
xor al, 0x81
mov ebp, 0x3cf5bdbd
jl 0x180e77e3e
mov ebp, 0x7c3cf5bd
mov ch, 0xbc
mov ebp, 0x54bcf5bd
mov esp, 0xbcf5bdbd
push rsp
cmc
jp 0x180e77f0f
mov ah, 0xbd
mov ebp, 0x7f7af5bd
xchg ebp, eax
mov ebp, 0x4af5bdbd
pop rdi
mov ebp, 0x5f4af5bd
cmc
mov esp, 0xb13c367c
mov ebp, 0xbcf5bdbd
push rbp
in eax, dx
in eax, dx
cmc
add eax, 0xbd9a9c09
mov ebp, 0xf5bdbdbd
add al, 0xb1
loope 0x180e77f3a
mov ebp, 0xbdbdbdbd
cmc
mov esp, 0xbd07f554
out 0x42, eax
imul edi, dword [rbp + 0x55bdbdbd], 0xbdbdbdb8
push rsp
stosd dword [rdi], eax
mov ebp, 0x557cbdbd
mov edi, 0x3cf5ac8c
jl 0x180e77e9b
mov ebp, 0x42f5bdbd
jne 0x180e77e9b
cmp byte [rbx + 0x42], dl
jle 0x180e77ed5
out 0xef, eax
in eax, dx
cmc
add eax, 0xbd9a9c09
mov ebp, 0xf5bdbdbd
add al, 0xb1
loope 0x180e77f7f
mov ebp, 0xbdbdbdbd
cmc
mov esp, 0xbdb85554
mov ebp, 0xbf3054bd
mov ebp, 0xc055efbd
mov ebp, 0xeae7bdbd
cmc
push rsp
xor byte [rdi + 0x55efbdbd], bh
sar byte [rbp - 0x15184243], 0xf5
xor al, 0x6a
cmc
invalid
test byte [0x1ba99d486], bh
movabs eax, dword [0x39b254463dbdbdbd]
scasb al, byte [rdi]
mov ebp, 0x3cdbbdbd
cwde
mov dl, 0x39
movabs byte [0x75547c42f5bdbdbd], al
xchg esp, eax
int1
test byte [rbp + rsi*8 - 0x424783c4], bh
mov ebp, 0x553cf5bd
mov ecx, 0x54bdbdbd
or al, 0x42
xchg esp, eax
jmp 0x1bddd3f01
test byte [rdi - 0x4483c30b], bh
mov edi, 0xbb7c3cf5
mov ebp, 0x3cf5bdbd
push rdi
cmp al, 0x57
mov ecx, 0xf5bdbdbd
cmp al, 0x55
mov eax, 0x54bdbdbd
loop 0x180e78015
mov ebp, 0x42422e54
loop 0x180e78015
jmp 0x180e77f83
cmp al, 0x7b
mov esp, 0x35bdbdbd
mov edx, 0xbc7a3cf5
mov ebp, 0x7af5bdbd
jle 0x180e77f79
mov ebp, 0x6fbfbdbd
mov dl, 0x38
mov ebp, 0x38b26fbf
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
cmc
jnp 0x180e77f7a
outsd dx, dword [rsi]
mov dl, 0x3e
outsd dx, dword [rsi]
mov edi, 0xba38b26f
mov edi, 0xba38b26f
mov ebp, 0xab37bdbd
cmc
jnp 0x180e77f8f
outsd dx, dword [rsi]
mov dl, 0x3e
ret 0xbdbd
invalid
jnp 0x180e77fa7
outsd dx, dword [rsi]
mov dl, 0x3e
fstp xword [rbp + rdi*4 - 0x4d904043]
fstp xword ds:[rbp + rdi*4 - 0x4d904043]
cmp byte [rdx + 0x37bdbdbd], bh
stosd dword [rdi], eax
cmc
jnp 0x180e77fbc
outsd dx, dword [rsi]
cmc
lodsb al, byte [rsi]
jge 0x180e77fd1
outsd dx, dword [rsi]
mov dl, 0x38
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
cmc
jnp 0x180e77fce
outsd dx, dword [rsi]
cmc
lodsb al, byte [rsi]
jge 0x180e77fe3
outsd dx, dword [rsi]
mov dl, 0x38
mov edx, 0x37bdbdbd
cmp byte [rdx + 0x37bdbdbd], bh
mov ebp, 0x42f5ab37
jnp 0x180e77fe0
stosd dword [rdi], eax
cmc
jnp 0x180e77fe0
outsd dx, dword [rsi]
cmc
lodsb al, byte [rsi]
jge 0x180e77ff5
outsd dx, dword [rsi]
mov dl, 0x38
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
mov ebp, 0x42f5ab37
jnp 0x180e77ff2
cmc
jnp 0x180e77ff2
outsd dx, dword [rsi]
cmc
lodsb al, byte [rsi]
jge 0x180e77ffa
cmp dword [rbp - 0xa424243], esi
xor al, 0x46
cmc
xchg esp, eax
jle 0x180e7808b
mov esi, 0x42f5ba35
jp 0x180e78050
jp 0x180e780db
mov edi, 0x54bdbdbd
invalid
jge 0x180e78026
mov ebp, 0x6fbfbdbd
mov dl, 0x38
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
cmc
jnp 0x180e7802a
scasd eax, dword [rdi]
outsd dx, dword [rsi]
cmc
lodsb al, byte [rsi]
jge 0x180e7803f
outsd dx, dword [rsi]
mov dl, 0x38
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
cmc
jnp 0x180e7803c
jnp 0x180e7803c
outsd dx, dword [rsi]
mov dl, 0x3f
cmc
xchg esp, eax
cmc
jp 0x180e78118
mov esp, 0xb2bdbdbd
cmp byte [rax - 0xa424243], al
jp 0x180e78123
mov esp, 0xbfbdbdbd
outsd dx, dword [rsi]
mov dl, 0x38
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
cmc
jnp 0x180e78068
outsd dx, dword [rsi]
cmc
lodsb al, byte [rsi]
je 0x180e7807d
outsd dx, dword [rsi]
mov dl, 0x38
mov edx, 0x37bdbdbd
stosd dword [rdi], eax
cmc
jnp 0x180e7807a
jnp 0x180e7807a
outsd dx, dword [rsi]
mov dl, 0x3f
jmp 0x180e780c9
jrcxz 0x180e78131
invalid
mov dl, 0x3f
cmc
cmp al, 0x45
mov ebp, 0xf5bdbdc0
cmp al, 0x64
mov ebp, 0x643cf5bd
cmc
cmp al, 0x45
mov ebp, 0xf5bdbdb8
cmp al, 0x64
mov ebp, 0x643cf5bd
cmc
cmp al, 0x45
cmp eax, 0xf5bdbdbd
cmp al, 0x6c
mov ebp, 0xf5bdbdbd
cmp al, 0x45
cmp eax, 0xf5bdbdbd
cmp al, 0x6c
mov ebp, 0xebbdbdbd
cmc
xor al, 0x43
cmc
xchg esp, eax
jnp 0x180e781ac
sbb ebx, esp
push rsp
in eax, 0x43
invalid
cmp dword [rbp - 0xa424243], ebx
cmp al, 0x6c
mov edi, 0xf5bdbdbd
xor al, 0x78
jmp 0x180e78177
cmc
jp 0x180e7822c
jge 0x180e78171
pop rdx
mov ebp, 0xf555bcf5
cmp al, 0x7d
movabs dword [0xbf187c7af5bdbdb9], eax
mov ebp, 0x7f7af5bd
not dword [rdi - 0x74]
jmp 0x1c3dd2f5c
div edi
div edi
clc
jae 0x180e78259
or byte [rax], cl
or byte [rcx + 0x1f36f07c], dl
sti
je 0x180e78255
clc
jbe 0x180e78250
paddw mm6, mm7
div edi
clc
std
div edi
idiv eax
jb 0x180e78240
div edi
not dword [rcx + 0x1776f07c]
or al, bh
div edi
mov edi, 0xf6bf27f6
mul byte [rdi]
mov edi, 0x8bfeff6
mov edi, 0x76bf3e08
xor ch, dh
div edi
neg dword [rsi]
or byte [r8], cl
or byte [rsi], bl
div edi
div edx
mov cl, 0x9a
pop rsp
mov edi, 0x8a373730
adc bh, dh
mov edi, 0x76bf1ff6
invalid
out dx, eax
mov edi, 0x8bf3e08
mov edi, 0xf7f53076
div edi
invalid