Function at 0x14022eb30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x58], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov qword [rsp + 0x68], rax
add rax, 0x60
mov qword [rsp + 0x50], rax
mov edx, 8
mov rcx, rdx
call fcn.140025b10
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
call fcn.14020c4b0
mov rcx, qword [rsp + 0x68]
mov al, 1
cmp byte [rcx + 0x60], 0
mov byte [rsp + 0x77], al
jne 0x14022ed8c
mov rcx, qword [rsp + 0x58]
call fcn.14022a320
mov rcx, qword [rsp + 0x50]
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x77], al
jne 0x14022ed8c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov al, byte [rax + 0x29]
mov cl, 0x9a
xor cl, 0x9a
cmp al, cl
je 0x14022ed81
mov ecx, 0x30
mov edx, 8
call fcn.140035850
mov qword [rsp + 0x40], rax
mov qword [rax], 0
mov dword [rax + 8], 2
mov cx, 0xf065
xor cx, 0xf083
call fcn.14008d810
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rcx
mov cl, byte [rax]
mov dl, 0x52
xor dl, 0x52
mov al, 1
cmp cl, dl
mov byte [rsp + 0x77], al
jne 0x14022ed8c
mov eax, dword [0x1402b6838]
xor edx, edx
div dword [0x1402b683c]
mov r8d, 0xffffffff
xor r8d, 0xa63f4a1c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa63f4a1c
or eax, 0xa63f4a1c
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0xe7d87a9b
add eax, ecx
mov ecx, 0xf03a657c
xor edx, edx
div ecx
mov ecx, 0xbb52f6f5
xor ecx, 0x4d389915
cmp eax, ecx
ja 0x14022ef7c
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1402b6840]
xor eax, dword [0x1402b6844]
sub eax, 0xee7b721
sub eax, 0x3ab43b4c
and eax, 0xd1025028
movabs rdx, 0x2679821f7b6d0dfd
movabs r8, 0xd9867de0fb6d0dfd
xor rdx, r8
add rcx, rdx
movabs rdx, 0xed107283fd7f4fed
movabs r8, 0x12ef8d7cfd7f4fed
xor rdx, r8
cmp rcx, rdx
setb cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xe7899400
ja 0x14022ef7c
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14022eceb
jmp 0x14022ed07
mov rcx, qword [rsp + 0x48]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.140018506
jmp 0x14022ed81
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov dword [rax + 0xc], ecx
lea rcx, [rsp + 0x78]
call fcn.1400a2de0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x18], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rsp + 0x77], al
jne 0x14022ed8c
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rcx, qword [0x1402c4d30]
mov qword [rdx + 0x20], rcx
mov rcx, qword [str._M__]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
call fcn.140042db0
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov byte [rsp + 0x77], al
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov dl, byte [rsp + 0x77]
mov byte [rsp + 0x3e], dl
mov byte [rax], 0
call fcn.14020b2c0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x14022edc7
mov al, byte [rsp + 0x3e]
mov rcx, qword [rsp + 0x50]
mov byte [rcx], al
cmp al, 0
je 0x14022ef74
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
cmp word [rax + 0x12], 1
jle 0x14022ef74
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14022ef74
mov rax, qword [rsp + 0x50]
mov cl, 0xae
xor cl, 0xae
mov byte [rax], cl
call fcn.14022a2b8
mov rcx, rax
call fcn.1400c0539
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x14022ef74
mov r11d, dword [0x1402b6848]
mov eax, dword [0x1402b684c]
sub r11d, 0xd98f1f19
add r11d, eax
mov eax, 0x2faf579d
xor eax, 0xf6204884
add r11d, eax
xor r11d, 0x55627ac0
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xba7177d4
mov edx, 0xeb1311b
xor edx, 0x761ca442
mov eax, 0x10d1b05d
xor eax, 0xef2e4fa2
xor edx, eax
mov eax, ecx
and eax, 0x78ad9559
and r11d, edx
mov r10d, 0xa5fd385e
xor r10d, 0xdd50ad07
mov r9d, r8d
and r9d, r10d
mov r10d, 0xc2750119
xor r10d, 0x780476cd
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xf8fc50f9
xor r8d, 0x703af06
xor ecx, r8d
or edx, 0x78ad9559
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x923c790d
mov r8d, 0xffffffff
xor r8d, 0x923c790d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x923c790d
or eax, 0x923c790d
imul eax, edx
add eax, ecx
cmp eax, 0x7f7d4f0f
ja 0x14022ef85
mov eax, dword [0x1402b6850]
or eax, dword [str.JTe]
xor ecx, ecx
sub ecx, eax
mov eax, 0x151efda0
xor eax, 0x151efda0
mov edx, 0x6f5a5594
xor edx, 0x4ad5c029
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0x1d069cfc
add eax, 0x6cdf9b3b
sub eax, 0x92ad4176
mov ecx, 0x582cc508
xor ecx, 0x34f35e33
sub eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.14022a289
mov eax, dword [rsp + 0x2c]
cmp eax, 0x8ecc9b1c
jae 0x14022ef0e
jmp 0x14022ef74
add rsp, 0x88
ret
sub cl, byte [0x1300bf3ba]
cld
invalid
sub esp, dword [rdi]
jg 0x14022ef6f
jmp 0x14022ef0e