Function at 0x140045e80
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], rcx
mov eax, dword [0x1401f5030]
xor eax, dword [0x1401f5034]
mov ecx, 0x7fb4bf00
xor ecx, 0x641825e0
xor edx, edx
div ecx
mov ecx, 0xba582951
xor ecx, 0xc0a809fd
and eax, ecx
mov ecx, 0x97f4875c
xor ecx, 0x23979ca0
or eax, ecx
mov ecx, 0xa8b02bdf
xor ecx, 0x3bf96ad9
cmp eax, ecx
jb 0x1400463de
mov r8d, dword [0x1401f5038]
mov eax, dword [0x1401f503c]
imul r8d, eax
mov eax, r8d
xor eax, 0x60c03042
mov edx, eax
or edx, 0x812f482d
xor r8d, 0x1e000310
and r8d, 0x3e002352
mov ecx, edx
and ecx, 0xc0d5d4ac
imul ecx, r8d
and edx, 0x3f2a2b53
or eax, 0xbf2f6b7f
imul eax, edx
add eax, ecx
mov dword [rbp - 0x10], eax
mov eax, 0x10
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.140045cde
mov rcx, qword [rbp - 8]
mov r8, qword [rbp - 0x18]
add rsp, 0x20
mov edx, 3
sub rsp, 0x20
call fcn.140046f0e
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x10]
mov byte [rbp - 9], cl
cmp eax, 0x2713eae
jbe 0x140045ed6
mov al, byte [rbp - 9]
test al, 1
jne 0x140045f82
jmp 0x140045f94
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x1400462cf
mov eax, dword [0x1401f5040]
xor eax, 0x214c0215
mov r8d, dword [0x1401f5044]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xd37ba6d
xor r9d, 0xf2c84592
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xcd5dca7
xor eax, 0xcd5dca7
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xcfa02dae
mov edx, 0x2f6958ac
xor edx, 0xe0c97502
mov r8d, 0xa663aac8
xor r8d, 0x599c5537
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0xbbca78d1
mov r8d, 0xc6750c6d
xor r8d, 0x7dbf74bc
mov ecx, 0x695e8edf
xor ecx, 0x96a17120
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xa8b57772
xor r8d, 0x137f0fa3
mov edx, eax
and edx, r8d
or eax, 0xbbca78d1
imul eax, edx
add eax, ecx
cmp eax, 0xaa0100f8
jae 0x1400463e7
mov ecx, dword [0x1401f5048]
imul ecx, dword [0x1401f504c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xff80caf4
or eax, edx
and ecx, 0xff80caf4
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb12e2791
xor ecx, 0x4b666c1b
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov edx, 0xffffffff
xor edx, 0xc4766ded
add ecx, edx
add ecx, 1
mov dword [rbp - 0x2c], ecx
mov ecx, 0xfd6c7075
xor ecx, 0x8d6ac6f
mov rax, qword [rax]
mov r8d, 2
cqo
idiv r8
mov r9, rax
mov eax, dword [rbp - 0x2c]
movabs r8, 0x1e0220d1c1570664
movabs rdx, 0x1e0220d1c1570664
xor r8, rdx
movabs rdx, 0xdef8f5147cfd47b
movabs r10, 0xdef8f5147cfd47f
xor rdx, r10
sub r8, rdx
mov rdx, r9
sub rdx, r8
mov qword [rbp - 0x28], rdx
mov r10, r9
xor r10, 0xffffffffffffffff
movabs r8, 0x5b89e4095a2f0517
movabs r11, 0xa4761bf6a5d0fae8
xor r8, r11
and r8, r10
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and r9, r10
or r8, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp - 0x19], dl
cmp eax, ecx
ja 0x1400463e7
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140046178
jmp 0x14004618a
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x1400462cf
mov r8d, dword [0x1401f5050]
mov edx, dword [0x1401f5054]
xor edx, 0x413175be
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xe74f7748
mov r9d, 0xffffffff
xor r9d, 0xe74f7748
and r8d, r9d
mov r10d, 0xaa560cac
xor r10d, 0x55a9f353
mov ecx, edx
xor ecx, r10d
mov r10d, 0x29c584e6
xor r10d, 0xce8af3ae
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd2e76730
xor edx, edx
div ecx
xor eax, 0xffffffff
mov edx, 0x1b085d4b
xor edx, 0x6710695b
mov ecx, 0x1a564e19
xor ecx, 0xe5a9b1e6
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xede41e2d
or eax, edx
or ecx, 0xede41e2d
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0x39e510b8
cmp eax, 0x2c3c8ca6
jae 0x1400463f0
mov rcx, qword [rbp - 0x28]
mov edx, dword [0x1401f5058]
or edx, dword [0x1401f505c]
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xe6914e39
xor r8d, 0xece6f921
mov r9d, 0xe2c45576
xor r9d, 0xe8b3e26e
or r8d, r9d
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xa77b718
and edx, r8d
or eax, edx
mov edx, 0x3dffcb4d
xor edx, 0xc20034b2
xor eax, edx
imul eax, eax, 0x10173bf
imul eax, eax, 0x143cb019
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.140033bc8
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x3c]
mov qword [rbp - 0x38], rcx
cmp eax, 0x7252f8d7
jb 0x140046231
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x48], rax
jmp 0x1400462cf
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
mov eax, dword [0x1401f5060]
xor eax, 0x7b9cc105
mov ecx, dword [0x1401f5064]
xor ecx, 0xf6a4f204
imul eax, ecx
add eax, 0x5c73f291
add eax, 0xa89042b3
sub eax, 0x409bf76
mov ecx, 0x24279228
xor ecx, 0x8cb7d09b
sub eax, ecx
xor eax, 0xdfe44bf5
cmp eax, 0x89289cad
jae 0x1400463f9
mov r11d, dword [0x1401f5068]
and r11d, dword [0x1401f506c]
mov eax, 0x5e300979
xor eax, 0xa1cff686
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x8b6cf39
mov edx, 0xffffffff
xor edx, 0x7d9b296f
mov r9d, 0x13c1b09b
xor r9d, 0x6e5a99f4
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x7d9b296f
mov r10d, 0x7832e3f8
xor r10d, 0x70842cc1
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x7d9b296f
and ecx, edx
or eax, ecx
mov ecx, 0xf24470d6
xor ecx, 0x4b6ccb3b
xor edx, edx
div ecx
mov ecx, 0x2af30e2d
xor ecx, 0x20d32acc
mov edx, 0x5dd1976d
xor edx, 0xa22e6892
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0x11413ebb
ja 0x14004631d
mov rax, qword [rbp - 0x50]
mov rsp, rbp
pop rbp
ret
popfq
lahf
invalid
jbe 0x14004641c
loope 0x1400463d5
invalid
jb 0x14004641e
pushfq
in al, dx
jmp 0x140046231
mov esi, 0xe9393195
sbb edi, edi
invalid
mov eax, esp
mov qword [rbp - 0x38], rax
sub rsp, 0x20
call fcn.140045cde
add rsp, 0x20
mov qword [rbp - 0x20], rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140045800
add rsp, 0x20
movabs rcx, 0x78a5e15af5997c5f
movabs rax, 0x78a5e15af5997c47
xor rcx, rax
movabs rdx, 0x923cb48afa12105f
movabs rax, 0x923cb48afa121057
xor rdx, rax
sub rsp, 0x20
call fcn.140013970
mov rdx, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x18]
sub rsp, 0x20
call fcn.140045c19
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x22
xor cl, 0x22
cmp al, cl
jne 0x1400464d7
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
mov qword [rdx], rax
mov rax, qword [rbp - 0x10]
mov qword [rdx + 8], rax
mov rax, qword [rbp - 8]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140045840
add rsp, 0x20
mov rax, qword [rbp - 0x28]
mov rsp, rbp
pop rbp
ret