Function at 0x14015f400
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rcx
mov eax, dword [0x1401e3f08]
and eax, dword [0x1401e3f0c]
mov r8d, 0xffffffff
xor r8d, 0xc4d8c1fb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xf39f2763
xor r8d, 0xc60d89c
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc4d8c1fb
or eax, 0xc4d8c1fb
imul eax, edx
add eax, ecx
mov ecx, 0xc2ef6ffd
xor ecx, 0x9f36bdc3
xor edx, edx
div ecx
mov ecx, 0xf97cba79
xor edx, edx
div ecx
cmp eax, 0x7f23956
je 0x14015f769
mov eax, dword [0x1401e3f10]
xor eax, 0xed7133d7
or eax, dword [0x1401e3f14]
sub eax, 0x4aaa4daa
xor eax, 0xed6ec356
mov edx, 0xfdf5571
xor edx, 0xf8af5fda
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xf7700aab
add eax, ecx
mov dword [rsp + 0x30], eax
call fcn.14015e0f4
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax]
call fcn.14015e10f
mov cl, al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x37], cl
cmp eax, 0x4c23b1a4
je 0x14015f479
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14015f4f1
jmp 0x14015f651
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
call fcn.14015f30e
mov rax, qword [rsp + 0x28]
mov al, byte [rax]
mov cl, 0x67
xor cl, 0x67
cmp al, cl
jne 0x14015f65e
mov r8d, dword [0x1401e3f18]
xor r8d, 0x30f018b3
mov edx, dword [0x1401e3f1c]
mov eax, 0x80102269
xor eax, 0x7fefdd96
mov ecx, r8d
xor ecx, eax
mov eax, 0x1b709ebd
xor eax, 0x49dc4859
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x52acd6e4
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x52acd6e4
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0xffffffff
mov ecx, 0x21a32176
xor ecx, 0xff7dd4f8
mov edx, 0x25e439b3
xor edx, 0xda1bc64c
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xc7854b77
or eax, ecx
mov ecx, 0x18dce043
xor ecx, 0xdf59ab34
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
or eax, 0x8f1ae8b3
mov ecx, 0x420291f
xor edx, edx
div ecx
cmp eax, 0xefbb1bb4
jae 0x14015f772
mov rax, qword [rsp + 0x40]
mov ecx, dword [0x1401e3f20]
mov edx, 0xe102505c
xor edx, 0x99a81a38
xor ecx, edx
add ecx, dword [0x1401e3f24]
mov edx, 0xa271fb20
xor edx, 0x38a52a1d
or ecx, edx
sub ecx, 0xef9d033
add ecx, 0x3e71d55
mov edx, 0xc4a0ac93
xor edx, 0xca597ca0
add ecx, edx
mov r8d, 0x7fd64bdf
xor r8d, 0x108cc271
mov edx, ecx
and edx, r8d
shl edx, 1
xor ecx, 0x6f5a89ae
add ecx, edx
mov dword [rsp + 0x24], ecx
mov rcx, qword [rax]
movabs rdx, 0x6a18c172819e1ff1
movabs rax, 0x6a18c172819e1ff9
xor rdx, rax
call fcn.14000e330
mov eax, dword [rsp + 0x24]
cmp eax, 0x9ca8c97e
jae 0x14015f5b9
jmp 0x14015f651
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
mov eax, dword [0x1401e3f28]
xor edx, edx
div dword [0x1401e3f2c]
mov ecx, 0x5656ab5d
xor ecx, 0x2dc9e8b1
xor edx, edx
div ecx
mov ecx, 0xb29e8829
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x49dfe688
xor edx, 0x76350cf1
mov eax, ecx
and eax, edx
xor ecx, 0x3feaea79
or eax, ecx
cmp eax, 0x37e96632
je 0x14015f77b
mov eax, dword [0x1401e3f30]
add eax, dword [0x1401e3f34]
mov ecx, 0x46c2c1af
xor ecx, 0xc9a266b2
xor edx, edx
div ecx
mov r8d, eax
xor r8d, 0xffffffff
mov edx, 0x7217292d
xor edx, 0x8de8d6d2
mov ecx, eax
xor ecx, edx
and r8d, ecx
mov ecx, 0x22b7789
or ecx, 0x22b7789
xor ecx, 0xffffffff
or r8d, ecx
xor r8d, 0xffffffff
xor eax, 0xffffffff
mov ecx, 0x9faeda66
xor ecx, 0x9d85adef
mov edx, 0x381b025b
xor edx, 0xc7e4fda4
xor ecx, edx
and eax, ecx
xor r8d, 0xffffffff
xor eax, 0xffffffff
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x2d986b4e
mov edx, 0xffffffff
xor edx, 0x2d986b4e
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x5e979459
mov r9d, 0x582169fc
xor r9d, 0x75b902b2
and ecx, r9d
and edx, 0x5e979459
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x691243d2
ja 0x14015f77b
add rsp, 0x48
ret
or dword [rax + 0x70], ebx
lodsb al, byte [rsi]
jmp 0x14015f479
fisub dword [rsi + riz]
adc ebp, ecx
invalid
pushfq
invalid