Function at 0x140047a30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xd8], rcx
call fcn.1400476af
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
movabs rax, 0x16e4b640f8132671
movabs rdx, 0x16e4b640f8132671
xor rax, rdx
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0x108]
add rax, 8
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x110], 0
mov rcx, qword [rcx]
mov edx, 2
lea r8, [rsp + 0x100]
call fcn.140048340
test al, 1
jne 0x140047ab5
jmp 0x140047abf
call fcn.140008d37
jmp 0x14004830a
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xd0], rax
cmp rax, 0
jge 0x140047b9f
mov eax, dword [0x1402430a0]
mov ecx, dword [0x1402430a4]
mov edx, 0x7f6e515
xor edx, 0x3395a675
add eax, edx
add eax, ecx
sub eax, 0x34634360
mov ecx, 0x2633ee24
xor edx, edx
div ecx
mov ecx, 0xd6b43527
xor ecx, 0x7d3af77a
xor edx, edx
div ecx
add eax, 0x2796f17d
mov ecx, 0xc389ca46
xor ecx, 0xa3aedc2e
cmp eax, ecx
ja 0x140048313
mov rcx, qword [rsp + 0xd0]
mov edx, dword [0x1402430a8]
xor edx, 0x1fabde1
add edx, dword [0x1402430ac]
mov eax, 0x88c940f4
xor eax, 0x7671b331
or edx, eax
or edx, 0xe1f51676
mov eax, edx
and eax, 0xa3074bdf
mov r8d, 0xf63842aa
xor r8d, 0x553f0975
xor edx, r8d
or eax, edx
mov dword [rsp + 0xcc], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000db87
mov eax, dword [rsp + 0xcc]
cmp eax, 0xc0c342cc
jb 0x140048313
jmp 0x14004830a
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x108]
call fcn.1400156a4
mov r8, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [r8]
mov qword [rsp + 0xb0], rdx
mov rcx, r8
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rsp + 0x108]
mov qword [r8], r9
mov r9, qword [rsp + 0x110]
mov qword [r8 + 8], r9
mov qword [rsp + 0x108], rdx
mov qword [rax], rcx
xor eax, eax
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa8], rax
cmp rax, rcx
jge 0x1400482dd
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
setns al
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0xa0], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140047c91
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
movabs rax, 0xeb5ea5e592cf1ae3
movabs r8, 0x14a15a1a6d30e51c
xor rax, r8
add rdx, rax
call fcn.140012b72
jmp 0x14004830a
mov eax, dword [0x1402430b0]
xor eax, 0x8bf3e4f8
xor eax, dword [0x1402430b4]
mov ecx, 0xac1e88a
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0xb54e91a3
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb54e91a3
add eax, edx
sub eax, ecx
mov ecx, 0x9281ceb2
xor edx, edx
div ecx
mov ecx, 0xe9da0e97
xor ecx, 0x2ac87022
cmp eax, ecx
je 0x14004831c
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xe8]
mov eax, dword [0x1402430b8]
mov r9d, dword [0x1402430bc]
sub eax, r9d
mov r9d, eax
imul r9, r9, 0x2b6f8955
shr r9, 0x20
sub eax, r9d
shr eax, 1
add eax, r9d
shr eax, 0x1f
mov r10d, eax
xor r10d, 0xb3b27333
mov r9d, eax
mov eax, r10d
lea eax, [rax + r9*2]
imul eax, eax, 0x3be6d779
mov rdx, qword [rdx]
lea r8, [r8 + r8*2]
mov rdx, qword [rdx + r8*8 + 8]
mov qword [rsp + 0x90], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rsp + 0x9e], cl
or cl, dl
mov byte [rsp + 0x9f], cl
cmp eax, 0xbddc593c
jae 0x140047ce2
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x1400480df
jmp 0x140047d8d
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
movabs rdx, 0xe04333935ccfc6a7
movabs r8, 0xe04333935ccfc6a7
xor rdx, r8
movabs r8, 0x319271a830d05f54
movabs r9, 0xce6d8e57cf2fa0ab
xor r8, r9
sub rdx, r8
sub rax, rdx
and rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x80], rax
mov eax, dword [0x1402430c0]
xor eax, 0xcbf5dc00
mov edx, dword [0x1402430c4]
xor edx, 0x75c8b53c
mov ecx, eax
add ecx, 1
mov r8d, 0xaa8f0a9f
xor r8d, 0x5570f560
xor eax, r8d
or eax, edx
add eax, ecx
mov ecx, 0x8d44c65b
xor ecx, 0x72bb39a4
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xab0ea6db
mov ecx, 0xffffffff
xor ecx, 0xd582500f
or eax, edx
or ecx, 0xd582500f
xor eax, 0xffffffff
and eax, ecx
mov r8d, 0xdc75c203
xor r8d, 0x91e40865
mov ecx, 0x75548181
xor ecx, 0x8aab7e7e
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, 0x4d91ca66
or eax, 0x4d91ca66
imul eax, edx
add eax, ecx
and eax, 0xdb7246c4
cmp eax, 0x219dec02
jbe 0x140048325
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0xd8]
mov eax, dword [0x1402430c8]
mov ecx, dword [0x1402430cc]
sub eax, ecx
or eax, 0xfe024c5
add eax, 0x7a895cca
mov ecx, 0x9744bb23
imul rax, rcx
shr rax, 0x3e
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0x70], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x7f], cl
cmp eax, 0xae6dede
je 0x140048325
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x140047f30
jmp 0x140047f07
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.140012b72
jmp 0x14004830a
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
cmp qword [rax], 0
je 0x140047fa6
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
movabs rax, 0xb0b557cbe89b6d77
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xb0b557cbe89b6d77
sub rdx, rax
call fcn.140048570
mov rcx, qword [rsp + 0xe0]
cmp byte [rcx], 0
mov qword [rsp + 0x88], rax
je 0x140047ddf
jmp 0x14004830a
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x68], rcx
cmp rax, rcx
jl 0x140047fed
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x68]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.140012b72
jmp 0x14004830a
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 8
mov eax, dword [rcx]
mov dword [rsp + 0x5c], eax
call fcn.1400156ce
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x60], rcx
cmp rax, rcx
jl 0x140048069
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x60]
movabs rax, 0xef891425e2bcee05
movabs r8, 0x1076ebda1d4311fa
xor rax, r8
add rdx, rax
call fcn.140012b72
jmp 0x14004830a
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov qword [rsp + 0x50], rax
call fcn.14009c0a0
mov rdx, qword [rsp + 0xd8]
mov r8d, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140047880
mov rax, qword [rsp + 0xe0]
cmp byte [rax], 0
je 0x140048107
jmp 0x14004830a
mov rcx, qword [rsp + 0xa8]
mov dl, byte [rsp + 0x9e]
xor eax, eax
test dl, 1
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x4f], al
jne 0x1400482be
jmp 0x140048107
mov eax, dword [0x1402430d0]
imul eax, dword [0x1402430d4]
sub eax, 0x632cfb56
mov ecx, 0x94630f84
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x3c2d9558
add eax, ecx
cmp eax, 0x36ffb2bd
je 0x14004832e
mov r8, qword [rsp + 0xa8]
mov eax, dword [0x1402430d8]
mov ecx, dword [0x1402430dc]
mov edx, 0x52c073a6
xor edx, 0x2faa0aa1
xor ecx, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0xbc2233bb
xor edx, 0x43ddcc44
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xb6bd33de
mov r9d, 0xffffffff
xor r9d, 0xb6bd33de
and edx, r9d
mov r9d, 0xd0d8a765
xor r9d, 0x2f27589a
xor eax, r9d
mov r9d, 0x6e2e7a0c
xor r9d, 0x91d185f3
xor edx, r9d
and eax, edx
mov edx, 0xb23e9961
xor edx, 0x483aabf
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
and eax, 0xb8879540
add eax, 0xa21f2931
mov rcx, r8
add rcx, 1
mov qword [rsp + 0x30], rcx
mov rdx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r9, 0xe30b7c93945789b0
movabs r10, 0x1cf4836c6ba8764f
xor r9, r10
movabs r10, 0xee4bea08964a74c6
movabs r11, 0x11b415f769b58b39
xor r10, r11
xor r9, r10
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and r9, r10
movabs r10, 0x16fe78dda00c0346
movabs r11, 0xe90187225ff3fcb9
xor r10, r11
xor rdx, r10
movabs r10, 0x5cd5bad52a457cd
movabs r11, 0xfa32a452ad5ba832
xor r10, r11
xor r9, r10
and rdx, r9
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xff473dba
ja 0x14004813c
mov rcx, qword [rsp + 0x30]
mov dl, byte [rsp + 0x3f]
mov al, 1
test dl, 1
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x4f], al
jne 0x1400482b4
jmp 0x1400482be
call fcn.140008d37
jmp 0x14004830a
mov rax, qword [rsp + 0x40]
mov cl, byte [rsp + 0x4f]
test cl, 1
mov qword [rsp + 0xc0], rax
jne 0x140047c0e
jmp 0x14004830a
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0xf0]
call fcn.140046c90
nop
add rsp, 0x118
ret
invalid
imul ebp, dword [rdx - 0x4216b6e9], 0x21fffff9
or ch, byte [0x13b736cfb]
and dword [rdx], ecx
sub eax, 0xfb6ee9cf
invalid
push rsi
and ch, cl
add eax, 0x66fffffe
nop dword [rax + rax]