Function at 0x140029740
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rsp + 0x50], rax
movabs rcx, 0xb7137da69a96efb5
movabs rdx, 0x48ec82596569104a
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400297cb
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x1400297d5
call fcn.140007e9d
jmp 0x140029a54
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jl 0x140029a47
mov eax, dword [0x1402514f8]
xor edx, edx
div dword [0x1402514fc]
mov ecx, eax
mov eax, ecx
and eax, 0x2feade10
mov edx, 0xaf3e7f84
xor edx, 0x80d4a194
or ecx, edx
add eax, ecx
imul eax, eax, 0x82b76215
mov ecx, 0x54874dd0
xor edx, edx
div ecx
cmp eax, 0x6f07d23d
je 0x140029a59
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x140251500]
xor edx, edx
div dword [0x140251504]
imul eax, eax, 0x6ecae1c2
mov edx, 0xc1122302
xor edx, 0x31d48f0b
or eax, edx
add eax, 0xe3925d63
movabs rdx, 0xd31b0db6a2c8815b
movabs r8, 0xd31b0db6a2c8815b
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x27], cl
cmp eax, 0xc2b4c97a
jb 0x140029a59
mov al, byte [rsp + 0x27]
test al, 1
jne 0x1400298a8
jmp 0x140029895
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
jl 0x1400298b5
mov rcx, rdx
call fcn.140013507
jmp 0x140029a54
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
call fcn.140029600
mov rcx, qword [rsp + 0x28]
mov rax, rcx
add rax, 0xffffffffffffffff
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
movabs r8, 0xd467b10481527a43
movabs r9, 0xd467b10481527a41
xor r8, r9
imul r8, rdx
sub r8, rcx
mov rdx, rax
sub rdx, r8
movabs r8, 0x81d6990eec0b32e8
movabs r9, 0x81d6990eec0b32e8
xor r8, r9
cmp rdx, r8
setl dl
movabs r8, 0xb166830bc5deb2b4
movabs r9, 0xb166830bc5deb2b4
xor r8, r9
cmp rcx, r8
setne cl
and cl, dl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x140029961
jmp 0x1400297d5
mov eax, dword [0x140251508]
mov edx, dword [0x14025150c]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov r8d, 0x1fd7f437
xor r8d, 0x30122dc0
mov ecx, 0xf1cbfef6
xor ecx, 0xe340109
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x2fc5d9f7
or eax, 0x2fc5d9f7
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xde16d015
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xde16d015
add eax, edx
sub eax, ecx
imul eax, eax, 0x7fd5b927
mov ecx, 0xd6acda19
xor ecx, 0x5f468ad
cmp eax, ecx
jae 0x140029a62
mov ecx, dword [0x140251510]
mov eax, 0x521aad5
xor eax, 0x54f48854
xor ecx, eax
or ecx, dword [0x140251514]
mov eax, ecx
and eax, 0x5b2935f7
mov edx, 0x4e3b3bcb
xor edx, 0x15120e3c
or ecx, edx
add eax, ecx
imul eax, eax, 0x23df3a57
mov ecx, 0xc9260b81
xor ecx, 0x1e813706
or eax, ecx
mov dword [rsp + 0x20], eax
call fcn.140007e9d
mov eax, dword [rsp + 0x20]
cmp eax, 0x3da1f61f
jbe 0x1400299e9
jmp 0x140029a54
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
add rsp, 0x58
ret
leave
and ebp, edi
sub eax, 0xfffdcbe9
dec dword [rax - 0x14]
in al, dx
mov word [rdx - 0x17], gs
jle 0x140029a68
invalid
invalid