Function at 0x140054060
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rcx
call fcn.14004b700
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x14005422d
mov eax, dword [0x1402029b0]
mov ecx, dword [0x1402029b4]
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x1d6e85e9
xor ecx, 0x1d6e85e8
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd74b8047
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd74b8047
or eax, 0xd74b8047
imul eax, edx
add eax, ecx
sub eax, 0xb5d7b698
xor eax, 0x3f27a3a6
mov ecx, 0x9749c838
xor ecx, 0xe7c76395
cmp eax, ecx
je 0x140054395
mov edx, dword [0x1402029b8]
mov ecx, dword [0x1402029bc]
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x73e1eb07
xor r8d, 0x8c1e14f8
xor edx, r8d
and eax, edx
or ecx, ecx
mov edx, 0x48fdb7c0
xor edx, 0xb702483f
xor ecx, edx
or eax, ecx
mov ecx, 0xf6e59933
xor ecx, 0x91a66cc
xor eax, ecx
mov ecx, 0x398b1297
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
mov ecx, eax
mov eax, ecx
or eax, 0x54bb0633
xor eax, 0xffffffff
or ecx, 0x54bb0633
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x649fcd5e
xor ecx, 0xa7337508
and eax, ecx
mov ecx, 0xc7f9d683
xor ecx, 0xbcd10727
mov r8, qword [rdx]
movabs r9, 0x4000000000000000
mov rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xcd0fc1d6301ad856
movabs r10, 0x32f03e29cfe527a9
xor r9, r10
xor r8, r9
movabs r9, 0xb586aa5b14e2bed2
movabs r10, 0xf586aa5b14e2bed2
xor r9, r10
movabs r10, 0x6a68d6fb04704e77
movabs r11, 0x95972904fb8fb188
xor r10, r11
xor r9, r10
or r8, r9
movabs r9, 0xeb33f62d8e40eb08
movabs r10, 0x14cc09d271bf14f7
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
cmp rdx, 0
sete dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
je 0x1400540f5
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140054223
jmp 0x14005422d
mov rcx, qword [rsp + 0x50]
call fcn.14000fb44
mov rax, qword [rsp + 0x40]
mov rcx, rax
add rcx, 0x18
mov qword [rsp + 0x30], rcx
mov rcx, qword [rax + 0x18]
mov rdx, qword [0x140216ef8]
call fcn.14005383b
test al, 1
jne 0x14005425b
jmp 0x140054390
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
call fcn.14014d350
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
jne 0x140054390
mov eax, dword [0x1402029c0]
xor edx, edx
div dword [0x1402029c4]
mov ecx, eax
mov eax, 0x9ab89759
xor eax, 0x654768a6
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x10eab2a9
mov eax, 0xffffffff
xor eax, 0x447b45dc
or ecx, edx
or eax, 0x447b45dc
xor ecx, 0xffffffff
and ecx, eax
mov edx, 0xa446a854
xor edx, 0x43af2f85
mov eax, ecx
and eax, edx
mov edx, 0x61179862
xor edx, 0x86fe1fb3
or ecx, edx
add eax, ecx
mov ecx, 0x994696b5
xor edx, edx
div ecx
mov ecx, 0xb625598c
xor ecx, 0xfcc8ad38
cmp eax, ecx
jae 0x14005439e
mov rax, qword [rsp + 0x30]
mov ecx, dword [0x1402029c8]
mov r8d, dword [0x1402029cc]
mov edx, ecx
xor edx, r8d
mov r9d, 0xef10abd7
xor r9d, 0x10ef5428
xor edx, r9d
mov r9d, r8d
and r9d, edx
mov edx, 0x287ba96d
xor edx, 0x287ba96f
imul edx, r9d
sub edx, r8d
sub ecx, edx
imul ecx, ecx, 0xba385f80
xor edx, edx
sub edx, 0xde5225ae
add ecx, edx
mov edx, ecx
and edx, 0xa22e01ef
mov r8d, 0xd847d1fc
xor r8d, 0x27b82e03
xor edx, r8d
mov r8d, 0x7baa2d54
xor r8d, 0xd9842cbb
add ecx, r8d
add ecx, 1
add ecx, edx
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rax]
mov edx, 8
call fcn.14000fb9a
mov eax, dword [rsp + 0x2c]
cmp eax, 0xdfebe439
ja 0x1400542ed
jmp 0x140054390
add rsp, 0x58
ret
invalid
invalid
jae 0x14005439c
int1
cmp eax, 0xffff46e9
jmp qword [rsi + 0xf]