Function at 0x1400ef250
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rdx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov eax, 0x10
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.1400eed0f
mov rdx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov rax, qword [rdx]
mov qword [rbp + 0x18], rax
cmp rax, 0
jge 0x1400ef2ca
mov rcx, qword [rbp + 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x1400ef6b9
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.140019c50
mov rdx, qword [rbp + 8]
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rdx]
add rdx, 8
mov qword [rbp - 0x38], rdx
add rax, 8
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x20]
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x40], rax
mov eax, dword [0x1401f9820]
or eax, dword [0x1401f9824]
xor ecx, ecx
sub ecx, 0x4d4c8c8d
add eax, ecx
imul eax, eax, 0x9e4dbab9
mov edx, 0xffffffff
xor edx, 0x51586d63
mov ecx, eax
and ecx, edx
mov r8d, 0x7d5434ff
xor r8d, 0x2c0c599c
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x2a0cad94
je 0x1400ef6c3
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x1401f9828]
xor eax, 0xbd0d4ee2
mov r10d, dword [0x1401f982c]
mov r9d, 0x76742c02
xor r9d, 0x898bd3fd
mov r8d, eax
xor r8d, r9d
mov r9d, r10d
and r9d, r8d
mov r11d, r10d
xor r11d, 0xffffffff
mov r8d, eax
and r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
xor r8d, r8d
sub r8d, 0xd70aa6e1
add eax, r8d
and eax, 0x1feea3b6
mov r10d, 0xe7730eda
xor r10d, 0x7565f360
mov r8d, 0x7b7e3340
xor r8d, 0x8481ccbf
xor r10d, r8d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x9216fdba
or eax, 0x9216fdba
imul eax, r9d
add eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x7f054f59
je 0x1400ef36d
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400ef6b9
jmp 0x1400ef43e
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x1400ef474
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x1400ef6b9
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x5a], al
mov cl, 0x2b
mov byte [rbp - 0x59], cl
add al, 0xe0
movzx ecx, al
mov qword [rbp - 0x58], rcx
sub al, 0x5e
ja case.0x1400ef4b4.2
mov cl, byte [rbp - 0x59]
mov rax, qword [rbp - 0x58]
lea rdx, [0x1400ef6d8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
mov byte [rbp - 0x5b], cl
jmp rax
mov al, byte [rbp - 0x5a]
mov byte [rbp - 0x5b], al
jmp case.0x1400ef4b4.0
mov rcx, qword [rbp - 0x10]
mov edx, 0x25
sub rsp, 0x20
call fcn.1400eed2a
mov al, byte [rbp - 0x5a]
mov rcx, qword [rbp]
add rsp, 0x20
movzx eax, al
mov edx, eax
mov r8d, 2
sub rsp, 0x20
call fcn.1400ee440
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x1400ef556
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14001a700
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp + 0x20], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x20]
sub rsp, 0x20
call fcn.1400ef854
add rsp, 0x20
mov rax, qword [rbp - 0x68]
cmp rax, 0
je 0x1400ef648
mov eax, dword [0x1401f9830]
mov edx, dword [0x1401f9834]
mov ecx, eax
xor ecx, edx
mov r8d, 0xc6b7da7
xor r8d, 0xf3948258
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
imul eax, eax, 0x8886e886
xor ecx, ecx
sub ecx, 0x87d67f62
sub eax, ecx
mov ecx, 0xe14d74c8
xor ecx, 0x51d22a4e
and eax, ecx
cmp eax, 0x5bea23a1
jb 0x1400ef6cc
mov rcx, qword [rbp - 0x68]
mov eax, dword [0x1401f9838]
mov edx, dword [0x1401f983c]
mov r8d, 0x399c0354
xor r8d, 0xf8ad9f28
xor edx, r8d
sub eax, edx
mov r8d, 0x8fe49760
xor edx, edx
div r8d
mov r8d, 0x5700bb4f
xor edx, edx
div r8d
xor edx, edx
sub edx, 0x277a25b8
sub eax, edx
mov rcx, qword [rcx]
movabs rdx, 0x79545ad5f604f30b
movabs r8, 0x39545ad5f604f30b
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x2c7ef2d0
ja 0x1400ef5b3
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1400ef637
jmp 0x1400ef648
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp + 0x10]
cmp byte [rax], 0
je 0x1400ef66e
jmp 0x1400ef6b9
mov rcx, qword [rbp - 0x10]
mov dl, byte [rbp - 0x5b]
sub rsp, 0x20
call fcn.1400eed2a
add rsp, 0x20
mov rax, qword [rbp - 0x40]
movabs rdx, 0xd6c69943e01b1df
movabs rcx, 0xd6c69943e01b1de
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
movabs rdx, 0x68d7315dcf382d08
movabs r8, 0x68d7315dcf382d09
xor rdx, r8
xor rax, rdx
add rax, rcx
mov qword [rbp - 0x18], rax
jmp 0x1400ef319
mov rax, qword [rbp - 8]
lea rsp, [rbp + 0x30]
pop rbp
ret
mov al, 0x77
jmp 0x1400ef36d
in al, 0xd8
sub cl, ah
jmp 0x1400ef5b3