Function at 0x1400224f2
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x140022155
mov eax, dword [0x14024bfd8]
mov ecx, dword [0x14024bfdc]
mov edx, 0x71f91996
xor edx, 0xd2804918
xor ecx, edx
and eax, eax
xor eax, 0xffffffff
and ecx, ecx
xor ecx, 0xffffffff
mov edx, 0x2a7ee50
xor edx, 0xfd5811af
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe8e6af06
xor edx, edx
div ecx
mov ecx, 0x28bf5c40
xor ecx, 0x4bd19db6
xor eax, ecx
or eax, 0x9b547d88
cmp eax, 0x1d97b65e
jbe 0x1400224e0
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x14024bfe0]
xor eax, 0x6e8f82ca
mov r8d, dword [0x14024bfe4]
xor r8d, 0xe3d8aaad
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
mov r8d, 0x9819a70c
xor r8d, 0xbcd93d12
sub eax, r8d
mov r8d, 0x5505efd3
xor r8d, 0xa77497e4
and eax, r8d
imul eax, eax, 0x88e6b73c
mov dword [rsp + 0x5c], eax
call fcn.140021e8c
mov eax, dword [rsp + 0x5c]
cmp eax, 0xb8bef511
jbe 0x1400220ea
jmp 0x1400224da
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x1400224da
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14002228f
mov eax, dword [0x14024bfe8]
mov ecx, 0xc80367c5
xor ecx, 0x5f014459
xor eax, ecx
mov ecx, dword [0x14024bfec]
xor ecx, 0xddb1956b
imul eax, ecx
sub eax, 0xe733397b
xor eax, 0xeb4de6f
mov ecx, 0x303c5f95
xor ecx, 0x6460e9e7
sub eax, ecx
cmp eax, 0x47a1bddc
je 0x1400224e9
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov eax, dword [0x14024bff0]
xor eax, 0x6964aed2
mov ecx, dword [0x14024bff4]
xor ecx, 0xe534b090
and eax, ecx
sub eax, 0x50f46788
mov ecx, 0x58563685
xor ecx, 0x58563685
sub ecx, eax
xor eax, eax
sub eax, 0xa9ad7c07
add ecx, eax
mov eax, 0x8228b1f6
xor eax, 0x8228b1f6
sub eax, ecx
mov r10d, 0xffffffff
xor r10d, 0x82235a0d
mov edx, eax
and edx, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x82235a0d
mov r10d, 0x9e09eccb
xor r10d, 0x1c2ab6c6
or eax, r10d
imul eax, edx
add eax, ecx
mov ecx, 0xb45bf04
xor ecx, 0xf97246c7
movabs rdx, 0xbfffffffffffffff
and rdx, qword [r9]
cmp rdx, r8
setl dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
je 0x1400224e9
mov al, byte [rsp + 0x47]
test al, 1
jne 0x14002228f
jmp 0x140022378
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov r9, rcx
sub r9, r8
mov qword [rsp + 0x38], r9
mov rax, r9
xor rax, rcx
cmp rax, 0
setl al
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0x22a180aa9406527f
movabs r10, 0xc6cef96e2fda38d3
xor rcx, r10
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0xe46f79c4bbdc6aac
xor r10, rdx
and r9, r10
movabs r11, 0x57fb92da4239a3a5
movabs rdx, 0xa8046d25bdc65c5a
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0xe46f79c4bbdc6aac
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
or al, al
xor al, 0xff
or cl, cl
xor cl, 0xff
or al, cl
xor al, 0xff
test al, 1
jne 0x14002236e
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.140010b50
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x140022378
call fcn.140008c92
jmp 0x1400224da
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x1400224da
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
movabs rdx, 0x3934783173baa7fd
movabs rax, 0x3934783173baa7dd
xor rdx, rax
call fcn.14000943f
mov r9, qword [rsp + 0x28]
movabs rcx, 0x24b50a8e89255198
movabs rax, 0x24b50a8e89255199
xor rcx, rax
movabs rax, 0x23a00ca535635b37
movabs rdx, 0xdc5ff35aca9ca4c8
xor rax, rdx
xor rcx, rax
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, r9
sub rax, rcx
movabs rcx, 0x84948c699d6706f0
movabs rdx, 0x7b6b73966298f90f
xor rcx, rdx
mov r8, r9
xor r8, rcx
movabs rcx, 0xcb570be100b4d9c7
and r8, rcx
mov r10, 0xffffffffffffffff
movabs rcx, 0xcb570be100b4d9c7
xor r10, rcx
and r9, r10
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0xcb570be100b4d9c7
and rcx, rdx
movabs rdx, 0x20f92eed7c784b75
movabs r11, 0xdf06d1128387b48a
xor rdx, r11
and rdx, r10
or r8, r9
or rcx, rdx
xor r8, rcx
mov rdx, rax
add rdx, 1
mov rcx, rax
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
movabs rdx, 0x75ee368fc54c64a6
movabs r8, 0x75ee368fc54c64a6
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x30], rax
jge 0x14002238f
call fcn.140008c92
nop
add rsp, 0x78
ret
invalid
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140021e8c
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140022070