Function at 0x14015f1d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r9
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rcx
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x38], rax
mov eax, dword [0x140209ee8]
xor eax, dword [0x140209eec]
mov ecx, 0xc4f3fb87
xor ecx, 0xab96d5c6
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf9c84d76
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x7337943c
xor r8d, 0x8cc86bc3
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf9c84d76
or eax, 0xf9c84d76
imul eax, edx
add eax, ecx
mov ecx, 0xd6b6f8
xor edx, edx
div ecx
cmp eax, 0x5d5d9532
je 0x14015f676
mov edx, dword [0x140209ef0]
mov eax, dword [0x140209ef4]
xor eax, 0xbae7da49
or edx, eax
mov eax, edx
and eax, 0x44868c4b
xor edx, 0x44868c4b
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx*2]
mov edx, eax
not edx
and edx, 0xc54416a4
mov ecx, eax
and ecx, 0x3abbe95b
imul ecx, edx
mov edx, eax
and edx, 0xc54416a4
or eax, 0xc54416a4
imul eax, edx
add eax, ecx
imul eax, eax, 0x85184ad7
mov dword [rbp + 0x10], eax
mov eax, 0xdff7bb5b
mov dword [rbp + 0xc], eax
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.14017583a
add rsp, 0x20
mov qword [rbp], rax
add rax, 0x50
mov qword [rbp - 0x18], rax
mov ecx, 0x38
mov edx, 8
sub rsp, 0x20
call fcn.140014320
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 8], rcx
lea r8, [0x140209268]
mov qword [rcx], r8
add rcx, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140015990
mov rcx, qword [rbp + 0x20]
call fcn.140011160
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
add rcx, 0x30
sub rsp, 0x20
call fcn.1400be2f0
mov rdx, qword [rbp]
mov ecx, dword [rbp + 0xc]
mov eax, dword [rbp + 0x10]
add rsp, 0x20
mov dl, byte [rdx + 0x50]
mov r8b, 5
xor r8b, 5
cmp dl, r8b
sete dl
mov byte [rbp + 0x17], dl
cmp eax, ecx
jae 0x14015f261
mov rcx, qword [rbp + 0x28]
mov r8b, byte [rbp + 0x17]
mov dl, 1
xor eax, eax
test r8b, 1
mov byte [rbp - 0x49], dl
mov qword [rbp - 0x48], rcx
mov dword [rbp - 0x3c], eax
jne 0x14015f3e5
jmp 0x14015f4a3
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp - 8]
add rcx, 0x10
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
xor eax, eax
mov r8b, al
call fcn.14014ff70
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov r8b, byte [rax]
mov r9b, 0xb9
xor r9b, 0xb9
mov dl, 1
xor eax, eax
mov ecx, eax
xor eax, eax
cmp r8b, r9b
mov byte [rbp - 0x49], dl
mov qword [rbp - 0x48], rcx
mov dword [rbp - 0x3c], eax
jne 0x14015f4a3
mov rcx, qword [rbp - 0x38]
mov edx, 0x10
sub rsp, 0x20
call fcn.140143f80
mov r9, qword [rbp - 8]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp - 0x20]
add rsp, 0x20
lea r10, [0x14015df70]
mov qword [rax], r10
mov qword [rax + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1401500f0
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov dl, byte [rcx]
xor ecx, ecx
mov byte [rbp - 0x49], dl
mov qword [rbp - 0x48], rcx
mov dword [rbp - 0x3c], eax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov dl, byte [rbp - 0x49]
mov r8, qword [rbp - 0x48]
mov r9d, dword [rbp - 0x3c]
mov dword [rbp - 0x6c], r9d
mov qword [rbp - 0x68], r8
mov byte [rbp - 0x59], dl
mov byte [rcx], 0
mov rax, qword [rax + 8]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x14015f532
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x14015f532
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14014dd00
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xbc
xor cl, 0xbc
cmp al, cl
jne 0x14015f66d
mov eax, dword [0x140209ef8]
xor eax, 0xfc295567
mov edx, dword [0x140209efc]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x8c4df5a8
or eax, edx
or ecx, 0x8c4df5a8
xor eax, 0xffffffff
and eax, ecx
mov edx, 0xc27a331d
xor edx, 0x3d85cce2
mov ecx, eax
xor ecx, edx
and ecx, 0x7642ef5f
mov edx, 0xffffffff
xor edx, 0x7642ef5f
and eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x91141c64
xor edx, 0xacc4d924
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x3dd0c540
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x3dd0c540
or eax, 0x3dd0c540
imul eax, edx
add eax, ecx
or eax, 0x2b90d8df
cmp eax, 0xe2ffdd27
je 0x14015f67f
mov rcx, qword [rbp - 8]
mov eax, dword [0x140209f00]
mov r8d, dword [0x140209f04]
mov edx, eax
xor edx, 0xffffffff
and edx, r8d
xor r8d, 0xffffffff
and eax, r8d
sub eax, edx
sub eax, 0x572b36a0
and eax, 0x404b9168
add eax, 0xfa5a9267
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14015f1a0
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xc3
xor dl, 0xc3
cmp cl, dl
sete cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x351df00a
jbe 0x14015f67f
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x14015f664
jmp 0x14015f66d
mov rax, qword [rbp - 0x18]
mov cl, byte [rbp - 0x59]
mov byte [rax], cl
mov eax, dword [rbp - 0x6c]
lea rsp, [rbp + 0x40]
pop rbp
ret
int1
insd dword [rdi], dx
iretd
call 0x1296976df
push 0xffffffffffffffff
invalid