Function at 0x180268bc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r9, rdx
mov r10, rcx
mov rax, r10
add rax, 0x30
mov rcx, qword [rax]
add rcx, r8
mov qword [rax], rcx
mov rsi, r10
add rsi, 0x40
mov rbx, qword [r10 + 0x40]
xor edi, edi
cmp rbx, 0
je 0x180268d59
mov edi, 8
sub rdi, rbx
cmp rdi, r8
seta bpl
mov rax, rdi
sub rax, r8
mov rax, r8
cmovb rax, rdi
cmp rax, 3
seta cl
mov edx, dword [0x180521168]
sub edx, dword [0x18052116c]
sub edx, 0xb2ec5a1
imul edx, edx, 0xa64f83bd
and edx, 0x2407129c
cmp edx, 0xdff9b76
ja 0x1802690b8
mov edx, dword [0x180521170]
add edx, dword [0x180521174]
and edx, 0xb4ffa946
sub edx, 0x26b076e6
and edx, 0xc759d7dc
cmp edx, 0xc3c77f7e
jbe 0x1802690b8
xor r15d, r15d
test cl, 1
mov r11d, 0
jne 0x180268c84
jmp 0x180268c92
mov ecx, dword [r9]
mov r15d, ecx
mov r11d, 4
jmp 0x180268c92
mov rcx, r11
or rcx, 1
cmp rcx, rax
jb 0x180268ca0
jmp 0x180268cba
mov rcx, r9
add rcx, r11
movzx edx, word [rcx]
mov rcx, r11
shl rcx, 3
shl rdx, cl
or r15, rdx
or r11, 2
cmp r11, rax
jb 0x180268cc4
mov r14, r15
jmp 0x180268d37
movzx r12d, byte [r9 + r11]
shl r11, 3
and r11, 0x38
mov eax, dword [0x180521178]
add eax, dword [0x18052117c]
mov ecx, 0xb9489c4c
xor edx, edx
div ecx
mov ecx, 0x8acd2811
xor edx, edx
div ecx
mov ecx, 0xa392f2b6
xor edx, edx
div ecx
cmp eax, 0xdf0080dd
ja 0x1802690c5
jmp 0x180268d05
mov eax, dword [0x180521180]
sub eax, dword [0x180521184]
xor eax, 0x52734cc4
add eax, 0x2c539c
add eax, 0xb66fbcc7
mov rcx, r11
mov r14, r12
shl r14, cl
or r14, r15
cmp eax, 0xb1985ada
jbe 0x180268d05
jmp 0x180268d35
jmp 0x180268d37
mov rcx, rbx
shl rcx, 3
and rcx, 0x38
shl r14, cl
or r14, qword [r10 + 0x38]
mov qword [r10 + 0x38], r14
test bpl, 1
jne 0x180268ead
jmp 0x180268da9
mov rax, r8
sub rax, rdi
mov rbx, rax
and rbx, 7
and rax, 0xfffffffffffffff8
cmp rdi, rax
jb 0x180268d74
jmp 0x180268f1b
mov rcx, qword [r10]
mov rdx, r10
add rdx, 0x18
mov qword [rsp + 0x18], rdx
mov rdx, r10
add rdx, 0x10
mov r14, r10
add r14, 8
mov r15, qword [r10 + 0x18]
mov qword [rsp], r8
mov qword [rsp + 8], rsi
mov r12, qword [rdx]
mov r13, qword [r14]
jmp 0x180269044
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rsi
mov rbp, r10
add rbp, 0x18
mov rbx, r14
xor rbx, qword [r10 + 0x18]
mov rax, qword [r10]
mov r13, r10
add r13, 0x10
mov r15, qword [r10 + 0x10]
mov r12, r15
add r12, rax
mov rdx, r10
add rdx, 8
mov r9, rbx
add r9, qword [r10 + 8]
rol r15, 0xd
mov qword [rsp], r8
xor r15, r12
mov eax, dword [0x180521188]
or eax, dword [0x18052118c]
imul eax, eax, 0x53ddeed
add eax, 0x91a6f8cd
and eax, 0x1919f0af
cmp eax, 0xdf9402f2
ja 0x1802690d6
mov qword [rsp + 0x10], r13
jmp 0x180268e1c
mov eax, dword [0x180521190]
mov r8, rdx
xor edx, edx
div dword [0x180521194]
or eax, 0xa34e6f01
sub eax, 0xae398d4d
imul eax, eax, 0xd406a3dc
mov rdx, rbx
rol rdx, 0x10
mov r13, rbp
mov rbp, r9
xor rbp, rdx
mov rdx, r12
rol rdx, 0x20
mov rsi, r9
add rsi, r15
mov rcx, rbp
add rcx, rdx
mov rdx, r15
rol rdx, 0x11
mov r11, rsi
xor r11, rdx
mov rdx, r8
mov r8, qword [rsp + 0x10]
mov qword [r8], r11
rol rbp, 0x15
xor rbp, rcx
mov qword [r13], rbp
mov rbp, r13
rol rsi, 0x20
mov qword [rdx], rsi
xor rcx, r14
mov qword [r10], rcx
cmp eax, 0x435d87ae
jb 0x180268e1c
mov rsi, qword [rsp + 8]
mov r9, qword [rsp + 0x20]
mov r8, qword [rsp]
jmp 0x180268d59
add rbx, r8
mov eax, dword [0x180521198]
sub eax, dword [0x18052119c]
add eax, 0xeca43a18
add eax, 0xfeb5e123
and eax, 0x19bc673c
cmp eax, 0x466e648c
ja 0x180269136
jmp 0x180268ed8
mov eax, dword [0x1805211a0]
imul eax, dword [0x1805211a4]
imul eax, eax, 0x72a3cbfe
and eax, 0x65c9c43e
add eax, 0xbc4f620a
cmp eax, 0xc9e87f3f
jb 0x180268ed8
jmp 0x1802690a4
mov rax, qword [rsp + 0x18]
mov qword [rax], r15
mov qword [rdx], r12
mov qword [r14], r13
mov rsi, qword [rsp + 8]
mov r8, qword [rsp]
mov qword [r10], rcx
xor eax, eax
cmp rbx, 3
mov r11d, 0
jbe 0x180268f8c
mov eax, dword [0x1805211a8]
sub eax, dword [0x1805211ac]
imul eax, eax, 0xd36ec55a
and eax, 0x34e4d71f
add eax, 0xdb441320
cmp eax, 0x32df2959
je 0x180269143
mov ecx, dword [0x1805211b0]
add ecx, dword [0x1805211b4]
or ecx, 0xd08b0546
and ecx, 0xfe36182d
and ecx, 0x55c24d7d
mov rax, r9
add rax, rdi
cmp ecx, 0x83e0ba82
ja 0x180269143
jmp 0x180268f82
mov eax, dword [rax]
mov eax, eax
mov r11d, 4
mov rcx, r11
or rcx, 1
cmp rcx, rbx
jb 0x180268f9d
mov r14, rax
jmp 0x180268fc0
mov rdx, r11
add rdx, rdi
mov rcx, r9
add rcx, rdx
movzx r14d, word [rcx]
mov rcx, r11
shl rcx, 3
shl r14, cl
or r14, rax
or r11, 2
jmp 0x180268fc0
cmp r11, rbx
jb 0x180268fc7
jmp 0x18026903e
mov rcx, r11
add rcx, rdi
cmp rcx, r8
setb al
mov eax, dword [0x1805211b8]
xor edx, edx
div dword [0x1805211bc]
sub eax, 0xbb90b654
or eax, 0x2d6c5c42
or eax, 0x76d722cb
cmp eax, 0x8d675b15
jae 0x180269154
mov edx, dword [0x1805211c0]
imul edx, dword [0x1805211c4]
and edx, 0x1a98a5f7
or edx, 0x3b293242
or edx, 0x908ed576
movzx eax, byte [r9 + rcx]
cmp edx, 0x87c71a8f
jb 0x180269154
jmp 0x18026902d
shl r11, 3
and r11, 0x38
mov rcx, r11
shl rax, cl
or r14, rax
mov qword [r10 + 0x38], r14
jmp 0x1802690a4
mov rbp, qword [r9 + rdi]
mov r8, rbp
xor r8, r15
add rcx, r12
mov r11, r9
mov r9, r8
add r9, r13
rol r12, 0xd
mov rsi, rcx
xor rsi, r12
rol r8, 0x10
mov r15, r9
xor r15, r8
rol rcx, 0x20
add r9, rsi
add rcx, r15
rol rsi, 0x11
mov r12, r9
xor r12, rsi
rol r15, 0x15
xor r15, rcx
mov r13, r9
mov r9, r11
rol r13, 0x20
xor rcx, rbp
add rdi, 8
cmp rdi, rax
jb 0x180269044
jmp 0x180268f01
mov qword [rsi], rbx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
in eax, dx
int 0xd2
jnp 0x18026906e
invalid
push rdi
push 0xffffffffe0d3e827
invalid
ret 0xd96a
fdivp st(6)
adc dword [rdi - 0x16ba42d8], esp
xchg ebx, eax
std
invalid
adc al, 0x9c
jmp 0x1802691c5
invalid
cmpsb byte [rsi], byte [rdi]
invalid