Function at 0x1400d6960
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov eax, dword [0x140111fc4]
sub eax, dword [0x140111fc8]
xor eax, 0xa7d0af5a
mov ecx, 0x5e4deb67
xor edx, edx
div ecx
or eax, 0x90e82410
cmp eax, 0x51183cd7
jb 0x1400d6ffb
mov rcx, qword [rbp + 0x18]
mov r9, qword [rbp + 0x20]
mov r11, qword [rbp + 0x28]
mov eax, dword [0x140111fcc]
mov edx, dword [0x140111fd0]
sub eax, edx
imul rax, rax, 0x5cccb09f
shr rax, 0x3d
add eax, 0xaa99530b
mov dword [rbp + 0x14], eax
mov eax, 0x10
mov qword [rbp - 0x18], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov r10, rsp
mov qword [rbp - 0x40], r10
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov r8, rsp
mov qword [rbp - 0x38], r8
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rdx, rsp
mov qword [rbp - 8], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov eax, 0x40
mov qword [rbp - 0x28], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rdx, rsp
mov qword [rbp - 0x30], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x28]
mov rdx, rsp
mov qword [rbp - 0x20], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rdx, rsp
mov qword [rbp - 0x10], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 8]
mov rdx, rsp
mov qword [rbp], rdx
mov qword [r10], r11
mov qword [r8], r9
mov qword [rax], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400d7410
mov rcx, qword [rbp + 8]
mov eax, dword [rbp + 0x14]
add rsp, 0x20
mov dword [rcx], 0
cmp eax, 0x2540627c
je 0x1400d6ffb
jmp 0x1400d6aaf
mov eax, dword [0x140111fd4]
and eax, dword [0x140111fd8]
imul eax, eax, 0x12c8efda
sub eax, 0xd7fca112
add eax, 0x5959be47
cmp eax, 0xd35cf108
jb 0x1400d70b4
mov rcx, qword [rbp + 8]
mov eax, dword [0x140111fdc]
xor eax, dword [0x140111fe0]
add eax, 0x2a58eb71
and eax, 0xd3fb934f
sub eax, 0x8c5201c6
cmp dword [rcx], 0x40
setl cl
mov byte [rbp - 0x41], cl
cmp eax, 0xd435c617
jae 0x1400d70b4
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400d6b19
jmp 0x1400d6c51
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov eax, dword [rax]
mov r8d, 8
cdq
idiv r8d
mov edx, eax
mov rax, qword [rbp + 8]
movsxd rdx, edx
movzx r10d, byte [rcx + rdx]
mov eax, dword [rax]
mov ecx, 8
cdq
idiv ecx
mov rax, qword [rbp + 8]
mov r8d, edx
mov rdx, qword [rbp - 0x20]
mov ecx, 7
sub ecx, r8d
mov r8d, 1
shl r8d, cl
mov rcx, qword [rbp]
and r10d, r8d
xor r8d, r8d
mov r9d, 1
cmp r10d, 0
cmovne r8d, r9d
mov r9b, r8b
movsxd r8, dword [rax]
mov byte [rdx + r8], r9b
mov eax, dword [rax]
mov r8d, 8
cdq
idiv r8d
mov edx, eax
mov rax, qword [rbp + 8]
movsxd rdx, edx
movzx r10d, byte [rcx + rdx]
mov eax, dword [rax]
mov ecx, 8
cdq
idiv ecx
mov rax, qword [rbp - 0x30]
mov r8d, edx
mov rdx, qword [rbp - 0x10]
mov ecx, 7
sub ecx, r8d
mov r8d, 1
shl r8d, cl
mov rcx, qword [rbp + 8]
and r10d, r8d
xor r8d, r8d
mov r9d, 1
cmp r10d, 0
cmovne r8d, r9d
mov r9b, r8b
movsxd r8, dword [rcx]
mov byte [rdx + r8], r9b
movsxd rcx, dword [rcx]
mov byte [rax + rcx], 0
mov eax, dword [0x140111fe4]
sub eax, dword [0x140111fe8]
xor eax, 0x580e8f96
add eax, 0x5a1f5436
sub eax, 0x100305bb
cmp eax, 0x7bdf2f63
jbe 0x1400d70b9
mov rcx, qword [rbp + 8]
mov eax, dword [0x140111fec]
xor eax, dword [0x140111ff0]
or eax, 0x5a7e553a
and eax, 0x12bcd5b0
mov r8d, 0x983c3e44
xor edx, edx
div r8d
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0x921facb0
je 0x1400d70b9
jmp 0x1400d6aaf
mov eax, dword [0x140111ff4]
add eax, dword [0x140111ff8]
mov ecx, 0xed1ab155
xor edx, edx
div ecx
mov ecx, 0x9291f3ab
xor edx, edx
div ecx
and eax, 0xfeacc959
cmp eax, 0x6011dffd
ja 0x1400d70c9
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
mov eax, dword [str.Fe_]
or eax, dword [0x140112000]
add eax, 0xef4ab392
sub eax, 0xd7302ea3
and eax, 0x50d45e3
mov dword [rbp - 0x48], eax
sub rsp, 0x20
call fcn.1400d7840
mov rcx, qword [rbp + 8]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
mov dword [rcx], 0
cmp eax, 0xef1c58d4
je 0x1400d70c9
jmp 0x1400d6cd3
mov eax, dword [0x140112004]
and eax, dword [0x140112008]
and eax, 0x938e3067
xor eax, 0xdcf09130
imul eax, eax, 0xe4b8ec24
cmp eax, 0x51056cfd
je 0x1400d70f1
mov rcx, qword [rbp + 8]
mov eax, dword [0x14011200c]
and eax, dword [0x140112010]
imul eax, eax, 0x370ce72b
and eax, 0x8d543220
xor eax, 0xd373d790
cmp dword [rcx], 8
setl cl
mov byte [rbp - 0x49], cl
cmp eax, 0x8844c1f0
je 0x1400d70f1
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1400d6d3e
jmp 0x1400d6db7
mov eax, dword [0x140112014]
xor edx, edx
div dword [0x140112018]
or eax, 0x96126478
and eax, 0x42ce648b
mov ecx, 0xc1996377
xor edx, edx
div ecx
cmp eax, 0x7c387c97
jae 0x1400d70f6
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x14011201c]
sub eax, dword [0x140112020]
xor eax, 0x3b01eb0f
or eax, 0xd78a369e
add eax, 0x6b081d7e
mov rcx, qword [rcx]
movsxd rdx, dword [rdx]
mov byte [rcx + rdx], 0
cmp eax, 0xd92cfe
jbe 0x1400d6d6a
jmp 0x1400d6da7
mov rax, qword [rbp + 8]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x1400d6cd3
mov eax, dword [0x140112024]
xor edx, edx
div dword [0x140112028]
mov ecx, 0x465c25cd
xor edx, edx
div ecx
mov ecx, 0xfecd8d1d
xor edx, edx
div ecx
imul eax, eax, 0x1f2d6873
cmp eax, 0x96bb0937
je 0x1400d710d
mov rcx, qword [rbp + 8]
mov eax, dword [0x14011202c]
sub eax, dword [0x140112030]
sub eax, 0xba21aa42
add eax, 0x53a08ed0
add eax, 0xf5cb221b
mov dword [rcx], 0
cmp eax, 0x25c06d57
jb 0x1400d6de8
jmp 0x1400d6e1d
mov rax, qword [rbp + 8]
cmp dword [rax], 0x40
jge 0x1400d6ff5
mov eax, dword [0x140112034]
add eax, dword [0x140112038]
imul eax, eax, 0x4ef689e2
and eax, 0xdf58d8e6
sub eax, 0xa61a9a0c
cmp eax, 0xafbf6425
ja 0x1400d711c
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 8]
mov eax, dword [0x14011203c]
sub eax, dword [0x140112040]
imul eax, eax, 0x9ce5a999
xor eax, 0x1257c51
or eax, 0xc21253e9
movsxd rdx, dword [rdx]
cmp byte [rcx + rdx], 0
setne cl
mov byte [rbp - 0x4a], cl
cmp eax, 0xbb38b4ca
je 0x1400d6e51
mov al, byte [rbp - 0x4a]
test al, 1
jne 0x1400d6e9d
jmp 0x1400d6f45
mov eax, dword [0x140112044]
xor eax, dword [0x140112048]
xor eax, 0x2f71c84f
mov ecx, 0xbe9783cd
xor edx, edx
div ecx
mov ecx, 0xaa7c2bde
xor edx, edx
div ecx
cmp eax, 0x237d39d6
jae 0x1400d7121
mov rax, qword [rbp + 8]
mov ecx, dword [0x14011204c]
and ecx, dword [0x140112050]
or ecx, 0x5bd77537
and ecx, 0x3802cde
imul ecx, ecx, 0x292892b1
mov dword [rbp - 0x50], ecx
mov eax, dword [rax]
mov ecx, 8
cdq
idiv ecx
mov rax, qword [rbp + 8]
mov ecx, 7
sub ecx, edx
mov r9d, 1
shl r9d, cl
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov eax, dword [rax]
mov r8d, 8
cdq
idiv r8d
mov edx, eax
mov eax, dword [rbp - 0x50]
movsxd rdx, edx
movzx r8d, byte [rcx + rdx]
or r8d, r9d
mov byte [rcx + rdx], r8b
cmp eax, 0xbca37a6f
jae 0x1400d6ecb
jmp 0x1400d6f45
mov eax, dword [0x140112054]
or eax, dword [0x140112058]
sub eax, 0x51665a10
add eax, 0xb1fdaf9c
add eax, 0x7c4de69e
cmp eax, 0x8d37d43
je 0x1400d7170
mov eax, dword [0x14011205c]
sub eax, dword [0x140112060]
imul eax, eax, 0x34aea154
and eax, 0xd98562d3
xor eax, 0xe43fbfc7
cmp eax, 0x49a1c21e
je 0x1400d6f6b
jmp 0x1400d6f97
mov eax, dword [0x140112064]
xor eax, dword [0x140112068]
imul eax, eax, 0xaf4e3b26
and eax, 0xc2ac4d26
add eax, 0x5dc30b50
cmp eax, 0x9c063d49
jbe 0x1400d7175
mov rcx, qword [rbp + 8]
mov eax, dword [0x14011206c]
sub eax, dword [0x140112070]
imul eax, eax, 0x1d65095c
sub eax, 0xf1f4a319
add eax, 0xe4400865
mov edx, dword [rcx]
add edx, 1
mov dword [rcx], edx
cmp eax, 0xd524a46a
jae 0x1400d6fbe
jmp 0x1400d6e1d
lea rsp, [rbp + 0x30]
pop rbp
ret
mov rcx, qword [rbp + 0x18]
mov r9, qword [rbp + 0x20]
mov r11, qword [rbp + 0x28]
mov eax, 0x10
mov qword [rbp - 0x68], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x68]
mov r10, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x68]
mov r8, rsp
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x68]
mov rdx, rsp
mov qword [rbp - 0x60], rdx
call fcn.1400ec140
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x40
mov qword [rbp - 0x70], rax
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x70]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x68]
call fcn.1400ec140
sub rsp, rax
mov rax, qword [rbp - 0x60]
mov rdx, rsp
mov qword [r10], r11
mov qword [r8], r9
mov qword [rax], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400d7410
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov dword [rax], 0
jmp 0x1400d69a6
jmp 0x1400d6ad6
mov rax, qword [rbp + 8]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x1400d6c15
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400d7840
mov rax, qword [rbp + 8]
add rsp, 0x20
mov dword [rax], 0
jmp 0x1400d6c7f
jmp 0x1400d6cfa
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
movsxd rcx, dword [rcx]
mov byte [rax + rcx], 0
jmp 0x1400d6d6a
mov rax, qword [rbp + 8]
mov dword [rax], 0
jmp 0x1400d6de8
jmp 0x1400d6e51
mov rax, qword [rbp + 8]
mov eax, dword [rax]
mov ecx, 8
cdq
idiv ecx
mov rax, qword [rbp + 8]
mov ecx, 7
sub ecx, edx
mov r8d, 1
shl r8d, cl
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
mov eax, dword [rax]
mov ecx, 8
cdq
idiv ecx
mov ecx, eax
mov rax, qword [rbp - 0x78]
movsxd rcx, ecx
movzx edx, byte [rax + rcx]
or edx, r8d
mov byte [rax + rcx], dl
jmp 0x1400d6ecb
jmp 0x1400d6f6b
mov rax, qword [rbp + 8]
mov ecx, dword [rax]
add ecx, 1
mov dword [rax], ecx
jmp 0x1400d6fbe