Function at 0x14002e7f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x60
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
mov r8, qword [rcx]
movabs rcx, 0xb23976228b42fb45
movabs rax, 0x4dc689dd74bd04ba
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rsp + 0x58], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14002e86c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
add rcx, 8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
jmp 0x14002e876
call fcn.1400077a3
jmp 0x14002ea0d
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1401d67c8]
mov edx, dword [0x1401d67cc]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
and ecx, 0x3590d229
xor ecx, 0xffffffff
mov edx, 0xfdf9bdb
xor edx, 0x3a4f49f2
add eax, edx
add eax, 1
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xb3d54101
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
and eax, 0x4cec6d1d
xor ecx, 0x4cec6d1d
or eax, ecx
cmp eax, 0xcd9339a5
ja 0x14002eb63
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1401d67d0]
mov edx, 0xd2bf1c12
xor edx, 0x517d80d8
xor eax, edx
and eax, dword [0x1401d67d4]
add eax, 0x70624c89
mov r8d, 0x8ece1533
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x48]
add eax, 0xc28d8813
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x835c6a75
je 0x14002e8dd
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14002ea00
jmp 0x14002e93b
mov rax, qword [rsp + 0x30]
cmp rax, 0
jl 0x14002e95d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
cmp rax, qword [rcx]
jl 0x14002e96a
mov rcx, rdx
call fcn.140013580
jmp 0x14002ea0d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
call fcn.14002e690
mov rcx, qword [rsp + 0x30]
movabs rdx, 0x1efa775eafe3cad4
mov rax, rcx
sub rax, rdx
add rax, 0xffffffffffffffff
movabs rdx, 0x1efa775eafe3cad4
add rax, rdx
mov rdx, rax
xor rdx, rcx
movabs r8, 0xdec61cf5cb28dd14
movabs r9, 0xdec61cf5cb28dd14
xor r8, r9
cmp rdx, r8
setl r8b
cmp rcx, 0
setne dl
xor r8b, 0xff
mov cl, dl
xor cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x14002e9f6
jmp 0x14002e876
call fcn.1400077a3
jmp 0x14002ea0d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov r11d, dword [0x1401d67d8]
xor r11d, 0x4c945162
mov r10d, dword [str.upB_Y]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0x7191801c
xor edx, 0x29b7b5b5
mov eax, 0x1518a3be
xor eax, 0xeae75c41
xor edx, eax
mov r9d, 0x485afe4a
xor r9d, 0x107ccbe3
mov eax, ecx
and eax, r9d
and r11d, edx
mov esi, 0x4e21e008
xor esi, 0x1607d5a1
mov r9d, r8d
and r9d, esi
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x582635a9
and ecx, edx
or eax, ecx
sub eax, 0x27ab14e5
add eax, 0x5aba3129
or eax, 0xff22540a
mov ecx, 0x6463f521
xor ecx, 0x106b8884
cmp eax, ecx
jbe 0x14002eb6c
mov ecx, dword [0x1401d67e0]
mov r8d, dword [0x1401d67e4]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x33be94cd
xor r9d, 0xcc416b32
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0x89edec51
xor r8d, 0x761213ae
xor edx, r8d
or ecx, edx
and eax, ecx
mov ecx, 0x4b3edec7
xor ecx, 0xb4c12138
xor eax, ecx
mov ecx, 0x695512df
xor ecx, 0xd7aba590
or eax, ecx
xor ecx, ecx
sub ecx, 0xa9348590
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc943bbd0
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc943bbd0
mov r8d, 0x64089b0d
xor r8d, 0xad4b20dd
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x3bf86076
jb 0x14002eaaa
add rsp, 0x60
pop rsi
ret
or cl, bl
movabs al, byte [0xd934fffffd71e9a9]
xor al, 0xd9
pop si
jmp 0x14002eaaa