Function at 0x140054c70
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x58], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.1400476af
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [r8], 0
mov rax, qword [rcx]
mov qword [rbp - 8], rax
mov rax, qword [rcx + 8]
mov qword [rbp], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp + 8], rax
mov rax, qword [rdx]
mov qword [rbp - 0x18], rax
mov rax, qword [rdx + 8]
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x18]
sub rsp, 0x20
call fcn.1400532f0
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov qword [rbp - 0x38], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp - 0x30], rax
jne 0x14005503e
mov rax, qword [rbp - 0x38]
cmp rax, 0xffffffffffffffff
jle 0x140054f00
mov ecx, dword [0x1402436c0]
mov r8d, dword [0x1402436c4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, 0xc1e1c9e1
xor edx, 0x3e1e361e
mov eax, ecx
xor eax, edx
mov edx, 0xdbbf1762
xor edx, 0x8b7fc82b
mov r8d, 0x68c7ea04
xor r8d, 0x973815fb
xor edx, r8d
or eax, edx
and ecx, 0x50c0df49
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x605a3089
xor ecx, 0x9fa5cf76
xor eax, ecx
mov edx, eax
xor edx, 0xe3ab0f34
xor edx, 0xffffffff
and edx, 0xe3ab0f34
mov ecx, 0x81bf3671
xor ecx, 0x81bf3673
imul ecx, edx
sub ecx, 0xe3ab0f34
sub eax, ecx
mov ecx, 0xad33502c
xor ecx, 0xd869efe5
xor edx, edx
div ecx
cmp eax, 0x5d837e03
je 0x140055135
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x58]
mov eax, dword [0x1402436c8]
xor eax, 0xbae562cc
mov r8d, dword [0x1402436cc]
xor r8d, 0x3a111956
or eax, r8d
mov r8d, 0xce5933c5
xor r8d, 0xd94879db
add eax, r8d
or eax, eax
mov r8d, 0x63b96f3f
xor r8d, 0x9c4690c0
xor eax, r8d
mov r8d, 0xa675c9b3
or r8d, 0xa675c9b3
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0xd1a94522
xor r8d, 0x2e56badd
xor eax, r8d
mov r8d, 0x9240c2e9
xor r8d, 0xc1d3688f
xor eax, r8d
mov rdx, qword [rdx]
mov qword [rbp - 0x68], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x59], cl
cmp eax, 0xf25c265
jb 0x140055135
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140054edc
jmp 0x140054e7b
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x68]
movabs rax, 0xddd3b85e42c899f5
movabs r8, 0xa9c7bc72b5913faa
xor rax, r8
sub rdx, rax
movabs rax, 0x74e9bcb77a893161
movabs r8, 0x8b1643488576ce9e
xor rax, r8
add rdx, rax
movabs rax, 0x7414042cf759a65f
add rdx, rax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14005503e
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x58]
mov rax, qword [rax + 8]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x18
mov qword [rbp - 0x30], rax
jmp 0x14005503e
mov eax, dword [0x1402436d0]
xor eax, 0xbbae73f9
mov ecx, dword [0x1402436d4]
mov r8d, eax
xor r8d, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and r8d, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or r8d, eax
xor r8d, 0xffffffff
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2fe2c72c
mov edx, 0xffffffff
xor edx, 0x2fe2c72c
and r8d, edx
mov ecx, 0xe257ef74
xor ecx, 0x5b8ebc65
mov r9d, 0x992182a1
xor r9d, 0x66de7d5e
xor ecx, r9d
and ecx, 0x2fe2c72c
and edx, 0xb9d95311
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0xbbdd7d71
add eax, 0x7ec685be
add eax, 0xbbdd7d71
or eax, 0x1b676669
mov ecx, 0x1d36fc37
xor ecx, 0x1b9af5b3
cmp eax, ecx
jbe 0x14005513e
mov eax, dword [0x1402436d8]
xor eax, 0xd5c9ebf0
mov ecx, dword [0x1402436dc]
mov edx, 0xdef9363a
xor edx, 0xb6c6838
xor ecx, edx
sub eax, ecx
mov ecx, 0x889fad6c
xor edx, edx
div ecx
mov ecx, 0x5c358ff0
xor ecx, 0xdbe727ea
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x50]
add ecx, 0x6c5978d9
sub ecx, 0xb3cbee66
mov edx, 0xe410da5f
xor edx, 0x8849a286
sub ecx, edx
mov dword [rbp - 0x6c], ecx
mov ecx, 0x8694abf4
xor ecx, 0xe93b17ef
mov dword [rbp - 0x70], ecx
mov rcx, qword [rax]
mov qword [rbp - 0x28], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x28]
sub rsp, 0x20
call fcn.140054703
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
jae 0x140054f9d
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14005503e
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x78], rax
mov ecx, dword [0x1402436e0]
add ecx, dword [0x1402436e4]
mov eax, ecx
or eax, 0xf636f14e
mov edx, 0x561f38f3
xor edx, 0xa9e0c70c
xor eax, edx
or ecx, 0xf636f14e
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x5d8ffe07
xor edx, 0xa27001f8
xor ecx, edx
and eax, ecx
mov ecx, 0xe5a069eb
xor edx, edx
div ecx
and eax, 0xe05ddff7
cmp eax, 0x94cdd6e5
je 0x140055147
mov eax, dword [0x1402436e8]
xor edx, edx
div dword [0x1402436ec]
sub eax, 0x8a973862
mov ecx, 0xadcdeed3
xor ecx, 0x1e2ddb26
sub eax, ecx
mov ecx, 0xd96add3a
xor ecx, 0x53fde558
add eax, ecx
mov ecx, 0x8cb42d18
xor ecx, 0xca0bf4c6
xor edx, edx
div ecx
mov ecx, 0x7ac4c97a
xor ecx, 0x853b3685
mov edx, eax
xor edx, ecx
and edx, 0x5b30ac00
mov r8d, 0xda3b5be2
xor r8d, 0x810bf7e2
mov ecx, 0x751b1e1
xor ecx, 0xf8ae4e1e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5b30ac00
or eax, 0x5b30ac00
imul eax, edx
add eax, ecx
cmp eax, 0x6d4564d
je 0x14005509a
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x10]
pop rbp
ret
sub bh, dl
add al, byte [rcx + rbp*8 - 0x68]
cld
invalid
invalid
invalid