Function at 0x140045840
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x1401f4ff0]
mov edx, dword [0x1401f4ff4]
xor edx, 0x25e6766c
mov r8d, eax
xor r8d, edx
mov ecx, 0x6e7ebc6e
xor ecx, 0x91814391
xor r8d, ecx
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x67e7eac8
xor ecx, 0xad1d467d
mov edx, 0x5a9bb9ac
xor edx, 0xa5644653
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xcafaacb5
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x52cb0f0f
xor ecx, 0x95c5b2e0
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xf2d6dca2
add eax, ecx
cmp eax, 0xe1ef8836
ja 0x140045afc
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401f4ff8]
xor eax, 0x7d6042eb
mov r9d, dword [0x1401f4ffc]
mov r8d, r9d
and r8d, eax
add eax, r9d
sub eax, r8d
or eax, 0xcc16af51
add eax, 0x14a3a05c
xor eax, 0xd25dab00
mov dword [rbp - 0x3c], eax
mov eax, 0x10
call fcn.1401f2390
sub rsp, rax
mov eax, dword [rbp - 0x3c]
mov r8, rsp
mov qword [rbp - 0x38], r8
mov r8, rcx
add r8, 8
mov qword [rbp - 0x30], r8
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x28], rcx
mov r8, rdx
add r8, 8
mov qword [rbp - 0x20], r8
cmp rcx, qword [rdx + 8]
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x7839ffce
jbe 0x1400458dd
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x11]
test cl, 1
mov qword [rbp - 0x48], rax
jne 0x1400459a6
jmp 0x140045978
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140045170
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
mov ecx, dword [0x1401f5000]
mov r8d, dword [0x1401f5004]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov eax, 0xd5d66ab5
xor eax, 0x6f18e605
mov edx, 0xda2f2494
xor edx, 0x60e1a824
or eax, edx
mov edx, 0x328571a
xor edx, 0xfcd7a8e5
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0x56810cd7
xor edx, 0xa97ef328
xor eax, edx
and ecx, eax
sub ecx, 0xe191c32b
mov eax, ecx
and eax, 0xd2c2b011
xor eax, 0xffffffff
mov edx, 0x4c8bfcb8
xor edx, 0xb3740347
xor ecx, edx
mov edx, 0x57333263
xor edx, 0x85f18272
mov r8d, 0x24670f36
xor r8d, 0xdb98f0c9
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x1a0114a7
je 0x140045b05
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
mov r9, qword [rbp - 0x30]
mov r10, qword [rbp - 0x50]
mov eax, dword [0x1401f5008]
mov r11d, dword [0x1401f500c]
or eax, eax
xor eax, 0xffffffff
mov ecx, r11d
xor ecx, 0xffffffff
xor r11d, 0xffffffff
and ecx, r11d
mov r11d, 0x8c7bddb8
xor r11d, 0x73842247
xor eax, r11d
mov r11d, 0x8591b38f
xor r11d, 0x7a6e4c70
xor ecx, r11d
and eax, ecx
and eax, 0xff92dc06
xor ecx, ecx
sub ecx, 0x592ca505
add eax, ecx
mov ecx, 0xb8cd319
xor ecx, 0x32f85f4
add eax, ecx
mov ecx, 0x654172dd
xor ecx, 0x64cd01e8
mov r11, qword [r8]
mov qword [rdx], r11
mov qword [r9], r10
mov r8, qword [r8 + 0x10]
mov qword [rdx + 0x10], r8
cmp eax, ecx
jbe 0x140045b05
mov rsp, rbp
pop rbp
ret
xlatb
push rsi
nop
ret 0xd8e9
invalid