Function at 0x140176e10
Capabilities:
Encode data using xor

Disassembly:
xchg rdx, rdi
mov qword [rsp + 0x10], rdi
xchg rdx, rdi
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rbx
push rsi
nop
push 0x55368920
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r15
mov qword [rsp], r13
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg r13, r11
mov r13, rdx
xchg r11, r13
mov r15d, 0x5de7949
add r15d, 0x1d917c7e
xor r15d, 0x41afd709
add r15d, 0x171625a7
sub r15d, 0x1500e12c
xor r15d, 0x5c3dbdc0
xor r15d, 0x361daef6
xor r15d, 0xef5746f
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rbx, rdx
mov rdx, rbx
xchg rbx, rdx
mov rsi, rcx
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x140176ec8
lea r13, [0x140000000]
test r9, r9
je 0x140177085
movzx eax, byte [r9]
mov r10d, 0x7f76b078
sub r10d, 0x5c0644a7
xor r10d, 0x2999706c
add r10d, 0x3d23d1a1
xor r10d, 0xe235e8e
xor r10d, 0x462fb3d4
mov byte [rsp + 0x40], al
movzx eax, byte [r9 + 1]
mov byte [rsp + 0x41], al
movzx eax, byte [r9 + 2]
mov byte [rsp + 0x42], al
movzx eax, byte [r9 + 3]
mov byte [rsp + 0x43], al
movzx eax, byte [r9 + 4]
mov byte [rsp + 0x44], al
movzx eax, byte [r9 + 5]
mov byte [rsp + 0x45], al
movzx eax, byte [r9 + 6]
mov byte [rsp + 0x46], al
movzx eax, byte [r9 + 7]
mov byte [rsp + 0x47], al
movzx eax, byte [r9 + 8]
mov byte [rsp + 0x48], al
movzx eax, byte [r9 + 9]
mov byte [rsp + 0x49], al
movzx eax, byte [r9 + 0xa]
mov byte [rsp + 0x4a], al
movzx eax, byte [r9 + 0xb]
mov byte [rsp + 0x4b], al
movzx eax, byte [r9 + 0xc]
mov byte [rsp + 0x4c], al
movzx eax, byte [r9 + 0xd]
mov byte [rsp + 0x4d], al
movzx eax, byte [r9 + 0xe]
mov byte [rsp + 0x4e], al
movzx eax, byte [r9 + 0xf]
mov byte [rsp + 0x4f], al
nop word [rax + rax]
lea edx, [r10*4 - 4]
movzx r9d, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
movzx r8d, byte [rsp + rax + 0x40]
lea eax, [rdx + 2]
movzx r11d, byte [rsp + rax + 0x40]
lea eax, [rdx + 3]
movzx ebx, byte [rsp + rax + 0x40]
movzx edi, r8b
test r10b, 3
jne 0x140177029
movzx edi, byte [r11 + r13 + 0x3020]
mov eax, r10d
movzx r11d, byte [rbx + r13 + 0x3020]
xor dil, 0xec
movzx ebx, byte [r9 + r13 + 0x3020]
xor r11b, 0xec
shr eax, 2
xor bl, 0xec
movzx ecx, al
movzx r9d, byte [rcx + r13 + 0x3220]
xor r9b, byte [r8 + r13 + 0x3020]
xor r9b, 0x46
lea edx, [r10*4 - 0x10]
xor r9b, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
xor dil, byte [rsp + rax + 0x40]
lea r8d, [r10*4]
lea eax, [r8 + 1]
mov byte [rsp + r8 + 0x40], r9b
mov byte [rsp + rax + 0x40], dil
inc r10d
lea eax, [rdx + 2]
xor r11b, byte [rsp + rax + 0x40]
lea eax, [r8 + 2]
mov byte [rsp + rax + 0x40], r11b
lea eax, [rdx + 3]
xor bl, byte [rsp + rax + 0x40]
lea eax, [r8 + 3]
mov byte [rsp + rax + 0x40], bl
cmp r10d, 0x2c
jb 0x140176faf
mov rbx, qword [rbp + 0x67]
xchg r8, rax
mov r8, qword [rbp + 0x7f]
xchg r8, rax
mov edi, 0x50bab495
xor edi, 0x224b94b7
sub edi, 0x187301b1
xor edi, 0x3b90d5c1
sub edi, 0xad05245
xor edi, 0x571e7962
mov r8, qword [0x140216fc8]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
mov rax, r14
mov qword [0x140216fc8], r8
test r14d, r14d
je 0x140177625
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 3
shr rax, 1
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg rbx, r12
mov rcx, r12
xchg r12, rbx
sub r8, rbx
xchg r15, rdx
mov r15, rdx
xchg rdx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140177114
xchg r8, rbx
mov rbx, r8
xchg r8, rbx
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sub r8, rsi
xchg r13, rdx
mov r13, r15
xchg rdx, r13
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14017714a
lea rax, [r9 - 0x10]
xchg rsi, r13
mov r14, r13
xchg rsi, r13
xchg r8, rax
mov qword [rbp + 0x77], r8
xchg r8, rax
mov rsi, rax
mov edx, 0x5582a8c7
sub edx, 0x4cf49947
xor edx, 0x2197bffa
add edx, 0x2dfd1491
add edx, 0x1fb39f45
xor edx, 0x2589776
xor edx, 0x4f8e574c
xor edx, 0x3b1ca46e
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x35108e68
add ecx, 0x293eda3a
xor ecx, 0x52d12d3b
add ecx, 0x50caad19
add ecx, 0x1c991aae
sub ecx, 0x3244a48c
xor ecx, 0x4dbe5619
sub ecx, 0xa033ec9
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401771ec
sub rdx, 1
jne 0x1401771b2
mov rsi, qword [rbp + 0x5f]
xchg r9, r15
mov r9, r15
xchg r9, r15
xchg rdi, r8
mov qword [rbp + 0x7f], r8
xchg rdi, r8
xchg rsi, rbx
mov r8, rbx
xchg rbx, rsi
mov r9d, 0x706b96b8
sub r9d, 0x2841bf5a
add r9d, 0x2a5a54b3
sub r9d, 0xd97da75
sub r9d, 0x4dcf7f54
add r9d, 0x4f187858
sub r9d, 0x66354a9c
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x26d24982
xor edx, 0x399a056f
add edx, 0x1539acec
xor edx, 0x7020f79d
add edx, 0x191775d
sub edx, 0x2274055c
xor edx, 0x23be8041
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x3020]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x140177294
inc r8
sub r9, 1
jne 0x140177260
movzx eax, byte [rsi + 5]
lea r12, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r13d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r12 - 2]
movzx r8d, byte [r12 - 1]
movzx edx, dil
movzx ebx, byte [r12 + 1]
xor dl, r8b
movzx r10d, byte [r12]
lea r12, [r12 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 7
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r12 - 6], cl
xor dil, bl
shr al, 1
shr al, 4
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 7
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r12 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 5
shr al, 1
shr al, 1
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r12 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r12 - 3], cl
sub r13, 1
jne 0x14017731c
mov rax, rsi
lea r8d, [r13 + 4]
mov edx, 0x4e806984
sub edx, 0x44b109ce
add edx, 0x6f6116a3
sub edx, 0xed821a7
xor edx, 0x33c4cfb7
sub edx, 0x3fae8677
xor edx, 0x4dfcbc97
add edx, 0x1559ada7
sub edx, 0x696c55bc
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x140177426
sub r8, 1
jne 0x1401773e6
nop
sub r15, 0x77e82a72
add r15, 0x77e82a82
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x140177222
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r10, r8
mov rcx, r10
xchg r8, r10
mov edx, 0xde0b51f
xor edx, 0x6f733712
xor edx, 0x63747eb
sub edx, 0x60e52b9
xor edx, 0x499862f1
sub edx, 0xe1c6014
add edx, 0x531c3cae
sub edx, 0x5c0dee72
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x3020]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401774bf
inc r8
sub r9, 1
jne 0x14017747f
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
mov r9, qword [rsp + 0x20]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 7], cl
xchg rdx, rcx
mov rdx, rsi
xchg rcx, rdx
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x77110f4c
sub edx, 0x1290f25b
sub edx, 0xe626c99
xor edx, 0x65d3bdfb
xor edx, 0x750efdfb
add edx, 0x28e6b1c1
add edx, 0xad4c5de
xor edx, 0x7a7c67f3
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140177597
sub r8, 1
jne 0x14017755d
xchg r14, rbx
mov r14, qword [rbp + 0x67]
xchg r14, rbx
lea edi, [rdx + 9]
xchg rdi, rax
mov rdi, qword [rbp + 0x77]
xchg rdi, rax
lea r15d, [rdx + 0x10]
nop
sub rbx, 0x39231f01
add rbx, 0x39231f11
mov qword [rbp + 0x5f], r14
sub qword [rsp + 0x28], 1
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
xchg rbx, rcx
mov qword [rbp + 0x67], rcx
xchg rbx, rcx
xchg r14, rcx
mov rsi, rcx
xchg rcx, r14
mov r9, rax
xchg rbx, rax
mov qword [rsp + 0x20], rbx
xchg rbx, rax
jne 0x1401770f8
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140216fc8], r8
test r12b, r12b
je 0x140177ab3
xchg r9, rsi
mov rcx, r9
xchg r9, rsi
sub rbx, rsi
mov rdx, r15
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140177640
movzx eax, r12b
sub r15, rax
xchg r15, rsi
mov r8, rsi
xchg rsi, r15
lea rcx, [rax + rsi]
call fcn.1401ff2c0
lea r8, [rsp + 0x40]
xchg rsi, rbp
mov rcx, rbp
xchg rsi, rbp
sub r8, rsi
mov r9d, 0x4d27536
add r9d, 0x7819265a
xor r9d, 0x683c1229
add r9d, 0x1a2157b
xor r9d, 0x11f426d2
xor r9d, 0x31f6babb
xor r9d, 0xe2315f9
add r9d, 0x216170f9
sub r9d, 0x59b98799
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x5ecd6efb
sub edx, 0x4a3ba874
xor edx, 0x29d1e47d
add edx, 0x2c96215
add edx, 0x3bcae141
xor edx, 0x7bd46654
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401776f6
sub r9, 1
jne 0x1401776c8
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r9, r8
mov r9, rsi
xchg r9, r8
lea r10, [0x140000000]
mov r9d, 0x7bc42e3e
sub r9d, 0x52196dae
sub r9d, 0x27d67363
add r9d, 0x56b405c8
add r9d, 0xd58fcd8
xor r9d, 0x19441b
xor r9d, 0x7bc8f46e
sub r9d, 0x1e30ffb4
mov rcx, r8
mov edx, 0x66f8db08
xor edx, 0x7119621c
xor edx, 0x396a932e
add edx, 0x3fbeef1
sub edx, 0x28c633d5
xor edx, 0x7570c846
sub edx, 0x7cb02d0c
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x3020]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x140177799
inc r8
sub r9, 1
jne 0x140177765
movzx eax, byte [rsi + 5]
lea r15, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r12d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r15 - 2]
movzx r8d, byte [r15 - 1]
movzx edx, dil
movzx ebx, byte [r15 + 1]
xor dl, r8b
movzx r10d, byte [r15]
lea r15, [r15 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 5
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r15 - 6], cl
xor dil, bl
shr al, 6
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 3
shr al, 1
shr al, 3
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 5
shr al, 1
shr al, 1
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r15 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r15 - 3], cl
sub r12, 1
jne 0x140177821
xchg rcx, r8
mov r8, rsi
xchg r8, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x31e0ed4d
add edx, 0x40cc37fb
sub edx, 0x6d2c4c4c
add edx, 0x4901a439
sub edx, 0x33aa5fe6
add edx, 0xd7aaac1
sub edx, 0x93ae7c4
sub edx, 0x1f17e048
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x140177930
sub r8, 1
jne 0x1401778f6
neg r14
add r14, 0xfffffffffffffff0
neg r14
sub qword [rsp + 0x30], 1
jne 0x14017771e
xchg rdi, r8
mov rdi, rsi
xchg r8, rdi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x4242067
add edx, 0x3fd934f2
add edx, 0x21b4640
add edx, 0x1954329b
add edx, 0x17d04f32
sub edx, 0x67167443
xor edx, 0x13e7c151
sub edx, 0x3c1686e
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x3020]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401779be
inc r8
sub r9, 1
jne 0x140177984
movzx eax, byte [rsi + 5]
lea rdx, [rbp - 1]
movzx ecx, byte [rsi + 1]
lea r8d, [r9 + 4]
mov byte [rsi + 1], al
sub rdx, rsi
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
nop word [rax + rax]
mov ecx, 0x68bd63b3
xor ecx, 0x493b6540
sub ecx, 0x212326cd
xor ecx, 0x2d064011
sub ecx, 0x20c3d129
xor ecx, 0x1def3993
add ecx, 0x6ce60aa7
xor ecx, 0x477cf4e2
sub ecx, 0x394af5a2
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x140177a96
sub r8, 1
jne 0x140177a56
add rsp, 0xf8
nop
mov r15, qword [rsp]
add rsp, 8
push rax
push rax
push rax
push rdx
push rbx
push rbx
push rax
push rcx
xchg qword [rsp + 0x40], r14
pop rcx
pop rax
pop rbx
pop rbx
pop rdx
pop rax
pop rax
pop rax
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
mov rdi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rsi, qword [rsp - 8]
push rcx
push rcx
push rdx
xchg qword [rsp + 0x18], rbx
pop rdx
pop rcx
pop rcx
add rsp, 8
push rdx
push rdx
push rdx
push rcx
push rax
push rdx
push rcx
push rax
xchg qword [rsp + 0x40], rbp
pop rax
pop rcx
pop rdx
pop rax
pop rcx
pop rdx
pop rdx
pop rdx
add rsp, 8
ret