Function at 0x1400d9550
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov dword [rbp - 8], r8d
mov dword [rbp - 4], edx
mov qword [rbp], rcx
mov eax, dword [0x140112354]
add eax, dword [0x140112358]
and eax, 0x60c2aa87
mov ecx, 0xb9e69d92
xor edx, edx
div ecx
imul eax, eax, 0x33b94fa3
cmp eax, 0x611849ac
ja 0x1400d98b1
mov r8d, dword [rbp - 8]
mov r10d, dword [rbp - 4]
mov rsi, qword [rbp]
mov eax, dword [0x14011235c]
mov ecx, dword [0x140112360]
or eax, ecx
or eax, 0xc382dfad
add eax, 0xe4f87a75
xor eax, 0x40255f7f
mov dword [rbp - 0x14], eax
mov eax, 0x10
mov qword [rbp - 0x28], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov r11, rsp
mov qword [rbp - 0x40], r11
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov r9, rsp
mov qword [rbp - 0x38], r9
call fcn.1400ec140
sub rsp, rax
mov rdx, rsp
mov qword [rbp - 0x30], rdx
mov eax, 0x40
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1400ec140
sub rsp, rax
mov eax, dword [rbp - 0x14]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
mov qword [r11], rsi
mov dword [r9], r10d
mov dword [rdx], r8d
mov dword [rcx], 0
cmp eax, 0x9c766234
je 0x1400d98b1
jmp 0x1400d9644
mov eax, dword [0x140112364]
imul eax, dword [0x140112368]
and eax, 0x3d7796ef
imul eax, eax, 0x2895d595
add eax, 0xc5286798
cmp eax, 0xca62ab0
jbe 0x1400d991d
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x14011236c]
xor edx, edx
div dword [0x140112370]
mov rdx, qword [rbp - 0x30]
and eax, 0xb1c2bd59
or eax, 0xb455d160
and eax, 0x4a6c3831
mov ecx, dword [rcx]
cmp ecx, dword [rdx]
setl cl
mov byte [rbp - 0x41], cl
cmp eax, 0xc5cdb45d
ja 0x1400d966c
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400d96b6
jmp 0x1400d97b2
mov eax, dword [0x140112374]
xor edx, edx
div dword [0x140112378]
and eax, 0x8361219c
or eax, 0x7b31a22f
add eax, 0x134183e4
cmp eax, 0xb55206eb
jae 0x1400d9922
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x10]
mov r9, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x40]
mov r10d, dword [0x14011237c]
imul r10d, dword [0x140112380]
xor r10d, 0x69b4a781
add r10d, 0xd417b85d
and r10d, 0x5b28c5ff
mov dword [rbp - 0x48], r10d
mov r8, qword [r8]
mov eax, dword [rax]
add eax, dword [rdx]
cdq
idiv dword [r9]
mov eax, dword [rbp - 0x48]
mov r9d, edx
mov rdx, qword [rbp - 0x10]
movsxd r9, r9d
mov r8b, byte [r8 + r9]
movsxd rdx, dword [rdx]
mov byte [rcx + rdx], r8b
cmp eax, 0xbbe307f4
je 0x1400d96de
jmp 0x1400d974d
mov eax, dword [0x140112384]
imul eax, dword [0x140112388]
and eax, 0x53bb0eb
xor eax, 0xb8c4ed52
xor eax, 0xaf5c1a05
cmp eax, 0x186429cf
jae 0x1400d9965
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x14011238c]
imul eax, dword [0x140112390]
imul eax, eax, 0xda887dd1
mov r8d, 0xcddd0e47
xor edx, edx
div r8d
add eax, 0x9b78a1ae
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0xb3b33c87
je 0x1400d9965
jmp 0x1400d9644
mov eax, dword [0x140112394]
xor edx, edx
div dword [0x140112398]
xor eax, 0x9380546d
sub eax, 0xf02d5855
mov ecx, 0x4b47ad26
xor edx, edx
div ecx
cmp eax, 0x1a2fd563
ja 0x1400d9975
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x14011239c]
add eax, dword [0x1401123a0]
and eax, 0xa71f6df3
xor eax, 0x8611ae80
sub eax, 0x7f96a613
mov dword [rcx], 0
cmp eax, 0x5e405762
jae 0x1400d97de
jmp 0x1400d9813
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, dword [rcx]
jge 0x1400d98aa
mov eax, dword [0x1401123a4]
imul eax, dword [0x1401123a8]
add eax, 0xd84dd0a2
and eax, 0xfa789baa
or eax, 0xb6436ca
cmp eax, 0x7eadedfb
jae 0x1400d9984
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x20]
mov eax, dword [0x1401123ac]
or eax, dword [0x1401123b0]
sub eax, 0xc9003d88
mov r9d, 0xe8ac12aa
xor edx, edx
div r9d
mov rdx, qword [rbp - 0x10]
xor eax, 0x400aa5f8
movsxd r9, dword [rdx]
mov r8b, byte [r8 + r9]
mov rcx, qword [rcx]
movsxd rdx, dword [rdx]
mov byte [rcx + rdx], r8b
cmp eax, 0x4c026ea4
jae 0x1400d9984
jmp 0x1400d989a
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x1400d9813
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
mov edx, dword [rbp - 8]
mov r9d, dword [rbp - 4]
mov r11, qword [rbp]
mov eax, 0x10
mov qword [rbp - 0x50], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov r10, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rcx, rsp
mov eax, 0x40
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x50]
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [r10], r11
mov dword [r8], r9d
mov dword [rcx], edx
mov dword [rax], 0
jmp 0x1400d9591
jmp 0x1400d966c
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
mov eax, dword [rcx]
mov r8d, dword [r8]
add eax, r8d
mov r8d, dword [rdx]
cdq
idiv r8d
mov rax, qword [rbp - 0x20]
mov r8d, edx
mov rdx, qword [rbp - 0x58]
movsxd r8, r8d
mov dl, byte [rdx + r8]
movsxd rcx, dword [rcx]
mov byte [rax + rcx], dl
jmp 0x1400d96de
mov rax, qword [rbp - 0x10]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x1400d9774
mov rax, qword [rbp - 0x10]
mov dword [rax], 0
jmp 0x1400d97de
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x20]
movsxd r8, dword [rcx]
mov dl, byte [rdx + r8]
mov rax, qword [rax]
movsxd rcx, dword [rcx]
mov byte [rax + rcx], dl
jmp 0x1400d984c