Function at 0x140050390
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp - 8], rax
mov eax, dword [0x1401d7560]
mov ecx, 0xb24daae7
xor ecx, 0x13bfb597
xor eax, ecx
mov edx, dword [0x1401d7564]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
or eax, 0x438629a6
imul eax, eax, 0xe9cc806c
or eax, 0x68cefe82
cmp eax, 0x523934cc
jb 0x14005088b
mov eax, dword [0x1401d7568]
mov ecx, dword [0x1401d756c]
xor eax, 0x80010540
not ecx
or eax, ecx
not eax
or eax, 0x7db8d83c
imul eax, eax, 0xdb310dd9
mov dword [rbp - 0x44], eax
mov eax, 0x10
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.1400476b5
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x44]
mov qword [rbp - 0x40], rcx
test r8, r8
setns cl
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
sub rdx, r8
setg dl
and cl, dl
mov byte [rbp - 0x29], cl
cmp eax, 0xf5b29928
je 0x1400503f8
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400504c5
jmp 0x140050483
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x38]
movabs r8, 0x784f24ef1f4c5a69
movabs rax, 0x87b0db10e0b3a596
xor r8, rax
mov rax, rdx
and rax, r8
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x1400507bc
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x20]
mov r9, rcx
add r9, 8
mov qword [rbp - 0x60], r9
mov rcx, qword [rcx + 8]
add rcx, 8
shl r8, 5
add rcx, r8
add rcx, 8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001976a
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, rcx
jg 0x14005054e
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x58]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x1400507bc
mov edx, dword [0x1401d7570]
xor edx, 0xef5e171c
mov ecx, dword [0x1401d7574]
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x8646b4de
xor r8d, 0x79b94b21
xor edx, r8d
and eax, edx
or ecx, ecx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x39645b76
xor ecx, 0xc69ba489
xor eax, ecx
mov ecx, 0x3f629d94
xor ecx, 0x9d1f1181
xor edx, edx
div ecx
xor eax, 0xec280eaa
mov ecx, 0xf831003d
xor ecx, 0xb3967cf
xor edx, edx
div ecx
cmp eax, 0x9fdf806b
ja 0x140050894
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x60]
mov r8d, dword [0x1401d7578]
imul r8d, dword [0x1401d757c]
mov r9d, 0x75441e18
xor r9d, 0x8abbe1e7
mov r10d, r8d
xor r10d, r9d
and r10d, 0x37309624
mov r11d, 0xffffffff
xor r11d, 0x37309624
mov r9d, r8d
and r9d, r11d
imul r9d, r10d
mov r10d, r8d
and r10d, 0x37309624
or r8d, 0x37309624
imul r8d, r10d
add r8d, r9d
sub r8d, 0x413abf4f
add r8d, 0xe32dc65e
add r8d, 0x413abf4f
imul r8d, r8d, 0xee6abc3d
mov dword [rbp - 0x68], r8d
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
sub rsp, 0x20
call fcn.140122280
mov rcx, qword [rbp - 0x40]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0xf2af72e4
je 0x140050894
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140050687
jmp 0x1400507bc
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, rcx
jg 0x1400506d3
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x70]
movabs rax, 0x1abbed537a1ca1fb
movabs r8, 0xe54412ac85e35e04
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x1400507bc
mov eax, dword [0x1401d7580]
or eax, dword [0x1401d7584]
mov ecx, 0x750f2b0
xor ecx, 0x71a46ea1
and eax, ecx
mov ecx, 0xc992245
xor ecx, 0x9593586
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb3dff5a3
xor edx, 0xe7002b6b
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x54dfdec8
and eax, edx
sub eax, ecx
cmp eax, 0x6bbcd54c
je 0x14005089d
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x1401d7588]
mov r9d, dword [0x1401d758c]
xor r9d, 0xa427055f
sub eax, r9d
mov r9d, 0x24986218
xor r9d, 0xd6c3d9d3
and eax, r9d
mov r9d, 0x8f1ab9cb
xor r9d, 0x3775aa15
or eax, r9d
mov r10d, 0xb707bfcf
xor r10d, 0x68f3a427
mov r9d, 0x8a26566
xor r9d, 0xf75d9a99
xor r10d, r9d
mov r9d, eax
and r9d, r10d
mov r10d, eax
xor r10d, 0xdff41be8
add eax, r10d
sub eax, r9d
mov rcx, qword [rcx]
add rcx, 8
shl r8, 5
add rcx, r8
mov qword [rcx], rdx
cmp eax, 0x13dc83f
jbe 0x14005089d
jmp 0x1400507bc
mov ecx, dword [0x1401d7590]
imul ecx, dword [0x1401d7594]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9c3351a
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9c3351a
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7c10f1d2
xor ecx, 0xec2e8299
sub eax, ecx
and eax, 0x3eccc6d8
cmp eax, 0x43f91ad5
je 0x1400508a6
mov eax, dword [0x1401d7598]
mov ecx, 0xf3bb3c0f
xor ecx, 0xe7e879dc
xor eax, ecx
mov edx, dword [0x1401d759c]
mov ecx, edx
and ecx, eax
mov r8d, 0x2267d97b
xor r8d, 0xdd982684
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
or eax, eax
mov ecx, 0x4b899745
xor ecx, 0xb47668ba
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x7c8319d9
mov edx, 0xffffffff
xor edx, 0x7c8319d9
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x9d4845b7
xor edx, edx
div ecx
add eax, 0xdf14a09d
cmp eax, 0xb6715fd8
jbe 0x1400508a6
mov rsp, rbp
pop rbp
ret
cli
cwde
cmpsb byte [rsi], byte [rdi]
jmp 0x1400503f8
invalid
retf 0x1e09
adc ebx, dword [rbx + 0x5ee9cfc6]
invalid