Function at 0x140053de0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x120
mov qword [rsp + 0xd0], rcx
call fcn.1400476b5
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x110], 0
lea rax, [rsp + 0x110]
add rax, 8
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x118], 0
mov rcx, qword [rcx]
movabs rdx, 0x5f887f0655bad1d7
movabs rax, 0x5f887f0655bad1d5
xor rdx, rax
lea r8, [rsp + 0x108]
call fcn.14004847c
test al, 1
jne 0x140053e65
jmp 0x140053e6f
call fcn.1400077a3
jmp 0x14005468b
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xc8], rax
movabs rcx, 0x22ee85f5d5cfe215
movabs rdx, 0x22ee85f5d5cfe215
xor rcx, rdx
cmp rax, rcx
jge 0x140053edf
mov rcx, qword [rsp + 0xc8]
movabs rdx, 0xfce6780ea4efa27a
movabs rax, 0xfce6780ea4efa27a
xor rdx, rax
movabs r8, 0x80c9d2351d1173fc
movabs rax, 0xff362dcae2ee8c03
xor r8, rax
call fcn.14000d167
jmp 0x14005468b
mov rdx, qword [rsp + 0xc8]
lea rcx, [rsp + 0x110]
call fcn.140023547
mov r8, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xe0]
mov rdx, qword [r8]
mov qword [rsp + 0xa8], rdx
mov rcx, r8
add rcx, 8
mov qword [rsp + 0xb0], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rsp + 0x110]
mov qword [r8], r9
mov r9, qword [rsp + 0x118]
mov qword [r8 + 8], r9
mov qword [rsp + 0x110], rdx
mov qword [rax], rcx
lea rax, [rsp + 0xf8]
add rax, 8
mov qword [rsp + 0xb8], rax
xor eax, eax
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
cmp rax, rcx
jge 0x14005465e
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
setns al
mov rdx, qword [rsp + 0x110]
mov qword [rsp + 0x98], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140054009
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
movabs rax, 0xfbd512c39d975df1
movabs r8, 0x42aed3c6268a20e
xor rax, r8
movabs r8, 0xe47ebc609d89e40f
movabs r9, 0x1b81439f62761bf0
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140013580
jmp 0x14005468b
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rsp + 0x88], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0x97], al
or al, cl
test al, 1
jne 0x140054577
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
movabs rdx, 0xf49006504f9bffc3
add rax, rdx
add rax, 0xffffffffffffffff
movabs rdx, 0xf49006504f9bffc3
sub rax, rdx
and rax, rcx
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x70], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400540e8
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.140013580
jmp 0x14005468b
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
movabs rcx, 0x5c7f64511cf72cef
movabs rdx, 0x5c7f64511cf72cef
xor rcx, rdx
cmp rax, rcx
je 0x14005417b
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
movabs r8, 0x8e435069bd396f3
movabs r9, 0xf71bcaf9642c690c
xor r8, r9
xor rdx, r8
add rdx, rax
call fcn.140048560
mov rcx, qword [rsp + 0xd8]
cmp byte [rcx], 0
mov qword [rsp + 0x80], rax
je 0x14005408f
jmp 0x14005468b
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x68], rcx
cmp rax, rcx
jl 0x1400541e4
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x68]
movabs rax, 0x297f061bb3026332
add rdx, rax
movabs rax, 0x372d66c1b6c9e233
movabs r8, 0xc8d2993e49361dcc
xor rax, r8
add rdx, rax
movabs rax, 0x297f061bb3026332
sub rdx, rax
call fcn.140013580
jmp 0x14005468b
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x58], rax
call fcn.140010510
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x60], rcx
cmp rax, rcx
jl 0x140054255
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffff
call fcn.140013580
jmp 0x14005468b
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
call fcn.14011481c
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x88]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xf8], r11
mov qword [rcx], r8
lea r8, [rsp + 0xf8]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140053c74
mov rax, qword [rsp + 0xd8]
mov al, byte [rax]
mov cl, 0x13
xor cl, 0x13
cmp al, cl
jne 0x14005468b
mov r11d, dword [0x1401d7690]
mov eax, 0xeb81a2d1
xor eax, 0x2b7e1baf
xor r11d, eax
mov ecx, dword [0x1401d7694]
mov eax, r11d
xor eax, ecx
xor eax, 0xffffffff
mov edx, ecx
and edx, eax
mov eax, 0x83a515ed
xor eax, 0x83a515ef
imul eax, edx
sub eax, ecx
sub r11d, eax
mov eax, r11d
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa33ed7f
mov r8d, 0xffffffff
xor r8d, 0x3ed7916c
mov ecx, eax
and ecx, 0x3ed7916c
and r11d, r8d
mov r9d, edx
and r9d, 0x3ed7916c
mov r10d, r8d
and r10d, 0xa33ed7f
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xd7dba84
xor edx, 0x33aa2be8
or edx, r8d
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x710766d6
mov edx, 0x9d1a666e
xor edx, 0xec1d00b8
mov r8d, 0x1ed057aa
xor r8d, 0xe12fa855
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xaad1c2a6
xor ecx, 0x87924919
add eax, ecx
sub eax, 0x51b70c37
sub eax, 0x2d438bbf
cmp eax, 0x9a1504e9
jbe 0x140054695
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1401d7698]
xor eax, 0xbc8d785b
mov edx, dword [0x1401d769c]
xor edx, 0xffffffff
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
and eax, 0xb9f919db
mov edx, 0xc365a37c
xor edx, 0xda9a930e
sub eax, edx
and eax, 0x26870fc8
cmp rcx, 0
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0x7c8ec55d
ja 0x140054695
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140054600
jmp 0x14005442c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x24cc7e49a7822472
movabs r8, 0x64cc7e49a7822472
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140054600
mov eax, dword [0x1401d76a0]
xor eax, 0x9322231a
mov ecx, dword [0x1401d76a4]
xor ecx, 0x758511f
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x7128bc67
add eax, ecx
mov ecx, eax
xor ecx, 0xfc090c19
xor ecx, 0xffffffff
or eax, 0xfc090c19
and eax, ecx
sub eax, 0xd1fb53b6
mov ecx, 0x48159950
xor ecx, 0x15f5f97f
add eax, ecx
add eax, 0xd1fb53b6
cmp eax, 0x195ce06d
jbe 0x14005469e
mov rcx, qword [rsp + 0x58]
mov esi, dword [0x1401d76a8]
mov r11d, dword [0x1401d76ac]
mov edx, esi
xor edx, 0xffffffff
mov r8d, r11d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xd5450fbc
mov eax, edx
and eax, 0xd5450fbc
and esi, r9d
mov r10d, r8d
and r10d, 0xd5450fbc
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
mov r8d, 0xf660bb13
xor r8d, 0x99f44ec
xor edx, r8d
mov r8d, 0xcbf992f9
xor r8d, 0x1ebc9d45
or r8d, r9d
and edx, r8d
or eax, edx
sub eax, 0x69b86649
mov edx, 0x3b2fec38
xor edx, 0x6cadd2db
xor eax, edx
or eax, 0x8dc9936c
mov dword [rsp + 0x40], eax
mov eax, 0xa62e8f8
xor eax, 0x5975e933
mov dword [rsp + 0x3c], eax
call fcn.14000eb2e
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
cmp eax, ecx
jb 0x14005469e
jmp 0x140054600
mov eax, dword [0x1401d76b0]
mov ecx, dword [0x1401d76b4]
xor ecx, 0x6f543daa
sub eax, ecx
mov ecx, 0xa55c1dac
xor edx, edx
div ecx
and eax, 0x1e1073d6
and eax, 0x534afe16
cmp eax, 0x462f0637
je 0x1400546a7
mov eax, dword [0x1401d76b8]
add eax, dword [0x1401d76bc]
add eax, 0xd6b6d5de
or eax, 0x1e94cc1b
mov ecx, 0x635bb2db
xor ecx, 0x931e8e99
imul eax, ecx
cmp eax, 0x433cd255
je 0x1400545a9
mov rcx, qword [rsp + 0xa0]
mov dl, byte [rsp + 0x97]
xor eax, eax
test dl, 1
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x3b], al
jne 0x14005463f
jmp 0x140054600
mov rax, qword [rsp + 0xa0]
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, rax
sub rcx, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x3b], al
jge 0x14005463f
call fcn.1400077a3
jmp 0x14005468b
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3b]
test cl, 1
mov qword [rsp + 0xc0], rax
jne 0x140053f62
jmp 0x14005468b
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xe8]
call fcn.14004e370
nop
add rsp, 0x120
pop rsi
ret
sub al, 0xcd
mov ebx, 0xfd2be95a
invalid
xchg dword cs:[rbx], ebx
jmp 0x1400544c2
nop
int3