Function at 0x1400494b0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
cmp r9, 0
mov qword [rsp + 0x80], r9
jge 0x140049510
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
movabs rdx, 0xd3342e23d1936d20
movabs rcx, 0x2ccbd1dc2e6c92df
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
xor rax, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x48], rdx
add rcx, 8
mov qword [rsp + 0x50], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x5f], cl
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jg 0x140049751
mov eax, dword [0x140252370]
xor eax, 0x61b4b494
mov edx, dword [0x140252374]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x598505
xor ecx, 0x598507
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov edx, 0x60f15972
xor edx, 0xb95788c6
mov ecx, 0x5d9a53ce
xor ecx, 0xa265ac31
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0xda78c421
xor r8d, 0x3de1595
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x222eb9a9
xor edx, edx
div ecx
mov ecx, 0x5b36c0f4
xor edx, edx
div ecx
cmp eax, 0x95838c85
ja 0x140049822
mov cl, byte [rsp + 0x5f]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x78]
mov r9d, dword [0x140252378]
mov r10d, dword [0x14025237c]
xor r10d, 0xb8a2904e
mov eax, r9d
xor eax, r10d
not eax
or r9d, r10d
and r9d, eax
mov r10d, r9d
and r10d, 0x5c1f8017
add r10d, r10d
mov eax, r9d
neg r10d
mov r9d, r10d
lea eax, [rax + r9 - 0x23e07fe9]
mov r9d, eax
not r9d
or r9d, 0x8067d810
and r9d, 0xe8e7d9f8
and eax, 0x11080602
sub eax, r9d
mov r8, qword [r8]
mov qword [rsp + 0x28], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x37], cl
cmp eax, 0x89c31843
jae 0x140049822
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400496bd
jmp 0x14004967f
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
movabs rax, 0x8c945214e38a34f9
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x8c945214e38a34f9
sub rdx, rax
call fcn.140013507
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x40], rax
jmp 0x140049751
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
mov dl, byte [rdx + rax + 8]
mov r8b, dl
shr r8b, 3
movzx r8d, r8b
movzx r8d, byte [rcx + r8]
mov cl, dl
xor cl, 0xff
xor dl, 0xff
and cl, dl
mov dl, 7
or dl, 7
xor dl, 0xff
or cl, dl
xor cl, 0xff
movzx ecx, cl
mov edx, 1
shl edx, cl
mov ecx, edx
mov edx, ecx
xor edx, r8d
xor edx, 0xffffffff
or ecx, r8d
and ecx, edx
mov edx, 0xe432c1ef
xor edx, 0xe432c1ef
cmp ecx, edx
mov qword [rsp + 0x40], rax
jne 0x140049751
mov rax, qword [rsp + 0x38]
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x140049540
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov eax, dword [0x140252380]
mov ecx, dword [0x140252384]
xor ecx, 0xb59d94f
xor edx, edx
div ecx
sub eax, 0x75008907
mov r8d, 0xffffffff
xor r8d, 0x49a82a3
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xeba6b271
xor r8d, 0x14594d8e
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x49a82a3
mov r8d, 0x102e9b5
xor r8d, 0x5986b16
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x990403d3
mov edx, 0xffffffff
xor edx, 0x990403d3
and eax, edx
sub eax, ecx
cmp eax, 0xf8d1f913
ja 0x14004982b
mov eax, dword [0x140252388]
and eax, dword [0x14025238c]
mov ecx, eax
and ecx, 0x95c9bae6
shl ecx, 1
xor eax, 0x95c9bae6
add eax, ecx
or eax, 0x224ae529
add eax, 0xd77ec23b
cmp eax, 0x2999e996
jbe 0x1400497e2
jmp 0xc613c1aa
mov rax, qword [rsp + 0x20]
add rsp, 0x88
ret
push rcx
xchg ebp, eax
add ch, 0xe9
mov ecx, 0x2afffffd
sbb byte [rbp - 0x23], dh
sub bl, byte [rax]
jne 0x14004980c
jmp 0x1400497e2