Function at 0x140033a40
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rcx]
mov qword [rsp + 0x60], rdx
mov rax, rcx
add rax, 8
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
xor ecx, ecx
mov r8d, ecx
sub r8, 1
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0x78], rcx
mov r9, rdx
xor r9, 0xffffffffffffffff
movabs r8, 0x10d7e29ffbe16447
movabs r10, 0xef281d60041e9bb8
xor r8, r10
and r8, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, rdx
mov rdx, rcx
add rdx, 1
movabs r9, 0x7583a7f15b1f61f6
movabs r10, 0x8a7c580ea4e09e09
xor r9, r10
xor rcx, r9
or rcx, r8
add rcx, rdx
mov qword [rsp + 0x80], rcx
cmp rax, 0
je 0x140033b43
mov rax, qword [rsp + 0x80]
cmp rax, 0
jl 0x140033b39
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rax]
movabs r8, 0xb5c68f2ccdbaf12a
movabs r9, 0xa3970d332450ed5
xor r8, r9
and rcx, r8
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jl 0x140033b43
jmp 0x140033db9
call fcn.1400067fe
jmp 0x140033deb
mov eax, dword [0x1401dc9c8]
mov ecx, dword [str.j4l_r]
xor ecx, 0x335c72aa
xor edx, edx
div ecx
mov ecx, 0x7f576e4d
xor ecx, 0x7f576e4d
mov edx, 0x742594ff
xor edx, 0x39d94d38
sub ecx, edx
sub eax, ecx
mov edx, 0x14bf7ce6
xor edx, 0x14bf7ce7
mov ecx, eax
add ecx, edx
mov edx, 0xa072890c
xor edx, 0x5f8d76f3
xor eax, edx
or eax, 0xb9362e06
add eax, ecx
sub eax, 0xa41b5f5a
mov ecx, 0xae61f5d1
xor ecx, 0x55cb5f07
cmp eax, ecx
ja 0x140033df4
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x1401dc9d0]
mov r9d, dword [0x1401dc9d4]
xor r9d, 0xa05036ee
mov r8d, 0xb7746af2
xor r8d, 0xb7746af2
sub r8d, eax
xor eax, eax
sub eax, r9d
add r8d, eax
xor eax, eax
sub eax, r8d
imul eax, eax, 0xcad5d7df
mov r9d, 0x6781dd91
xor r9d, 0x228c20cc
mov r8d, eax
and r8d, r9d
mov r9d, 0xdb079514
xor r9d, 0xdb079516
imul r8d, r9d
xor eax, 0x450dfd5d
add eax, r8d
xor eax, 0x16e59c4d
mov dword [rsp + 0x34], eax
mov r8d, 1
mov r9d, 0x28
mov qword [rsp + 0x20], 8
call fcn.140011560
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov r8, rax
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x38], r8
mov qword [rdx], r8
movabs rdx, 0x3d81b7467714056
movabs r8, 0x3d81b7467714056
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xe90b7b75
jae 0x140033bae
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x140033ca2
jmp 0x140033db9
mov eax, dword [0x1401dc9d8]
xor eax, 0x71a766fe
xor edx, edx
div dword [0x1401dc9dc]
xor eax, 0xd25a03b0
or eax, 0x6e45af3b
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xca33d1f0
xor edx, 0x7d9cfb44
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xb7af2ab4
and eax, edx
sub eax, ecx
cmp eax, 0x77a2612f
ja 0x140033dfd
mov eax, dword [0x1401dc9e0]
xor eax, 0x33f55e99
xor edx, edx
div dword [0x1401dc9e4]
mov ecx, eax
mov edx, 0xee0ccf97
xor edx, 0x11f33068
mov eax, ecx
xor eax, edx
mov edx, 0xaadc9ca9
xor edx, 0x3af13df7
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0x902da15e
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x4ef0627
xor r8d, 0x94c2a779
mov edx, ecx
and edx, r8d
or ecx, 0x902da15e
imul ecx, edx
add ecx, eax
mov edx, 0x52d68993
xor edx, 0xad29766c
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x5de0151c
mov edx, 0x9dd88003
xor edx, 0xc038951f
mov r8d, 0x7a519492
xor r8d, 0x85ae6b6d
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xefafc135
xor ecx, 0xda2aa5a3
add eax, ecx
mov dword [rsp + 0x30], eax
call fcn.1400067fe
mov eax, dword [rsp + 0x30]
cmp eax, 0x29797eec
je 0x140033ceb
jmp 0x140033deb
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
mov qword [r8], r9
add rcx, 8
imul rax, rax, 0x28
add rcx, rax
mov r8d, 0x28
call sub.msvcrt.dll_memcpy
nop
add rsp, 0x88
ret
add al, 0x17
add edx, edi
jmp 0x140033bae
invalid