Function at 0x1400d5750
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400d5770
mov rax, qword [rcx]
test rax, rax
je 0x1400d5c90
cmp eax, 1
jne 0x1400d5ae8
nop dword [rax]
mov eax, dword [0x141f44f70]
xor edx, edx
div dword [0x141f44f74]
imul eax, eax, 0xca12ae79
xor eax, 0xa50c8800
and eax, 0xefcc8c40
cmp eax, 0xc87ead38
ja 0x1400d5790
lea r9, [rcx + 0x10]
nop dword [rax]
mov eax, dword [0x141f44f78]
and eax, dword [0x141f44f7c]
add eax, 0x89b82af5
cmp eax, 0xd619e2cf
ja 0x1400d57c0
mov rdi, qword [rcx + 8]
test rdi, rdi
je 0x1400d5c90
mov eax, dword [0x141f44f80]
xor edx, edx
div dword [0x141f44f84]
nop word cs:[rax + rax]
mov eax, dword [0x141f44f88]
xor eax, dword [0x141f44f8c]
and eax, 0x10bbea81
add eax, 0x430fd207
or eax, 0xb9b16dc9
cmp eax, 0x3fd00fbd
je 0x1400d5800
mov r8, qword [rcx + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141f44f90]
xor edx, edx
div dword [0x141f44f94]
or eax, 0x8c8121a1
imul eax, eax, 0xe23f20f3
cmp eax, 0x4aab7fde
je 0x1400d5830
mov r12, qword [0x1401082d0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r9
nop word cs:[rax + rax]
mov eax, dword [0x141f44f98]
xor edx, edx
div dword [0x141f44f9c]
xor eax, 0x516e208c
add eax, 0xf624884a
cmp eax, 0x207ebc62
jb 0x1400d58d6
nop
mov eax, dword [0x141f44fa0]
imul eax, dword [0x141f44fa4]
imul eax, eax, 0xacb268a0
add eax, 0x5aa480c0
and eax, 0x3eab2640
mov rbp, qword [rdi + 0x18]
lea rdx, [rbp + 0x20]
test rbp, rbp
cmove rdx, r9
lea r13, [r8 - 1]
mov qword [rcx + 8], rbp
mov qword [rdx], 0
mov qword [rcx + 0x18], r13
cmp eax, 0x7dff0709
jbe 0x1400d5900
mov rax, qword [rdi + 0x18]
lea rdx, [rax + 0x20]
test rax, rax
cmove rdx, r9
mov qword [rcx + 8], rax
mov qword [rdx], 0
lea rax, [r8 - 1]
mov qword [rcx + 0x18], rax
jmp 0x1400d5890
mov rbx, qword [rdi + 8]
mov r15, qword [rdi + 0x10]
test r15, r15
je 0x1400d59ab
xor esi, esi
nop word cs:[rax + rax]
mov eax, dword [0x141f44fa8]
imul eax, dword [0x141f44fac]
imul eax, eax, 0xb22e4234
cmp eax, 0xff53e554
jne 0x1400d5950
imul rcx, rsi, 0x158
add rcx, rbx
call fcn.1400cfca0
nop dword [rax]
mov eax, dword [0x141f44fb0]
xor edx, edx
div dword [0x141f44fb4]
mov r14d, eax
imul rax, r14, 0x36a3aec9
shr rax, 0x20
sub r14d, eax
shr r14d, 1
add r14d, eax
shr r14d, 0x1e
xor r14d, 0x44c4a9bf
add r14d, 0xf2862916
imul rcx, rsi, 0x158
add rcx, rbx
call fcn.1400cfca0
cmp r14d, 0xf452eae7
ja 0x1400d5950
inc rsi
cmp rsi, r15
jne 0x1400d5920
mov rcx, qword [rdi]
mov eax, dword [0x141f44fb8]
xor edx, edx
div dword [0x141f44fbc]
nop dword [rax]
mov eax, dword [0x141f44fc0]
xor eax, dword [0x141f44fc4]
or eax, 0xbd4d7588
add eax, 0xe52fcd8b
imul rax, rax, 0x2f9d3107
shr rax, 0x3c
cmp eax, 0xdefbff07
ja 0x1400d59c0
test rcx, rcx
je 0x1400d5a68
mov eax, dword [0x141f44fc8]
sub eax, dword [0x141f44fcc]
add eax, 0xd9885f1
mov ecx, 0xa008bb0d
imul rax, rcx
shr rax, 0x3d
or eax, 0x5fe9c748
cmp eax, 0xeae4fe00
je 0x1400d5a4a
nop word [rax + rax]
mov eax, dword [0x141f44fd0]
sub eax, dword [0x141f44fd4]
and eax, 0xd2e01c02
imul eax, eax, 0x894beb4e
add eax, 0x33dbc78d
mov rcx, qword [0x141f49060]
cmp eax, 0x9e97f777
jae 0x1400d5a60
mov rax, qword [0x141f49060]
jmp 0x1400d5a20
xor edx, edx
mov r8, rbx
call r12
mov rbx, qword [0x141f49060]
mov eax, dword [0x141f44fd8]
and eax, dword [0x141f44fdc]
or eax, 0x4677c991
add eax, 0x6b5ca3e7
and eax, 0x6308f3ea
cmp eax, 0xe527a8c5
jne 0x1400d5aa0
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
nop dword [rax]
mov eax, dword [0x141f44fe0]
or eax, dword [0x141f44fe4]
xor eax, 0xf7e1b2d1
imul esi, eax, 0xc9a8577a
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
cmp esi, 0xc47ae235
je 0x1400d5aa0
mov rdi, rbp
mov r8, r13
test rbp, rbp
mov rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
jne 0x1400d5870
jmp 0x1400d5c90
mov rdi, qword [rcx + 8]
mov eax, 0x881fc549
nop word cs:[rax + rax]
mov edx, dword [0x141f44f30]
imul edx, dword [0x141f44f34]
imul rdx, rax
shr rdx, 0x3b
add edx, 0xef94fbb9
imul rdx, rdx, 0x353e4fc7
shr rdx, 0x3d
cmp edx, 0x47c88b0f
ja 0x1400d5b00
mov rsi, qword [rcx + 0x10]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400d5ba0
mov eax, dword [0x141f44f38]
add eax, dword [0x141f44f3c]
imul eax, eax, 0xe5b12d43
and eax, 0x2860c83
add eax, 0xbbde593c
cmp eax, 0x29c26b0a
jae 0x1400d5b70
mov rcx, rdi
call rbx
nop word cs:[rax + rax]
mov ebp, dword [0x141f44f40]
imul ebp, dword [0x141f44f44]
add ebp, 0x1689c7d0
or ebp, 0x640f65d6
and ebp, 0xee0fffd7
mov rcx, rdi
call rbx
cmp ebp, 0x6e48c84f
jb 0x1400d5b70
nop dword [rax]
mov eax, dword [0x141f44f48]
xor eax, dword [0x141f44f4c]
add eax, 0x4b1e909a
and eax, 0x75463e41
imul rax, rax, 0x51a054a9
shr rax, 0x3c
cmp eax, 0x31ca61f9
ja 0x1400d5ba0
cmp qword [rsi + 8], 0
je 0x1400d5c90
mov rax, qword [rsi + 0x10]
nop word [rax + rax]
mov ecx, dword [0x141f44f50]
xor ecx, dword [0x141f44f54]
shr ecx, 1
imul rcx, rcx, 0x9ff8b01
shr rcx, 0x37
add ecx, 0x8b3531ce
xor ecx, 0x43af9b93
cmp ecx, 0xea2cdc40
ja 0x1400d5be0
cmp rax, 0x11
jb 0x1400d5c74
nop word cs:[rax + rax]
mov eax, dword [0x141f44f58]
xor eax, dword [0x141f44f5c]
xor eax, 0x2a1a322a
imul eax, eax, 0xe20c2c55
and eax, 0xfe066cd4
cmp eax, 0xc1d7fd8c
ja 0x1400d5c20
mov rdi, qword [rdi - 8]
nop word [rax + rax]
mov eax, dword [0x141f44f60]
imul eax, dword [0x141f44f64]
or eax, 0x66deca4
imul eax, eax, 0xf5fa9f64
add eax, 0x5465b2bc
cmp eax, 0xdfc8b54c
ja 0x1400d5c50
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
nop word cs:[rax + rax]
mov eax, dword [0x141f44f68]
mov ecx, dword [0x141f44f6c]
add eax, ecx
add eax, 0xe5105647
xor eax, 0x77d91cd3
imul rax, rax, 0x3eddf9f5
shr rax, 0x3c
cmp eax, 0x72fb57d6
ja 0x1400d5c90
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret