Function at 0x140112b60
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], rdx
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rcx, qword [rax + 8]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x50], rax
jg 0x140112ba6
mov rcx, qword [rsp + 0x48]
call fcn.140010280
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1401dc3e8]
mov edx, dword [0x1401dc3ec]
xor edx, 0x875984a9
mov eax, ecx
or eax, eax
mov r8d, 0x91274378
xor r8d, 0x6ed8bc87
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or ecx, edx
mov edx, 0xeecebfeb
xor edx, 0x11314014
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or eax, 0x40774408
mov edx, 0xf153919f
xor edx, 0xeac6e60
mov ecx, eax
xor ecx, edx
mov edx, 0x3bd2c6c8
xor edx, 0x13d30a35
and edx, ecx
mov r8d, 0x62b1649d
xor r8d, 0x4ab0a860
mov ecx, 0xf18a5606
xor ecx, 0xe75a9f9
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x1aa8ea8
xor r8d, 0x29ab4255
mov edx, eax
and edx, r8d
or eax, 0x2801ccfd
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xe87924c4
mov edx, 0x8bf56756
xor edx, 0x8bf56756
mov r8d, 0x4bd2a872
xor r8d, 0x4bd2a873
sub edx, r8d
sub ecx, edx
sub eax, ecx
cmp eax, 0xdea4e058
je 0x140112f19
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov ebp, dword [0x1401dc3f0]
xor ebp, 0x605c445d
mov ecx, dword [0x1401dc3f4]
xor ecx, 0x91f7e849
mov eax, ecx
and eax, ebp
xor eax, 0xffffffff
add ebp, ecx
mov ecx, 0xd11a60e2
xor ecx, 0xd11a60e3
add ebp, ecx
add ebp, eax
mov eax, ebp
xor eax, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xaa45cb35
mov esi, 0xffffffff
xor esi, 0x26895f4c
mov ecx, eax
and ecx, 0x26895f4c
and ebp, esi
mov ebx, 0xc5e2a479
xor ebx, 0xe36bfb35
mov edi, r10d
and edi, ebx
mov ebx, 0xd8adae81
xor ebx, 0x72e865b4
and ebx, esi
or ecx, ebp
or edi, ebx
xor ecx, edi
or eax, r10d
xor eax, 0xffffffff
mov r10d, 0x81a3442f
xor r10d, 0xa72a1b63
or r10d, esi
and eax, r10d
or ecx, eax
mov eax, 0x871f7834
xor eax, 0x66d7932e
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r10d, 0x37e42f59
xor r10d, 0xc81bd0a6
xor ecx, r10d
or eax, ecx
mov ecx, 0x3494c5b8
and ecx, 0x3494c5b8
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x5795332f
xor ecx, 0xa86accd0
xor eax, ecx
mov ecx, 0x2b9c0a51
xor ecx, 0x7e635f07
mov rdx, qword [rdx + 0x10]
mov rsi, r8
shl rsi, 4
mov r10, rdx
add r10, rsi
mov qword [r10], r11
mov r10, r8
shl r10, 4
add rdx, r10
add rdx, 8
mov qword [rdx], r9
xor edx, edx
mov r9d, edx
sub r9, r8
xor edx, edx
sub rdx, 1
add r9, rdx
xor edx, edx
sub rdx, r9
mov qword [rsp + 0x20], rdx
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r9, 0x396cb3da254a2f8e
movabs r10, 0xc6934c25dab5d071
xor r9, r10
xor r8, r9
mov r9, 0xffffffffffffffff
movabs r10, 0x324cd2efc850207d
xor r9, r10
or rdx, r8
movabs r8, 0x1377613aa739d85
movabs r10, 0x337ba4fc6223bdf8
xor r8, r10
or r8, r9
movabs r9, 0xfce30f20f4da8c77
movabs r10, 0x31cf0df0b257388
xor r9, r10
xor rdx, r9
and rdx, r8
movabs r8, 0x360c55fb62ed06cd
movabs r9, 0x360c55fb62ed06cd
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
jae 0x140112f19
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140112e7b
jmp 0x140112e85
call fcn.1400077a3
jmp 0x140112f10
mov eax, dword [str.FO_r]
xor eax, 0x8fbae6a1
xor eax, dword [0x1401dc3fc]
mov ecx, 0xa07c5cb2
xor ecx, 0x23a64198
xor edx, edx
div ecx
mov ecx, 0xf751ecd3
xor ecx, 0x9286e00b
and eax, ecx
or eax, 0xb7f4d6d
mov ecx, 0x2950b56b
xor ecx, 0xb6f858f5
cmp eax, ecx
ja 0x140112f22
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x20]
mov eax, dword [0x1401dc400]
xor eax, 0x74e63f10
imul eax, dword [0x1401dc404]
and eax, 0xc7596bba
xor r8d, r8d
sub r8d, 0x4445a5e4
add eax, r8d
add eax, 0x1c2ce38c
mov qword [rcx], rdx
cmp eax, 0x4ec665df
je 0x140112eca
jmp 0x140112f10
add byte [rax], al
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
ret
loop 0x140112f0e
or byte [rbp - 0x28417], cl
inc dword [rdx - 0x3f]
pushfq
test cl, ch
lahf
invalid
rcr dword [rsp + r8*4 - 0x6017], 0xff
nop dword [rax + rax]