Function at 0x140037fd0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rdx
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rax
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x98], xmm0
movsxd rax, ecx
mov qword [rsp + 0xa0], rax
xor eax, eax
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
movabs rcx, 0x21876fb6312505ba
movabs rdx, 0x21876fb6312505bb
xor rcx, rdx
cmp rax, rcx
jle 0x1400384a5
movsd xmm0, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
shr rcx, 1
mov qword [rsp + 0x48], rcx
mov rax, rcx
imul rax, rdx
mov qword [rsp + 0x50], rax
cvtsi2sd xmm1, rcx
mulsd xmm0, xmm1
movsd qword [rsp + 0x58], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x60], xmm1
ucomisd xmm0, xmm1
jne 0x1400380c0
jp 0x1400380c0
jmp 0x14003810f
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x60]
subsd xmm0, xmm1
call fcn.1401d43f0
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rsp + 0x40], xmm1
call fcn.1401d43f0
movsd xmm1, qword [rsp + 0x40]
movsd xmm2, qword [0x1401e2650]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14003810f
call fcn.1400077a3
jmp 0x1400385fd
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
xor rax, 0xffffffffffffffff
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov rcx, r8
sub rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
xor rax, rdx
mov rdx, rcx
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
or rdx, r9
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r9, 0x707952ffe120ae33
movabs r10, 0x8f86ad001edf51cc
xor r9, r10
xor r8, r9
and rcx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rdx, rcx
movabs r8, 0x1b7f439492d55367
movabs rcx, 0x1b7f439492d55366
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x1400381bc
call fcn.1400077a3
jmp 0x1400385fd
mov eax, dword [0x1401d6c20]
imul eax, dword [0x1401d6c24]
mov ecx, 0xe38f502d
xor ecx, 0x90b7b173
add eax, ecx
mov ecx, 0xa48ec055
xor ecx, 0x7428466b
sub eax, ecx
sub eax, 0x7338e15e
mov ecx, 0xbfc24376
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x2b5df533
xor edx, 0x2c38809
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x299e7d3a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x299e7d3a
or eax, 0x299e7d3a
imul eax, edx
add eax, ecx
cmp eax, 0xf7c680ec
je 0x14003860a
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x80]
mov ecx, dword [0x1401d6c28]
mov r10d, dword [0x1401d6c2c]
xor r10d, 0xc82875a1
mov r9d, 0x71b9a277
xor r9d, 0x8e465d88
mov eax, ecx
xor eax, r9d
mov r9d, r10d
and r9d, eax
mov r11d, r10d
xor r11d, 0xffffffff
mov eax, ecx
and eax, r11d
imul eax, r9d
mov r9d, ecx
and r9d, r10d
or ecx, r10d
imul ecx, r9d
add ecx, eax
or ecx, 0xe0cfb64b
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x8b5a82c0
xor r9d, 0x74a57d3f
xor ecx, r9d
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x7934ad85
mov r9d, 0xffffffff
xor r9d, 0x7934ad85
or ecx, r9d
and eax, ecx
xor eax, 0xffffffff
or eax, 0x3415c4f
movabs rcx, 0xb8741bef95e75ba9
movabs r9, 0x478be4106a18a456
xor rcx, r9
cmp rdx, rcx
setg cl
cmp rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x37], cl
cmp eax, 0xcd01835c
je 0x140038235
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14003832f
jmp 0x140038314
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffff
call fcn.140013580
jmp 0x1400385fd
mov eax, dword [0x1401d6c30]
sub eax, dword [0x1401d6c34]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x33749db4
mov r8d, 0xffffffff
xor r8d, 0x33749db4
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x8417fbcb
xor r8d, 0xb763667f
mov edx, eax
and edx, r8d
mov r8d, 0xeef1991d
xor r8d, 0xdd8504a9
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0x21edd6ce
add eax, 0x1a48cd81
cmp eax, 0x1d727f8
jbe 0x140038613
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0xa0]
mov eax, dword [0x1401d6c38]
xor eax, dword [0x1401d6c3c]
mov r9d, 0xaa31041b
xor r9d, 0x692128a6
imul eax, r9d
mov r9d, 0xf981e7fa
xor r9d, 0x8308f421
or eax, r9d
mov r9d, 0xadb043e2
xor r9d, 0x5b04c184
imul eax, r9d
cmp qword [rcx + rdx*8], r8
setg cl
mov byte [rsp + 0x36], cl
cmp eax, 0x606ff0d
je 0x140038397
mov rax, qword [rsp + 0x48]
mov cl, byte [rsp + 0x36]
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x14003803c
jmp 0x14003841c
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
movabs r9, 0x9b1500b08a6af378
movabs rcx, 0xe4fca7e9f17e5846
xor r9, rcx
mov rcx, r8
sub rcx, r9
sub rcx, rdx
movabs rdx, 0x6b8c6e625c7289f4
movabs r9, 0x1465c93b276622ca
xor rdx, r9
add rcx, rdx
mov rdx, rcx
xor rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0xffffffffffffffff
setg dl
and dl, r8b
test dl, 1
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
jne 0x14003849b
jmp 0x140038022
call fcn.1400077a3
jmp 0x1400385fd
mov eax, dword [0x1401d6c40]
xor eax, 0x22292213
xor edx, edx
div dword [0x1401d6c44]
mov ecx, 0x16d80b48
xor ecx, 0xf2315c61
add eax, ecx
sub eax, 0x2c27392a
mov ecx, 0xfb9d59b1
xor ecx, 0x3f0f4ca1
imul eax, ecx
mov ecx, 0x9243543f
xor ecx, 0x2aa40a72
cmp eax, ecx
jb 0x14003861c
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401d6c48]
mov edx, dword [0x1401d6c4c]
xor edx, 0xd69e5f18
sub eax, edx
add eax, 0x11f8e6e7
mov r9d, 0xffffffff
xor r9d, 0xc01b1a19
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0xc01b1a19
or eax, 0xc01b1a19
imul eax, r8d
add eax, edx
mov r8d, 0xf47db44f
xor edx, edx
div r8d
cmp rcx, 0
sete cl
mov byte [rsp + 0x35], cl
cmp eax, 0xfc40c124
jae 0x1400384eb
mov cl, byte [rsp + 0x35]
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rsp + 0x28], rax
jne 0x1400385fd
jmp 0x14003857c
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x80]
cmp rax, rcx
jl 0x1400385c3
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
movabs rax, 0xba84dc01158126
movabs r8, 0xff457b23feea7ed9
xor rax, r8
add rdx, rax
call fcn.140013580
jmp 0x1400385ee
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xa0]
mov rax, 0xffffffffffffffff
cmp qword [rcx + rdx*8], r8
mov qword [rsp + 0x28], rax
jg 0x1400385fd
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
jmp 0x1400385fd
mov rax, qword [rsp + 0x28]
add rsp, 0xb8
ret
call qword [rdi - 0x40]
shr cl, 1
and bh, ah
invalid
adc al, 0xfe
cmp eax, 0xfd7be9da
invalid
not bl
pop rbp
jmp 0x1400384eb