Function at 0x140030ac0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x50], r8
mov rax, rcx
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x60], rax
mov rdx, r8
and rdx, 1
shl rdx, 1
mov rcx, r8
xor rcx, 1
add rcx, rdx
mov qword [rsp + 0x68], rcx
mov r9, r8
xor r9, 0xffffffffffffffff
movabs rdx, 0x77c30bb74fefbd1c
movabs r10, 0x883cf448b01042e3
xor rdx, r10
and rdx, r9
movabs r9, 0x2ba8ab25144d8c81
movabs r10, 0xd45754daebb2737e
xor r9, r10
movabs r10, 0x2d5f8f6ed4ae8913
movabs r11, 0xd2a070912b5176ec
xor r10, r11
xor r9, r10
and r8, r9
or rdx, r8
and rcx, rdx
mov qword [rsp + 0x70], rcx
cmp rax, 0
je 0x140030e26
mov rax, qword [rsp + 0x70]
movabs rcx, 0x4f5fc50d1766d2f5
movabs rdx, 0x4f5fc50d1766d2f5
xor rcx, rdx
cmp rax, rcx
jl 0x140030d0a
mov eax, dword [0x140217918]
mov ecx, dword [0x14021791c]
mov edx, 0xf7ef2d68
xor edx, 0xc4733923
xor ecx, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xe4b10073
xor ecx, 0xffffffff
or eax, 0xe4b10073
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x391b0f59
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x391b0f59
or eax, 0x391b0f59
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x68f440c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x566cecb8
xor r8d, 0x50e3a8b4
mov edx, eax
and edx, r8d
mov r8d, 0x9ffa2beb
xor r8d, 0x99756fe7
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xecf2d2ef
xor ecx, 0x50eec049
cmp eax, ecx
jae 0x140030e96
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140217920]
mov edx, 0x81200443
xor edx, 0xd7cbe4bc
xor eax, edx
xor eax, dword [0x140217924]
mov r8d, 0x5f79213
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0x1303b7a7
add r8d, eax
xor eax, eax
sub eax, r8d
and eax, 0xd19f9a5
mov rcx, qword [rcx]
movabs r9, 0xbfffffffffffffff
mov r8, rcx
xor r8, r9
movabs r9, 0x6d9e089be294bf49
movabs r10, 0x9261f7641d6b40b6
xor r9, r10
xor r8, r9
movabs r9, 0x41a1cb428a5a56a1
movabs r10, 0xfe5e34bd75a5a95e
xor r9, r10
or rcx, r9
and rcx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xa2334495
je 0x140030c47
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x30], rax
jne 0x140030e26
jmp 0x140030e70
mov eax, dword [0x140217928]
mov r8d, dword [0x14021792c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul ecx, eax, 0x4e9d85db
mov eax, ecx
and eax, 0xa75565a2
or ecx, 0xa75565a2
add eax, ecx
mov ecx, 0xf5c82d90
xor ecx, 0x5d935678
and eax, ecx
cmp eax, 0xe2997923
jae 0x140030e9f
mov eax, dword [0x140217930]
mov r8d, dword [0x140217934]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0x28108631
mov ecx, 0x31bf90ef
xor ecx, 0x9fbd8f85
sub eax, ecx
mov ecx, 0x5516ba69
xor ecx, 0x7d063c58
add eax, ecx
sub eax, 0xb582a34d
sub eax, 0x31d78a80
mov ecx, 0xdf90318f
xor ecx, 0x6a1292c2
add eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xcbd359e2
mov ecx, 0xb086aa09
xor ecx, 0x176f341f
mov r8d, 0xf9102933
xor r8d, 0x6efd6cc
xor ecx, r8d
or eax, edx
or ecx, 0xa7e99e16
xor eax, 0xffffffff
and eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x2c]
cmp eax, 0xbfe38410
jae 0x140030d6a
jmp 0x140030e91
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140013020
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov qword [rdx], rax
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x140030e70
call fcn.140008bc6
jmp 0x140030e91
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x30]
mov qword [r8], r9
mov qword [rax + rcx*8 + 8], rdx
add rsp, 0x78
ret
enter 0x7cd2, 0xffffffffffffffe9
test al, 0xfd
invalid
and al, 0xee
push 0xffffffffffffffc6
jmp 0x140030d6a