Function at 0x1400da660
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x140
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb8], rcx
mov eax, dword [0x1402ad948]
mov edx, dword [0x1402ad94c]
mov r8d, 0xf26145b2
xor r8d, 0xd9eba4d
mov ecx, eax
xor ecx, r8d
and ecx, edx
mov r8d, 0x83e5a351
xor r8d, 0x7c1a5cae
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x7ea9879a
xor edx, edx
div ecx
mov ecx, 0xc4afc2a0
xor ecx, 0x5e47f401
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x8c9b2a22
add eax, ecx
cmp eax, 0x150e49a4
je 0x1400db24c
xor eax, eax
mov dword [rbp + 0x94], eax
mov eax, 0x10
mov qword [rbp + 0x78], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x78]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x94]
add rdx, 0x60
mov qword [rbp + 0x98], rdx
mov rdx, rcx
add rdx, 0x28
mov qword [rbp + 0xa0], rdx
mov rcx, qword [rcx + 0x28]
mov qword [rbp + 0xa8], rcx
cmp rcx, 0
sete cl
mov byte [rbp + 0xb7], cl
cmp eax, 0xf0fa48ea
je 0x1400db24c
mov rax, qword [rbp + 0xa8]
mov cl, byte [rbp + 0xb7]
test cl, 1
mov qword [rbp + 0x60], rax
jne 0x1400da7bd
jmp 0x1400da8e3
movabs rcx, 0xc45b45c2b539bfd8
movabs rax, 0xc45b45c2b539bfdc
xor rcx, rax
sub rsp, 0x20
call fcn.140051e20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x58], rcx
mov al, byte [rax]
mov cl, 0xe6
xor cl, 0xe6
cmp al, cl
jne 0x1400db150
mov rdx, qword [rbp + 0x58]
mov rcx, rdx
and rcx, 0xffffffffffffffff
movabs rax, 0x181d02f94adceea2
movabs r8, 0x181d02f94adceea0
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 0xffffffffffffffff
add rax, rcx
mov qword [rbp + 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x16c45c8f207ee52a
movabs r8, 0xe93ba370df811ad5
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x1400da86b
jmp 0x1400da87d
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1400db150
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x50]
mov qword [rcx], rdx
cmp rax, 0
jge 0x1400da8bd
mov rcx, qword [rbp + 0x58]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x1400db150
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0xb8]
sub rsp, 0x20
call fcn.140036f26
mov rax, qword [rbp + 0xa0]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x60], rax
mov rdx, qword [rbp + 0x60]
mov rcx, rdx
add rcx, 1
mov qword [rbp + 0x48], rcx
movabs rax, 0x4152452be84f0746
movabs r8, 0xbeadbad417b0f8b9
xor rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400da935
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1400db150
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0xb8]
mov rdx, rcx
add rdx, 0x20
mov qword [rbp + 0x40], rdx
cmp rax, qword [rcx + 0x20]
jg 0x1400db150
mov rcx, qword [rbp + 0x48]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x20], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402c29e0]
mulsd xmm0, xmm1
movsd qword [rbp + 0x28], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x30], xmm1
ucomisd xmm0, xmm1
sete al
setnp cl
and al, cl
mov byte [rbp + 0x3f], al
test al, 1
jne 0x1400dabad
mov eax, dword [0x1402ad958]
xor edx, edx
div dword [0x1402ad95c]
xor eax, 0x2f734ba0
mov ecx, 0x6ad04275
xor ecx, 0x67144002
xor eax, ecx
mov ecx, 0x812fe20
xor ecx, 0xf99a537b
sub eax, ecx
mov ecx, 0xfdfaa6
xor ecx, 0xfaa9f2a4
add eax, ecx
add eax, 0xf188ad5b
cmp eax, 0xb903581
je 0x1400db255
movsd xmm1, qword [rbp + 0x28]
movsd xmm0, qword [rbp + 0x30]
mov eax, dword [0x1402ad960]
mov edx, dword [0x1402ad964]
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xabac5607
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0xb6ba8b4b
mov edx, 0xaecf6726
xor edx, 0x9eed22e2
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x302245c4
and eax, ecx
mov dword [rbp + 0x18], eax
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.1402a7e80
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x28]
movsd qword [rbp + 0x10], xmm1
sub rsp, 0x20
call fcn.1402a7e80
movsd xmm1, qword [rbp + 0x10]
mov eax, dword [rbp + 0x18]
add rsp, 0x20
movsd xmm2, qword [0x1402c29e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb cl
mov byte [rbp + 0x1f], cl
cmp eax, 0x1aacbdf6
jbe 0x1400db255
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x1400daa97
jmp 0x1400dabad
mov eax, dword [0x1402ad968]
mov r8d, dword [0x1402ad96c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x8dd72719
xor r9d, 0x7228d8e6
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc01cde92
add eax, ecx
add eax, 1
sub eax, 0x51f19599
add eax, 0xefe5f82
add eax, 0x51f19599
mov edx, 0xffffffff
xor edx, 0x678cf6eb
mov ecx, eax
and ecx, edx
mov r8d, 0x7275234
xor r8d, 0x60aba4df
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x6061f5f2
jbe 0x1400db25e
mov ecx, dword [0x1402ad970]
mov eax, dword [0x1402ad974]
mov edx, 0x310155a5
xor edx, 0x22a6ae4d
xor eax, edx
mov edx, 0x1b70966f
xor edx, 0x37c18122
sub ecx, edx
add ecx, eax
add ecx, 0x2cb1174d
mov eax, ecx
and eax, 0xf7e81748
or ecx, 0xf7e81748
add eax, ecx
sub eax, 0x9e0811d8
add eax, 0xd626fea7
mov ecx, 0xbeff7987
xor ecx, 0x20f7685f
add eax, ecx
and eax, 0xbf0cba1a
mov dword [rbp + 0xc], eax
mov eax, 0xd87e6f4b
xor eax, 0xd3c9e746
mov dword [rbp + 8], eax
sub rsp, 0x20
call fcn.14000ee80
mov ecx, dword [rbp + 8]
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, ecx
jb 0x1400dab24
jmp 0x1400db150
mov eax, dword [0x1402ad978]
xor eax, dword [0x1402ad97c]
mov ecx, 0x1ecd2d8d
xor ecx, 0x4478e5c8
xor eax, ecx
mov ecx, 0xadb12664
xor ecx, 0x61e3b7cd
and eax, ecx
mov ecx, 0x1fa045a7
xor ecx, 0xb67f4bb
and eax, ecx
mov ecx, 0x730070d9
xor ecx, 0xd55dedbb
cmp eax, ecx
je 0x1400db267
mov rcx, qword [rbp + 0x20]
mov edx, dword [0x1402ad980]
mov r8d, dword [0x1402ad984]
mov eax, edx
and eax, r8d
mov r9d, 0x340ec309
xor r9d, 0xcbf13cf6
xor eax, r9d
and edx, r8d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x174f9e64
and edx, r8d
mov r8d, 0x4fe87124
xor r8d, 0x58a7ef40
or eax, r8d
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
mov eax, 0x17601fb9
xor eax, 0x67d01efc
imul edx, eax
mov eax, edx
and eax, eax
xor eax, 0xffffffff
mov r8d, 0x50f79593
xor r8d, 0x5211a9cd
and eax, r8d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x2e63c5e
mov r9d, 0xaf93e282
xor r9d, 0xad75dedc
mov r10d, 0xbf11e549
xor r10d, 0x40ee1ab6
xor r9d, r10d
or r8d, r9d
and edx, r8d
mov r8d, 0xb7d7776e
xor r8d, 0x48288891
xor edx, r8d
and eax, edx
mov edx, 0xeca2c606
xor edx, 0x135d39f9
xor eax, edx
cmp rcx, 0
setl cl
mov byte [rbp + 7], cl
cmp eax, 0xae4a50a6
je 0x1400dabf3
mov al, byte [rbp + 7]
test al, 1
jne 0x1400dacec
jmp 0x1400dad10
mov rcx, qword [rbp + 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x1400db150
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140036f50
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp - 0x18], r8
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x10], rdx
add rcx, 0x10
mov qword [rbp - 8], rcx
cmp qword [rax], 0
jle 0x1400dafc9
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbp + 0xb8]
mov rax, qword [rbp - 8]
mov rax, qword [rax]
add r8, 8
mov qword [rbp - 0x40], r8
add rcx, 8
mov qword [rbp - 0x38], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp - 0x30], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400dadfa
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x48]
movabs rax, 0xced2df615edc581e
movabs r8, 0x312d209ea123a7e1
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140025e55
add rsp, 0x20
jmp 0x1400db150
mov r11d, dword [0x1402ad988]
sub r11d, dword [0x1402ad98c]
or r11d, 0x3325a472
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x2a85e825
mov edx, 0xffffffff
xor edx, 0x55a7d60a
mov eax, ecx
and eax, 0x55a7d60a
and r11d, edx
mov r10d, 0xb21625cd
xor r10d, 0xe7b1f3c7
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x2a85e825
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x55a7d60a
and ecx, edx
or eax, ecx
or eax, 0x811b3aec
cmp eax, 0xcd969e84
jae 0x1400db270
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1402ad990]
imul eax, dword [0x1402ad994]
and eax, 0x9de2b386
mov r8d, 0x95cfb815
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x30]
mov r8d, 0x9393d12c
xor r8d, 0x75d595ea
xor eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xc4d372d0
je 0x1400dae7d
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1400daed6
jmp 0x1400daf32
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x18]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x75c4b365e8f1bb66
movabs r9, 0x75c4b365e8f1bb66
xor r8, r9
movabs r9, 0x7858f233abe7ba31
movabs r10, 0x7858f233abe7ba30
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140025e55
add rsp, 0x20
jmp 0x1400db150
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14001dfcd
mov rcx, qword [rbp - 0x10]
mov r9, qword [rbp - 0x70]
mov r8, qword [rbp - 0x68]
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x70]
mov r10, qword [rbp - 0x50]
add rsp, 0x20
add rcx, 8
shl r10, 4
add rcx, r10
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140027c30
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x58]
mov r8, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
add rcx, 1
add rax, 1
and rax, qword [r8]
cmp rcx, qword [rdx]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
jl 0x1400dad92
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp - 0x10]
mov r8, qword [rbp - 0x18]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400da49a
mov rax, qword [rbp + 0x98]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400db150
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x1400db075
jmp 0x1400db013
movsd xmm1, qword [rbp + 0x28]
movsd xmm0, qword [rbp + 0x30]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.1402a7e80
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x28]
movsd qword [rbp - 0x78], xmm1
sub rsp, 0x20
call fcn.1402a7e80
movsd xmm1, qword [rbp - 0x78]
add rsp, 0x20
movsd xmm2, qword [0x1402c29e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400db075
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1400db150
mov r8, qword [rbp + 0x20]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rbp - 0x80], rax
movabs rcx, 0x7ec08dfda28ecf69
movabs rdx, 0x813f72025d713096
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
movabs rdx, 0xf4243088ef6395a0
movabs r8, 0xf4243088ef6395a0
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400db0f0
jmp 0x1400db102
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1400db150
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0x40]
mov r9, qword [rbp + 0xa0]
mov r10, qword [rbp - 0x80]
mov qword [r9], r10
mov r8, qword [r8]
mov qword [rdx + 0x18], r8
mov qword [rax], 0
mov qword [rcx], 0
mov qword [rcx + 8], 0
sub rsp, 0x20
call fcn.1400d9600
add rsp, 0x20
mov eax, dword [0x1402ad998]
mov r8d, dword [0x1402ad99c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0xab81e256
imul ecx, eax, 0x27d4bcbb
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x8eb158b0
mov edx, 0xffffffff
xor edx, 0x8eb158b0
and ecx, edx
or eax, ecx
cmp eax, 0xd2382790
ja 0x1400db279
mov eax, dword [0x1402ad9a0]
mov ecx, dword [0x1402ad9a4]
xor ecx, 0xad32cbe4
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xd633f5b3
xor edx, 0x95e82341
mov r8d, 0xd254ecf7
xor r8d, 0x2dab1308
xor edx, r8d
and ecx, edx
mov edx, 0x54f649f6
xor edx, 0xab09b609
xor eax, edx
mov edx, 0x298922f7
xor edx, 0x6a52f405
mov r8d, 0x1065b98d
xor r8d, 0xef9a4672
xor edx, r8d
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x6c5ae715
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x615ed199
xor edx, edx
div ecx
mov ecx, 0x5701ae60
xor ecx, 0xd2e64069
cmp eax, ecx
jae 0x1400db1b1
lea rsp, [rbp + 0xc0]
pop rbp
ret
retf 0x8d46
sti
pop r11
jmp 0x1400da9e5
adc byte [rsi - 0x4216a6fa], bh
clc
invalid
sub byte [rdi - 0x42], bh
invalid
jbe 0x1400db27d
or eax, ebx
jmp 0x1400dae7d
sub ah, 0x48
int3
jmp 0x1400db1b1